CN1495621A - 平行输入/输出数据传输控制器 - Google Patents
平行输入/输出数据传输控制器 Download PDFInfo
- Publication number
- CN1495621A CN1495621A CNA031452582A CN03145258A CN1495621A CN 1495621 A CN1495621 A CN 1495621A CN A031452582 A CNA031452582 A CN A031452582A CN 03145258 A CN03145258 A CN 03145258A CN 1495621 A CN1495621 A CN 1495621A
- Authority
- CN
- China
- Prior art keywords
- data
- atapi
- pio
- data transmission
- control 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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 59
- 230000006870 function Effects 0.000 claims abstract description 6
- 239000000872 buffer Substances 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 238000012546 transfer Methods 0.000 abstract description 7
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
控制器102采用减小命令内部开销和改善ATAPI器件系统性能的方式来支持与ATAPI器件相关的对准和未对准PIO数据传输。32位宽度的扇区FIFO104采用使用了读写指针控制逻辑的32位单端RAM来实现,用于存储传输给或者接受到其他数据总线(例如,USB)的包数据。32位单端RAM具有FIFO的功能,允许USB边和ATAPI边都能同时访问扇区FIFO。
Description
技术领域
本发明主要涉及先进技术封包界面(ATAPI=AT封包界面)器件的数据传输,更具体的说,涉及允许ATAPI器件能够容纳未对准和对准平行I/O数据传输的系统和方法。
背景技术
适用于CD-ROM的AT封包界面(ATAPI)是支持CD-ROM播放器和磁带播放器连接个人计算机的ATA界面的扩展。ATAPI标准(SFF-8020i)定义了任务名称,一系列适用于传输数据的外围器件和个人计算所使用的寄存器。根据ATAPI,命令是采用包的形式来通讯的。一般来说,包是信息的一部分,它可以包括许多包。典型的是,各个包都包括目的信息和数据,或者一个有效载荷。一个包也可以包括包的ID(PID),数据,这些构成了包的有效载荷,以及循环冗余度校验(CRC)。因为信息的每一个包都包括PID,所以就不需要在传输包来满足于重新构建信息。与同步数据传输相比,采用包的许多协议支持同时的数据传输。同时数据传输能使视频数据在显示时尽可能快地传输并且一般能支持非常高的数据传输率。
然而,ATAPI器件仅仅只要求能支持对准的平行I/O(PIO)数据传输,因为ATAPI标准不支持未对准PIO数据传输。ATAPI标准允许只有最后一个DRQ数据传输可以具有一个奇数位计数,同时需要所有的其他DRQ数据传输都具有偶数位计数,以便于避免未对准PIO数据传输。
未对准PIO数据传输的能力允许用户将几个随机的位计数传输捆绑成一个单一的命令事务。这是所期望的,否则在奇数位计数传输的情况下就需要多个命令事务。上述问题的众所周知的解决方法是禁止未对准数据传输,或者在逻辑检测到未对准数据传输时,使用向或从ATAPI器件移动数据的中间件,但是在发生未对准数据传输时,这样会降低数据传输的性能。
在考虑了上述的优点和期望之后,提供了实现未对准PIO数据传输能力的方法和系统,它能够通过减少命令的内部开销来改善ATAPI器件系统的性能。这种方法和系统对ATAPI器件的主机控制器提供了所期望的性能。
发明内容
本发明提出了支持与ATAPI器件有关的对准和未对准PIO两种数据传输的控制器,该滤纸起采用减小命令的内部开销的方式来提高ATAPI器件系统的性能。32位宽度扇区的FIFO采用32位单端RAM使用读写指针控制逻辑来实现,它可以用于存储传输给或接受来自其他数据总线(例如,USB)的包数据。32位单端RAM起到了FIFO的功能,且允许USB边和ATAPI边都能同时访问扇区FIFO。
根据一个实施例,并行的输入/输出数据传输控制器包括一个扇区FIFO,该FIFO可与主机器件和ATAPI器件同时通讯;和一个ATAPI数据缓存控制器,其中该ATAPI数据缓存控制器构成了对扇区FIFO读写操作的控制,使得扇区同时通过主机数据总线与主机器件通讯和通过ATAPI器件总线与ATAPI器件通讯。
附图说明
本发明的其他方面和性能以及本发明的许多附加的优点将通过结合附图的下列详细讨论而变得更加清晰和更加容易理解。
图1是说明根据本发明一个实施例的数据传输控制系统的方框图;
图2是更详细说明根据本发明一个实施例在主机器件和32位扇区FIFO之间,以及在ATAPI器件和32位扇区FIFO之间的同步数据传输读和写操作的方框图;
图3是更详细说明根据本发明一个实施例的图1和图2所示ATAPI数据缓存控制器的方框图;
图4是显示构成与图3所说明的6位数据缓存器有关的数据传输读写操作控制的逻辑元件的示意图;
图5A-B是显示构成与图3所说明的6位数据缓存器以及各个满标志有关的数据传输读写操作控制的逻辑元件的示意图。
在上述理想化附图阐述特殊实施例的同时,也可以实现本发明的其他实施例,正如在讨论中所提示的那样。在所有情况中,本披露所说明的本发明实施例只是用于描述的目的,而不是限制。业内专业人士可以产生许多其他改进和实施例,但这些都在本发明的原理和精神的范围内。
具体实施方式
图1是说明根据本发明的一个实施例的数据传输控制系统100的方框图,该数据传输控制系统100具有未对准PIO数据传输功能,它通过减小命令的内部开销来提高ATAPI器件系统的性能。数据传输控制系统100包括并行的I/O数据传输控制器102,该控制器又包括扇区FIFO104和ATAPI数据缓存控制器106。还显示了ATAPI器件108。ATAPI数据缓存控制器106构成了可以允许在扇区FIFO104和主机总线110之间和在扇区FIFO104和ATAPI器件总线112之间的未对准和对准数据的传输。
正如以上所阐述的那样,ATAPI器件只要求能支持对准并行I/O(PIO)的数据传输。因为ATAPI标准并不支持未对准PIO数据的传输。ATAPI标准允许只有最后一个DRQ数据传输可以具有一个奇数位计数,同时需要所有的其他DRQ数据传输都具有偶数位计数,以便于避免未对准PIO数据传输。
未对准PIO数据传输的能力允许用户将几个随机的位计数传输捆绑成一个单一的命令事务。这是所期望的,否则在奇数位计数传输的情况下就需要多个命令事务。上述问题的众所周知的解决方法是禁止未对准数据传输,或者在逻辑检测到未对准数据传输时,使用向或从ATAPI器件移动数据的中间件,但是在发生未对准数据传输时,这样会降低数据传输的性能。
图2是更加详细地说明根据本发明一个实施例在主机器件和32位扇区FIFO104之间,以及在ATAPI器件108和32位扇区FIFO104之间的同步数据传输读和写操作的方框图200。
图3是更详细说明根据本发明一个实施例的图1和图2所示ATAPI数据缓存控制器的方框图300。具有各自满标志314-324的6位数据缓存器302-312用于实现在扇区FIFO104和ATAPI16位数据总线112之间的数据缓存。前4位数据缓存器302-308用于缓存主机写方向的扇区FIFO读的数据和用于缓存主机读方向接受到的ATAPI器件108的数据。最后2位缓存器310,312可以看成与位数据缓存起302-308一起构成流水线数据缓存,以提供流水线的级。这样,就消除了对用于缓存空间有效或缓存数据有效的等待级的需要。
如图4和图5所示,一对2位地址,buf_adr2和buf_adr2_pl,指示用于数据源或数据空间的位缓存器。特别是,buf_adr2用于指示ATAPI16位数据总线的低8位字节(atapi_data_in(7:0),atapi_data_out(7:0))。buf_adr2_pl是(buf_adr2+1)的数值;并且它用于指示ATAPI16位数据总线的高8位字节(atapi_data_in(15:8),atapi_data_out(15:8))。更重要的是,由于ATAPI16位数据总线112的上部字节和下部字节是分别控制的,所以未对准和对准的数据传输都能够完成。对于主机写操作来说,buf_adr2将选择来自数据缓存器的数据位来驱动atapi_data_out(7:0),而buf_adr2_pl将选择来自数据缓存器的数据位来驱动atapi_data_out(15:8)。对于主机读操作来说,Buf_adr2将选择来自数据缓存器的数据位空间来存储从atapi_data_in(7:0)下一次接受到的数据,而buf_adr2_pl将选择来自数据缓存器的数据位空间来存储从atapi_data_in(15:8)下一次接受到的数据。
图4是显示构成与图3所说明的6位数据缓存器302-312有关的数据传输读写操作控制的逻辑元件的示意图;
图5A-B是显示构成与图2-3所说明的6位数据缓存器302-308,6位满标志314-324和ATAPI写数据有关的数据传输读写操作控制的逻辑元件的示意图。
对主机写操作来说,当4位数据缓存器302-308为空时,ATAPI数据缓存控制器106就继续预先输入来自扇区FIFO104的下一个四组数据,直至扇区FIFO104为空为止。当位数据缓存器302-308为空时,缓存器310和312仍旧保持2位数据,并且该数据可以继续写入ATAPI器件108。
对主机读操作来说,当位数据缓存器302,304,310和312都为满时,ATAPI数据缓存控制器106就将真个四组数据写入到扇区FIFO104,只要扇区FIFO104没有完全满。当位数据缓存器302,304,310和312都满而位缓存器306和308为空时,则为缓存器306和308就能存储在这时从ATAPI器件108下一次接受到的数据。
总而言之,并行I/O数据传输控制器102采用减小命令的内部开销来改善ATAPI器件系统的性能的方式能够支持与ATAPI器件有关的对准和未对准的PIO数据传输。采用使用了读写指针控制逻辑的32位单端RAM来实现32位宽度的扇区FIFO104,它可以用于存储传输给或接受来自其他数据总线(例如,UBS)的包数据。32位单端RAM具有FIFO的功能,允许USB边和ATAPI边都能同时访问FIFO104。
应该估计到,单端RAM作为具有读写指针逻辑的FIFO使用,它只允许在任何给定的时间访问。由于USB110不允许在包传输的过程中插入等待状态,而ATAPI具有握手控制信号以允许等待状态的插入,所以USB110具有比ATAPI边更高的优先权,正如以下进一步详细描述的那样。USB2.0提供了480Mb/s的高速度传输速率和在数据传输控制系统中的内部时钟,除了USB2.0UTM提供了60MHz;所以在高速度下,USB2.0UTM将产生和要求每一个时钟一位的数据。随后,可以采用32位扇区FIFO104将来自USB110的访问频率减小至每4个时钟周期进行一次访问,同时对ATAPI边提供了3个其余的时钟周期来访问扇区FIFO104。
当USB边和ATAPI边同时访问扇区FIFO104时,ATAPI的访问就会延迟1个时钟周期,因为ATAPI访问只具有较低的优先权。这个处理是采用6位数据缓存器302-312来完成的,采用6位数据缓存器可以缓存比只使用4位这类数据缓存器更多的ATAPI16位的传输,从而避免等待状态的插入。当USB边和ATAPI边都在同一时间访问扇区FIFO104时,访问就允许USB访问之后立即跟着ATAPI访问的级连。
当与只支持对准数据传输和/或只允许最后的DRQ数据传输具有奇数位计数的其他解决方法比较时,结合上述实施例的本发明的讨论提供了高的性能。
考虑了上述之后,就可以看到本发明在ATAPI器件PIO数据传输技术中具有明显的进步。此外,相当详细地讨论本发明,一边于在ATAPI器件PIO数据传输控制器技术领域中的专业人士能获得应用新颖原理和根据要求构成和使用这类特殊元件所需的信息。考虑了上述的讨论,应该理解到本发明在结构和操作方面与现有技术具有明显的差异。然而,在本文已经详细地讨论本发明的特殊实施例的过程,应该理解到各种替代、改进和取代都没有脱离下文中权利要求所定义的本发明精神和范围。
Claims (10)
1.一种并行输入/输出(PIO)数据传输控制器,包括:
扇区FIFO,它基本上可以与主机器件和先进技术封包界面(ATAPI)器件同时通讯,以及,
ATAPI数据缓存控制器,其中,ATAPI数据缓存控制器构成了控制扇区FIFO的读和写操作,使得扇区FIFO能同时通过主机总线与主机器件通讯并通过ATAPI器件数据总线与ATAPI器件通讯。
2.如权利要求1所述PIO数据传输控制器,其特征在于,扇区FIFO包括单端随机存取存储器(RAM)。
3.如权利要求2所述PIO数据传输控制器,其特征在于,扇区FIFO还包括构成与单端RAM通讯的读和写指针控制逻辑,使得RAM具有执行FIFO操作的功能。
4.如权利要求1所述PIO数据传输控制器,其特征在于,ATAPI数据缓存控制器包括若干个构成在扇区FIFO和ATAPI器件数据总线之间缓存数据且具有满标志的位数据缓存器。
5.如权利要求4所述PIO数据传输控制器,其特征在于,从若干个数据缓存器中选择的第一预定位数据缓存器构成了适用于主机写操作的读取扇区FIFO数据的缓存器,还构成了适用于主机读操作的接受ATAPI器件数据的缓存器。
6.如权利要求4所述PIO数据传输控制器,其特征在于,从若干个数据缓存器中选择的第二预定位数据缓存器构成了流水线数据缓存器,以消除与数据缓存器空间有效相关的等待级,还构成了消除与缓存器数据有效相关的等待级。
7.一种并行输入/输出(PIO)数据传输控制器,包括:
单端随机存取存储器(RAM),它基本上可以与主机器件和先进技术封包界面(ATAPI)器件同时通讯,以及,
读写指针控制逻辑,它构成了与单端RAM的通讯,使得RAM具有扇区FIFO的功能,可基本上通过主机总线与主机器件并通过ATAPI器件数据总线与ATAPI器件同时通讯,来选择性传输未对准和对准的两种PIO数据。
8.一种并行输入/输出(PIO)数据传输控制器,其特征在于,包括:
单端随机存取存储器(RAM),它基本上可以与主机器件和先进技术封包界面(ATAPI)器件同时通讯,以及,
用于与单端RAM通讯的部件,使得RAM具有扇区FIFO的功能,可基本上通过主机总线与主机器件和通过ATAPI器件数据总线与ATAPI器件同时通讯,以选择性传输未对准和对准的两种PIO数据。
9.如权利要求8所述PIO数据传输控制器,其特征在于,用于与单端RAM通讯的部件包括读写指针控制逻辑。
10.如权利要求9所述PIO数据传输控制器,其特征在于,用于与单端RAM通讯的部件还包括若干个构成在扇区FIFO和ATAPI器件数据总线之间缓存数据且具有满标志的位数据缓存器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/179,146 | 2002-06-24 | ||
US10/179,146 US6772311B2 (en) | 2002-06-24 | 2002-06-24 | ATAPI device unaligned and aligned parallel I/O data transfer controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1495621A true CN1495621A (zh) | 2004-05-12 |
CN100357920C CN100357920C (zh) | 2007-12-26 |
Family
ID=29734866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031452582A Expired - Fee Related CN100357920C (zh) | 2002-06-24 | 2003-06-24 | 平行输入/输出数据传输控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6772311B2 (zh) |
CN (1) | CN100357920C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135946A (zh) * | 2010-01-27 | 2011-07-27 | 中兴通讯股份有限公司 | 一种数据处理方法和装置 |
CN113076061A (zh) * | 2021-03-18 | 2021-07-06 | 四川和芯微电子股份有限公司 | 单ram多模块数据的缓存方法 |
WO2022121287A1 (zh) * | 2020-12-11 | 2022-06-16 | 上海阵量智能科技有限公司 | 命令下发方法、装置、处理设备、计算机设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010625A1 (en) * | 2002-07-09 | 2004-01-15 | Silicon Integrated Systems Corp. | Interface device and method for transferring data over serial ATA |
US7000045B2 (en) * | 2002-08-28 | 2006-02-14 | Lsi Logic Corporation | Byte-enabled transfer for a data bus having fixed-byte data transfer |
US20080091861A1 (en) * | 2004-10-28 | 2008-04-17 | Jones Richard E | Bus Multiplexer Apparatus and Method |
US7296108B2 (en) * | 2005-05-26 | 2007-11-13 | International Business Machines Corporation | Apparatus and method for efficient transmission of unaligned data |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167551A (en) * | 1990-01-02 | 1992-12-01 | Davis Robert G | Bodysurfing and swimming aid |
CA2150151A1 (en) * | 1994-08-05 | 1996-02-06 | John H. Baldwin | First-in first-out memory |
US5661848A (en) * | 1994-09-08 | 1997-08-26 | Western Digital Corp | Multi-drive controller with encoder circuitry that generates ECC check bytes using the finite field for optical data for appending to data flowing to HDA |
US6016315A (en) * | 1997-04-30 | 2000-01-18 | Vlsi Technology, Inc. | Virtual contiguous FIFO for combining multiple data packets into a single contiguous stream |
US6105107A (en) * | 1998-07-30 | 2000-08-15 | Neomagic Corp. | ATAPI state machine controlled by a microcontroller for interfacing a DVD controller with an ATA host bus |
JP2000099445A (ja) * | 1998-09-18 | 2000-04-07 | Matsushita Electric Ind Co Ltd | デバイスタイプデータの自動変換デバイスドライバ |
US6636922B1 (en) * | 1999-03-17 | 2003-10-21 | Adaptec, Inc. | Methods and apparatus for implementing a host side advanced serial protocol |
US6609167B1 (en) * | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
US6697885B1 (en) * | 1999-05-22 | 2004-02-24 | Anthony E. B. Goodfellow | Automated DMA engine for ATA control |
-
2002
- 2002-06-24 US US10/179,146 patent/US6772311B2/en not_active Expired - Lifetime
-
2003
- 2003-06-24 CN CNB031452582A patent/CN100357920C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135946A (zh) * | 2010-01-27 | 2011-07-27 | 中兴通讯股份有限公司 | 一种数据处理方法和装置 |
WO2022121287A1 (zh) * | 2020-12-11 | 2022-06-16 | 上海阵量智能科技有限公司 | 命令下发方法、装置、处理设备、计算机设备及存储介质 |
CN113076061A (zh) * | 2021-03-18 | 2021-07-06 | 四川和芯微电子股份有限公司 | 单ram多模块数据的缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
US6772311B2 (en) | 2004-08-03 |
US20030236960A1 (en) | 2003-12-25 |
CN100357920C (zh) | 2007-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318164B2 (en) | Programmable input/output (PIO) engine interface architecture with direct memory access (DMA) for multi-tagging scheme for storage devices | |
US7584335B2 (en) | Methods and arrangements for hybrid data storage | |
US6047339A (en) | Buffering data that flows between buses operating at different frequencies | |
CN1172247C (zh) | 存储器控制器及其控制方法 | |
US20060271739A1 (en) | Management of transfer of commands | |
US20050289317A1 (en) | Method and related apparatus for accessing memory | |
US7844752B2 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
KR20060017470A (ko) | 개량 데이터 전송을 위한 제어기 장치 및 방법 | |
US20070041050A1 (en) | Memory management method and system | |
CN113360093B (zh) | 内存系统和设备 | |
CN101034375A (zh) | 计算机存储系统 | |
CN113900974B (zh) | 一种存储装置、数据存储方法及相关设备 | |
CN102053929A (zh) | 一种基于Linux系统DM层的IO缓存操作方法和系统 | |
CN1801396A (zh) | 利用动态随机存取存储器写缓冲器的存储器控制器 | |
CN1495621A (zh) | 平行输入/输出数据传输控制器 | |
CN1435758A (zh) | 存储装置、数据处理方法以及数据处理程序 | |
CN1264095C (zh) | 盘存储装置和访问包含备用扇区的盘的方法 | |
US8868828B2 (en) | Implementing storage adapter performance optimization with cache data/directory mirroring | |
CN100336038C (zh) | 嵌入顺序缓冲器的计算机系统及其方法 | |
CN116414743A (zh) | 用于控制存储器的方法、存储器控制器及芯片 | |
WO2009121307A1 (zh) | 计算机及数据存储方法 | |
EP1288774A2 (en) | Integrated drive controller for systems with integrated mass storage | |
CN105453062B (zh) | 实现硬件自动设备操作启动器的方法和控制器 | |
US20060277326A1 (en) | Data transfer system and method | |
US7921238B2 (en) | USB host system and method for transferring transfer data |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071226 Termination date: 20210624 |