CN1503948A - 流水线化的ata设备初始化 - Google Patents

流水线化的ata设备初始化 Download PDF

Info

Publication number
CN1503948A
CN1503948A CNA018166342A CN01816634A CN1503948A CN 1503948 A CN1503948 A CN 1503948A CN A018166342 A CNA018166342 A CN A018166342A CN 01816634 A CN01816634 A CN 01816634A CN 1503948 A CN1503948 A CN 1503948A
Authority
CN
China
Prior art keywords
register
cpu
equipment
controller
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA018166342A
Other languages
English (en)
Other versions
CN100432970C (zh
Inventor
迈克尔・埃施曼
迈克尔·埃施曼
・德尔
迈克尔·德尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1503948A publication Critical patent/CN1503948A/zh
Application granted granted Critical
Publication of CN100432970C publication Critical patent/CN100432970C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Abstract

本发明包括具有通过系统总线耦合到中央处理单元的控制器的平台。所述平台也包括耦合在所述中央处理单元和所述控制器之间的寄存器设备。此外,所述平台也包括耦合到所述控制器,具有一个适于接纳设备的端的总线。所述寄存器设备具有容纳所有来自所述中央处理单元的指令包而不因溢满状态引入延迟的深度。

Description

流水线化的ATA设备初始化
技术领域
本发明可以包括具有高级技术连接(Advanced Technology Attachment,ATA)接口控制器的信息处理系统的输入/输出数据处理机构。特别地,本发明可以包括通过影像寄存器(shadow register)空间的外围设备配置初始化。
背景技术
主计算机系统的中央处理单元(CPU)可以是计算机中控制所有其他部件的那个部件。CPU到CPU本地的存储器中取指令,并解码这些指令以产生控制计算机其他部件的信号。这可以使得CPU在存储器和算术逻辑单元(ALU)之间转移数据,或使得外部设备或外围设备进行输入或输出服务。硬盘驱动器是外围设备的一个例子。
为了使硬盘驱动器进行输入或输出服务,CPU可以初始化该硬盘驱动器,以使硬盘驱动器为接收操作命令做好准备。为了初始化硬盘驱动器,CPU可以把一个或更多的任务文件(task-file)初始化命令作为数据包,通过被称为任务文件寄存器组的设备传送到硬盘驱动器。每一个任务文件初始化命令花费一段时间执行。其一个原因是在下一个命令能被执行之前,由CPU校验每一个命令的执行。
传统上,CPU把其处理时间的一块专用于外围设备的初始化。在这个外围设备初始化专用时间期间,CPU被阻止执行其他处理功能。这样,CPU的性能被降低。
附图说明
图1是本发明的平台100的框图;
图2示出读/写命令设置协议方法200;
图3示出标准输入/输出(I/O)任务文件访问;
图4示出本发明一个实施例的流水线化的任务文件访问。
具体实施方式
如下面更详细地阐述的那样,图1的寄存器设备128能被用来处理初始化完成通知,而不像传统的技术,使用中央处理单元(CPU)处理初始化完成通知。利用寄存器设备128,本发明努力减少CPU可能专用于初始化ATA设备的时间。
大多数个人和移动计算机使用阐明了计算机CPU和存储设备之间的功率和数据信号接口通信的工业标准。高级技术连接标准是一套流行的工业标准。这套标准有时候被写作AT连接(ATA)或集成驱动电路(IDE),由位于华盛顿特区的国家信息技术标准委员会的T13技术委员会(www.t13.com)制定。
用于磁盘驱动器的AT连接接口(ANSI X3.221-199x)是一个磁盘驱动器接口标准,该标准规定了主系统和存储设备之间的互连信号的逻辑特征以及用于存储设备操作的协议和命令。这个标准允许符合该标准的主系统产品和存储设备产品之间的兼容性,即使这些产品是由不同的制造商生产的。
控制器可以被认为是控制数据从一个设备到一个外围设备的转移及逆向转移的设备。传统上,ATA接口控制器可以被置于ATA设备(例如硬盘驱动器)和CPU之间。ATA接口控制器能起到翻译器的作用,以辅助每个输入/输出(I/O)周期上的CPU/ATA设备通信。例如,从CPU接到一个命令,例如初始化命令后,ATA接口控制器把该命令表述为下游ATA设备会理解,即ATA设备能处理的东西,并把这个命令发送到所连接的ATA设备。在接收到转换过的命令后,ATA设备能处理该命令,并能通过ATA接口控制器向CPU发回完成通知。这个自命令发送到完成通知的传统输入/输出(I/O)周期是可能用掉大约1.2微秒(μs-百万分之一(10-6)秒)的单任务文件寄存器访问。
把信息传送到ATA设备可能涉及对任务文件寄存器组的几个独立的动作(或“写”),其中的每一个传统上能够在一个1.2μs的I/O周期内被处理。例如,在ATA接口控制器处理七个独立的初始化动作时,总的I/O周期时间可能是8.4μs(=7×1.2)。这七个写可以整体视作一个任务文件。CPU在执行一系列命令或输入/输出(I/O)访问以便为数据转移适当地使能ATA设备时的动作可以称为“写任务文件”。
在ATA接口控制器设备发送任务文件I/O期间,CPU被阻止产生进一步命令或接收进一步请求。在现行的ATA标准下,利用七个独立的I/O任务文件写向ATA设备发送命令,CPU会被占用8.4μs。客观地看待这个等待,一千兆赫兹CPU能在一微秒内执行大约1000条普通的指令,这样,在CPU专用于ATA设备初始化的8.4μs内,如果减少CPU专用于ATA设备命令设置的时间,则CPU能处理多达8400条(=1000×8.4)普通指令。
通过使用影像寄存器空间来处理任务文件I/O完成,本发明努力把CPU可能专用于ATA设备命令设置的时间减少了约7μs:从8.4μs减少到大约1.4μs。此外,类似地,本发明能被用于减少CPU可能专用于CPU内部或外部设备的操作的时间。因此,在“溢满状态(full condition)”下,即:当任务文件寄存器被写入而CPU必须等到输出到ATA设备的I/O周期完成时,寄存器空间允许本发明中所描述的ATA接口控制器内的扩展完成到ATA设备的I/O周期。这样,允许CPU返回处理其他任务,如写任务文件。
图1是本发明的平台100的框图。平台100能够和任何具有CPU的系统相联。例如,平台100能够和台式计算机、大型机、收音机、电视机、例如膝上型计算机的移动计算机、卫星系统或其他处理信息的电子设备相联。
平台100可以包括母板102。母板102可以是计算机的主板。此外,母板102可以包括用于CPU、键盘和监视器的电路,还可以包括接纳附加电路的插槽。母板102可以包括CPU 110、系统总线112、显卡114、存储器116、输入/输出(I/O)端口118和控制器120。存储设备122可以被耦合到控制器120。
CPU 110可以是平台110的通过执行软件指令控制所有其他部件的那个部件。系统总线112可以是连接母板102上各种功能单元的一组导线(电线、印刷电路板印刷线或集成电路内的连线)之一。例如,显卡114、存储器116、I/O端口118和控制器120中的每一个能够通过系统总线112耦合到CPU 110。如图1所示,控制器120能够通过总线124耦合到系统总线112和通过总线126耦合到存储设备122。
显卡114可以是一个具有向监视器提供位图显示所必需的视频存储器和其他电子电路的电路板。存储器116可以是任何能够以机器可读格式保存数据的存储设备。I/O端口118能够辅助CPU 110和输入设备(未示出)之间的通信,输入设备包括诸如键盘、鼠标、触摸屏、游戏杆、数字化板和麦克风。
控制器120可以是起到CPU 110和存储设备122之间的通信翻译器作用的设备。控制器120可以包括把协议指令执行到总线126上的逻辑。在一个实施例中,控制器120可以是ATA接口控制器。
存储设备122可以是任何可能要求CPU指令的翻译并能使用存储在可与平台100连接的位置的信息的设备。存储器122可以是磁盘驱动器,该驱动器可以适于读写至少一个绕中心轴旋转的硬式磁性数据存储盘(硬盘)。
总线124可以是16位总线。本领域技术人员将认识到总线124可以具有更大的吞吐量,如32位外围元件互连(PCI)总线。总线126可以是具有ATA带状电缆的第一通道,一个连接到作为ATA设备的存储设备122,例如主设备,而另一个连接到第二ATA设备,例如从设备。每个带状电缆可以是一个44/80导线电缆或任何适当的导线电缆。类似于总线126的第二通道可以被耦合到控制器120,以便伺服第二对主从设备。
为了在平台100内以有意义的方式转移数据,可能需要一种方法来唯一地标识转移的源和目的地。通过使用和住宅或商业信箱的邮政地址非常类似的地址能够实现这个标识。对于平台100,这样的方案可以被称作寻址。
每一个设备,诸如存储器集成电路、存储设备122或CPU 110可以具有其自己的本地地址空间。地址空间可以是处理器或进程能够访问,或设备能被访问的地址的范围。
设备总线的地址空间可以至少取决于地址的宽度;即地址中的位数。具有16位地址宽度的设备总线唯一地标识出216或准确些的65536个位置。处理器地址空间的大小取决于处理器地址总线和地址寄存器的宽度。每一个本地地址空间可以从零开始。每一个本地地址可以被映射到从处理器地址空间内的某个基地址开始的地址范围。类似地,每个进程将具有其自己的地址空间,该空间可以是处理器地址空间的全部或一部分。
地址空间能被划分为存储器地址空间和I/O地址空间。在操作中,CPU 110能通过存储器地址空间、I/O地址空间或存储器地址空间和I/O地址空间的组合与平台100的元件通信。
在标准微处理器体系结构中,I/O地址空间的0-FFFFhex的范围包括65535个地址位置(=15×163+15×162+15×161+15×160)(有时被称为64K)。平台100的使用I/O地址空间的设备可以在这个地址范围上被映射。传统上,CPU将通过I/O地址空间初始化并访问存储设备。如下面更详细讨论的那样,CPU 110唯一地使用存储器地址空间来初始化并访问存储设备122。存储器地址空间可以适用于移动大量数据,因为在CPU能移动到其他处理任务之前,存储器写不需要完成指示。这样,使用存储器地址空间访问存储设备122提供了优于使用I/O地址空间的优点。
为允许CPU 110与存储设备122通信,传统上可能把一组地址分配为I/O地址空间内的地址范围,用于命令和控制存储设备122。能够访问存储设备122的这个地址范围是通常所说的任务文件。在ATA标准下,地址范围1F0hex-1F7hex(或1F0h-1F7h)是通常所说的基本命令任务文件(PTF),而地址3F6hex是通常所说的基本控制任务文件(PCT)。
无论何时需要CPU 110向例如存储设备122的ATA设备写数据或从该设备读数据时,CPU 110可以向那个ATA设备发送一系列初始化命令。例如,在接到CPU初始化命令后,存储设备122可以执行这些系列命令,以使其自己能够按CPU 110的要求转移数据。因此,这个任务文件的九个地址中的每一个都可以具有一个寄存器空间,CPU可以向该寄存器空间内写初始化数据。每一个任务文件寄存器空间代表一个特殊的控制或命令函数,该函数的操作可以基于放置在那个地址的数字数据。
为了初始化存储设备122,CPU 110可以使用驱动软件设置初始化命令。这些驱动软件在任务文件中的九个寄存器空间中的每一个内写(放置)数据,作为一系列形成命令包的命令地址(I/O访问)。然后,传统上,CPU 110将通过控制器120直接向存储设备发送该任务文件命令包。在接收到这个命令包后,存储设备122将顺序地执行九个地址命令中的每一个,在每个执行之后向CPU 110发送一个完成消息。
为减少CPU 110可能专用于初始化存储设备122的时间,图1的平台100还可以包括置于CPU 110和存储设备122之间的寄存器设备128。寄存器设备128可以被置于控制器120和CPU 110之间,并通过总线130耦合到系统总线112。
如果CPU 110和控制器120并未以完全相同的速率发送和接收数据包(例如,没有使它们同步),寄存器设备128可以包括发布硬件缓冲区(posting hardware buffer),项目被从该缓冲区中以和它们被放入时相同的顺序取出,以便缓冲CPU 110和控制器120之间的数据流。寄存器设备128可以是先进/先出(FIFO)设备。寄存器设备128可以是队列设备,其中,每个入口具有一个结构。此外,寄存器设备128可以具有容纳所有来自CPU 110的任务文件写指令包而不因溢满状态引入延迟的深度。此外,寄存器设备128的深度能通过可读寄存器或通过先验算法(priori)被告知给任务文件写软件以优化性能。
通过以所要的参数在命令块内加载所需的寄存器,然后把命令代码写入命令寄存器,能够将命令通过寄存器设备128发布到存储设备122。在信息技术-具有包接口的AT连接-5(ATA/ATAPI-5)(1999)第133页到134页的标准下,总线130能使用如下具有九个地址1F0hex-1F7hex、3F6hex的存储器地址空间:
    表1读直接存储器访问输入命令
    地址     寄存器   7   6   5   4   3   2   1   0
    1F2     特征     na(不适用)
    1F3     扇区计数     扇区计数
    1F0     扇区号     扇区号或LBA
    1F4     柱面低位     柱面低位或LBA
    1F5     柱面高位     柱面高位或LBA
    1F6     设备/磁头   obs   LBA   obs   DEV     磁头号或LBA
    1F7     命令     命令代码C8h
    3F6     控制     控制代码C8h
如上面在表1中所指明的,读直接存储器访问(DMA)设备的输入命令/控制代码可以是C8h。关于剩余寄存器字段,特征寄存器字段对于表1的直接存储器访问输入命令是不适用的。扇区计数寄存器字段表示要被转移的扇区的数量。例如,值00h表示要转移二百五十六(256)个扇区。扇区号寄存器字段表示起始扇区号或逻辑块地址(LBA)模式地址位(7:0)。柱面低位寄存器字段表示起始柱面号位(7:0)或LBA地址位(15:8)。此外,柱面高位寄存器字段表示起始柱面号位(15:8)或LBA地址位(23:16)。
对于设备/磁头寄存器字段,如果正在使用LBA逻辑寻址模式,则可将第六位置为1,或者,如果正在使用柱面、磁头、扇区(CHS)物理寻址模式,则清零。第七位表示起始柱面号位(7:0)或LBA地址位(15:8)。第七位和第五位的使用已经被废弃(obs)。第四位表示所选的设备(DEV)。设备/磁头寄存器字段的剩余位,即第三位到第零位,表示磁头号位(3:0)或逻辑块地址(LBA)模式地址位(27:24)。
结合寄存器设备128使用表1的命令寄存器字段能允许平台100的驱动软件向控制器120的存储器映射区写入任务文件命令序列。这个流水线任务文件访问技术的优点是,向控制器120的存储器映射区(影像寄存器空间)写入任务文件命令序列可以不阻塞总线126上I/O数据向存储设备122的转移的完成。也就是说,通过使用存储器写而非I/O周期,CPU 110使用控制器120内的现有存储器写发布基础结构(memory write postinginfrastructure),在系统总线112上在最少数量的时钟周期内完成每一个写。
通过不阻塞总线126上I/O数据向存储设备122的转移的完成,控制器120能以不受从存储设备122的初始化中释放CPU 110影响的速度向存储设备发送任务文件寄存器的内容。这里,平台100能把存储器写转换回存储设备122能理解的I/O写格式和I/O写速率。这样,在周期在总线126(以比CPU 110所发布的低得多的速率)上运行的同时,CPU 110能向寄存器设备128发布后面的任务文件存储器写或转移到其他处理活动上去。
图2示出读/写命令设置协议方法200。图3示出图2方法的时间表。很容易看出,图3中,在ATA通道处于激活状态时,例如写驱动选择,CPU被阻止执行其他任务。
方法200可以和用于写任务文件的传统协议具有类似性。但是,方法200涉及写入存储器映射寄存器队列而非I/O映射任务文件寄存器。
方法200能在任何可读介质中实现,当其被执行时,使得本发明的平台100执行方法200。在一个实施例中,方法200能通过分布式可读存储介质实现,该介质包括可执行的计算机程序指令,当其被执行时,使得客户计算机系统和服务器计算机系统中的至少一个执行方法200。此外,方法200能通过计算机可读存储介质实现,该介质包含可执行的计算机程序指令,当其被执行时,使得具有平台100的计算机系统执行方法200。
方法200可以在步骤202开始。在步骤202,方法200可以寻址存储设备122,以便命令存储设备122联机。回想上面的表1,设备/磁头寄存器字段的第四位表示所选的设备(DEV)。这样,步骤202可以包括在设备/磁头寄存器字段的第四位(写/驱动选择位)放置适当的输入。这个第四位信息总是被发送到I/O任务文件。
在步骤204,方法200可以读存储设备122的备用状态寄存器(alt-status register),以确定存储设备122是否繁忙。如果存储设备122繁忙,则方法200在步骤206返回“SRB_STATUS_BUSY”信号,因为小型计算机系统接口(SCSI)请求块(SRB)字段不会被清除。从步骤206,方法200可以返回步骤204。
在正常操作下,存储设备122在第一次读其备用状态寄存器时可能不繁忙。这样,步骤204的读命令能被发送到I/O任务文件。或者,方法200可能返回步骤204达20000次。这里,步骤204的读命令能被发送到存储器队列。
如果存储设备122不繁忙,则方法200可以继续到步骤208。在步骤208,方法200可以确定存储设备122的DMA引擎是否激活。如果存储设备122的BM引擎激活,则BM引擎可以被关闭,并且驱动在步骤210复位。如果存储设备122的BM引擎没有激活,则方法200可以前进到步骤212。
在步骤212,方法200能够计算块计数和程序设备。这可能涉及向表1的扇区计数寄存器字段的存储器队列写入块长度。步骤212与传统技术的区别在于,在传统技术下,块长度被写到I/O任务文件,而步骤212包括向存储器队列写入块长度。
在步骤214,方法200可以计算逻辑块地址(LBA)和程序设备。这可以包括向存储器队列写入上面表1的下列寄存器中的至少一个:扇区号、柱面低位、柱面高位和设备/磁头寄存器。步骤214与传统技术的区别在于,在传统技术下,这些寄存器被写到I/O任务文件,而步骤214包括将这些寄存器写入存储器队列。
在步骤216,方法200可以包括对DMA描述符表内容编程。在步骤218,可以用可被发送到存储器队列而非I/O任务文件的读或写命令对表1的命令寄存器编程。
在步骤220,可以对BM引擎进行编程。这可能涉及针对例如控制器120的被特定访问的控制器清除BM中断(BMI)状态位。此外,能够设置BM引擎的驱动转移协议(DTP)。在一个实施例中,BMI_DTP只能被设置一次。最后,BMI控制能被设置到“启动/停止总线主控”位。
随着BM引擎在步骤220被编程,方法200能够在步骤222等待来自存储设备122的中断信号。这可能涉及返同“SRB_STATMS_PENDING”信号,因为小型计算机系统接口(SCSI)请求块(SRB)字段将被随变化连接。在步骤224,可以接收中断信号。
无论何时将直接存储器访问读或写初始化给ATA设备,都能使用本发明。因为典型的计算机系统包括可以被使能以便用于通过直接存储器访问读或写的主硬盘驱动器,CPU性能可随着本发明的每一使用提高。进而,因为CPU性能提高了,本发明努力减小的磁盘访问开销将等值于巨大的性能收益。
图4示出了针对本发明方法的时间表,其中,任务文件访问被流水线化。通过使用寄存器设备128,如图1所示,将CPU释放,使得其他任务的处理得以实现。
上面的实施例也能被存储在设备或介质上,并被执行指令的机器读取。设备或介质可以包括固态存储器设备和/或旋转磁盘或光盘。当指令分段已被分配到不同的机器,如跨越互联的计算机时,设备或介质可以是分布式的。
这里描述的示范性实施例仅仅被提供用于说明本发明的原理,并且不应该被理解为限制要求权利的发明的术语的主题的范围。因此,说明书和附图要被视作说明性的而非限制性的。此外,能应用本发明的原理获得这里所描述的优点,并获得其他的优点或者还满足其他目的。

Claims (17)

1.一种平台,包括:
中央处理单元;
通过系统总线耦合到所述中央处理单元的控制器;
耦合在所述中央处理单元和所述控制器之间的寄存器设备;和
耦合到所述控制器的总线,该总线具有一个适于接纳设备的端,
其中,所述寄存器设备具有容纳所有来自所述中央处理单元的指令包而不因溢满状态引入延迟的深度。
2.如权利要求1所述平台,其中所述控制器是高级技术连接(ATA)接口控制器。
3.如权利要求1所述平台,其中所述寄存器设备包括发布硬件缓冲区。
4.如权利要求1所述平台,其中所述寄存器设备是先进/先出设备。
5.如权利要求1所述平台,其中,所述寄存器设备具有适于通过至少一个可读寄存器被告知给任务文件写软件的深度。
6.如权利要求2所述平台,其中,耦合到所述控制器的所述总线是具有高级技术连接(ATA)带状电缆的第一通道。
7.如权利要求1所述平台,还包括:
通过所述总线耦合到所述控制器的存储设备。
8.如权利要求7所述平台,其中,所述存储设备是适于读写至少一个硬式磁性数据存储盘的磁盘驱动器。
9.如权利要求1所述平台,其中,所述寄存器设备能够在一个任务文件I/O周期期间无阻塞地处理到高级技术连接(ATA)设备的输入/输出(I/O)周期。
10.一种方法,包括:
通过控制器和寄存器设备寻址耦合到中央处理单元的存储设备,其中,所述控制器通过系统总线被耦合到所述中央处理单元并且所述寄存器设备被耦合在所述中央处理单元和所述控制器之间;
计算块计数和程序设备;
计算逻辑块地址和所述程序设备;
对直接存储器访问描述符表的内容编程;
对命令寄存器编程;
对直接存储器访问引擎编程;和
等待来自所述存储设备的中断信号。
11.如权利要求10所述方法,其中,计算块计数和程序设备包括向存储器队列写入块长度。
12.如权利要求10所述方法,其中,计算逻辑块地址和所述程序设备包括向存储器队列写入至少一个寄存器字段。
13.如权利要求10所述方法,其中,对所述命令寄存器编程包括读和写存储器队列的其中之一。
14.一种可读存储介质,包含可执行的指令,当其被执行时,使得平台执行一种方法,该方法包括:
通过控制器和寄存器设备寻址耦合到中央处理单元的存储设备,其中,所述控制器通过系统总线被耦合到所述中央处理单元并且所述寄存器设备被耦合在所述中央处理单元和所述控制器之间;
计算块计数和程序设备;
计算逻辑块地址和所述程序设备;
对直接存储器访问描述符表的内容编程;
对命令寄存器编程;
对直接存储器访问(DMA)引擎编程;和
等待来自所述存储设备的中断信号。
15.如权利要14所述可读介质,其中,计算块计数和程序设备包括向存储器队列写入块长度。
16.如权利要14所述可读介质,其中,计算逻辑块地址和所述程序设备包括向存储器队列写入至少一个寄存器字段。
17.如权利要14所述可读介质,其中,对所述命令寄存器编程包括读和写存储器队列的其中之一。
CNB018166342A 2000-09-29 2001-09-27 流水线化的ata设备初始化平台和装置 Expired - Fee Related CN100432970C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/675,873 2000-09-29
US09/675,873 US6779062B1 (en) 2000-09-29 2000-09-29 Streamlining ATA device initialization

Publications (2)

Publication Number Publication Date
CN1503948A true CN1503948A (zh) 2004-06-09
CN100432970C CN100432970C (zh) 2008-11-12

Family

ID=24712305

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018166342A Expired - Fee Related CN100432970C (zh) 2000-09-29 2001-09-27 流水线化的ata设备初始化平台和装置

Country Status (9)

Country Link
US (2) US6779062B1 (zh)
KR (1) KR100579203B1 (zh)
CN (1) CN100432970C (zh)
AU (1) AU2001293133A1 (zh)
DE (1) DE10196697T1 (zh)
GB (1) GB2384088B (zh)
HK (1) HK1054097A1 (zh)
TW (1) TW538379B (zh)
WO (1) WO2002027509A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062644B2 (en) * 2001-05-30 2006-06-13 International Business Machines Corporation Method, system, and program for initializing a storage device comprising multiple storage units through a storage controller
US7111066B2 (en) * 2002-03-27 2006-09-19 Motorola, Inc. Method of operating a storage device
US7228338B2 (en) * 2002-03-27 2007-06-05 Motorola, Inc. Multi-service platform module
US7085873B1 (en) * 2002-06-21 2006-08-01 Cypress Semiconductor Corp. ATA device access system with surrogate registers corresponding to ATA registers
US6915390B2 (en) * 2002-12-05 2005-07-05 International Business Machines Corporation High speed memory cloning facility via a coherently done mechanism
US7275120B2 (en) * 2003-05-15 2007-09-25 Michael Ou Configurable advanced technology attachment/integrated drive electronics host controller with programmable timing registers that store timing parameters that control communications
US7606993B2 (en) * 2003-06-10 2009-10-20 Tdk Corporation Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
CN100383736C (zh) * 2004-05-08 2008-04-23 鸿富锦精密工业(深圳)有限公司 串行高阶硬盘架构控制器自动初始化方法
US20060095594A1 (en) * 2004-11-03 2006-05-04 Jaan-Huei Chen System and method of automatically executing ata/atapi commands
US7975000B2 (en) * 2005-01-27 2011-07-05 Fmr Llc A/B testing of a webpage
TWI308696B (en) * 2005-10-07 2009-04-11 Via Tech Inc Initializing method bus device
KR100761263B1 (ko) * 2006-01-24 2007-09-28 엘지전자 주식회사 버퍼 제어기를 구비한 ata 인터페이스 시스템
US20100138566A1 (en) * 2008-11-30 2010-06-03 Rite Track Equipment Services, Inc. Control System for Legacy Computers Using Peripheral Devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313626A (en) 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5444853A (en) * 1992-03-31 1995-08-22 Seiko Epson Corporation System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
US5701450A (en) 1994-02-25 1997-12-23 Seagate Technology, Inc. System including ATA sequencer microprocessor which executes sequencer instructions to handle plurality of real-time events allowing to perform all operations without local microprocessor intervention
US5727184A (en) 1994-06-27 1998-03-10 Cirrus Logic, Inc. Method and apparatus for interfacing between peripherals of multiple formats and a single system bus
US5696931A (en) * 1994-09-09 1997-12-09 Seagate Technology, Inc. Disc drive controller with apparatus and method for automatic transfer of cache data
IL117134A (en) * 1996-02-14 2000-01-31 Galileo Technology Ltd First-in first-out (fifo) buffer
US5920709A (en) 1996-06-04 1999-07-06 Exabyte Corporation Bus interface for IDE device
US6081849A (en) * 1996-10-01 2000-06-27 Lsi Logic Corporation Method and structure for switching multiple contexts in storage subsystem target device
US5923895A (en) * 1996-11-15 1999-07-13 Cirrus Logic, Inc. Method and arrangement to effectively retrieve residual data from a buffer
WO1998022869A1 (en) 1996-11-22 1998-05-28 Oak Technology, Inc. Ide/ata cd drive controller
US5890002A (en) * 1996-12-31 1999-03-30 Opti Inc. System and method for bus master emulation
US6098114A (en) 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6330626B1 (en) * 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
JP2001229115A (ja) 2000-02-17 2001-08-24 Matsushita Electric Ind Co Ltd Atapiコマンド処理方式
US6490635B1 (en) * 2000-04-28 2002-12-03 Western Digital Technologies, Inc. Conflict detection for queued command handling in disk drive controller

Also Published As

Publication number Publication date
KR20030048415A (ko) 2003-06-19
WO2002027509A3 (en) 2002-06-13
DE10196697T1 (de) 2003-08-21
TW538379B (en) 2003-06-21
GB2384088A (en) 2003-07-16
CN100432970C (zh) 2008-11-12
KR100579203B1 (ko) 2006-05-11
US6779062B1 (en) 2004-08-17
US20040210681A1 (en) 2004-10-21
WO2002027509A2 (en) 2002-04-04
GB0308822D0 (en) 2003-05-21
US6957280B2 (en) 2005-10-18
HK1054097A1 (en) 2003-11-14
GB2384088B (en) 2005-03-16
AU2001293133A1 (en) 2002-04-08

Similar Documents

Publication Publication Date Title
CN1213374C (zh) 靠近局部输入/输出总线的桥接器中的输入/输出地址转换装置及方法
US5289584A (en) Memory system with FIFO data input
US5838993A (en) System for DMA controller sharing control signals in conventional mode and having separate control signals for each number of channels in distributed mode
CN1050917C (zh) 带有数据传送用可编程门限先入先出寄存器的个人计算机
US6750870B2 (en) Multi-mode graphics address remapping table for an accelerated graphics port device
JP3431149B2 (ja) 仮想fifoによる周辺装置インタフェースのシステム並びに方法
US5914730A (en) System and method for invalidating and updating individual GART table entries for accelerated graphics port transaction requests
US8380909B2 (en) Multiple command queues having separate interrupts
US5999198A (en) Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device
US20110029723A1 (en) Non-Volatile Memory Based Computer Systems
US20080195798A1 (en) Non-Volatile Memory Based Computer Systems and Methods Thereof
EP3657337B1 (en) Method, apparatus, device and storage medium for accessing static random access memory
CN1010809B (zh) 页式存储器中数据的存取装置和方法
US5990914A (en) Generating an error signal when accessing an invalid memory page
CN100432970C (zh) 流水线化的ata设备初始化平台和装置
CN1222986A (zh) 执行并飞"异"运算的方法和系统
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
US7774575B2 (en) Integrated circuit capable of mapping logical block address data across multiple domains
JPH04262445A (ja) 割込みコントローラを有するパーソナル・コンピュータ・システム
US5933158A (en) Use of a link bit to fetch entries of a graphic address remapping table
US20060026328A1 (en) Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks
US6567880B1 (en) Computer bridge interfaces for accelerated graphics port and peripheral component interconnect devices
CN115994115A (zh) 芯片控制方法、芯片组及电子设备
WO1994008307A1 (en) Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
CN113495850B (zh) 管理垃圾回收程序的方法、装置及计算机可读取存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081112

Termination date: 20100927