CN113448899A - 借助于交易辨识码的属性来控制数据响应的方法以及系统 - Google Patents

借助于交易辨识码的属性来控制数据响应的方法以及系统 Download PDF

Info

Publication number
CN113448899A
CN113448899A CN202010218246.1A CN202010218246A CN113448899A CN 113448899 A CN113448899 A CN 113448899A CN 202010218246 A CN202010218246 A CN 202010218246A CN 113448899 A CN113448899 A CN 113448899A
Authority
CN
China
Prior art keywords
data
identification code
tag
attribute
master
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.)
Pending
Application number
CN202010218246.1A
Other languages
English (en)
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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor 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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202010218246.1A priority Critical patent/CN113448899A/zh
Publication of CN113448899A publication Critical patent/CN113448899A/zh
Pending 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4013Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请提供一种借助于一交易辨识码的至少一属性来控制数据响应的方法以及系统。该方法包含:将该至少一属性连同该交易辨识码自一或多个主装置中的任一主装置一并传送至一从装置;以及依据该至少一属性来判断是否利用多个数据路径中的一特定数据路径将对应于该交易辨识码的数据自该从装置中的一存储装置响应至所述任一主装置。具体来说,该特定数据路径是该多个数据路径中具有最大传输效率的数据路径。

Description

借助于交易辨识码的属性来控制数据响应的方法以及系统
技术领域
本发明是关于数据响应控制,尤指一种借助于一交易(transaction)辨识码的至少一属性(attribute)来控制数据响应的方法以及系统。
背景技术
在一系统中的许多传输接口均可配置有读取重排序缓冲器(read re-orderbuffer),以容许该系统针对同时发出的多个互不相干的指令进行重排序,以达到优化的响应效率。然而,虽然一特定指令与其他指令互不相干(表示这些指令之间可进行重排序),该特定指令的响应数据可能会在某些情况下被上述其他指令的响应数据阻挡,从而大幅增加了数据响应的延迟时间。
因此,需要一种新颖的数据响应控制机制以及相关系统,以容许与其他指令不相干的特定指令的响应数据不会受到其他指令的响应数据阻挡,达到最佳的数据响应效率。
发明内容
本发明的一目的在于提供一种借助于一交易(transaction)辨识码的至少一属性(attribute)来控制数据响应的方法以及系统,以容许与其他指令不相干的特定指令的响应数据不会受到其他指令的响应数据阻挡,达到最佳的数据响应效率。
本发明至少一实施例提供一种借助于一交易辨识码的至少一属性来控制数据响应的方法。该方法包含:将该至少一属性连同该交易辨识码自一或多个主装置(masterdevice)中的任一主装置一并传送至一从装置(slave device);以及依据该至少一属性来判断是否利用多个数据路径中的一特定数据路径将对应于该交易辨识码的数据自该从装置中的一存储装置响应至所述任一主装置。例如,该特定数据路径可为该多个数据路径中具有最大传输效率的数据路径。
本发明至少一实施例提供一种借助于一交易辨识码的至少一属性来控制数据响应的系统。该系统包含一从装置以及一或多个主装置,其中该一或多个主装置通过一传输接口电路耦接至该从装置。该从装置可包含用来储存数据的一存储装置,该一或多个主装置可通过该传输接口电路来取得储存于该存储装置中的数据。具体来说,该一或多个主装置中的任一主装置可将该至少一属性连同该交易辨识码一并传送至该从装置;以及依据该至少一属性,该从装置可判断是否利用多个数据路径中的一特定数据路径将对应于该交易辨识码的数据自该存储装置响应至所述任一主装置。例如,该特定数据路径是该多个数据路径中具有最大传输效率的数据路径。
本发明的实施例提供的方法及系统能在传送一交易辨识码时一并传送其属性,以供判断是否利用一旁通路径来优化数据响应的效率。相较于相关技术,本发明的实施例不会大幅地增加额外成本。因此本发明能在没有副作用或较不会带来副作用的情况下解决相关技术的问题。
附图说明
图1为依据本发明一实施例的一读取重排序缓冲器在一读取操作中的某些实施细节。
图2为依据本发明一实施例的一种借助于一交易辨识码的至少一属性来控制数据响应的系统的示意图。
图3为依据本发明一实施例的一种借助于一标签辨识码的至少一属性来控制数据响应的方法的工作流程。
图4为依据本发明一实施例的图2所示的该系统中的一从装置在一标签标签辨识码在该系统中是唯一的情况下的某些实施细节。
图5为依据本发明一实施例的图2所示的该系统中的一从装置在一标签标签辨识码在该系统中不是唯一的情况下的某些实施细节。
图6为依据本发明一实施例的一种借助于一标签辨识码的至少一属性来控制数据响应的方法的工作流程。
图7为依据本发明一实施例的图2所示的该系统中的一从装置在一标签标签辨识码在该系统中是唯一的情况下的某些实施细节。
图8为依据本发明一实施例的图2所示的该系统中的一从装置在一标签标签辨识码在该系统中不是唯一的情况下的某些实施细节。
【符号说明】
100:系统
120_1,120_n,120_N:主装置
140:从装置
10,141:原子化器
20,142:读取重排序缓冲器
30,143:存储装置
142A,142B:储存区域
160:传输接口电路
162_1,162_N:主接口
164:从接口
Master_Tag_ID(0),Master_Tag_ID(n),Master_Tag_ID(N):标签辨识码
Master_ID(0),Master_ID(n),Master_ID(N),Is_unique_ID(0),Is_unique_ID(n),
Is_unique_ID(N):属性
302~324,402~424:步骤
200:标签辨识码映像及读取重排序缓冲控制器
220:控制电路
240,280:选择电路
260:映像电路
Tag_ID:标签辨识码
Group_ID:群组辨识码
W_pointer:写入指标
R_pointer:读取指标
cmd_index,RRB_index:索引
具体实施方式
图1为依据本发明一实施例的一读取重排序缓冲器(read re-order buffer,RRB)20在一读取操作中的某些实施细节,其中该读取重排序缓冲器可耦接于一原子化器(atomizer)10与一存储装置30之间。如图1所示,标示「读取指令请求」的箭头可表示该读取操作中读取指令请求的方向,标示「读取数据响应」的箭头可表示该读取操作中读取数据响应的方向。在存储装置30接收固定的突发长度(burst length)进行访问控制的情况下,原子化器10读取带有交易(transaction)辨识码(identifier,ID)诸如标签(tag)辨识码指令,再将交易(transaction)进行截断(chop)处理以产生具有上述固定的突发长度的多个突发截断指令,并且赋予该多个突发截断指令的每一者一索引诸如rrb_index,再将带有索引rrb_index的标签辨识码储存于该读取重排序缓冲器。存储装置30可读取带有索引rrb_index的突发截断指令并据以响应带有rrb_index的有效数据,以容许读取重排序缓冲器20储存带有索引rrb_index的有效响应,其中存储装置30可用乱序(out-of-order)的方式响应数据以优化整体的读取效能(例如最小化读取延迟时间及提高动态乱序存取的使用率),而存储装置30的例子可包含随机存取内存(random access memory,RAM)例如静态随机存取内存(static RAM,SRAM)以及动态随机存取内存(dynamic RAM,DRAM)。在某些实施例中,读取重排序缓冲器20可利用一先进先出(first in first out,FIFO)缓冲器来实施,而原子化器10可取得读取重排序缓冲器20的底部条目的标签诸如标帜(flag)及这个底部条目的索引(在图1中标示为「RRB底部条目的标帜、索引」),并且自读取重排序缓冲器20的顶部取得包含有标签辨识码的有效响应(在图1中标示为「自RRB顶部取得有效响应(包含标签辨识码)」),以容许原子化器10有序地(in-order)响应带有标签辨识码的数据。
在某些实施例中,存储装置30可用不同的突发长度来进行访问控制,因此原子化器10可使用一封装器(wrapper)来取代,以在不对标签辨识码进行截断处理的状况下将完整的指令传送至存储装置30,但本发明不限于此。为便于理解,以下实施例可用存储装置30以固定的突发长度进行访问控制的情况来说明。
图2为依据本发明一实施例的一种借助于一交易辨识码的至少一属性(attribute)来控制数据响应的系统100的示意图。如图2所示,系统100可包含一从装置140以及一或多个主装置诸如N个主装置120_1、…及120_N,其中N为正整数。从装置140可包含一原子化器141、一读取重排序缓冲器142以及一存储装置143,其中原子化器10、读取重排序缓冲器20以及存储装置30可分别作为图1所示的原子化器141、读取重排序缓冲器142以及存储装置143的例子。在本实施例中,存储装置143可用来储存数据。在本实施例中,该一或多个主装置诸如主装置120_1、…及120_N可通过一传输接口电路160(例如片上网络(Network-on-Chip,NoC)或总线/互联(interconnection)电路)耦接至从装置140,以取得储存于存储装置143中的数据。例如,主装置120_1可通过主接口162_1耦接至传输接口电路160,主装置120_N可通过主接口162_N耦接至传输接口电路160,而从装置140可通过从接口164耦接至传输接口电路160,但本发明不限于此。在本实施例中,主装置120_1、…及120_N中的任一主装置(例如主装置120_n,其中n为1与N之间的任意整数)可将上述至少一属性连同该交易辨识码一并传送至从装置140。例如,主装置120_1可利用其内的主核心电路发送一交易辨识码诸如标签辨识码Master_Tag_ID(0),并且利用其内的核心封装器通过扩充字段的方式加入标签辨识码Master_Tag_ID(0)的属性Is_unique_ID(0),而主接口162_1可再通过扩充字段的方式加入标签辨识码Master_Tag_ID(0)的属性Master_ID(0);依此类推,主装置120_N可利用其内的主核心电路发送一交易辨识码诸如标签辨识码Master_Tag_ID(N),并且利用其内的核心封装器通过扩充字段的方式加入标签辨识码Master_Tag_ID(0)的属性Is_unique_ID(N),而主接口162_N可再通过扩充字段的方式加入标签辨识码Master_Tag_ID(0)的属性Master_ID(0)。其中标签辨识码Master_Tag_ID(n)可表示自主装置120_n内的主核心电路发出的交易辨识码,属性Is_unique_ID(n)可指出标签辨识码Master_Tag_ID(n)在整个系统100中是否为唯一(unique)的,而属性Master_ID(n)则指出Master_Tag_ID(n)是自主装置120_n发出。
详细来说,若任两个交易辨识码是相同的,表示这两个交易辨识码必须要有序地响应对应的数据(例如依照一预定顺序响应);而若这两个交易辨识码是相异的,表示这两个交易辨识码的对应的数据可进行重排序(例如不必依照上述预定顺序响应)以优化数据响应的效率。当某个指令具有快速取得响应数据的需求时,系统开发者可赋予这个指令一唯一的辨识码,表示此辨识码所对应的响应数据可被重排序,以在最小化延迟时间的情况下响应数据。
为了使从装置140能在不内建查找表(lookup table)的情况下判断标签辨识码Master_Tag_ID(n)在系统100中是否为唯一的辨识码,主装置120_n可将属性Is_unique_ID(n)连同标签辨识码Master_Tag_ID(n)自主装置120_n一并传送至从装置140。依据属性Is_unique_ID(n),从装置140可判断是否利用多个数据路径中的一特定数据路径将对应于标签辨识码Master_Tag_ID(n)的数据自存储装置143响应至主装置120_n,其中该特定数据路径是该多个数据路径中具有最大传输效率的数据路径。例如,当属性Is_unique_ID(n)指出标签辨识码Master_Tag_ID(n)在系统100中不是唯一的(例如Is_unique_ID(n)为「0」),读取重排序缓冲器142可自存储装置143接收对应于标签辨识码Master_Tag_ID(n)的数据,以容许这个数据以有序的方式(例如依照上述预定顺序)自从装置140响应至主装置120_n。又例如,当属性Is_unique_ID(n)指出标签辨识码Master_Tag_ID(n)在系统100中是唯一的(例如Is_unique_ID(n)为「1」),从装置140可利用一旁通(bypass)路径以将对应于标签辨识码Master_Tag_ID(n)的数据自存储装置143直接响应至主装置120_n而避免通过读取重排序缓冲器142来传送。这表示对应于唯一的交易辨识码的数据不会因为在读取重排序缓冲器142中的其他数据尚未备妥而无法响应,从而确保唯一的交易辨识码的数据响应效率。
图3为依据本发明一实施例的一种借助于标签辨识码Tag_ID的至少一属性来控制数据响应的方法的工作流程,图4为依据本发明一实施例的图2所示的从装置140在标签辨识码Tag_ID在系统100中是唯一的情况下的某些实施细节,而图5为依据本发明一实施例的图2所示的从装置140在标签辨识码Tag_ID在系统100中不是唯一的情况下的某些实施细节,其中在本实施例中标签辨识码Tag_ID的长度小于或等于存储装置140进行访问控制时的突发长度。需注意的是,图3所示的工作流程只是为了说明的目的,并非本发明的限制,其中一或多个步骤可在该工作流程中被新增、删除或修改。此外,假若可得到相同的结果,则这些步骤不一定要完全遵照图3所示的顺序来执行。另外,标签辨识码Tag_ID可为图2所示的标签辨识码{Master_Tag_ID(n),Master_ID(n),Is_unique_ID(n)}的例子,其中标签辨识码Tag_ID的最低位(以Tag_ID[0]表示)可为Is_unique_ID(n)的例子,而标签辨识码Tag_ID的其他位(以Tag_ID[k:1]来表示)可为{Master_Tag_ID(n),Master_ID(n)}的例子。另外,读取重排序缓冲器142可与其他相关控制电路整合在一标签辨识码映像及读取重排序缓冲控制器200,尤其读取重排序缓冲器142可包含储存区域142A及142B,但本发明不限于此。
在步骤302中,从装置140可读取带有标签辨识码Tag_ID的指令。
在步骤304中,从装置140可判断标签辨识码Tag_ID在系统100中是否为唯一的,例如依据Tag_ID[0]判断标签辨识码Tag_ID在系统100中是否为唯一的。若是,进入步骤312;否则,进入步骤306。
在步骤306中,从装置140可检查读取重排序缓冲器142(例如储存区域142A及/或142B)是否已满。若是,表示此时无法接收指令,进入步骤308;否则,进入步骤310。
在步骤308中,由于从装置140(例如其内的读取重排序缓冲器142)尚未准备好接收指令与响应对应的数据,因此流程回到步骤306进行再次确认,直到读取重排序缓冲器142有空间为止。
在步骤310中,由于Tag_ID[0]指出标签辨识码Tag_ID在系统100中不是唯一的(例如Tag_ID[0]为1’b0),从装置140可分配读取重排序缓冲器142的一或多个条目以储存标签辨识码Tag_ID,并且标签辨识码映像及读取重排序缓冲控制器200内的一控制电路220在加上填充位后以读取辨识码{cmd_index,1’b0}将该一或多个条目的索引cmd_index及属性Tag_ID[0](例如1’b0)发送至存储装置143,如图4所示。另外,该一或多个条目的每一者可包含一有效位、Tag_ID[k:1]、Tag_ID[0]、数据有效计数器、写入指标W_pointer、读取指标R_pointer,但本发明不限于此。
在步骤312中,由于Tag_ID[0]指出标签辨识码Tag_ID在系统100中是唯一的(例如Tag_ID[0]为1’b1),从装置140可旁通读取重排序缓冲器142,并且从装置140内的控制电路220可在加上填充位后以读取辨识码{Tag_ID[k:1],1’b1}直接将标签辨识码Tag_ID发送至存储装置143,如图5所示。
在步骤314中,存储装置143可依据接收到的指令(例如上述读取辨识码)响应数据。
在步骤316中,存储装置143可依据响应辨识码的最低位来判断对应于这个数据的标签辨识码是否是唯一的。若是,例如响应辨识码为{Tag_ID[k:1],1’b1}如图5所示,进入步骤322;否则,例如响应辨识码为{cmd_index,1’b0}如图4所示,进入步骤318。
在步骤318中,从装置140可用读取重排序缓冲器写入索引{cmd_index,W_pointer}(可对应于储存区域142B的索引RRB_index)将响应数据储存至读取重排序缓冲器142中的储存区域142B,如图4所示。
在步骤320中,从装置140可通过标签辨识码映像及读取重排序缓冲控制器200内的一选择电路240(标示为「MUX」以求简明)自读取重排序缓冲器142(例如储存区域142A及/或142B)的顶部条目输出有效数据以及标签辨识码Tag_ID,例如依据读取索引{cmd_index,R_pointer}(可对应于储存区域142B的索引RRB_index)自储存区域142B读取有效数据,如图4所示。
在步骤322中,从装置140可旁通读取重排序缓冲器140,并且自标签辨识码移除填充位。即选择电路240使用一旁通路径自存储装置143直接输出标签辨识码Tag_ID以及响应数据,避免通过读取重排序缓冲器142来传送(即数据不会进入读取重排序缓冲器142),如图5所示。
在步骤324中,从装置140可将数据响应至主装置(例如主装置120_n)。
如上所述,由于存储装置143以所述固定的突发长度进行访问控制且标签辨识码Tag_ID的长度小于或等于所述固定的突发长度,若标签辨识码Tag_ID在系统100中是唯一的(Tag_ID[0]为1’b1),标签辨识码映像及读取重排序缓冲控制器200能直接将标签辨识码Tag_ID传送至存储装置143而避免将标签辨识码储存于读取重排序缓冲器142(例如储存区域142A),并且在响应数据时能将对应于标签辨识码Tag_ID的数据自存储装置143直接响应至主装置120_n而避免通过读取重排序缓冲器142来传送。因此,当标签辨识码Tag_ID在系统100中是唯一的时,从装置140能以优化的效率响应数据,而不会为了等待读取重排序缓冲器142中的数据而被阻挡。
图6为依据本发明一实施例的一种借助于标签辨识码Tag_ID的至少一属性来控制数据响应的方法的工作流程。在本实施例中,标签辨识码Tag_ID的长度大于存储装置140进行访问控制时所使用的标签辨识码长度。需注意的是,图6所示的工作流程只是为了说明的目的,并非本发明的限制,其中一或多个步骤可在该工作流程中被新增、删除或修改。此外,假若可得到相同的结果,则这些步骤不一定要完全遵照图6所示的顺序来执行。图7为依据本发明一实施例的图2所示的从装置140在标签辨识码Tag_ID在系统100中是唯一的情况下的某些实施细节。另外,当标签辨识码Tag_ID的长度大于存储装置140进行访问控制时所使用的标签辨识码长度时,从装置140在标签辨识码Tag_ID在系统100中不是唯一的情况下的实施细节可参照图4。
在步骤402中,从装置140可读取带有标签辨识码Tag_ID的指令。
在步骤406中,从装置140可检查读取重排序缓冲器142(例如储存区域142A及/或142B)是否已满。若是,表示此时无法接收指令,进入步骤408;否则,进入步骤410。
在步骤408中,由于从装置140(例如其内的读取重排序缓冲器142)尚未准备好接收指令与响应对应的数据,因此流程回到步骤406进行再次确认,直到读取重排序缓冲器142有空间为止。
在步骤410中,不论标签辨识码Tag_ID在系统100中是否为唯一的,从装置140可分配读取重排序缓冲器142的该一或多个条目以储存标签辨识码Tag_ID,并且控制电路220可用读取辨识码{cmd_index,Tag_ID[0]}将该一或多个条目的索引cmd_index及属性Tag_ID[0](例如1’b0或1’b1)发送至存储装置143。例如,控制电路220发送{cmd_index,1’b0},如图4所示;又例如,控制电路220发送{cmd_index,1’b1},如图7所示。
在步骤414中,存储装置143可依据接收到的指令(例如上述读取辨识码)响应数据。
在步骤416中,存储装置143可依据响应辨识码的最低位来判断对应于这个数据的标签辨识码是否是唯一的。若是,例如响应辨识码为{cmd_index,1’b1}如图7所示,进入步骤422;否则,例如响应辨识码为{cmd_index,1’b0}如图4所示,进入步骤418。
在步骤418中,从装置140可用读取重排序缓冲器写入索引{cmd_index,W_pointer}(可对应于储存区域142B的索引RRB_index)将响应数据储存至读取重排序缓冲器142中的储存区域142B,如图4所示。
在步骤420中,从装置140可通过标签辨识码映像及读取重排序缓冲控制器200内的选择电路240自读取重排序缓冲器142(例如储存区域142A及/或142B)的顶部条目输出有效数据以及标签辨识码Tag_ID,例如依据读取索引{cmd_index,R_pointer}(可对应于储存区域142B的索引RRB_index)自储存区域142B读取有效数据,如图4所示。
在步骤422中,从装置140可使用索引cmd_index自读取重排序缓冲器142(例如其内的储存区域142A)取的标签辨识码Tag_ID,并且直接响应对应于标签辨识码Tag_ID的数据以及标签辨识码Tag_ID,避免通过读取重排序缓冲器142来传送数据(即数据不会进入读取重排序缓冲器142,例如其内的储存区域142B),如图5所示。
在步骤424中,从装置140可将数据响应至主装置(例如主装置120_n)。
如上所述,由于存储装置143以所述固定的突发长度进行访问控制且标签辨识码Tag_ID的长度大于所述固定的突发长度所使用的标签辨识码,若标签辨识码Tag_ID在系统100中是唯一的(Tag_ID[0]为1’b1),原子化器141能将标签辨识码Tag_ID进行截断处理以产生具有所述固定的突发长度的多个突发截断指令(例如固定大小的读取指令),以容许标签辨识码映像及读取重排序缓冲控制器200将标签辨识码Tag_ID储存于读取重排序缓冲器142(例如储存区域142A),并且利用该多个突发截断指令自存储装置143取得对应于标签辨识码Tag_ID的数据,再利用该特定数据路径(例如该旁通路径)将储存于读取重排序缓冲器142中的储存区域142A的标签辨识码Tag_ID连同对应于标签辨识码Tag_ID的数据一并响应至主装置120_n。因此,当标签辨识码Tag_ID在系统100中是唯一的时,从装置140能以优化的效率响应数据,而在响应数据时不会为了等待读取重排序缓冲器142中的数据而被阻挡。
除了属性Is_unique_ID(n)以外,从装置140可另参考属性Master_ID(n)来控制数据响应。例如,某些标签辨识码在系统100中不是唯一的,但这些标签辨识码若来自不同的主装置(这些标签辨识码的属性Master_ID(n)互不相同),则这些标签辨识码对应的数据的响应顺序是可被重排序的。图8为依据本发明一实施例的图2所示的从装置140在标签辨识码Tag_ID在系统100中不是唯一的情况下的某些实施细节。
举例来说,在步骤410中,从装置140可分配读取重排序缓冲器142的该一或多个条目并且依据属性Master_ID(n)进行分组(例如通过标签辨识码映像及读取重排序缓冲控制器200内的一映像电路260将属性Master_ID(n)映像至群组辨识码Group_ID,如图8所示)以利用索引cmd_index储存标签辨识码Tag_ID以及群组辨识码Group_ID,并且控制电路220可用读取辨识码{cmd_index,Tag_ID[0]}将该一或多个条目的索引cmd_index及属性Tag_ID[0](例如1’b0或1’b1)发送至存储装置143。另外,在步骤420中,从装置140可通过标签辨识码映像及读取重排序缓冲控制器200内的选择电路280(标示为「MUX」以求简明)依据群组辨识码Group_ID选择储存区域142B内的多个群组中的对应的群组,再利用选择电路240自读取重排序缓冲器142(例如储存区域142A及/或142B中的该对应的群组)的顶部条目输出有效数据以及标签辨识码Tag_ID,如图8所示。
如上所述,由于读取重排序缓冲器142被可分群为分别对应于主装置120_1、…及120_N的多个群组,因此来自不同主装置的交易辨识码的数据响应操作可各自独立的进行,使得从装置140在接收到分别来自不同主装置的多个读取指令时可将对应的响应数据重排序以达到优化的效能。
另外,在某些实施例中,图2所示的传输接口电路可包含多个数据路径,且给多个数据路径可包含一专用数据路径(可为上述特定数据路径的例子),以专用于传送对应于唯一的交易辨识码的数据。
另外,在以上实施例中,上述至少一属性(例如属性Is_unique_ID(n))是利用该交易辨识码的扩充字段(例如Tag_ID[0])来传送。在其他实施例中,上述至少一属性可利用一边带(sideband)通道来传送。凡是能将关于该交易辨识码的属性的信息(例如该交易辨识码在系统100中是否为唯一的)传送给从装置140,以供从装置140判断是否提供专用的信道来响应数据者,均隶属于本发明的范畴。
总结来说,主装置120_n在传送指令时能连同该指令的属性信息一并传送给从装置140,以容许从装置140依据该属性信息提供对应的数据响应路径,以达到优化的效能。例如,当该属性信息的一部分指出该指令的标签辨识码在该系统中是唯一的,对应于该指令的数据可通过专用的讯号路径来响应;又例如,当该属性信息的该部分指出该指令的标签辨识码在该系统中不是唯一的,从装置140可再依据该指令的另一部分判断该指令是来自哪一个主装置,以容许不同主装置所要求的数据可用乱序的方式响应。因此,本发明能充分地发挥以乱序的方式响应数据的优势,提升系统的整体效能。
以上所述仅为本发明的较佳实施例,凡依本申请的权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种借助于一交易辨识码的至少一属性来控制数据响应的方法,其特征在于,该方法包含:
将该至少一属性连同该交易辨识码自一或多个主装置中的任一主装置一并传送至一从装置;以及
依据该至少一属性来判断是否利用多个数据路径中的一特定数据路径将对应于该交易辨识码的数据自该从装置中的一存储装置响应至所述任一主装置;
其中该特定数据路径是该多个数据路径中具有最大传输效率的数据路径。
2.如权利要求1所述的方法,其特征在于,该至少一属性指出该交易辨识码在整个系统中是否为唯一的,而该整个系统包含该一或多个主装置以及该从装置。
3.如权利要求2所述的方法,其特征在于,该从装置包含一读取重排序缓冲器以用来将来自该存储装置的乱序的数据以有序的方式自该从装置响应至所述任一主装置;以及该特定数据路径包含一旁通路径以用来将对应于该交易辨识码的该数据自该存储装置直接响应至所述任一主装置而避免通过该读取重排序缓冲器来传送。
4.如权利要求3所述的方法,其特征在于,还包含:
因应该存储装置以固定的突发长度进行访问控制、该交易辨识码的长度小于或等于所述固定的突发长度、以及该至少一属性指出该交易辨识码在该整个系统中是唯一的,直接将该交易辨识码传送至该存储装置而避免将该交易辨识码储存于该读取重排序缓冲器。
5.如权利要求3所述的方法,其特征在于,还包含:
因应该存储装置以固定的突发长度进行访问控制且该交易辨识码的长度大于所述固定的突发长度,将该交易辨识码进行截断处理以产生具有所述固定的突发长度的多个突发截断指令,并且将该交易辨识码储存于该读取重排序缓冲器;
利用该多个突发截断指令自该存储装置取得对应于该交易辨识码的该数据;以及
利用该特定数据路径将储存于该读取重排序缓冲器的该交易辨识码连同对应于该交易辨识码的该数据一并响应至所述任一主装置。
6.如权利要求2所述的方法,其特征在于,所述任一主装置以及该从装置是通过一传输接口电路来互相耦接,该传输接口电路包含该多个数据路径,以及该特定数据路径专用于响应对应于唯一的交易辨识码的数据。
7.如权利要求1所述的方法,其特征在于,该至少一属性是利用该交易辨识码的扩充字段或一边带通道来传送。
8.一种借助于一交易辨识码的至少一属性来控制数据响应的系统,其特征在于,包含:
一从装置,包含用来储存数据的一存储装置;
一或多个主装置,通过一传输接口电路耦接至该从装置,用来取得储存于该存储装置中的数据;
其中:
该一或多个主装置中的任一主装置将该至少一属性连同该交易辨识码一并传送至该从装置;以及
依据该至少一属性,该从装置判断是否利用多个数据路径中的一特定数据路径将对应于该交易辨识码的数据自该存储装置响应至所述任一主装置;
其中该至少一属性指出该交易辨识码在整个系统中是否为唯一的,该整个系统包含该一或多个主装置以及该从装置,以及该特定数据路径是该多个数据路径中具有最大传输效率的数据路径。
9.如权利要求8所述的系统,其特征在于,
该从装置包含:
一读取重排序缓冲器,耦接至该存储装置,用来将来自该存储装置的乱序的数据以有序的方式自该从装置响应至所述任一主装置;以及
该特定数据路径包含:
一旁通路径,用来将对应于该交易辨识码的该数据自该存储装置直接响应至所述任一主装置而避免通过该读取重排序缓冲器来传送。
10.如权利要求8所述的系统,其特征在于,该至少一属性是利用该交易辨识码的扩充字段或一边带通道来传送。
CN202010218246.1A 2020-03-25 2020-03-25 借助于交易辨识码的属性来控制数据响应的方法以及系统 Pending CN113448899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010218246.1A CN113448899A (zh) 2020-03-25 2020-03-25 借助于交易辨识码的属性来控制数据响应的方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010218246.1A CN113448899A (zh) 2020-03-25 2020-03-25 借助于交易辨识码的属性来控制数据响应的方法以及系统

Publications (1)

Publication Number Publication Date
CN113448899A true CN113448899A (zh) 2021-09-28

Family

ID=77807532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010218246.1A Pending CN113448899A (zh) 2020-03-25 2020-03-25 借助于交易辨识码的属性来控制数据响应的方法以及系统

Country Status (1)

Country Link
CN (1) CN113448899A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203800A1 (en) * 2002-10-24 2004-10-14 John Myhre System and method for content delivery using alternate data paths in a wireless network
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
US20150006244A1 (en) * 2013-06-26 2015-01-01 Edatanetworks Inc. Systems and methods for loyalty programs
US20150199290A1 (en) * 2014-01-13 2015-07-16 Arm Limited Data processing system and method for handling multiple transactions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203800A1 (en) * 2002-10-24 2004-10-14 John Myhre System and method for content delivery using alternate data paths in a wireless network
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
US20150006244A1 (en) * 2013-06-26 2015-01-01 Edatanetworks Inc. Systems and methods for loyalty programs
US20150199290A1 (en) * 2014-01-13 2015-07-16 Arm Limited Data processing system and method for handling multiple transactions
CN105900076A (zh) * 2014-01-13 2016-08-24 Arm 有限公司 用于处理多个交易的数据处理系统及方法

Similar Documents

Publication Publication Date Title
US6757768B1 (en) Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US6832279B1 (en) Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node
US7069373B2 (en) USB endpoint controller flexible memory management
CN110928811B (zh) 用于处理突发读取事务的装置和方法
CN101359314A (zh) 通过将所检索的数据直接写入存储器的存储控制器来最佳使用缓冲器空间
US20010007565A1 (en) Packet receiving method on a network with parallel and multiplexing capability
US20060036817A1 (en) Method and system for supporting memory unaligned writes in a memory controller
US8417853B2 (en) Universal serial bus host control methods and universal serial bus host controllers
JP2008234059A (ja) データ転送装置および情報処理システム
EP0374337B1 (en) Load balancing technique in shared memory with distributed structure
CN116233036B (zh) 一种dma传输控制方法及装置
CN116257479B (zh) 重排序缓冲器、系统、装置、设备及传输方法
US9703739B2 (en) Return available PPI credits command
US9804959B2 (en) In-flight packet processing
CN113448899A (zh) 借助于交易辨识码的属性来控制数据响应的方法以及系统
CN116486868A (zh) 计算高速链路(CXL)上的高速非易失性存储器(NVMe)
TWI760715B (zh) 藉助於交易辨識碼之屬性來控制資料回應的方法以及系統
KR20150127914A (ko) 복수의 프로세서들을 포함하는 반도체 장치 및 그것의 동작 방법
US6898684B2 (en) Control chip with multiple-layer defer queue
KR20190112020A (ko) 데이터 처리
US10228883B2 (en) Storage device that postpones completion of read command to begin execution of a non-read command
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
US9548947B2 (en) PPI de-allocate CPP bus command
CN117251117B (zh) 一种基于串行总线轮询管理的星载固态存储系统
CN117312201B (zh) 一种数据传输方法、装置及加速器设备、主机和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination