桥接装置、系统及其数据预取及丢弃的方法

文档序号:6370701阅读:194来源:国知局
专利名称:桥接装置、系统及其数据预取及丢弃的方法
技术领域
本发明涉及一种桥接装置、系统及方法,尤其涉及一种数据预取及丢弃的桥接装置、系统及其方法。
背景技术
桥接装置主要是连接两个接口,作为两个接口信号的转换及传递。例如外围组件互连(Peripheral Component interconnect, PCI)接口与高速外围组件互连 (Peripheral Component interconnect Express, PCIe)接口的桥接装置、加速影像处理端口(Accelerated Graphics Port, AGP)接口与 PCIe 接口的桥接装置等。
参考图I,在传统的架构I中,桥接装置20用来处理第一总线40与第二总线50之间的信号转换及数据传递。其中,请求装置10位于第一总线40下,而目标装置30位于第二总线50下。首先,请求装置10向桥接装置20请求读取目标装置30某个地址(address) 的数据,即交易(transaction)开始,桥接装置20向目标装置30发出读取请求,目标装置 30撷取目标地址及其接续地址的数据并传递给桥接装置20,桥接装置20存储预定的数据量于缓冲单元24。接着,桥接装置20再将存储于缓冲单元24的数据传递至请求装置10。
通常,在一个交易完成时,桥接装置会丢弃缓冲单元24的数据。或者,当桥接装置 20与请求装置10切断(disconnect)连接时,即视这个交易已完成,桥接装置20亦会丢弃存储于缓冲单元24的数据。
此时,若请求装置10继续向桥接装置20发出读取请求,希望读取目标装置30后续接续地址的数据,因为桥接装置20的缓冲单元24中已无来自目标装置30的数据,故会送出一个重试(retry)信号给请求装置10。接着,向目标装置30发出读取接续地址的数据的请求。一般而言,目标装置30为了撷取接续地址的数据,需要一些反应时间,才会开始将接续地址的数据传递给桥接装置20,且桥接装置20也会等到目标装置30传递的数据量到达一定程度之后,才会开始将接续地址的数据传给请求装置10。
然而,期间可能因为桥接装置20等待数据量到达一定程度的时间过久,故桥接装置20先送出一切断(disconnect)信号给请求装置10,视交易已完成,如此一来存储于或将要存储于缓冲单元24中的数据会被丢弃。此时,请求装置10只好再重新产生一读取请求。
由上述流程可知,这个过程可能会直接影响系统的效能。为了解决以上问题, IBM公司于美国专利US6973528中提出在桥接装置20与请求装置10切断连接后,先预取 (prefetch)额外的数据存储于缓冲单元24中,且预取的数据量还超过预设范围。如此一来,当请求装置10继续向桥接装置20发出读取请求,希望读取目标装置30接续地址的数据时,因为桥接装置20已经预取额外的数据,因此能够没有延迟地立即传送切断连接时, 后续接续地址的数据给请求装置10。
然而,IBM公司提出的方法并非系统的最佳效能。发明内容
本发明提出一种数据预取及丢弃的桥接装置及方法,能够解决上述问题,提高系统效能。
本发明一方面提出一种桥接系统,包含接收来自一请求装置的读取一目标装置的一目标地址(i)的数据的请求,表示一交易开始,其中请求装置位于一第一总线下,目标装置位于一第二总线下;向目标装置请求目标地址(i)及零至数个接续地址(i+o i+k) 的数据;接收来自目标装置传递的目标地址⑴及零至数个接续地址(i+0 i+k)的数据, 并存储于一缓冲单元;依序传递目标地址α)及零至数个接续地址(i+0 i+k)的数据至请求装置;以及在交易未完成前,当传递至请求装置的累积的数据量达到一默认值,持续向目标装置请求一接续地址(i+k+ι)的数据。
本发明另一方面提出一种桥接装置,处理一第一总线及一第二总线之间的数据传输,包含一数据传输控制单元,当位于第一总线下的一请求装置向桥接装置请求位于第二总线下的一目标装置的一目标地址的数据时,表示一交易开始,数据传输控制单元向目标装置请求目标地址α)及零至数个接续地址α+ο i+k)的数据;一缓冲单元,与数据传输控制单元沟通,目标装置撷取目标地址α)及零至数个接续地址α+ι i+k)的数据会传递并存储于缓冲单元,然后,数据传输控制单元依序传递目标地址α)及零至数个接续地址(i+0 i+k)的数据至请求装置;以及一快取控制单元,与缓冲单元沟通,在交易未完成前,当传递至请求装置的累积的数据量达到一默认值,桥接装置持续向目标装置请求接续地址(i+k+Ι)的数据。
本发明又一方面提出一种桥接方法,包含接收来自一请求装置的读取一目标装置的一目标地址α)的数据的请求,表示一交易开始,其中请求装置位于一第一总线下, 目标装置位于一第二总线下;向目标装置请求目标地址α)及一至数个接续地址α+ο i+k)的数据;接收来自目标装置传递的目标地址α)及一至数个接续地址α+ο i+k)的数据,并存储于一缓冲单元;依序传递目标地址α)及一至数个接续地址α+ο i+k)的数据至请求装置;以及在交易未完成前,当传递至请求装置的累积的数据量达到一默认值,持续向目标装置请求接续地址(i+k+l)的数据。



图1绘示绘示已知的桥接架构。
图2绘示本发明第一实施例的桥接架构。
图3绘示本发明第二实施例的桥接方法。
图4绘示本发明第三实施例的桥接方法。
具体实施方式
参考图2,其绘示本发明第一实施例的桥接架构2。其中,桥接装置200用来处理第一总线400与第二总线500之间的信号转换及数据传递。请求装置100位于第一总线400 下,而目标装置300位于第二总线500下。桥接装置200包含数据传输控制单元202、缓冲单元204,以及快取控制单元206。
为了说明方便,本发明第一实施例将例示性地以特定数字大小配合说明内容,然而,本领域技术人员可知,特定数字大小可依据不同设计做不同调整。
首先,交易开始,即请求装置100向桥接装置200请求读取目标装置300的目标地址的数据,假设一个地址具有64KB,而请求装置100欲读取的目标数据量为1024KB。桥接装置200的数据传输控制单元202向目标装置300发出读取目标地址及其接续地址之请求, 目标装置300撷取目标地址及其接续地址的数据,并传递给桥接装置200,桥接装置200将这些数据存储于其缓冲单元204,于此实施例,缓冲单元204设计成可帮一个目标装置300 存储512KB的数据量。接着,等到目标装置300传递目标地址及其接续地址的数据量到达一定程度,依据系统设计,例如到达192KB后,桥接装置200的数据传输控制单元202再将存储于缓冲单元204的数据传递至请求装置100。
简言之,目标装置300传递目标地址A的64KB数据,及其接续地址B的64KB数据, 及其接续地址C的64KB数据,因而使缓冲单元204累积到192KB后,桥接装置200的数据传输控制单元202才会开始将存储于缓冲单元204的数据传递至请求装置100。当数据传输控制单元202将目标地址A的64KB数据传递给请求单元100,此时,数据传输控制单元202 亦会控制目标装置300传递接续地址D的64KB数据至缓冲单元204。以上流程重复进行, 直到数据传输控制单元202传递完接续地址P的64KB数据至请求装置100,达到目标数据量1024KB,请求装置100发出交易完成信号给缓冲单元204为止。
于本实施例,当交易尚未完成,而桥接装置200传递给请求装置100的数据量到达一默认值,依据系统设计,例如256KB,则桥接装置200假定请求装置100会请求读取接续地址的数据。于是,桥接装置100之快取控制单元206会持续向目标装置300请求接续地址的数据,并将接续地址的数据存储于缓冲单元204。也就是说,当交易完成前,桥接装置200 便假设请求装置100之后会请求读取接续地址的数据,因此预先进行预取接续地址的数据的动作。
或者,本实施例亦可实施成可在交易未完成前,会一直持续向目标装置300请求接续地址的数据,以维持缓冲单元204 —直持续存有接续地址的数据。
然而,当交易完成或桥接装置200切断连接后,快取控制单元206观察接下来来自请求装置100的数个请求中是否有请求读取交易完成或切断连接时接续地址的数据?若无,则快取控制单元206丢弃缓冲单元204中存储的数据。
或者,当交易完成或桥接装置200切断连接后,若请求装置100请求写入目标装置 300,则快取控制单元206丢弃缓冲单元204中存储的数据。
或者,当交易完成或桥接装置200切断连接后,若位于第一总线400下的任一装置请求写入或读取请求装置100或第二总线500下的任一装置向桥接装置200请求写入或读取请求装置100,则快取控制单元206丢弃缓冲单元204中存储的数据。
又或者,当交易完成或桥接装置200切断连接后,若缓冲单元204已无空间接收接下来的读取请求,且第一总线400下的任一装置向桥接装置200发出读取请求,则快取控制单元206丢弃缓冲单元204中存储的数据。
接下来,参考图3,其绘示本发明第二实施例的桥接方法1000,用以操作一桥接装置。首先,桥接装置控制第一总线与第二总线的数据传输(步骤1100),例如第一总线上的一请求装置请求读取第二总线上的一目标装置的目标地址的数据,桥接装置控制此目标地址及其接续地址的数据的传递。当传递的数据量到达一默认值(步骤1200),依据系统设计,例如到达256KB或512KB,则桥接装置持续向目标装置请求接续地址的数据(步骤1300)。
接下来,参考图4,其绘示本发明第三实施例的桥接方法2000,用以操作一桥接装置。首先,交易开始(步骤2100),例如第一总线上的一请求装置请求读取第二总线上的一目标装置的目标地址的数据,桥接装置控制第一总线与第二总线的数据传输(步骤2200), 即控制此目标地址及其接续地址的数据的传递。当传递的数据量到达一默认值(步骤 2300),依据系统设计,例如到达256KB或512KB,则桥接装置持续向目标装置请求接续地址的数据(步骤2400),亦即桥接装置假定请求装置将请求读取接续地址的数据,因而预先进行预取接续地址的数据的动作。接着,桥接装置将预取的数据存储于一缓冲单元(步骤 2500)。当交易完成或桥接装置与请求装置切断连接(步骤2600)时,若符合预设条件(步骤2700),则丢弃存储于缓冲单元的预取数据(步骤2800)。
举例而言,若符合以下条件,表示桥接装置之前的假定是错误的,因此桥接装置会丢弃存储于缓冲单元的预取数据
A.请求装置接下来的至少一个读取请求中,未请求读取交易完成或切断连接时接续地址的数据,其中请求个数可由桥接装置内的缓存器(未绘示)做设定。
B.请求装置请求写入目标装置。
C.位于第一总线的任一装置请求写入或读取请求装置,或第二总线下的任一装置向桥接装置请求写入或读取请求装置。
D.缓冲单元已无空间接收接下来的读取请求,且第一总线下的任一装置向桥接装置发出读取请求。
以上仅为本发明例示的实施例,本发明不受上述实施例的细节限制,本发明的保护范围仅由权利要求书限制。
权利要求
1.一种桥接系统,包含 一请求装置,位于一第一总线下; 一目标装置,位于一第二总线下;以及 一桥接装置,与该第一总线及该第二总线沟通,处理该第一总线及该第二总线之间的数据传输,该桥接装置包含一缓冲单元, 其中,当该请求装置向该桥接装置请求该目标装置的一目标地址(i)的数据时,一交易开始,该桥接装置向该目标装置请求该目标地址(i)及零至数个接续地址(i+0 i+k)的数据,该目标装置撷取该目标地址(i)及零至数个接续地址(i+0 i+k)的数据传递至该桥接装置,并存储于该缓冲单元,再依序传递至该请求装置, 且其中,在该交易未完成前,当传递至该请求装置的累积的数据量达到一默认值,该桥接装置持续向该目标装置请求一接续地址(i+k+1)的数据。
2.如权利要求I所述的桥接系统,还包含 在该交易完成或该桥接装置切断与该请求装置的连接后,该缓冲装置存储一接续地址(i+p)的数据,该桥接装置观察来自该请求装置的至少一个读取请求中是否有请求读取该接续地址(i+p)的数据,若无,则该桥接装置丢弃该接续地址(i+p)的数据。
3.如权利要求I所述的桥接系统,还包含 在该交易完成或该桥接装置切断与该请求装置的连接后,若该请求装置请求写入该目标装置,则该桥接装置丢弃存储于该缓冲单元中的数据。
4.如权利要求I所述的桥接系统,还包含 在该交易完成或该桥接装置切断与该请求装置的连接后,若位于该第一总线的任一装置请求写入或读取该请求装置,或该第二总线下的任一装置向该桥接装置请求写入或读取该请求装置,则该桥接装置丢弃存储于该缓冲单元中的数据。
5.一种桥接装置,处理一第一总线及一第二总线之间的数据传输,该桥接装置包含 一数据传输控制单元,当位于该第一总线下的一请求装置向该桥接装置请求位于该第二总线下的一目标装置的一目标地址的数据时,一交易开始,该数据传输控制单元向该目标装置请求该目标地址(i)及零至数个接续地址(i+0 i+k)的数据; 一缓冲单元,与该数据传输控制单元沟通,该目标装置撷取该目标地址(i)及零至数个接续地址(i+0 i+k)的数据会传递并存储于该缓冲单元,然后,该数据传输控制单元依序传递该目标地址(i)及零至数个接续地址(i+0 i+k)的数据至该请求装置;以及 一快取控制单元,与该缓冲单元沟通,在该交易未完成前,当传递至该请求装置的累积的数据量达到一默认值,该桥接装置持续向该目标装置请求一接续地址(i+k+1)的数据。
6.如权利要求5所述的桥接装置,还包含 在该交易完成或该桥接装置切断与该请求装置的连接后,该缓冲装置存储一接续地址(i+p)的数据,该快取控制单元观察来自该请求装置的至少一个读取请求中是否有请求读取该接续地址(i+P)的数据,若无,则该快取控制单元丢弃该接续地址(i+P)的数据。
7.如权利要求5所述的桥接装置,还包含 在该交易完成或该桥接装置切断与该请求装置的连接后,若该请求装置请求写入该目标装置,则该快取控制单元丢弃存储于该缓冲单元中的数据。
8.如权利要求5所述的桥接装置,还包含在该交易完成或该桥接装置切断与该请求装置的连接后,若位于该第一总线的任一装置请求写入或读取该请求装置,或该第二总线下的任一装置向该桥接装置请求写入或读取该请求装置,则该快取控制单元丢弃存储于该缓冲单元中的数据。
9.一种桥接方法,包含 接收来自一请求装置的读取一目标装置的一目标地址(i)的数据的请求,表示一交易开始,其中该请求装置位于一第一总线下,该目标装置位于一第二总线下; 向该目标装置请求该目标地址(i)及零至数个接续地址(i+Ο i+k)的数据; 接收来自该目标装置传递的该目标地址(i)及零至数个接续地址(i+Ο i+k)的数据,并存储于一缓冲单兀; 依序传递该目标地址(i)及零至数个接续地址(i+Ο i+k)的数据至该请求装置;以及 在该交易未完成前,当传递至该请求装置的累积的数据量达到一默认值,持续向该目标装置请求一接续地址(i+k+ι)的数据。
10.如权利要求9所述的桥接方法,还包含 若在该交易完成或切断与该请求装置的连接后,该缓冲装置存储一接续地址(i+p)的数据,则观察来自该请求装置的至少一个请求中是否有请求读取该接续地址(i+P)的数据;以及 若无,则丢弃该接续地址(i+p)的数据。
11.如权利要求9所述的桥接方法,还包含 若在该交易完成或切断与该请求装置的连接后,且若该请求装置请求写入该目标装置,则丢弃存储于该缓冲单元中的数据。
12.如权利要求9所述的桥接方法,还包含 若在该交易完成或切断与该请求装置的连接后,且若位于该第一总线的任一装置请求写入或读取该请求装置,或该第二总线下的任一装置向该桥接装置请求写入或读取该请求装置,则丢弃存储于该缓冲单元中的数据。
13.一种桥接方法,包含 接收来自一请求装置的读取一目标装置的一目标地址的数据的请求,表示一交易开始,其中该请求装置位于一第一总线下,该目标装置位于一第二总线下; 向该目标装置请求该目标地址及零至数个接续地址的数据; 接收来自该目标装置传递的该目标地址及零至数个接续地址的数据,并存储于一缓冲单元; 依序传递该目标地址及零至数个接续地址的数据至该请求装置;以及 在该交易未完成前,持续向该目标装置请求接续地址的数据,以维持该缓冲单元持续存有接续地址的数据。
14.如权利要求13所述的桥接方法,还包含 若在该交易完成或切断与该请求装置的连接时,观察来自该请求装置的至少一个请求中是否有请求读取该接续地址的数据;以及 若无,则丢弃存储于该缓冲单元中的数据。
15.如权利要求14所述的桥接方法,还包含若在该交易完成或切断与该请求装置的连接时,且若该请求装置请求写入该目标装置,则丢弃存储于该缓冲单元中的数据。
16.如权利要求14所述的桥接方法,还包含 若在该交易完成或切断与该请求装置的连接时,且若位于该第一总线的任一装置请求写入或读取该请求装置,或该第二总线下的任一装置向该桥接装置请求写入或读取该请求装置,则丢弃存储于该缓冲单元中的数据。
17.一种桥接方法,包含 接收来自一请求装置的读取一目标装置的一目标地址的数据的请求,表示一交易开始,其中该请求装置位于一第一总线下,该目标装置位于一第二总线下; 向该目标装置请求该目标地址及至少一个接续地址的数据; 接收来自该目标装置传递的该目标地址及至少一个接续地址的数据,并存储于一缓冲单元; 依序传递该目标地址及至少一个接续地址的数据至该请求装置;以及 在该交易未完成前,当传递至该请求装置累积的数据量达到一默认值,持续向该目标装置预取接续地址的数据。
全文摘要
桥接装置、系统及其数据预取及丢弃的方法。该桥接方法包含接收来自一请求装置的读取一目标装置的一目标地址(i)的数据的请求,表示一交易开始,其中请求装置位于一第一总线下,目标装置位于一第二总线下;向目标装置请求目标地址(i)及零至数个接续地址(i+0~i+k)的数据;接收来自目标装置传递的目标地址(i)及零至数个接续地址(i+0~i+k)的数据,并存储于一缓冲单元;依序传递目标地址(i)及零至数个接续地址(i+0~i+k)的数据至该请求装置;以及在交易未完成前,当传递至该请求装置的累积的数据量达到一默认值,持续向目标装置请求一接续地址(i+k+1)的数据。
文档编号G06F13/20GK102981985SQ20121017696
公开日2013年3月20日 申请日期2012年5月31日 优先权日2011年8月12日
发明者陈奕宏, 朱拱贤 申请人:联阳半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1