CN100357920C - 平行输入/输出数据传输控制器 - Google Patents
平行输入/输出数据传输控制器 Download PDFInfo
- Publication number
- CN100357920C CN100357920C CNB031452582A CN03145258A CN100357920C CN 100357920 C CN100357920 C CN 100357920C CN B031452582 A CNB031452582 A CN B031452582A CN 03145258 A CN03145258 A CN 03145258A CN 100357920 C CN100357920 C CN 100357920C
- Authority
- CN
- China
- Prior art keywords
- data
- atapi
- pio
- data transmission
- fifo
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims description 59
- 230000006870 function Effects 0.000 claims abstract description 5
- 239000000872 buffer Substances 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 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
- 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
- 241001269238 Data Species 0.000 description 1
- 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,该控制器又包括扇区FIFO 104和ATAPI数据缓存控制器106。还显示了ATAPI器件108。ATAPI数据缓存控制器106构成了可以允许在扇区FIFO 104和主机总线110之间和在扇区FIFO 104和ATAPI器件总线112之间的未对准和对准数据的传输。
正如以上所阐述的那样,ATAPI器件只要求能支持对准并行I/O(PIO)的数据传输。因为ATAPI标准并不支持未对准PIO数据的传输。ATAPI标准允许只有最后一个DRQ数据传输可以具有一个奇数字节计数,同时需要所有的其他DRQ数据传输都具有偶数字节计数,以便于避免未对准PIO数据传输。
未对准PIO数据传输的能力允许用户将几个随机的字节计数传输捆绑成一个单一的命令事务。这是所期望的,否则在奇数字节计数传输的情况下就需要多个命令事务。上述问题的众所周知的解决方法是禁止未对准数据传输,或者在逻辑检测到未对准数据传输时,使用固件向或从ATAPI器件移动数据,但是在发生未对准数据传输时,这样会降低数据传输的性能。
图2是更加详细地说明根据本发明一个实施例在主机器件和32位扇区FIF0104之间,以及在ATAPI器件108和32位扇区FIFO 104之间的同步数据传输读和写操作的方框图200。
图3是更详细说明根据本发明一个实施例的图1和图2所示ATAPI数据缓存控制器的方框图300。具有各自满标志314-324的6字节数据缓存器302-312用于实现在扇区FIFO 104和ATAPI 16位数据总线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)的数值;并且它用于指示ATAPI 16位数据总线的高8位字节(atapi_data_in(15:8),atapi_data_out(15:8))。更重要的是,由于ATAPI 16位数据总线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就继续预先输入来自扇区FIFO 104的下一个四组数据,直至扇区FIFO 104为空为止。当字节数据缓存器302-308为空时,缓存器310和312仍旧保持2字节数据,并且该数据可以继续写入ATAPI器件108。
对主机读操作来说,当字节数据缓存器302,304,310和312都为满时,ATAPI数据缓存控制器106就将整个四组数据写入到扇区FIFO 104,只要扇区FIFO 104没有完全满。当字节数据缓存器302,304,310和312都满而字节缓存器306和308为空时,则为缓存器306和308就能存储在这时从ATAPI器件108下一次接收到的数据。
总而言之,并行I/O数据传输控制器102采用减小命令的内部开销来改善ATAPI器件***的性能的方式能够支持与ATAPI器件有关的对准和未对准的PIO数据传输。采用使用了读写指针控制逻辑的32位单端RAM来实现32位宽度的扇区FIFO 104,它可以用于存储传输给或接收来自其他数据总线(例如,UBS)的包数据。32位单端RAM具有FIFO的功能,允许USB侧和ATAPI侧都能同时访问FIFO 104。
应该估计到,单端RAM作为具有读写指针逻辑的FIFO使用,它只允许在任何给定的时间访问。由于USB 110不允许在包传输的过程中***等待状态,而ATAPI具有握手控制信号以允许等待状态的***,所以USB110具有比ATAPI侧更高的优先权,正如以下进一步详细描述的那样。USB 2.0提供了480Mb/s的高速度传输速率和在数据传输控制***中的内部时钟,除了USB2.0UTM提供了60MHz;所以在高速度下,USB2.0 UTM将产生和要求每一个时钟一字节的数据。随后,可以采用32位扇区FIFO 104将来自USB 110的访问频率减小至每4个时钟周期进行一次访问,同时对ATAPI侧提供了3个其余的时钟周期来访问扇区FIFO 104。
当USB侧和ATAPI侧同时访问扇区FIFO 104时,ATAPI的访问就会延迟1个时钟周期,因为ATAPI访问只具有较低的优先权。这个处理是采用6字节数据缓存器302-312来完成的,采用6字节数据缓存器可以缓存比只使用4字节这类数据缓存器更多的ATAPI16位的传输,从而避免等待状态的***。当USB侧和ATAPI侧都在同一时间访问扇区FIFO 104时,访问就允许USB访问之后立即跟着ATAPI访问的级连。
当与只支持对准数据传输和/或只允许最后的DRQ数据传输具有奇数字节计数的其他解决方法比较时,结合上述实施例的本发明的讨论提供了高的性能。
考虑了上述之后,就可以看到本发明在ATAPI器件PIO数据传输技术中具有明显的进步。此外,相当详细地讨论本发明,便于在ATAPI器件PIO数据传输控制器技术领域中的专业人士能获得应用新颖原理和根据要求构成和使用这类特殊元件所需的信息。考虑了上述的讨论,应该理解到本发明在结构和操作方面与现有技术具有明显的差异。然而,在本文已经详细地讨论本发明的特殊实施例的过程,应该理解到各种替代、改进和取代都没有脱离下文中权利要求所定义的本发明精神和范围。
Claims (8)
1.一种并行输入/输出PIO数据传输控制器,包括:
扇区FIFO,它基本上可以与主机器件和先进技术封包界面ATAPI器件同时通讯,
其特征在于,还包括:
ATAPI数据缓存控制器,其中,ATAPI数据缓存控制器构成了控制扇区FIFO的读和写操作,使得扇区FIFO能通过主机总线与主机器件通讯并基本同时通过ATAPI器件数据总线与ATAPI器件通讯;
其中,所述ATAPI数据缓存控制器被配置用于有选择地传送未对准和对准的两种PIO数据。
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具有扇区FIFO的功能,
其特征在于,还包括:
读写指针控制逻辑,配置用于控制所述单端RAM,以使得所述单端RAM可通过主机总线与主机器件通讯并基本同时通过ATAPI器件数据总线与ATAPI器件通讯,
其中,所述读写指针控制逻辑被配置成选择性传输未对准和对准的两种PIO数据。
8.如权利要求7所述的并行输入/输出PIO数据传输控制器,其特征在于,所述读写指针控制逻辑进一步包括若干个字节数据缓存器,所述字节数据缓存器具有满标志,缓存在扇区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 CN1495621A (zh) | 2004-05-12 |
CN100357920C true 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) |
Families Citing this family (7)
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 |
WO2006050020A1 (en) * | 2004-10-28 | 2006-05-11 | Thomson Licensing | 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 |
CN102135946A (zh) * | 2010-01-27 | 2011-07-27 | 中兴通讯股份有限公司 | 一种数据处理方法和装置 |
CN114626541A (zh) * | 2020-12-11 | 2022-06-14 | 上海阵量智能科技有限公司 | 命令下发方法、装置、处理设备、计算机设备及存储介质 |
CN113076061A (zh) * | 2021-03-18 | 2021-07-06 | 四川和芯微电子股份有限公司 | 单ram多模块数据的缓存方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1147676A (zh) * | 1994-08-05 | 1997-04-16 | 美国电报电话公司 | 先进先出存储器 |
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 |
US6378016B1 (en) * | 1998-09-18 | 2002-04-23 | Matsushita Electric Industrial Co., Ltd. | Automatic conversion device driver of device type data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167551A (en) * | 1990-01-02 | 1992-12-01 | Davis Robert G | Bodysurfing and swimming aid |
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 |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1147676A (zh) * | 1994-08-05 | 1997-04-16 | 美国电报电话公司 | 先进先出存储器 |
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 |
US6378016B1 (en) * | 1998-09-18 | 2002-04-23 | Matsushita Electric Industrial Co., Ltd. | Automatic conversion device driver of device type data |
Also Published As
Publication number | Publication date |
---|---|
CN1495621A (zh) | 2004-05-12 |
US6772311B2 (en) | 2004-08-03 |
US20030236960A1 (en) | 2003-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101035225B1 (ko) | 개량 데이터 전송을 위한 제어기 장치 및 방법 | |
US7584335B2 (en) | Methods and arrangements for hybrid data storage | |
US9058254B2 (en) | Memory device | |
KR100708128B1 (ko) | 낸드 플래시 메모리 제어 장치 및 방법 | |
KR100673013B1 (ko) | 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 | |
KR102030126B1 (ko) | 판독 데이터 스트로브 신호를 포함하는 감소된 핀 카운트(rpc) 메모리 버스 인터페이스를 위한 장치 및 방법 | |
US20060271739A1 (en) | Management of transfer of commands | |
JP2003512670A (ja) | 連結リストdma記述子アーキテクチャ | |
CN103201725A (zh) | 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法 | |
WO2003043254A9 (en) | Transferring data using direct memory access | |
CN113900974B (zh) | 一种存储装置、数据存储方法及相关设备 | |
TWI398777B (zh) | 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置 | |
CN100357920C (zh) | 平行输入/输出数据传输控制器 | |
EP0618537B1 (en) | System and method for interleaving status information with data transfers in a communications adapter | |
US7409486B2 (en) | Storage system, and storage control method | |
EP1513071A2 (en) | Memory bandwidth control device | |
JP4046278B2 (ja) | Nvm記憶装置 | |
US20060277326A1 (en) | Data transfer system and method | |
KR100487199B1 (ko) | 직접 메모리 접근매체의 데이터 전송 장치 및 방법 | |
CN105453062B (zh) | 实现硬件自动设备操作启动器的方法和控制器 | |
CN102184150B (zh) | 高功能环形缓冲缓存***及其控制方法 | |
US7921238B2 (en) | USB host system and method for transferring transfer data | |
KR100817203B1 (ko) | 비휘발성 저장장치의 데이터 판독 방법 | |
US7421459B2 (en) | Buffer management for data transfers between a host device and a storage medium | |
KR20080066463A (ko) | 멀티미디어 저장장치 및 그 제어방법 |
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 |
Granted publication date: 20071226 Termination date: 20210624 |
|
CF01 | Termination of patent right due to non-payment of annual fee |