專利名稱:用于數(shù)據(jù)傳輸突發(fā)長度控制的方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及用于數(shù)字通信的方法,更具體地是涉及一種用于控制數(shù)據(jù)傳輸?shù)耐话l(fā)長度的方法。
背景技術(shù):
數(shù)據(jù)突發(fā)的傳輸是一種可以用來提高通信系統(tǒng)通信效率的有效方式。數(shù)據(jù)突發(fā)、而不是單個數(shù)據(jù)單元的傳輸可以通過將發(fā)送的數(shù)據(jù)量增加到大約等于通信總開銷量來提高效率。通信總開銷可包括建立消息或信號、以及取消消息或信號連同與該消息或信號相關(guān)聯(lián)的等待時間。例如,可以使用與發(fā)送單個數(shù)據(jù)單元基本上相同的通信總開銷量來發(fā)送十六(16)個數(shù)據(jù)單元。可以通過固定被發(fā)送的數(shù)據(jù)突發(fā)的長度來進一步提高通信效率。固定長度的突發(fā)可以提高效率,是因為不必指定傳輸突發(fā)的長度,進一步減少了通信總開銷。
但是,所述通信系統(tǒng),其可為經(jīng)由通信網(wǎng)絡(luò)連接的計算機網(wǎng)絡(luò)或從本地存儲器讀取和寫入數(shù)據(jù)的一臺計算機(或數(shù)字設(shè)備),可能偶爾希望發(fā)送比用單個固定長度突發(fā)傳輸來發(fā)送的數(shù)據(jù)更少的數(shù)據(jù)。當(dāng)要發(fā)送的數(shù)據(jù)比固定長度突發(fā)傳輸所要求的數(shù)據(jù)少時,一種發(fā)送數(shù)據(jù)的方式是返回到以單個單元發(fā)送數(shù)據(jù)的技術(shù)。使用單個單元,數(shù)據(jù)傳輸可以允許發(fā)送任意數(shù)量的數(shù)據(jù)單元。
另一種能用來發(fā)送比固定長度突發(fā)傳輸所要求的數(shù)據(jù)更少的數(shù)據(jù)的技術(shù)是發(fā)送所期望的數(shù)據(jù),接著屏蔽掉任何剩余的數(shù)據(jù)單元。這種技術(shù)通常用在存儲系統(tǒng)中。例如,在雙數(shù)據(jù)速率(DDR)和雙數(shù)據(jù)速率2(DDR2)同步動態(tài)隨機存取存儲器(SDRAM)技術(shù)標(biāo)準(zhǔn)中,象在命名為JEDEC標(biāo)準(zhǔn)“雙數(shù)據(jù)速率(DDR)SDRAM規(guī)范-JESD79D”(DDR SDRAM)和“DDR2 SDRAM規(guī)范-JESD79-2”(DDR2 SDRAM)的技術(shù)標(biāo)準(zhǔn)中規(guī)定的那樣,存儲模塊上被稱為數(shù)據(jù)屏蔽(DM)引腳的引腳可被用于屏蔽掉正被交換的數(shù)據(jù)的一些部分。
另外一種在某些存儲系統(tǒng)中使用的技術(shù)是使用突發(fā)終止命令來終止固定長度突發(fā)數(shù)據(jù)讀取交換。突發(fā)終止命令可被發(fā)出來終止固定長度突發(fā)數(shù)據(jù)讀取交換。
現(xiàn)有技術(shù)的一個缺點是單個數(shù)據(jù)單元傳輸?shù)氖褂谜兄赂咄ㄐ砰_銷并且會極大地降低通信效率。
現(xiàn)有技術(shù)的第二個缺點是附加引腳(例如DM引腳)的使用會增加設(shè)備的總成本,因為可能需要大量的附加引腳。
現(xiàn)有技術(shù)的另一個缺點是,盡管DM引腳的使用將在發(fā)送完最后一個期望的數(shù)據(jù)單元后停止數(shù)據(jù)的傳送,但是通信總線會仍然被占用,直到發(fā)送完整個固定長度突發(fā)。這會導(dǎo)致利用不足且從而低效的通信總線。
現(xiàn)有技術(shù)的又一個缺點是,使用終止固定長度突發(fā)數(shù)據(jù)讀取交換的命令會招致固定的等待時間。因此,在突發(fā)終止命令可以執(zhí)行之前所述終止命令將不對完成數(shù)據(jù)發(fā)送的傳輸完全地起作用。
現(xiàn)有技術(shù)的再一個缺點是,用來終止固定長度突發(fā)數(shù)據(jù)傳送交換的命令的發(fā)出不能發(fā)生在初始的讀取或?qū)懭朊詈蟮娜我鈺r間。存在這樣的情形,例如在多組(multi-bank)存儲系統(tǒng)中,緊跟著固定長度突發(fā)數(shù)據(jù)傳送交換之后的命令時隙已經(jīng)被另一個命令占用了。
發(fā)明內(nèi)容
本發(fā)明提供了用于控制突發(fā)傳輸長度的方法,通過本發(fā)明的優(yōu)選實施例,總體上解決或規(guī)避了這些和其它問題,并且總體上取得了技術(shù)優(yōu)勢。
根據(jù)本發(fā)明的一個優(yōu)選實施例,提供了一種用于縮短固定突發(fā)長度數(shù)據(jù)傳送的方法。該方法包括啟動固定突發(fā)長度數(shù)據(jù)傳送,并發(fā)出一個指定該突發(fā)數(shù)據(jù)傳送的期望長度的突發(fā)終止命令,其中在完成該固定長度突發(fā)數(shù)據(jù)傳送之前發(fā)出該突發(fā)終止命令。
根據(jù)本發(fā)明的另一個優(yōu)選實施例,提供了一種用于縮短存儲系統(tǒng)中固定長度突發(fā)傳送的方法。該方法包括在命令總線上放置突發(fā)傳送命令并在地址總線上放置第一存儲地址,其中所述第一存儲地址指定了要傳送的數(shù)據(jù)的開始地址;以及在突發(fā)傳送開始后,在命令總線上放置突發(fā)終止命令并在地址總線上放置第二存儲地址,其中所述第二存儲地址指定了要傳送的數(shù)據(jù)的終止地址。
本發(fā)明優(yōu)選實施例的一個優(yōu)點是,在存儲系統(tǒng)上實施本發(fā)明不需要對硬件做任何添加或修改,例如添加輸入/輸出引腳。這可以簡化本發(fā)明優(yōu)選實施例在已經(jīng)部署的通信系統(tǒng)上的實施。
本發(fā)明優(yōu)選實施例的另一個優(yōu)點是,使用本發(fā)明的優(yōu)選實施例不會招致等待時間,并且數(shù)據(jù)傳輸可以在發(fā)送完最后一個期望的數(shù)據(jù)單元之后立即停止。
本發(fā)明優(yōu)選實施例的另外一個優(yōu)點是,在發(fā)送完最后一個期望的數(shù)據(jù)單元后,通信總線就變?yōu)榭臻e并可以用來發(fā)送其它數(shù)據(jù)。
本發(fā)明優(yōu)選實施例的又一個優(yōu)點是,可以在發(fā)出固定長度突發(fā)數(shù)據(jù)傳送命令后的任何時間發(fā)出突發(fā)終止命令。這在某些其中緊跟在固定長度突發(fā)數(shù)據(jù)發(fā)送命令之后的命令指令時隙已經(jīng)被占用的系統(tǒng)中可以是有利的。
本發(fā)明優(yōu)選實施例的再一個優(yōu)點是,突發(fā)終止命令可以在用同等效率傳送的偶數(shù)個或奇數(shù)個數(shù)據(jù)單元后終止固定長度突發(fā)數(shù)據(jù)傳送。
上面已經(jīng)相當(dāng)廣泛地概述了本發(fā)明的特征和技術(shù)優(yōu)點,以便能更好地理解下面的本發(fā)明的詳細(xì)描述。下面將描述本發(fā)明的附加的特征和優(yōu)點,這些特征和優(yōu)點組成了本發(fā)明權(quán)利要求的主題內(nèi)容。本領(lǐng)域技術(shù)人員應(yīng)該理解,可以容易地利用這里公開的概念和具體實施例作為基礎(chǔ)來修改或設(shè)計用于實現(xiàn)與本發(fā)明相同目的的其它結(jié)構(gòu)或處理過程。本領(lǐng)域技術(shù)人員也應(yīng)該意識到這種等價結(jié)構(gòu)并不脫離在所附權(quán)利要求中提出的本發(fā)明的精神和范圍。
為了更完整地理解本發(fā)明及其優(yōu)點,現(xiàn)在結(jié)合附圖做出下面的描述,其中圖1a和1b是示例性計算機系統(tǒng)和示例性通信網(wǎng)絡(luò)的圖表;圖2a和2b是去往和來自計算機系統(tǒng)存儲器的數(shù)據(jù)的固定長度突發(fā)傳送的圖表;圖3是用于傳送比固定長度突發(fā)傳送更少的數(shù)據(jù)單元的現(xiàn)有技術(shù)的圖表;圖4是根據(jù)本發(fā)明的一個優(yōu)選實施例,在執(zhí)行了修改的突發(fā)終止命令后固定長度突發(fā)傳送的示例性圖表,其中期望在傳送完6個數(shù)據(jù)單元后終止該突發(fā)傳送;圖5a和5b是根據(jù)本發(fā)明的一個優(yōu)選實施例,使用突發(fā)終止命令來減少在固定長度突發(fā)傳送中傳送的數(shù)據(jù)單元的數(shù)量的圖表;以及圖6a和6b是根據(jù)本發(fā)明的一個優(yōu)選實施例,使用突發(fā)終止命令來減少存儲系統(tǒng)中在固定長度突發(fā)傳送中傳送的數(shù)據(jù)單元的數(shù)量的圖表。
具體實施例方式
下面詳細(xì)討論目前的優(yōu)選實施例的產(chǎn)生和使用。但是應(yīng)當(dāng)理解的是,本發(fā)明提供了許多可應(yīng)用的創(chuàng)造性概念,其可以體現(xiàn)在各種各樣具體的上下文中。所討論的具體實施例僅僅是產(chǎn)生和使用本發(fā)明的具體方式的說明性例子,并不限制本發(fā)明的范圍。
下面將對于具體上下文中的優(yōu)選實施例來描述本發(fā)明,所述具體上下文也就是遵循SDRAM技術(shù)標(biāo)準(zhǔn)(例如DDR、DDR2)以及后續(xù)標(biāo)準(zhǔn)(例如DDR3、DDR4等)的數(shù)字設(shè)備中的存儲系統(tǒng)。但是本發(fā)明還可應(yīng)用于供在數(shù)字設(shè)備以及通信網(wǎng)絡(luò)中使用的其它存儲系統(tǒng),其中在所述通信網(wǎng)絡(luò)中,一個數(shù)字設(shè)備可以向另一個數(shù)字設(shè)備放入(put)(寫入)數(shù)據(jù)或從另一個數(shù)字設(shè)備中獲取(讀取)數(shù)據(jù)。
現(xiàn)在參照圖1a和1b,其中示出了一些圖表,這些圖表舉例說明了示例性計算機系統(tǒng)100和示例性通信網(wǎng)絡(luò)150的一些部分。圖1a所示的圖表舉例說明了示例性計算機系統(tǒng)100的一部分,其中只示出了處理器105和存儲器110。為了保持圖表的簡單性,沒有示出該示例性計算機系統(tǒng)100的其它部件,例如視頻設(shè)備、輸入/輸出設(shè)備等。存儲器110可以是固態(tài)存儲器,例如隨機存取存儲器(RAM)、只讀存儲器(ROM)、其它固態(tài)存儲設(shè)備等,或者是輔助存儲器,例如硬件驅(qū)動、軟盤驅(qū)動、光盤驅(qū)動等。將處理器105連接到存儲器110的可以是連接115。連接115可以是高速通信總線,例如專用處理器/存儲器總線、外圍設(shè)備互連(PCI)總線、串行總線等。
處理器105可以通過向存儲控制器(未示出)發(fā)出的讀取和寫入命令來訪問存儲在存儲器110中的數(shù)據(jù)。所述存儲控制器可以解譯處理器105的命令并執(zhí)行所請求的操作。例如,處理器105可以提供一個連同存儲地址的讀取命令,而存儲控制器能夠執(zhí)行該命令并向處理器105提供該存儲地址的內(nèi)容。
圖1b所示的圖表舉例說明了示例性通信網(wǎng)絡(luò)150的一部分,其中只示出了兩個設(shè)備,設(shè)備1 155和設(shè)備2 160。要注意的是示例性通信網(wǎng)絡(luò)150可包括其它設(shè)備,但是為了保持簡單性在圖1b中并沒有示出這些其它設(shè)備。將設(shè)備1155和設(shè)備2 160相連接的可以是通信鏈路165。通信鏈路165可以允許設(shè)備1 155和設(shè)備2 160之間的信息共享。
其中一個設(shè)備,例如設(shè)備1 155,可以通過放入和獲取數(shù)據(jù)的命令與例如是設(shè)備2 160的其它設(shè)備通信。設(shè)備1 155可以執(zhí)行命令,例如是能夠?qū)е聦⑾鬟f到設(shè)備2 160的放入命令。所述消息可以包含提供給設(shè)備2 160的數(shù)據(jù)。然后設(shè)備2 160可以取得在該消息中提供的數(shù)據(jù)并將其存儲起來,可能是在設(shè)備1 155指定的一個位置。
圖1a所示的計算機系統(tǒng)100的配置與圖1b所示的通信網(wǎng)絡(luò)150的配置是相似的,并且對計算機系統(tǒng)100的討論也可以適用于通信網(wǎng)絡(luò)150。因此,后面的討論將集中在計算機系統(tǒng)100以及處理器105和存儲器110之間的通信上。本發(fā)明領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)很清楚,所描述的討論內(nèi)容和技術(shù)只要做微小的調(diào)整就能夠適用于通信網(wǎng)絡(luò)。因此,這種討論不應(yīng)該解釋成是把本發(fā)明的精神僅限制于計算機系統(tǒng)。
現(xiàn)在參照圖2a和2b,其中示出了一些圖表,這些圖表舉例說明了在計算機系統(tǒng)100中去往和來自存儲器110的數(shù)據(jù)的固定長度突發(fā)傳送。要注意的是,盡管圖中圖表舉例說明的是計算機系統(tǒng)100中的數(shù)據(jù)傳送,但是這些圖表也可以舉例說明通信網(wǎng)絡(luò)150中的設(shè)備之間的數(shù)據(jù)傳送。圖2a中的圖表舉例說明了例如經(jīng)由寫入命令而從處理器105向存儲器110傳送的數(shù)據(jù)。如果該圖表所舉例說明的是設(shè)備之間的數(shù)據(jù)傳送,那么該圖表可以是“放入”命令的說明性例子,其中“放入”命令可以導(dǎo)致從發(fā)出該“放入”命令的設(shè)備放置數(shù)據(jù)到該“放入”命令的目標(biāo)設(shè)備。處理器105發(fā)出的寫入命令能導(dǎo)致固定數(shù)量的數(shù)據(jù)單元向存儲器110移動,所述數(shù)據(jù)單元可以存儲在處理器105中的存儲體205中。存儲體205可以是處理器105中的一組寄存器,或者可以是處理器105能在其中存儲中間數(shù)據(jù)的暫時存儲器,所述中間數(shù)據(jù)是處理器在處理數(shù)據(jù)時處理器正操作的。
圖2a所示的圖表舉例說明了十六(16)個數(shù)據(jù)單元從存儲體205到存儲器110的移動,該移動是由處理器105發(fā)出的寫入命令導(dǎo)致的。所述16個數(shù)據(jù)單元可以從用地址AX指定的位置210中的數(shù)據(jù)單元開始。要注意的是,地址AX是由處理器105指定的地址,用來指定其希望發(fā)送到存儲器110的存儲位置塊的起點(或終點)。在處理器105發(fā)出了寫入命令之后,位置210(存儲地址AX)和15個后續(xù)位置的內(nèi)容(從存儲地址AX+1到AX+15)都被移動到存儲器110中。可能存在中間步驟和操作,它們沒有在圖2a所示的圖表中示出或者沒有在上面進行討論。要注意的是,使用16個數(shù)據(jù)單元的固定長度突發(fā)傳送只是為了說明性的使用,并且所述固定長度突發(fā)傳送可以傳送已由數(shù)據(jù)傳送雙方達(dá)成共識的任意數(shù)量的數(shù)據(jù)單元。但是,傳送的數(shù)據(jù)單元的數(shù)量最好是數(shù)字二(2)的冪。
圖2b所示的圖表舉例說明了十六(16)個數(shù)據(jù)單元從存儲器110到處理器105的移動,該移動是由處理器105發(fā)出的讀取命令導(dǎo)致的。如果該圖表所舉例說明的是設(shè)備之間的數(shù)據(jù)傳送,那么該圖表可以是“獲取”命令的說明性例子,“獲取”命令可以導(dǎo)致發(fā)出該“獲取”命令的設(shè)備從該“獲取”命令的目標(biāo)設(shè)備中取回數(shù)據(jù)。所述16個數(shù)據(jù)單元可以從用地址AX指定的位置255中的數(shù)據(jù)單元開始。如上所述,地址AX是由處理器105指定的地址,用來指定其希望從存儲器110傳送的存儲位置塊的開始(或結(jié)束)。在處理器105發(fā)出了讀取命令之后,存儲位置255(存儲地址AX)和15個后續(xù)位置(從存儲地址AX+1到AX+15)的內(nèi)容都從存儲器110移動到處理器105中。要注意的是,可能存在中間步驟和操作,它們沒有在圖2b所示的圖表中示出或者沒有在上面進行討論。
使用固定長度突發(fā)傳送可通過減少所傳送的每數(shù)據(jù)單元的開銷來幫助提高效率。但是,會存在著想要傳送比在固定長度突發(fā)傳送中所傳送的數(shù)量要少的數(shù)據(jù)單元的情況。在這種情況下,有可能使用允許可變數(shù)量數(shù)據(jù)單元的數(shù)據(jù)傳送、或者是使用傳送比期望傳送的數(shù)量更小數(shù)量的數(shù)據(jù)單元的數(shù)據(jù)傳送。例如,有可能發(fā)出一次一個數(shù)據(jù)單元的數(shù)據(jù)傳送,十次一共傳送十個數(shù)據(jù)單元。替換地,有可能屏蔽掉不傳送實際數(shù)據(jù)的數(shù)據(jù)傳送部分。例如,使用16個數(shù)據(jù)單元的固定長度突發(fā)傳送來傳送10個數(shù)據(jù)單元可以通過屏蔽掉6個未使用的數(shù)據(jù)單元來完成。
但是,可能會出現(xiàn)偶然情況,其中在啟動了一個固定長度突發(fā)傳輸后可能想要停止該固定長度突發(fā)傳輸。例如,可能會檢測到一種可導(dǎo)致正傳送的數(shù)據(jù)無效的錯誤,可能會發(fā)生一個中斷并需要立即處理該中斷,從而導(dǎo)致需要立即傳送該中斷本身的一些數(shù)據(jù)等。不幸的是,屏蔽掉未使用的數(shù)據(jù)單元的技術(shù)會使(在處理器105和存儲器110之間的)連接115維持占用狀態(tài),直到完成固定長度突發(fā)傳輸,甚至是在已發(fā)送完所有的數(shù)據(jù)單元的情況下,而使用小量傳送會大大地降低數(shù)據(jù)傳輸?shù)男省?br>
現(xiàn)在參照圖3,其中示出了一個流程圖,它舉例說明了能被用來傳送比默認(rèn)的固定長度突發(fā)傳送更少的數(shù)據(jù)單元而同時保持高效率水平的現(xiàn)有技術(shù)300?,F(xiàn)有技術(shù)利用一種能在數(shù)據(jù)單元傳送之前發(fā)送的特定命令來設(shè)置即將到來的數(shù)據(jù)傳送的突發(fā)長度。通過設(shè)置突發(fā)的長度,可將固定長度突發(fā)傳送設(shè)置成正好如所需要長的長度。現(xiàn)有技術(shù)可通過在數(shù)據(jù)傳送之前發(fā)出一個突發(fā)長度命令來開始(方框305)。在發(fā)出了突發(fā)長度命令后,可使用標(biāo)準(zhǔn)突發(fā)傳送命令來傳送指定的數(shù)據(jù)(方框310)。然后,在完成該突發(fā)傳送后,可通過另一個突發(fā)長度命令將突發(fā)傳送的長度還原成默認(rèn)值(方框315)。
替換地,可以配置突發(fā)傳送的長度的改變,以便該突發(fā)長度的改變將只用于緊跟在突發(fā)長度命令之后的突發(fā)傳送?,F(xiàn)有技術(shù)的一個缺點是附加的命令需要由計算機系統(tǒng)100或通信網(wǎng)絡(luò)150支持。另外,對于每個不是標(biāo)準(zhǔn)長度的突發(fā)傳送來說,需要執(zhí)行至少一次所述的附加命令(如果長度不會自動恢復(fù)到默認(rèn)值的話,對于每個突發(fā)傳送來說就需要執(zhí)行兩次附加命令)。而且,附加命令并不能解決在突發(fā)傳送起動后可能需要將其停止的情況。
在許多計算機系統(tǒng)和通信網(wǎng)絡(luò)中,存在一種能用來終止固定長度突發(fā)傳送的命令。一旦執(zhí)行這種命令,這種突發(fā)終止命令典型地可用來終止數(shù)據(jù)傳送(其由讀取/寫入或獲取/放入命令引起)。有可能修改突發(fā)終止命令以便在完成期望數(shù)量的數(shù)據(jù)單元的傳送后終止突發(fā)傳送。
現(xiàn)在參照圖4,其中示出了一個圖表,它舉例說明了根據(jù)本發(fā)明優(yōu)選實施例的、在執(zhí)行修改的突發(fā)終止命令后的示例性固定長度突發(fā)傳送400,其中期望在傳送完6個數(shù)據(jù)單元后終止突發(fā)傳送。圖4所示的圖表顯示了可以從源(例如處理器105)發(fā)送到目的地(例如存儲器110)的一串?dāng)?shù)據(jù)單元,其中該串?dāng)?shù)據(jù)單元從地址為AX的儲存位置的內(nèi)容405開始,其后跟隨地址為AX+1的儲存位置的內(nèi)容407,繼續(xù)直到地址為AX+15的儲存位置的內(nèi)容413。要注意的是,圖4中所示的突發(fā)傳送400具有十六(16)的突發(fā)長度。但是,在不改變本發(fā)明精神的情況下可以使用其它突發(fā)長度的突發(fā)傳送。
在(通過讀取命令或?qū)懭朊?啟動數(shù)據(jù)傳送之后,為了在傳送6個數(shù)據(jù)單元后停止數(shù)據(jù)傳送而執(zhí)行突發(fā)終止命令。根據(jù)本發(fā)明的一個優(yōu)選實施例,可以用一個變元來發(fā)出突發(fā)終止命令,其中該變元指定一個數(shù)字,該數(shù)字代表要在該處停止突發(fā)傳送的儲存位置的地址。例如,如果數(shù)據(jù)傳送從地址為AX的儲存位置開始,那么傳送的6個數(shù)據(jù)單元將持續(xù)到地址為AX+5的儲存位置409,所以用變元AX+5來發(fā)出突發(fā)終止命令。替換地,可以用代表要傳送的數(shù)據(jù)單元數(shù)量的數(shù)字來發(fā)出突發(fā)終止命令,在本例中,所述數(shù)字是六(6)。其它變化也是可能的,例如,突發(fā)終止命令的變元可以指定要傳送的最后儲存位置的地址、或者緊跟在要傳送的最后儲存位置之后的第一個儲存位置的地址,突發(fā)終止命令的變元可以指定要傳送的數(shù)據(jù)單元的數(shù)目、或者不傳送的第一數(shù)據(jù)單元的數(shù)目等等。
利用是地址AX+5的突發(fā)終止命令的變元,突發(fā)傳送可以傳送從地址為AX到AX+5的儲存位置的一串?dāng)?shù)據(jù)單元。接下來,對于將成為下一個傳送的數(shù)據(jù)單元的儲存位置411的內(nèi)容411并不傳送,后續(xù)的數(shù)據(jù)單元也是如此。作為一個例子,在遵從2004年1月公布的JEDEC技術(shù)標(biāo)準(zhǔn)“Double Data Rate(DDR)SDRAM specification-JESD79D(雙數(shù)據(jù)速率(DDR)SDRAM規(guī)范-JESD79D)”的計算機系統(tǒng)100的存儲系統(tǒng)中,將突發(fā)終止命令“BST”定義成CS#=L(CS-芯片選擇(chip select))、RAS#=H、CAS#=H和WE#=L(RAS、CAS和WE是可用來定義一個被送入的命令的命令輸入,這依賴于命令輸入的狀態(tài)),其能用先前未使用的地址總線(ADDR)進行擴展,能用來指定代表突發(fā)傳送的停止點的變元。要注意的是,#操作符表示非真邏輯信號。
現(xiàn)在參照圖5a和5b,其中示出了一個流程圖,它舉例說明了根據(jù)本發(fā)明的一個優(yōu)選實施例,使用突發(fā)終止命令來減少在固定長度突發(fā)傳送中傳送的數(shù)據(jù)單元的數(shù)量。在已經(jīng)傳送了一定數(shù)量的數(shù)據(jù)單元后,可以發(fā)出突發(fā)終止命令來終止固定長度突發(fā)傳送,或者在發(fā)生要求使一個連接(例如連接115或通信鏈路165)空閑下來以用于其它一些目的的事件后,可以發(fā)出突發(fā)終止命令來終止固定長度突發(fā)傳送。
圖5a所示的流程圖舉例說明了在已經(jīng)傳送了一定數(shù)量的數(shù)據(jù)單元后使用突發(fā)終止命令來終止固定長度突發(fā)傳送。可以用常規(guī)的固定長度突發(fā)傳送命令來啟動數(shù)據(jù)單元傳送(方框505),接著在完成固定長度突發(fā)傳送之前,利用存儲位置的存儲地址來發(fā)出突發(fā)終止命令,其中該存儲位置包含作為變元提供的最后一個數(shù)據(jù)單元(方框510)。例如,如果用存儲地址AX來啟動固定長度突發(fā)傳送并要傳送7個數(shù)據(jù)單元,則可以用存儲地址AX+6來發(fā)出突發(fā)終止命令。盡管可以在完成固定長度突發(fā)傳送之前的任意時間發(fā)出突發(fā)終止命令,但最好是在發(fā)出了固定長度突發(fā)傳送命令后立即發(fā)出突發(fā)終止命令。要注意的是,如果在完成了固定長度突發(fā)傳送后發(fā)出突發(fā)終止命令,可以忽略或屏蔽掉未使用的數(shù)據(jù)單元。術(shù)語“忽略”和“屏蔽”可用來描述基本上相似的動作。在讀取操作中,可以忽略不想要的數(shù)據(jù)單元,而在寫入操作中,可以屏蔽掉不想要的數(shù)據(jù)單元。屏蔽掉不想要的數(shù)據(jù)單元確保了寫入操作總是向存儲陣列中寫入所需數(shù)量的數(shù)據(jù)單元。
圖5b所示的流程圖舉例說明了使用突發(fā)終止命令來終止固定長度突發(fā)傳送以釋放連接(例如連接115或通信鏈路165)用于其它用途??梢杂贸R?guī)的固定長度突發(fā)傳送命令來啟動數(shù)據(jù)單元傳送(方框555)。在啟動了數(shù)據(jù)單元傳送后,數(shù)據(jù)單元傳送的啟動程序可以重新開始正常的操作。如果有事件發(fā)生,例如是錯誤,可以斷言一個中斷。作為中斷維護的一部分,啟動程序可進行檢查以確定是否需要縮短數(shù)據(jù)單元傳送以便釋放連接(方框560)。如果不需要縮短數(shù)據(jù)單元傳送,例如,如果固定長度突發(fā)傳送已經(jīng)完成或者如果不需要使用連接,那么可以允許完成所述數(shù)據(jù)單元傳送。但是,如果需要縮短數(shù)據(jù)單元傳送,那么可以發(fā)出一個突發(fā)終止命令(方框565)。根據(jù)本發(fā)明的一個優(yōu)選實施例,可以用下一個要傳送的數(shù)據(jù)單元的地址來發(fā)出該突發(fā)終止命令。下一個要傳送的數(shù)據(jù)單元的地址將要被用來最小化訪問該連接的任何等待。
在某些配置中,例如在實施了雙數(shù)據(jù)速率傳送的計算機存儲系統(tǒng)中,可能想要讓固定長度突發(fā)傳送繼續(xù)直到到達(dá)偶數(shù)數(shù)據(jù)單元。這可使地址選通信號的實施更加容易。但是,如果想要固定長度突發(fā)傳送停止在奇數(shù)數(shù)據(jù)單元上,則可以屏蔽掉偶數(shù)數(shù)據(jù)單元以提供所期望的奇數(shù)突發(fā)長度。
現(xiàn)在參照圖6a和6b,其中示出了這樣的圖表,它舉例說明了根據(jù)本發(fā)明一個優(yōu)選實施例,使用突發(fā)終止命令來縮短存儲系統(tǒng)中的固定長度突發(fā)傳送,其中所述存儲系統(tǒng)是雙數(shù)據(jù)速率存儲系統(tǒng)。圖6a和6b所示的圖表舉例說明了使用突發(fā)終止命令來縮短由讀取命令(圖6a)和寫入命令(圖6b)啟動的固定長度突發(fā)傳送。該圖表示出了命令總線(CMD)、地址總線(ADDR)、數(shù)據(jù)總線信號(DQS)和數(shù)據(jù)總線(DQ)的狀態(tài)。
圖6a所示的圖表舉例說明了具有三(3)個時鐘周期等待時間以及八(8)個固定長度突發(fā)傳送的讀取命令的執(zhí)行。第一組軌跡605圖示CMD總線的狀態(tài),第二組軌跡610圖示ADDR總線的狀態(tài),而第三組和第四組軌跡615和620分別圖示數(shù)據(jù)總線上的信號和數(shù)據(jù)總線的狀態(tài)。在時間T0,用地址AX發(fā)出讀取命令。這在第一組和第二組軌跡上顯示為<讀>625和<AX>。在讀取命令發(fā)出之后,立即用地址AY發(fā)出突發(fā)終止命令,其中AY=AX+3,即該突發(fā)終止命令的意圖是要在傳送4個數(shù)據(jù)單元后終止該固定長度突發(fā)傳送。這在第一組和第二組軌跡605和610上分別顯示為<BST>630和<AY>。要注意的是,盡管圖6a所示的例子顯示的是在讀取命令后立即發(fā)出突發(fā)終止命令,但是突發(fā)終止命令可以在發(fā)出讀取命令之后、要在該處停止固定長度數(shù)據(jù)突發(fā)傳送的數(shù)據(jù)單元被傳送之前的任意時間發(fā)出。
由于讀取命令的3個時鐘周期的等待時間,所以數(shù)據(jù)總線信號(第三組軌跡615)直到時間T3才顯示出存儲位置AX的內(nèi)容(數(shù)據(jù)總線(第四組軌跡620)顯示了存儲位置AX的內(nèi)容632)。由于該存儲系統(tǒng)是雙數(shù)據(jù)速率存儲系統(tǒng),所以從時間T3開始的半個時鐘周期,數(shù)據(jù)總線信號和數(shù)據(jù)總線顯示存儲位置AX+1的內(nèi)容633。在傳送完存儲位置AX+3(AY)的內(nèi)容634后,就停止該固定長度突發(fā)傳送。
圖6b所示的圖表舉例說明了具有兩(2)個時鐘周期寫入等待時間和八(8)個固定長度突發(fā)傳送的寫入命令的執(zhí)行。要注意的是,圖6a和6b中所示的兩種命令的不同的等待時間是用于說明性目的,而并不打算代表任何特定的存儲系統(tǒng)。第五組軌跡655圖示CMD總線的狀態(tài),第六組軌跡660圖示ADDR總線的狀態(tài),而第七組和第八組軌跡665和670分別圖示數(shù)據(jù)總線上的信號和數(shù)據(jù)總線的狀態(tài)。在時間T0,用地址AX發(fā)出寫入命令。這在第一組和第二組軌跡上顯示為<寫>675和<AX>。在讀取命令發(fā)出之后,立即用地址AZ發(fā)出突發(fā)終止命令,其中AZ=AX+4,即該突發(fā)終止命令的意圖是要在傳送5個數(shù)據(jù)單元后終止該固定長度突發(fā)傳送。這在第五組和第六組軌跡655和660上分別顯示為<BST>680和<AZ>。
由于寫入命令兩個時鐘周期的等待時間,所以數(shù)據(jù)總線信號和數(shù)據(jù)總線(第七組和第八組軌跡665和670)直到時間T2才顯示出存儲位置AX的內(nèi)容682。在時間T4的時刻,數(shù)據(jù)總線信號和數(shù)據(jù)總線(分別是第七組和第八組軌跡665和670)顯示存儲位置AX+4(AZ)的內(nèi)容683。這就是所期望的固定長度突發(fā)傳送的停止點。但是,為了保持存儲系統(tǒng)選通信號的簡單性,在偶數(shù)個數(shù)據(jù)單元后停止該固定長度突發(fā)傳送。因此,數(shù)據(jù)總線信號和數(shù)據(jù)總線(第七組和第八組軌跡665和670)顯示存儲位置AX+5(AZ+1)的內(nèi)容684。但是要注意的是,存儲位置AX+5的內(nèi)容684已經(jīng)被屏蔽了(顯示為陰影區(qū)域)。替換地,可以通過固定長度突發(fā)傳送的接收來簡單地忽略存儲位置AX+3的內(nèi)容684。
圖6a和6b中所示的、在讀取命令和寫入命令發(fā)出后立即發(fā)出的突發(fā)終止命令可以在固定長度突發(fā)傳送完成之前的任何時間進行發(fā)出。例如,對于圖6a中所示的讀取命令,可以遲至?xí)r間T4才發(fā)出突發(fā)終止命令,而對于圖6b中所示的寫入命令,可以遲至?xí)r間T4才發(fā)出突發(fā)終止命令。圖6a和6b中所示的圖表舉例說明了其中突發(fā)終止命令被用來有意地縮短突發(fā)傳送的情況,突發(fā)終止命令被用來非故意地縮短突發(fā)傳送的情況看起來基本上相似,只是突發(fā)終止命令不太可能在讀取和寫入命令發(fā)出后立即發(fā)出。
盡管已經(jīng)詳細(xì)描述了本發(fā)明及其優(yōu)點,但是應(yīng)該理解的是,在不脫離所附權(quán)利要求定義的本發(fā)明的精神和范圍的前提下可以做出各種變化、替代和替換。
而且,本申請的范圍并不打算被局限于本說明書所描述的處理過程、機器、產(chǎn)品、材料組成、裝置、方法和步驟的特定實施例。作為本領(lǐng)域的一名普通技術(shù)人員將從本發(fā)明公開的內(nèi)容中很容易地理解,根據(jù)本發(fā)明可以利用那些當(dāng)前存在的或以后研發(fā)的、基本上執(zhí)行與這里描述的相應(yīng)實施例相同的功能或基本上達(dá)到與其相同的結(jié)果的處理過程、機器,產(chǎn)品、材料組成、裝置、方法或步驟。因此,所附權(quán)利要求意欲把這樣的處理過程、機器,產(chǎn)品、材料組成、裝置、方法或步驟包括在它們的范圍內(nèi)。
權(quán)利要求
1.一種用于縮短固定突發(fā)長度數(shù)據(jù)傳送的方法,所述方法包括啟動固定突發(fā)長度數(shù)據(jù)傳送;和發(fā)出指定所述突發(fā)數(shù)據(jù)傳送的期望長度的突發(fā)終止命令,其中在所述固定突發(fā)長度數(shù)據(jù)傳送完成之前發(fā)出所述突發(fā)終止命令。
2.如權(quán)利要求1所述的方法,其中所述啟動包括指定存儲地址。
3.如權(quán)利要求2所述的方法,其中所述存儲地址指定了要傳送的數(shù)據(jù)的開始點。
4.如權(quán)利要求2所述的方法,其中所述存儲地址指定了要傳送的數(shù)據(jù)的結(jié)束點。
5.如權(quán)利要求1所述的方法,其中緊接在所述固定突發(fā)長度數(shù)據(jù)傳送的啟動之后發(fā)出所述突發(fā)終止命令。
6.如權(quán)利要求1所述的方法,其中所述固定突發(fā)長度數(shù)據(jù)傳送是傳送指定數(shù)量的數(shù)據(jù)單元,以及其中所述突發(fā)終止命令指定了數(shù)據(jù)單元的存儲地址,其中所述存儲地址是要傳送的最后一個數(shù)據(jù)單元的地址。
7.如權(quán)利要求1所述的方法,其中所述固定突發(fā)長度數(shù)據(jù)傳送是傳送指定數(shù)量的數(shù)據(jù)單元,以及其中所述突發(fā)終止命令指定了數(shù)據(jù)單元的存儲地址,其中所述存儲地址是不要傳送的第一個數(shù)據(jù)單元的地址。
8.如權(quán)利要求1所述的方法,其中在一個事件發(fā)生后發(fā)出所述突發(fā)終止命令。
9.如權(quán)利要求8所述的方法,其中所述事件是一個錯誤。
10.如權(quán)利要求8所述的方法,其中所述事件是一個中斷。
11.如權(quán)利要求1所述的方法,其中所述固定突發(fā)長度數(shù)據(jù)傳送發(fā)生在計算機系統(tǒng)的存儲系統(tǒng)中。
12.如權(quán)利要求11所述的方法,其中所述存儲系統(tǒng)是雙數(shù)據(jù)速率存儲系統(tǒng),并且其中在已傳送偶數(shù)個數(shù)據(jù)后突發(fā)終止命令停止所述固定突發(fā)長度數(shù)據(jù)傳送。
13.如權(quán)利要求12所述的方法,其中如果期望在已傳送奇數(shù)個數(shù)據(jù)后終止所述固定突發(fā)長度數(shù)據(jù)傳送,則所述終止發(fā)生在比該奇數(shù)大的第一個偶數(shù)處,并且忽略或屏蔽最后的數(shù)據(jù)。
14.如權(quán)利要求13所述的方法,其中所述最后的數(shù)據(jù)被忽略或屏蔽。
15.如權(quán)利要求1所述的方法,其中所述固定突發(fā)長度數(shù)據(jù)傳送發(fā)生在通信網(wǎng)絡(luò)中成對的通信設(shè)備之間。
16.一種用于縮短存儲系統(tǒng)中固定長度突發(fā)傳送的方法,所述方法包括在命令總線上放置突發(fā)傳送命令并在地址總線上放置第一存儲地址,其中所述第一存儲地址指定了要傳送的數(shù)據(jù)的開始地址;和在突發(fā)傳送開始后,在命令總線上放置突發(fā)終止命令并在地址總線上放置第二存儲地址,其中所述第二存儲地址指定了要傳送的數(shù)據(jù)的終止地址。
17.如權(quán)利要求16所述的方法,其中所述突發(fā)傳送是傳送固定數(shù)量的數(shù)據(jù),以及其中所述第二存儲地址處于要傳送的固定數(shù)量的數(shù)據(jù)之內(nèi)。
18.如權(quán)利要求16所述的方法,其中所述第二放置發(fā)生在所述突發(fā)傳送完成之前。
19.如權(quán)利要求16所述的方法,其中所述突發(fā)終止命令被指定如下RAS#=H,CAS#=H,WE#=L以及CS#=L,其中所述RAS、CAS和WE都是到存儲系統(tǒng)的命令輸入,其中CS是芯片選擇信號,其中#操作符表示非真邏輯,其中H代表高邏輯值而L代表低邏輯值。
20.如權(quán)利要求19所述的方法,其中所述存儲系統(tǒng)是遵從JEDEC的存儲系統(tǒng)。
21.如權(quán)利要求20所述的方法,其中所述存儲系統(tǒng)是雙數(shù)據(jù)速率存儲系統(tǒng)。
22.如權(quán)利要求21所述的方法,其中所述第二存儲地址指定了在已傳送偶數(shù)個數(shù)據(jù)后終止所述突發(fā)傳送。
23.如權(quán)利要求22所述的方法,其中如果期望在已傳送奇數(shù)個數(shù)據(jù)后終止所述突發(fā)傳送,則屏蔽或忽略所傳送的最后的數(shù)據(jù)。
24.如權(quán)利要求16所述的方法,其中所述突發(fā)傳送以數(shù)據(jù)單元的形式傳送數(shù)據(jù),以及其中第二地址指定了要傳送的最后的數(shù)據(jù)單元的地址。
全文摘要
一種用于控制數(shù)據(jù)傳輸?shù)耐话l(fā)長度的方法。優(yōu)選的實施例包括啟動固定突發(fā)長度傳輸,并且發(fā)出指定所述突發(fā)數(shù)據(jù)傳送的期望長度的突發(fā)終止命令,其中在所述固定突發(fā)長度數(shù)據(jù)傳送完成之前發(fā)出所述突發(fā)終止命令。所述突發(fā)終止命令指定了要通過固定突發(fā)長度傳輸傳送的最后的數(shù)據(jù)的地址。
文檔編號H04L29/02GK1801799SQ20051010474
公開日2006年7月12日 申請日期2005年12月23日 優(yōu)先權(quán)日2004年12月23日
發(fā)明者O·基爾 申請人:因芬尼昂技術(shù)股份公司