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