CN101556569A - 在主装置以及从装置之间传送数据的方法及从装置 - Google Patents
在主装置以及从装置之间传送数据的方法及从装置 Download PDFInfo
- Publication number
- CN101556569A CN101556569A CNA2009101300695A CN200910130069A CN101556569A CN 101556569 A CN101556569 A CN 101556569A CN A2009101300695 A CNA2009101300695 A CN A2009101300695A CN 200910130069 A CN200910130069 A CN 200910130069A CN 101556569 A CN101556569 A CN 101556569A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer zone
- main device
- data stream
- circuit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000000872 buffer Substances 0.000 claims abstract description 125
- 238000004891 communication Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 21
- 238000012360 testing method Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 description 17
- 238000005755 formation reaction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012797 qualification 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种在主装置以及从装置之间传送数据的方法及从装置,从装置包含:一个或多个缓冲区,用于储存接收自所述数据源装置的数据;缓冲区管理电路,耦接于缓冲区,用于获取缓冲区状况信息;合并电路,耦接于缓冲区以及缓冲区管理电路,用于产生数据流并传送数据流至主装置,数据流包含多个主数据段以及与主数据段相关的多个辅助数据段,其中,主数据段包含接收于数据源装置并储存于缓冲区的数据,辅助数据段中的每一个包含缓冲区状况信息。本发明提供的在主装置以及从装置之间传送数据的方法及从装置,通过在数据流的辅助数据段中包含缓冲区状况信息,减少了主装置为获取相关的信息需要向从装置发送的命令的数量,减少了命令间延迟。
Description
技术领域
本发明是有关于用于主从式接口(host-slave interface)的数据存取***及其相关方法,特别是有关于从装置(slave device)不需利用来自主装置(host device)的请求而自动传送信息至主装置的数据存取***。
背景技术
安全数字输入输出(Secure Digital Input Output,以下简称为SDIO)是一种接口,其使用用于装置的安全数字(Secure Digital,以下简称为SD)卡规格(form factor),而不是闪存卡。此装置(也就是,SDIO接口中的从装置)可包含:全球定位***接收器,无线保真(WirelessFidelity,以下简称为Wi-Fi)或蓝牙适配器,调制解调器,以太网络适配器(Ethernet adapter),条形码读取器(barcode reader),红外线数据协议适配器(IrDA adapter),频率调制调整器(FM radio turner),电视调整器(TV turner),射频识别读取器(RFID reader),数码相机,大容量储存媒介(例如硬盘驱动)等等。支持SDIO的主机(也就是,SDIO接口中的主装置)可以是个人数字助理,笔记本电脑,移动电话(“智能电话”)等等。
在传统的使用SDIO接口的主从式***(host-slave system)中,主装置控制数据传送,而从装置仅能根据主装置的请求移动数据。从装置不能启动数据传送。在数据传送过程中,主装置的请求发送以及从装置的请求接收之间具有时间延迟,同样地,从装置的响应发送以及主装置的响应接收之间也具有时间延迟。此种情形被称为命令间延迟(inter-command delay)。因为从装置必须等待主装置请求数据,与请求命令相关的命令间延迟导致了数据传送的延迟。命令间延迟可达到数百微秒。
例如,从装置具有多个缓冲区(缓冲池),用以缓冲将要传送或接收的数据,且主装置向从装置传送数据之前,需要知道缓冲区中的可用缓冲区空间。传统上,主装置首先发送请求至从装置以询问其有多少缓冲区空间是可用的,因此请求以及响应发送间将存在命令间延迟。
发明内容
为了减少上述的命令间延迟,本发明提供了一种在主装置以及从装置之间传送数据的方法及从装置。
本发明提供了一种从装置,用于在主装置以及数据源装置之间通信,所述从装置适用于所述主装置,所述从装置包含:一个或多个缓冲区,用于储存接收自所述数据源装置的数据;缓冲区管理电路,耦接于所述缓冲区,用于获取缓冲区状况信息,其中,所述缓冲区状况信息指示所述缓冲区中的一个或多个的可用空间数量,以及接收自所述数据源装置并储存在所述缓冲区中的一个或多个的数据数量;以及合并电路,耦接于所述缓冲区以及所述缓冲区管理电路,用于产生数据流并传送所述数据流至所述主装置,所述数据流包含多个主数据段以及与所述主数据段相关的多个辅助数据段,其中,所述主数据段包含接收自所述数据源装置并储存于所述缓冲区的数据,以及所述辅助数据段中的每一个包含所述缓冲区状况信息。
本发明提供了一种在主装置以及从装置之间传送数据的方法,用于主从式数据传送***,并实现于所述从装置中,所述从装置与数据源装置进行数据通信,所述方法包含:(a)从所述数据源装置接收数据;(b)获取状况信息,所述状况信息指示存储器的可用空间数量以及接收自所述数据源装置并储存于所述存储器的数据数量;(c)从所述主装置接收传送命令;(d)响应所述传送命令,产生数据流,所述数据流包含多个主数据段以及与所述主数据段相关的多个辅助数据段,其中,所述主数据段包含接收至所述数据源装置的数据,且其中所述辅助数据段中的每一个包含所述状况信息;以及(e)传送所述数据流至所述主装置。
本发明提供了另一种从装置,用于与主装置通信数据,从装置包含:提取电路,用于从所述主装置接收数据流,且将所述数据流分为多个以封包为基础的数据;处理单元,用于从所述数据流中提取标头信息;一个或多个缓冲区,用于储存接收自所述提取电路的所述以封包为基础的数据,其中,所述缓冲区包括一个或多个传送缓冲区,且所述缓冲区中的每一个具有指定的优先级;以及缓冲区管理电路,耦接于所述缓冲区,用于根据所述标头信息控制所述缓冲区中每一个的使用,且将来自所述提取电路的所述以封包为基础的数据放置在所述缓冲池中的合适的缓冲区内,其中,所述标头信息包含关于所述以封包为基础的数据放置在哪一个缓冲区的指示。
本发明另提供了一种从装置,用于在主装置以及数据源装置之间通信,所述从装置适用于所述主装置,所述从装置包含:连接器,具有安全数字输入输出接口或通用串行总线接口,用于连接所述主装置;一个或多个缓冲区,用于储存接收自所述数据源装置的数据,并且储存接收自所述主装置的数据;通信接口,用于与所述数据源装置通信数据,其中,接收自所述数据源装置的所述数据包含多个数据封包,其中,所述缓冲区中的每一个储存所述数据封包中的至少一个;以及合并电路,耦接于所述缓冲区,通过合并所述数据封包中的每一个产生数据流,且传送所述数据流至所述主装置,所述数据流包含多个数据段,其中,所述数据流为连续串流。
本发明提供的在主装置以及从装置之间传送数据的方法及从装置,通过在数据流的辅助数据段中包含缓冲区状况信息,减少了主装置为获取相关的信息需要向从装置发送的命令的数量,减少了命令间延迟。
附图说明
图1为本发明实施例的数据传送***的方框图。
图2为本发明实施例的用于合并数据的数据格式的示意图。
图3为本发明实施例的SDU结尾段的数据格式示意图。
图4以及图5为本发明实施例的由从装置执行的数据传送方法的流程图。
图6为本发明另实施例的数据传送***的方框图。
图7为本发明另实施例的数据传送***的方框图。
具体实施方式
图1为本发明实施例的数据传送***100的方框图。如图1所示,数据传送***100包含:主装置101以及从装置103,主装置101以及从装置103之间为主从式连接关系。在实际应用中,主装置101可以是个人数字助理,笔记本电脑,移动电话等,且从装置103可以是全球定位***接收器,Wi-Fi或蓝牙适配器,调制解调器,以太网络适配器,条形码读取器,红外线数据协议适配器,频率调制调整器,电视调整器,射频识别读取器,数码相机,大容量储存媒介(例如硬盘)等等。在许多应用中,从装置使用兼容于数据源/数据目的地装置的通信协议或数据格式与数据源/数据目的地装置通信,或接收来自数据源/数据目的地装置的信号,数据源/数据目的地装置可以是:全球定位***卫星,基频***,调制解调器,存储装置,闪冲(flush),网络等等。在此揭露的内容中,数据源/数据目的地装置根据上下文有时也被称为数据源装置或数据目的地装置。
在一特定的实施例中,从装置具有SD卡规格。换句话说,从装置的连接器的实体形状以及管脚配置是SD卡插槽所允许的。在以下描述的实施例中,从装置为通信适配器,其有助于主装置101以及数据源/数据目的地装置(图中未显示)之间的数据通信。
从装置103包含:合并/提取电路111,处理电路112,检测电路113,多个缓冲区(如图1所示的缓冲池114),缓冲区管理电路115,接口电路116。在此揭露的内容中,合并/提取电路111根据上下文有时也被称为合并电路或提取电路。缓冲池114暂时储存在数据源/数据目的地装置以及主装置101之间传送的数据。多个缓冲区形成多个逻辑队列(术语“缓冲区”以及“队列”有时可以互换使用)。在图1中,标注为Q 1,Q2...的线代表来自缓冲池114中不同缓冲区(队列)的数据,虽然硬件连接可以是单线或多线。接口电路116控制与数据源/数据目的地装置之间的数据传输,其使用兼容于数据源/数据目的地装置的通信协议或数据格式。
缓冲区管理电路115管理缓冲池114中的缓冲区。例如,其决定有多少从数据源/数据目的地装置接收的数据被储存在每个缓冲区中且准备传送至主装置101,决定有多少可用于接收来自主装置101的数据的可用空闲缓冲区空间。检测电路113收集从装置103的中断状况。***产生中断信号以便错误控制,例如:上溢,下溢等等。中断可以是固件中断或硬件中断。
在接收交易(transaction)(也就是:主装置101通过从装置103从数据源/数据目的地装置的数据接收)中,处理电路112根据缓冲区管理电路115以及检测电路113的输出产生标头(header)及/或结尾段(tailer),以下将进行详细描述。标头及/或结尾段被输出至合并/提取电路111。合并/提取电路111根据预设数据格式合并接收到的位于缓冲池114中的数据(来自数据源/数据目的地装置)以及标头及/或结尾段,以产生合并数据流,以下将进行详细描述。在一实施例中,合并/提取电路111包含多任务器,多任务器选择来自缓冲池114中多个缓冲区中的一个的数据。合并/提取电路111传送合并数据至主装置101。在另一实施例中,合并/提取电路111从主装置接收数据流,且将数据流分(splitting)为多个以封包为基础的数据。
在传送交易(也就是:通过从装置103传输来自主装置101的数据至数据源/数据目的地装置)中,合并/提取电路111从主装置101接收数据流。数据流包含多个标头,每个标头包含数据将被放置在哪一缓冲区(队列)的指示。处理电路112从数据流中提取标头信息,并将标头信息提供给缓冲区管理电路115。在传送交易中,从装置103中的检测电路113被去能。换句话说,当从装置103传送以封包为基础的数据(packet-based data)至数据源/数据目的地装置时,检测电路113不具有功能。在某些实施例的传送交易中,***中会省略检测电路113。缓冲区管理电路115根据标头控制用于不同队列的缓冲区,以将来自主装置101的数据放置到缓冲池114内合适的缓冲区。接口电路116根据兼容于数据源/数据目的地装置的合适的通信协议或数据格式,传送来自缓冲池114的数据至数据源/数据目的地装置。
图2为本发明一实施例的用于合并数据的数据格式的示意图,其中,合并数据是由合并/提取电路111产生并传送至主装置101。从数据源/数据目的地装置接收的数据是一般以封包为基础的数据。接口电路116从数据封包中提取数据内容(“纯数据”),并将纯数据放置到缓冲池114。在图2所示的数据结构中,每一个服务数据单元(Service DataUnit,以下简称为SDU)数据段22相应于从数据源/数据目的地装置接收到的一个封包的数据内容。合并/提取电路111为每个SDU数据段22增加标头21(“SDU标头”)以及结尾段23(“SDU结尾段”),并且将多个具有标头21以及结尾段23的SDU数据段合并为数据流。数据流是一串连续的数据,其响应来自主装置101的传送命令而被传送至主装置101。
需要注意的是,因为区块(block)的大小是主装置以及从装置之间最初配置的,SDU的大小是具有标头以及结尾段信息的封包大小,所以区块边界(block boundary)与SDU的大小是不相关的。例如,主装置可能最初需要接收10个区块的交易,而每个区块包含100字节;但是每个SDU的大小是变化的(例如:SDU的大小可以是20字节,650字节,1K字节,或其它)。因此,从装置传送数据流的10个区块。这些区块可以包含一个SDU,多个SDU,或仅仅是一个SDU的一部分。SDU的数量仅是用于举例的目的。因此,某些区块可能并不包含任何SDU标头或结尾段。另一个实施例是:从装置中具有990字节的数据准备被接收。主装置通过请求10个数据区块(在本实施例中,每个区块包含100字节)来接收数据。因此,在此次交易中的数据流包含990字节的数据以及10字节的冗余数据。主装置也可以通过请求具有9个数据区块的交易来接收数据,并且通过第二请求来接收剩余的90字节数据。在以上的特定实施例中,每个SDU结尾段23包含关于从装置的信息,关于从装置的信息包含:从数据源/数据目的地装置所接收的准备传送至主装置的数据量,以及主装置可用的空闲缓冲区空间数量(通常被称为缓冲区状况信息),中断状况信息,以及其它信息,其中,空闲缓冲区空间是用于储存将要传送至数据源/数据目的地装置的数据或将要从数据源/数据目的地装置接收的数据。需要注意的是,根据设计标准,冗余数据可能是有用的数据或无用的数据。例如,冗余位可以是重复的数据,填充零(padded-zero),未知数据,或辅助数据(可以是新的辅助数据或旧的辅助数据)的一部分,等等。
图3为本发明一实施例的SDU结尾段23的数据格式示意图。如图3所示,区域“RX数据大小”指示缓冲在所接收的数据队列中的已接收数据(来自数据源/数据目的地装置)的数量,其中,所接收的数据是准备传送至主装置的。区域“TX数据缓冲区数目”以及“TX控制缓冲区数目”指示不同传送队列的空闲空间数量,其中,主装置可用这些空闲空间来放置将要传送到数据源/数据目的地装置的数据。区域“事件(event)数据大小”指示事件队列的数据量,其中,事件队列是独立于接收队列以及传送队列,且其是通过不同的数据端口发送。区域“TXEI”指示传输错误中断状况,以及区域“FWI”指示固件中断状况。
当然,图3所示的结尾段数据格式仅仅是示例。区域的数量以及结尾段参数的定义均不限于图3中所示的;任何关于从装置的所希望的状态信息均可以放置在结尾段。另外,SDU结尾段的位置并不重要;其并不需要位于SDU的结尾之后。另外,缓冲区状况信息以及中断状况信息可以交替地放置在标头中。更通常地说,标头以及结尾段可以被合称为辅助数据段,而SDU可以被称为主数据段。在本发明的揭露中,辅助数据是指不是主数据的所有信息。辅助数据可以是主装置想知道且为主数据之外的任何信息。
请再次参考图2,水平虚线26用于指示区块边界。在SDIO以及很多其它的协议中,主装置以区块的形式传送数据。SDIO在传送中使用多个区块以存取大量的数据。区块的大小被配置在1B(1字节)至2KB(2000字节)的范围内。另一方面,每个SDU数据段具有不同的大小。区块的预设大小是由主装置所决定,且主装置将一数据流中区块的预设大小指示给从装置。图2示出了两个不同大小的SDU数据段22。合并/提取电路111产生的数据流包含具有其标头以及结尾段的SDU数据段。数据流以多个区块的形式传送,且区块边界可以位于数据流的任何位置,例如:位于SDU数据段22内,位于SDU标头21内,位于SDU结尾段23内,等等。需要注意的是,此方法可应用于其它主从式通信***中,例如:通用串行总线(Universal S erial Bus,以下简称为USB)。对于USB***,以区块为基础的概念(concept)是不存在的。作为替代,最大的封包大小就可以被认为是SDIO例子中的区块的大小。
在图2所示的例子中,特殊的标头EHRB(结尾标头接收区块(EndHeader Receive Block))24指示所请求的数据已经结束,EHRB 24后的数据为填充数据25而不是SDU数据。此情形可能发生于多个数据区块中的最后一个,或发生于主装置请求的数据多于从装置准备传送的数据的情形。甚至当填充数据25位于特殊的SDU标头EHRB 24后时,包含缓冲区状况以及中断状况信息的SDU结尾段仍然会被添加到填充数据后,以将关于从装置的最近的信息提供至主装置。
图4以及图5为本发明一实施例的由从装置103执行的数据传送方法的流程图。图4为接收交易(也就是,主装置101通过从装置103从数据源/数据目的地装置接收数据)的流程图;图5为传送交易(也就是,主装置101通过从装置103传送数据至数据源/数据目的地装置)的流程图。如图4所示,从装置103从数据源/数据目的地装置接收数据,并将数据储存于缓冲区(步骤S41)。正如先前所描述的,从数据源/数据目的地装置接收的数据是一般以封包为基础的数据,且数据内容(“纯数据”)是从数据封包中提取并放置在缓冲区。从装置103接收来自主装置101的传送命令(步骤S42),在本实施例中是一个用于接收数据的命令。缓冲区管理电路115获取缓冲区状况信息,且检测电路113获取中断状况信息(步骤S43)。处理电路112产生包含缓冲区状况信息以及中断状况信息的结尾段(步骤S44)。步骤S42,S43以及S44的顺序并不重要。接着,合并/提取电路111合并具有标头以及结尾段的多个SDU,以产生数据流(步骤S45)。传送数据流至主装置(步骤S46)。重复此过程以接收更多来自数据源/数据目的地装置的数据,并将其传送至主装置101。
需要注意的是,获取缓冲区状况信息以及中断状况信息的过程是连续的,结尾段总是包含最近的信息。因此,因为后续的结尾段总是包含最近的信息,事实上主装置可以跳过某些结尾段。
在图5所示的传送交易中,从装置103从主装置101接收数据流(步骤S 51)。与由从装置103传送到主装置101的数据流类似,从主装置101接收的数据流包含具有标头以及结尾段的多个SDU。标头包含关于数据放置在哪一个队列的信息。处理电路112从标头中提取关于数据放置在哪一个队列的信息(步骤S52),且缓冲区管理电路115控制缓冲池115以将数据放置在合适的队列中(步骤S53)。重复此过程以接收更多来自主装置101的数据,并将其传送至数据源/数据目的地装置。
另外(图4或图5中未显示),如果在一时间期间,仅有连续的传送交易而没有接收交易,从装置将没有机会发送缓冲区状况信息以及中断状况信息至主装置。在此情形下,响应主装置发送命令至从装置以请求信息,从装置可发送中断信号至主装置。在另一实施例中,如果在预设的时间期间内没有接收交易,则主装置可以发送命令至从装置。
需要注意的是,图1所示的结构仅为本发明的较佳实施例。然而,本发明也可具有其它的实施例,例如,以下将详细描述的图6以及图7所示的实施例。
图6为本发明另一实施例的数据传送***600的方框图。在图6中,从装置603中的合并/提取单元614从数据源装置接收以封包为基础的数据,并将以封包为基础的数据合并为以区块为基础的数据。存储器611从合并/提取单元614接收以区块为基础的数据,并将这些数据以以区块为基础的形式储存。需要注意的是,因为图1中的缓冲区队列是以以封包为基础的形式储存数据,所以存储器611不同于图1中的缓冲区队列。存储器管理电路615从存储器611获取存储器状况,并将存储器状况转送(forward)至处理电路612。检测电路613也传送中断状况信息至处理电路612。处理电路612根据来自存储器管理电路615以及检测电路613的输入产生辅助数据。处理电路612将辅助数据转送至合并/提取单元614,以将辅助数据与主数据合并。辅助数据以及主数据均以以区块为基础的形式储存在存储器611中。存储器611传送数据流至主装置601。而当数据流从主装置传送至数据目的地装置时,其细节与图1所示的实施例的描述相似,因此不再详细描述。另外,图6所示的其它内容,图1所示的某些其它内容以及与图1至图5相似的其它描述,均为熟悉此项技艺者所知悉,因此不再详细描述。例如,图6中的接口电路616与图1中的接口电路116相似,此不再详细描述接口电路616的细节。
图7为本发明另一实施例的数据传送***700的方框图。在图7中,将引入外部模块755,外部模块755包含:检测电路713,处理电路712,存储器管理电路715,以及合并/提取单元714。从装置703包含:用于储存以封包为基础的数据以及以区块为基础的数据的存储器711。在特定的实施例中,存储器711需要能储存以封包为基础的数据以及以区块为基础的数据。存储器711接收以封包为基础的数据,并将以封包为基础的数据储存在其中。将以封包为基础的数据传送至外部模块755以用于合并以及处理。另外,存储器状况也被传送至外部模块755。外部模块755的合并/提取单元714合并处理电路712的输出数据以及来自从装置703的数据。另外,外部模块755的存储器管理电路715接收来自从装置703的控制信息。检测电路713接收来自主装置701或从装置703的控制信息。主装置701可以直接传送控制信息至外部模块755,或先将控制信息传送至从装置703,然后再转送至外部模块755。当主数据以及辅助数据被合并为以区块为基础的形式后,以区块为基础的数据将被传送至存储器711,并被转送至主装置701。在本实施例中,主装置701传送数据至数据目的地装置的详细信息与图1的详细信息非常相似,因此不再详细描述。另外,图7中的接口电路716与图1中的接口电路116相似,故不在此详述接口电路716的细节。当然,本发明并不限于图1,图6,以及图7所示的实施例,其仅为本发明的举例说明,而并不应成为本发明范围的限制。并且仍然会有其它的实施例,例如:外部模块仅包含:处理电路,检测电路,以及缓冲区管理电路。
此处描述的数据传送方法与传统的SDIO***或其它类似***相比具有很多优点。在传统的SDIO主从式传送方法中,每个数据传送仅传送一个SDU(在一个或多个区块中)。因为每个数据传送需要来自主装置的一个命令,此传送方法需要多个命令周期来传送多个SDU,这会导致命令间延迟。另外,因为每个SDU一般都不具有多个区块的大小,每个SDU传送将导致最后一个区块的某些空间被浪费。在另一实施例中,SDU会先传送一定数量的区块,然后再传送一定数量的字节,但这仍然会需要主装置发出多个传送命令,且会导致命令间延迟。
本发明的数据传送方法的优点将详述于下。首先,其会通过减少主装置为获取相关的信息需要向从装置发送的命令的数量来减少命令间延迟,其中,举例来说,相关的信息可以是:可用的缓冲区大小,准备传送至主装置的被缓冲的数据量,中断状况信息等等。这是通过使用SDU结尾段来自动发送缓冲区状况信息以及中断状况信息至主装置来完成的。第二,由于在一个数据流中传送多个SDU减少了传送或者接收命令的数量,因此减少了命令间延迟。包含多个SDU的每个数据流连续地被传送至主装置,而不需要来自主装置的额外的传送命令。第三,因为从装置通知主装置缓冲于从装置并且准备传送至主装置的数据数量,主装置可以及时传送数据。这会减少从装置的闲置时间。第四,因为主装置具有关于可用缓冲区空间以及缓冲并准备用于传送的数据量的信息,主装置通过每个命令可以发送或请求合适的连续数据量,以减少命令数量以及命令间延迟。
另外,本发明所描述的方法有助于主从式数据传送***中从装置的多个队列的执行。如上所述,本发明多个实施例的从装置具有多个队列,每个队列是具有其自己的缓冲区存储器的逻辑队列。实施多个队列提供了数据处理的灵活性。例如,多个队列可具有不同的优先级。传统的SDIO***实施多个队列将需要较高的消耗,因为主装置必须使用很多命令来获取关于每个队列状态的信息,其中,举例来说每个队列状态的信息可以是队列中数据缓冲区数量,可用空间数量等等。使用本发明所描述的方法,已经更新的关于队列的信息将会由从装置自动发送,而不需要主装置使用命令获取这些信息。
需要注意的是,虽然以上描述中使用了SDIO***作为例子,本发明并不限于SDIO,本发明所描述的方法也可应用于其它主从式接口***(例如USB***)中。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应与权利要求所界定的范围为准。
Claims (19)
1.一种从装置,用于在主装置以及数据源装置之间通信,所述从装置适用于所述主装置,所述从装置包含:
一个或多个缓冲区,用于储存接收自所述数据源装置的数据;
缓冲区管理电路,耦接于所述缓冲区,用于获取缓冲区状况信息,其中,所述缓冲区状况信息指示所述缓冲区中的一个或多个的可用空间数量,以及接收自所述数据源装置并储存于所述缓冲区中的一个或多个的数据数量;以及
合并电路,耦接于所述缓冲区以及所述缓冲区管理电路,用于产生数据流并传送所述数据流至所述主装置,所述数据流包含多个主数据段以及与所述主数据段相关的多个辅助数据段,其中,所述主数据段包含接收自所述数据源装置并储存于所述缓冲区的数据,以及所述辅助数据段中的每一个包含所述缓冲区状况信息。
2.根据权利要求1所述的从装置,其特征在于,进一步包含:
处理电路,耦接于所述缓冲区管理电路以及所述合并电路之间,用于基于所述缓冲区状况信息产生所述辅助数据段,并提供所述辅助数据段至所述合并电路。
3.根据权利要求1所述的从装置,其特征在于,进一步包含:
检测电路,耦接于所述合并电路,用于检测所述从装置的中断状况,其中,所述数据流中的所述辅助数据段进一步包含关于中断状况的信息。
4.根据权利要求1所述的从装置,其特征在于,所述缓冲区包含一个或多个接收缓冲区,所述接收缓冲区用于储存接收自所述数据源装置并将传送至所述主装置的数据,其中,所述辅助数据段中的所述缓冲区状况信息包含所述接收缓冲区中每一个的可用空间数量。
5.根据权利要求1所述的从装置,其特征在于,进一步包含:
接口电路,用于控制所述从装置以及使用预设通信协议的所述数据源装置之间的数据通信,其中,接收自所述数据源装置的所述数据包含多个数据封包,其中,所述接口电路由所述数据封包中提取数据内容,并将提取的所述数据内容放置在所述缓冲区,其中,所述主数据段中的每一个包含从一个数据封包所提取的所述数据内容。
6.根据权利要求1所述的从装置,其特征在于,所述合并电路以以区块为基础的形式传送所述数据流至所述主装置。
7.根据权利要求6所述的从装置,其特征在于,所述数据流包含多个区块,且所述区块中的每一个包含预设大小,其中,所述数据流的大小以及所述区块中的每一个的大小是由所述主装置决定的。
8.根据权利要求7所述的从装置,其特征在于,进一步包含:
处理器,如果所述数据流的大小大于将要传送至所述主装置的所述主数据以及所述辅助数据的总大小,所述处理器用于产生至少一冗余位以填入所述数据流中至少一个所述区块的一部分。
9.根据权利要求7所述的从装置,其特征在于,以传送至所述主装置的所述数据流为第一交易,且以于所述第一交易完成后传送至所述主装置的另一数据流为第二交易,其中,如果所述数据流的大小小于将要传送至所述主装置的所述主数据以及所述辅助数据的总大小,所述合并电路于所述第二交易传送将要传送至所述主装置的一部分所述主数据以及所述辅助数据。
10.根据权利要求1所述的从装置,其特征在于,所述辅助数据段是位于各自的所述主数据段之后的多个结尾段。
11.一种在主装置以及从装置之间传送数据的方法,适用于主从式数据传送***,并实现于所述从装置中,且所述从装置与数据源装置进行数据通信,所述方法包含:
(a)从所述数据源装置接收数据;
(b)获取状况信息,所述状况信息指示存储器的可用空间数量以及接收自所述数据源装置并储存于所述存储器的数据数量;
(c)从所述主装置接收传送命令;
(d)响应所述传送命令,产生数据流,所述数据流包含多个主数据段以及与所述主数据段相关的多个辅助数据段,其中,所述主数据段包含从所述数据源装置接收的数据,且其中所述辅助数据段中的每一个包含所述状况信息;以及
(e)传送所述数据流至所述主装置。
12.根据权利要求11所述的在主装置以及从装置之间传送数据的方法,其特征在于,步骤(d)包含:
(d1)根据所述状况信息产生所述辅助数据段,其中,所述状况信息进一步包含所述从装置将传送至所述主装置的信息;以及
(d2)合并接收自所述数据源装置的所述数据以及所述辅助数据段以产生所述数据流,其中,所述数据流是以区块为基础的形式来传送。
13.根据权利要求11所述的在主装置以及从装置之间传送数据的方法,其特征在于,进一步包含:
(f)检测所述从装置的中断状况,
其中,所述数据流中的所述辅助数据段进一步包含关于所述中断状况的信息。
14.根据权利要求11所述的在主装置以及从装置之间传送数据的方法,其特征在于,所述辅助数据段是位于各自的所述主数据段之后的多个结尾段。
15.一种从装置,用于与主装置通信数据,所述从装置包含:
提取电路,用于从所述主装置接收数据流,且将所述数据流分为多个以封包为基础的数据;
处理单元,用于从所述数据流中提取标头信息;
一个或多个缓冲区,用于储存接收自所述提取电路的所述以封包为基础的数据,其中,所述缓冲区包括一个或多个传送缓冲区,且所述缓冲区中的每一个具有指定的优先级;以及
缓冲区管理电路,耦接于所述缓冲区,用于根据所述标头信息控制所述缓冲区中每一个的使用,且将来自所述提取电路的所述以封包为基础的数据放置在所述缓冲区中的合适的缓冲区内,其中,所述标头信息包含关于所述以封包为基础的数据放置在哪一个缓冲区的指示。
16.一种从装置,用于在主装置以及数据源装置之间通信,所述从装置适用于所述主装置,所述从装置包含:
连接器,具有安全数字输入输出接口或通用串行总线接口,用于连接所述主装置;
一个或多个缓冲区,用于储存接收自所述数据源装置的数据,并且储存接收自所述主装置的数据;
通信接口,用于与所述数据源装置通信数据,其中,接收自所述数据源装置的所述数据包含多个数据封包,以及所述缓冲区中的每一个储存所述数据封包中的至少一个;以及
合并电路,耦接于所述缓冲区,通过合并所述数据封包中的每一个产生数据流,且传送所述数据流至所述主装置,所述数据流包含多个数据段,其中,所述数据流为连续串流。
17.根据权利要求16所述的从装置,其特征在于,进一步包含:
缓冲区管理电路,耦接于所述缓冲区,用于获取缓冲区状况信息,其中,所述缓冲区状况信息包括所述缓冲区中的一个或多个的可用空间数量,以及接收来自所述数据源装置并储存于所述缓冲区中的一个或多个的数据数量,
其中,所述数据流进一步包含与所述数据段相关的多个辅助数据段,其中,所述辅助数据段中的每一个包含所述缓冲区状况信息。
18.根据权利要求17所述的从装置,其特征在于,进一步包含:
检测电路,耦接于所述合并电路,用于检测所述从装置的中断状况,其中,所述数据流中的所述辅助数据段进一步包含关于所述中断状况的信息。
19.根据权利要求18所述的从装置,其特征在于,所述辅助数据段是位于各自的所述主数据段之后的多个结尾段。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US752908P | 2008-04-10 | 2008-04-10 | |
US61/007,529 | 2008-04-10 | ||
US12/339,072 | 2008-12-19 | ||
US12/339,072 US20090259786A1 (en) | 2008-04-10 | 2008-12-19 | Data transfer system and method for host-slave interface with automatic status report |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101556569A true CN101556569A (zh) | 2009-10-14 |
CN101556569B CN101556569B (zh) | 2011-08-10 |
Family
ID=41164911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101300695A Expired - Fee Related CN101556569B (zh) | 2008-04-10 | 2009-04-03 | 在主装置以及从装置之间传送数据的方法及从装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090259786A1 (zh) |
CN (1) | CN101556569B (zh) |
TW (1) | TW200943069A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833521A (zh) * | 2009-02-09 | 2010-09-15 | 马维尔国际贸易有限公司 | 包含内部数据源的非易失性存储器 |
CN102804158A (zh) * | 2010-03-19 | 2012-11-28 | 想象技术有限公司 | 总线架构中的请求和数据处理 |
CN102844748A (zh) * | 2010-05-04 | 2012-12-26 | 联发科技股份有限公司 | 用于主从接口的基于包的数据传输***与方法 |
CN103200382A (zh) * | 2012-01-09 | 2013-07-10 | 上海华虹集成电路有限责任公司 | 高清晰度多媒体接口的发射端与接收端的交互通信方法 |
CN112783071A (zh) * | 2021-01-20 | 2021-05-11 | 紫光展讯通信(惠州)有限公司 | 一种sdio控制器、fpga板卡和sdio测试*** |
WO2022142901A1 (zh) * | 2020-12-29 | 2022-07-07 | 深圳云天励飞技术股份有限公司 | 一种数据传输方法、装置、可读存储介质及终端设备 |
US11461255B2 (en) | 2019-10-21 | 2022-10-04 | Realtek Semiconductor Corporation | Electronic device, network switch, and interrupt transmitting and receiving method |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI331717B (en) * | 2007-05-21 | 2010-10-11 | Etron Technology Inc | Control system and data fetching method for a memory |
TWI353145B (en) * | 2007-12-26 | 2011-11-21 | Ralink Technology Corp | Method for receiving data with sdio interface and |
JP5217982B2 (ja) * | 2008-12-04 | 2013-06-19 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US8782325B1 (en) | 2009-02-09 | 2014-07-15 | Marvell International Ltd. | Data type based alignment of data written to non-volatile memory |
CN101841614A (zh) * | 2009-03-17 | 2010-09-22 | 深圳富泰宏精密工业有限公司 | 电话传真信息管理***及方法 |
US8762603B2 (en) | 2009-11-25 | 2014-06-24 | Telefonaktiebolaget L M Ericsson (Publ) | Addressable FIFO |
TW201312973A (zh) * | 2011-09-01 | 2013-03-16 | Chunghwa Telecom Co Ltd | 解決主從式應用系統檔案i/o瓶頸之系統 |
RU2016111141A (ru) | 2013-08-29 | 2017-10-02 | Сейко Эпсон Корпорейшн | Передающая система, передающее устройство и способ передачи данных |
KR102209509B1 (ko) * | 2015-12-24 | 2021-01-29 | 삼성전자주식회사 | 건조기 및 그의 제어 방법 |
JP6524039B2 (ja) * | 2016-09-23 | 2019-06-05 | 東芝メモリ株式会社 | メモリシステム及び制御方法 |
CN112732602A (zh) * | 2019-10-28 | 2021-04-30 | 瑞昱半导体股份有限公司 | 电子装置、网络交换器以及中断传输与接收方法 |
CN115242860B (zh) * | 2022-07-25 | 2024-02-02 | 苏州欧普照明有限公司 | 一种并发数据上报方法及*** |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3668645A (en) * | 1970-05-25 | 1972-06-06 | Gen Datacomm Ind Inc | Programable asynchronous data buffer having means to transmit error protected channel control signals |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US5014265A (en) * | 1989-11-30 | 1991-05-07 | At&T Bell Laboratories | Method and apparatus for congestion control in a data network |
US5390299A (en) * | 1991-12-27 | 1995-02-14 | Digital Equipment Corporation | System for using three different methods to report buffer memory occupancy information regarding fullness-related and/or packet discard-related information |
US5526484A (en) * | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
US6031867A (en) * | 1993-07-02 | 2000-02-29 | Multi-Tech Systems, Inc. | Modem with firmware upgrade feature |
US5517615A (en) * | 1994-08-15 | 1996-05-14 | Unisys Corporation | Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred |
US5771356A (en) * | 1995-01-04 | 1998-06-23 | Cirrus Logic, Inc. | Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds |
US5797033A (en) * | 1995-03-31 | 1998-08-18 | Cirrus Logic, Inc. | Direct memory access for storing and retrieving data based on packet size |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
US5638535A (en) * | 1995-05-15 | 1997-06-10 | Nvidia Corporation | Method and apparatus for providing flow control with lying for input/output operations in a computer system |
US6115775A (en) * | 1996-09-12 | 2000-09-05 | Digital Equipment Corporation | Method and apparatus for performing interrupt frequency mitigation in a network node |
US5960215A (en) * | 1996-09-12 | 1999-09-28 | Digital Equipment Corporation | Transmit data FIFO for flow controlled data |
JP2836606B2 (ja) * | 1996-10-25 | 1998-12-14 | 日本電気株式会社 | Atmセル転送装置 |
US6201813B1 (en) * | 1997-06-30 | 2001-03-13 | Cisco Technology, Inc. | Method and apparatus for using ATM queues for segmentation and reassembly of data frames |
US6397287B1 (en) * | 1999-01-27 | 2002-05-28 | 3Com Corporation | Method and apparatus for dynamic bus request and burst-length control |
US6609167B1 (en) * | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
US6772280B1 (en) * | 1999-06-22 | 2004-08-03 | Seiko Epson Corporation | First-in first-out storage device |
US7035948B1 (en) * | 2001-03-19 | 2006-04-25 | Transdimension, Inc. | System and method for USB controllers |
US7012913B2 (en) * | 2003-11-25 | 2006-03-14 | Nokia Corporation | Apparatus, and associated method, for facilitating communication of unfragmented packet-formatted data in a radio communication system |
US7729465B2 (en) * | 2006-03-06 | 2010-06-01 | Globalfoundries Inc. | Asymmetric control of high-speed bidirectional signaling |
US8260286B2 (en) * | 2006-10-30 | 2012-09-04 | Nokia Corporation | Method, apparatus and system for testing user equipment functionality |
CN100589371C (zh) * | 2007-07-16 | 2010-02-10 | 中兴通讯股份有限公司 | 一种消除源同步信号长线传输时延的***及方法 |
-
2008
- 2008-12-19 US US12/339,072 patent/US20090259786A1/en not_active Abandoned
-
2009
- 2009-03-26 TW TW098109916A patent/TW200943069A/zh unknown
- 2009-04-03 CN CN2009101300695A patent/CN101556569B/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833521A (zh) * | 2009-02-09 | 2010-09-15 | 马维尔国际贸易有限公司 | 包含内部数据源的非易失性存储器 |
CN102804158A (zh) * | 2010-03-19 | 2012-11-28 | 想象技术有限公司 | 总线架构中的请求和数据处理 |
CN104794076A (zh) * | 2010-03-19 | 2015-07-22 | 想象技术有限公司 | 处理总线架构中的请求的方法及总线架构 |
CN102804158B (zh) * | 2010-03-19 | 2016-05-04 | 想象技术有限公司 | 总线架构及从至少一从设备向多个主路径发送数据的方法 |
CN104794076B (zh) * | 2010-03-19 | 2018-01-26 | 想象技术有限公司 | 处理总线架构中的请求的方法及总线架构 |
CN102844748A (zh) * | 2010-05-04 | 2012-12-26 | 联发科技股份有限公司 | 用于主从接口的基于包的数据传输***与方法 |
CN102844748B (zh) * | 2010-05-04 | 2015-09-16 | 联发科技股份有限公司 | 数据传输方法、主装置和从装置 |
CN103200382A (zh) * | 2012-01-09 | 2013-07-10 | 上海华虹集成电路有限责任公司 | 高清晰度多媒体接口的发射端与接收端的交互通信方法 |
US11461255B2 (en) | 2019-10-21 | 2022-10-04 | Realtek Semiconductor Corporation | Electronic device, network switch, and interrupt transmitting and receiving method |
TWI800689B (zh) * | 2019-10-21 | 2023-05-01 | 瑞昱半導體股份有限公司 | 電子裝置、網路交換器以及中斷傳輸與接收方法 |
WO2022142901A1 (zh) * | 2020-12-29 | 2022-07-07 | 深圳云天励飞技术股份有限公司 | 一种数据传输方法、装置、可读存储介质及终端设备 |
CN112783071A (zh) * | 2021-01-20 | 2021-05-11 | 紫光展讯通信(惠州)有限公司 | 一种sdio控制器、fpga板卡和sdio测试*** |
Also Published As
Publication number | Publication date |
---|---|
CN101556569B (zh) | 2011-08-10 |
TW200943069A (en) | 2009-10-16 |
US20090259786A1 (en) | 2009-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101556569B (zh) | 在主装置以及从装置之间传送数据的方法及从装置 | |
US7412550B2 (en) | Bus system with protocol conversion for arbitrating bus occupation and method thereof | |
EP3822798B1 (en) | Memory access technology and computer system | |
EP1710983B1 (en) | Wireless communication device and information processing method | |
CN102255794A (zh) | 远程消息收发吞吐量优化和等待时间缩短用***和方法 | |
CN104123262A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
US8626963B2 (en) | Packet based data transfer system and method for host-slave interface | |
CN102420877A (zh) | 一种多模式高速智能异步串口通信模块及实现方法 | |
CN101819562B (zh) | 通信方法及装置 | |
JP4920036B2 (ja) | メモリチャネル上の応答のスケジューリング | |
CN101937413A (zh) | 一种i2c总线的通信方法 | |
US20060184708A1 (en) | Host controller device and method | |
CN102043741B (zh) | 用于管道仲裁的电路和方法 | |
CN105378692B (zh) | 通用串行总线数据路由 | |
CN101170382B (zh) | 一种数据传输的方法和*** | |
US6816935B1 (en) | Interrupt and status reporting structure and method for a timeslot bus | |
Barbosa et al. | Front-end electronics control and monitoring for the LHCb Upgrade | |
CN103024087B (zh) | 同时支持大容量存储和以太网通信的***及方法 | |
EP2726992B1 (en) | Network control model driver | |
US6607138B2 (en) | Communication method of IC card reader/writer | |
EP2800003B1 (en) | Method and device for realizing end-to-end hardware message passing | |
CN113190349B (zh) | 主机任务异步执行的方法、***及计算机存储介质 | |
JP7368051B2 (ja) | Usbデバイス、および、usbデバイスにおける制御方法 | |
JP5387993B2 (ja) | データ転送制御装置、データ転送制御方法、およびコンピュータシステム | |
CN104424147B (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 |
Granted publication date: 20110810 Termination date: 20190403 |
|
CF01 | Termination of patent right due to non-payment of annual fee |