CN1495621A - 平行输入/输出数据传输控制器 - Google Patents

平行输入/输出数据传输控制器 Download PDF

Info

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
Application number
CNA031452582A
Other languages
English (en)
Other versions
CN100357920C (zh
Inventor
Bt
B·T·邓
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN1495621A publication Critical patent/CN1495621A/zh
Application granted granted Critical
Publication of CN100357920C publication Critical patent/CN100357920C/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
    • 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

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器件数据总线之间缓存数据且具有满标志的位数据缓存器。
CNB031452582A 2002-06-24 2003-06-24 平行输入/输出数据传输控制器 Expired - Fee Related CN100357920C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/179,146 US6772311B2 (en) 2002-06-24 2002-06-24 ATAPI device unaligned and aligned parallel I/O data transfer controller
US10/179,146 2002-06-24

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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) 存储器控制器及其控制方法
CN103201725B (zh) 用于在多个处理器之间共享的存储器的存储器访问设备
US20060271739A1 (en) Management of transfer of commands
US20050289317A1 (en) Method and related apparatus for accessing memory
KR20060017470A (ko) 개량 데이터 전송을 위한 제어기 장치 및 방법
US20070041050A1 (en) Memory management method and system
CN101034375A (zh) 计算机存储***
US6292873B1 (en) Dual-ported electronic random access memory that does not introduce additional wait states and that does not cause retransmission of data during shared access
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
CN102053929A (zh) 一种基于Linux***DM层的IO缓存操作方法和***
CN113360093A (zh) 内存***和设备
CN1495621A (zh) 平行输入/输出数据传输控制器
CN1435758A (zh) 存储装置、数据处理方法以及数据处理程序
CN1264095C (zh) 盘存储装置和访问包含备用扇区的盘的方法
US8868828B2 (en) Implementing storage adapter performance optimization with cache data/directory mirroring
CN100336038C (zh) 嵌入顺序缓冲器的计算机***及其方法
WO2009121307A1 (zh) 计算机及数据存储方法
US20060277326A1 (en) Data transfer system and method
US7921238B2 (en) USB host system and method for transferring transfer data
JPH076093A (ja) 記憶制御装置
KR100817203B1 (ko) 비휘발성 저장장치의 데이터 판독 방법
CN1713126A (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
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