專利名稱:脈沖串長度比預(yù)取長度短的存儲器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機存儲器系統(tǒng),并且更具體地說,涉及具有一種存儲控制器的計算機存儲器系統(tǒng),該存儲控制器可以以比相應(yīng)存儲器的預(yù)取長度短的脈沖串長度讀或?qū)憯?shù)據(jù)塊。
背景技術(shù):
計算機系統(tǒng)一般包括可從中讀或?qū)憯?shù)據(jù)的存儲器設(shè)備。存儲相對大量數(shù)據(jù)的通用存儲器設(shè)備是動態(tài)隨機存取存儲器(DRAM)。DRAM的例子包括同步DRAM(SDRAM)和兩倍數(shù)據(jù)速率的SDRAM(DDR DRAM)。用于DDR-II DRAM(下一代DDR DRAM)的規(guī)范正在定案。其它同步DRAM包括Rambus RDRAM。存在不同于DRAM的各種類型存儲器,包括靜態(tài)隨機存取存儲器(SRAM)。其它類型的存儲器正在開發(fā)。
存儲控制器發(fā)出寫請求和讀請求到DRAM。存儲控制器和DRAM通過總線相耦合,該總線傳送寫或讀數(shù)據(jù)。響應(yīng)寫請求時要存儲的數(shù)據(jù)可來源于處理器或其它芯片。響應(yīng)讀請求時由DRAM提供的數(shù)據(jù)可由處理器或其它芯片使用。存儲控制器可處在一個與處理器分開的芯片中或者可在與處理器相同的芯片上。
脈沖串長度(burst length)是響應(yīng)寫或讀命令和相應(yīng)的起始地址時存儲在存儲磁心中或從存儲磁心取回的數(shù)據(jù)塊的數(shù)量。在SDRAM情況下每個塊與的整個時鐘周期相關(guān)聯(lián),而在諸如DDR和DDR II DRAM這樣的兩倍數(shù)據(jù)速率DRAM情況下與半個時鐘周期相關(guān)聯(lián)。在每個塊中有許多并行的數(shù)據(jù)位。DRAM具有一個磁心預(yù)取長度,它是通過單一寫或讀操作寫入或者從磁心取回數(shù)據(jù)的時鐘周期(在SDRAM情況下)或者半個周期(在DDR DRAM情況下)的數(shù)量。術(shù)語預(yù)取(prefetch)既用于指寫到存儲磁心也用于指從磁心讀。
SDRAM和DDR DRAM具有可控脈沖串長度,而DDR-II DRAM將具有可控脈沖串長度。然而,這些存儲器不具有或者不預(yù)期具有可控制的磁心預(yù)取長度。SDRAM具有1個時鐘周期的預(yù)取長度并允許1、2或4個時鐘周期的脈沖串長度。因此,如果脈沖串長度是1,對于每個寫或讀命令只有一個預(yù)取操作。如果脈沖串長度是2,對于每個寫或讀命令有兩個預(yù)取操作。如果脈沖串長度是4,則對于每個寫或讀命令有四個預(yù)取操作。DDR DRAM具有2個半個時鐘周期的預(yù)取長度并允許2、4和8個半個時鐘周期的脈沖串長度。因此,如果脈沖串長度是2,對于每個寫或讀命令只有一個預(yù)取操作。如果脈沖串長度是4,對于每個寫或讀命令有兩個預(yù)取操作。如果脈沖串長度是8,對于每個寫或讀命令有四個預(yù)取操作。DDR-II DRAM將具有4和8個半個時鐘周期的脈沖串長度以及4個半個時鐘周期的預(yù)取長度。因此,如果脈沖串長度是4,對于每個寫或讀命令只有一個預(yù)取操作。如果脈沖串長度是8,對于每個寫或讀命令有兩個預(yù)取操作。
預(yù)期將在某一天會有具有預(yù)取長度為8的DRAM(這可能是目前并不存在的DDR-III DRAM)。隨后當(dāng)結(jié)合預(yù)期脈沖串長度為4的存儲控制器使用預(yù)取長度為8的DRAM時將出現(xiàn)一個問題。下面的揭示提供對這個問題的解決方案。
已經(jīng)以交錯方式通過動態(tài)地控制輸出驅(qū)動器使能來使用存儲器設(shè)備。已使用一個引腳以交錯方式來控制一個存儲器相對于另一個存儲器的輸出使能。存儲器設(shè)備在讀操作期間或者在屏蔽數(shù)據(jù)時具有三態(tài)驅(qū)動器。
通過下面給出的詳細(xì)描述并通過本發(fā)明實施例的附圖將更全面地理解本發(fā)明,不過,不應(yīng)當(dāng)將本發(fā)明限制于所述實施例,它們僅用于說明和理解。
圖1是方框圖,表示按照本發(fā)明某些實施例的包括處理器、存儲控制器和存儲器的計算機系統(tǒng)。
圖2是方框圖,表示按照本發(fā)明某些實施例的包括處理器、包括在處理器內(nèi)的存儲控制器以及存儲器的計算機系統(tǒng)。
圖3是時序圖,示出在不使用本發(fā)明時的時鐘、讀命令和DATA(數(shù)據(jù))信號。
圖4是時序圖,示出有關(guān)讀操作的本發(fā)明某些實施例的某些方面。
圖5是方框圖,表示按照本發(fā)明某些實施例的包括存儲控制器和兩個存儲器設(shè)備的系統(tǒng)。
圖6是時序圖,示出有關(guān)讀操作的本發(fā)明某些實施例的某些方面。
圖7是方框圖,表示按照本發(fā)明某些實施例的存儲器設(shè)備的附加細(xì)節(jié)。
圖8是方框圖,表示按照本發(fā)明某些實施例的、可作為交錯存儲器操作中某一編組而操作的多個存儲器設(shè)備。
圖9是時序圖,示出有關(guān)讀操作的本發(fā)明某些實施例的某些方面。
圖10是時序圖,示出寫操作的本發(fā)明某些實施例的某些方面。
圖11是方框圖,表示按照本發(fā)明某些實施例的包括存儲控制器、兩個存儲器設(shè)備和BIOS的系統(tǒng)。
具體實施例方式
本發(fā)明包括一個計算機系統(tǒng),其中存儲控制器可以以比相應(yīng)存儲器的預(yù)取長度短的脈沖串長度讀或?qū)憯?shù)據(jù)塊。
圖1例示包括存儲器14的計算機系統(tǒng)10。存儲器14可代表在一個或多個存儲器模塊上的單個存儲器設(shè)備或者多個存儲器設(shè)備。存儲器設(shè)備可以是DRAM諸如上述DRAM之一,或者是某些其它種類的存儲器。存儲控制器18通過總線16提供數(shù)據(jù)給存儲器14并響應(yīng)于讀請求從存儲器14取回數(shù)據(jù)??赏ㄟ^導(dǎo)線(conductor)而不是總線16或者通過總線16為存儲器14提供命令和/或地址??刂破?8可從處理器24或其它芯片接收要存儲在存儲器14中的數(shù)據(jù)??刂破?8可將它從存儲器14接收的數(shù)據(jù)提供給處理器24或其它芯片。控制器18處在集線器(hub)20中,它有時稱為存儲控制器集線器或者芯片組中的北橋??偩€18可以是雙向總線或者單向總線。總線16可包括許多并行導(dǎo)線??偩€18可能是多點總線(multidrop bus),包括一個或多個點到點的導(dǎo)線,或者可能是某些其它類型的總線。信號可能是差分的或者是單端的。盡管只示出一個處理器,但可在多處理器系統(tǒng)中使用本發(fā)明。
圖2例示一個計算機系統(tǒng)30,它與系統(tǒng)10相似,但其中控制器18包括在處理器32中。
圖3是時序圖,示出在沒有本發(fā)明的情況下,如果存儲控制器在脈沖串長度為4且存儲器具有為8的預(yù)取長度的情況下工作可能會發(fā)生什么。讀命令RdA請求數(shù)據(jù)A。某些數(shù)量的時鐘周期過后(精確的數(shù)量不重要),從存儲器預(yù)取八個塊A0-A7。數(shù)據(jù)A的八個塊被驅(qū)動到外部總線上,但進(jìn)行請求的存儲控制器只使用最先的四個塊A0-A3。同樣,進(jìn)行請求的存儲控制器只使用數(shù)據(jù)B的八個塊B0-B7的最先的四個。這可能導(dǎo)致存儲控制器忽略塊A4-A7及B4-B7或者更差,它可能導(dǎo)致總線上的競爭,因為存儲控制器認(rèn)為讀請求已經(jīng)完成,但數(shù)據(jù)卻仍在總線上。至少在圖3的方法中丟失了一半的帶寬。在寫命令的情況下,存儲器預(yù)期八個塊,但只接收到4個塊,因此可能不能有效地使用一半存儲器并可能在總線存在競爭。
本發(fā)明包括允許存儲控制器以比存儲器的預(yù)取長度短的脈沖串長度操作的技術(shù)。對于讀操作,這可以通過對于存儲控制器不預(yù)期接收的那些預(yù)取塊禁止存儲器設(shè)備輸出驅(qū)動器來完成。例如,在圖4中,時序圖例示讀命令Rd A和Rd B。在Rd A命令之后某些數(shù)量的半個時鐘周期,存儲器設(shè)備預(yù)取塊A0-A7的數(shù)據(jù)。圖4的“內(nèi)部到存儲器的數(shù)據(jù)(DATA internal to memory)”部分示出進(jìn)入驅(qū)動器的塊。使能驅(qū)動器,因此塊A1-A4被輸出到外部總線上,但在輸出塊A4-A7期間禁止驅(qū)動器。響應(yīng)于讀請求Rd B,塊B0-B7的情況是相同的。注意,實際上,在讀請求的時刻與預(yù)取塊的時刻之間可存在比在圖3,4,6和9中所示更多的時鐘周期。然而,在圖中的空間限制不允許在讀請求與正應(yīng)用于驅(qū)動器的塊之間更大的間隔。
通過交錯存儲器設(shè)備(每個設(shè)備具有與圖4相似的操作)的輸出,可以達(dá)到大的帶寬利用率。圖5示出一個用于完成這種做法的系統(tǒng),但本發(fā)明不限于圖5的細(xì)節(jié)。存儲器設(shè)備0和存儲器設(shè)備1包括在存儲器14中。存儲器設(shè)備0和1可能在不同的行列(rank)中,但本發(fā)明不限于與多個行列一起使用。存儲器設(shè)備0和1可能在相同或不同的存儲器模塊上。存儲器設(shè)備0和1可能在相同芯片上,或者在不同芯片上。存儲器14可只包括設(shè)備0和1,或者可包括附加的存儲器設(shè)備。
圖5的系統(tǒng)的操作,可以參考圖6,9和10的時序圖來說明。在圖6中,CLK是時鐘信號,CMD代表由控制器18提供給存儲器14的命令;“內(nèi)部到存儲器0的數(shù)據(jù)”是提供給輸出驅(qū)動器54的數(shù)據(jù)塊,“內(nèi)部到存儲器1的數(shù)據(jù)”是提供給輸出驅(qū)動器56的數(shù)據(jù)塊;而“在外部總線16上的數(shù)據(jù)”是從驅(qū)動器54和56輸出的數(shù)據(jù)。在圖6中,將讀命令Rd A和Rd C提供給存儲器設(shè)備0并將讀命令Rd B和Rd D提供給存儲器設(shè)備1。在收到Rd A命令之后的某個時刻,由存儲器設(shè)備1的磁心72以預(yù)取長度為8預(yù)取數(shù)據(jù)A并作為數(shù)據(jù)塊A0-A7提供給驅(qū)動器54。(如注意到的,在讀命令與數(shù)據(jù)塊之間的CLK的半個周期的數(shù)量可能大于在圖6中所示的。)控制邏輯58使能驅(qū)動器54以輸出塊A1-A4,但在將A4-A7提供給驅(qū)動器54的時間期間禁止驅(qū)動器54。因此,只有塊A0-A3輸出到總線16上。在收到RdB命令之后的某個時刻,由存儲器設(shè)備1的磁心78以預(yù)取長度為8預(yù)取數(shù)據(jù)B并作為數(shù)據(jù)塊B0-B7輸出到驅(qū)動器56??刂七壿?0使能驅(qū)動器56以輸出塊B0-B3,但在將B4-B7提供給驅(qū)動器56的時間期間禁止驅(qū)動器56。因此,只有塊B0-B3輸出到總線16上。同樣,響應(yīng)于讀請求Rd C,由磁心72以預(yù)取長度為8預(yù)取數(shù)據(jù)C,并作為數(shù)據(jù)塊C0-C7提供給驅(qū)動器54,其中使能輸出塊C0-C3,但禁止輸出塊C4-C7。響應(yīng)于讀請求Rd D,由磁心78以脈沖串長度為8預(yù)取數(shù)據(jù)D,并作為數(shù)據(jù)塊D0-D7提供給驅(qū)動器56,其中使能輸出塊D0-D3,但禁止輸出塊D4-D7。如可以在圖6中看到的,僅以交錯方式在總線16上輸出塊A0-A3,B0-B3,C0-C3和D0-D3,這是控制器18預(yù)期的。
在某些實施例中,在預(yù)取為8的情況下諸如A2的地址位可以用于選擇是從保存八個塊寬數(shù)據(jù)的存儲器磁心的較低部分還是從較高部分讀取或者寫入塊。因此,可以利用整個磁心,即使脈沖串長度小于預(yù)取長度。當(dāng)然,本發(fā)明不限于使用為8的預(yù)取長度或者使用為4的脈沖串長度。而且,可以與具有與其預(yù)取長度相同的脈沖串長度的控制器一起使用存儲器14。
圖7示出可在本發(fā)明某些實施例中使用的附加細(xì)節(jié),但本發(fā)明不限于這些細(xì)節(jié)。交付電路系統(tǒng)(delivery circuitry)106至少將某些來自磁心72的數(shù)據(jù)交付給驅(qū)動器54。在某些實施例中,電路系統(tǒng)106包括鎖存器108和多路轉(zhuǎn)換器(Mux)110,盡管本發(fā)明不限于此。磁心72可并行地預(yù)取塊的位。僅作為一個例子,在X8設(shè)備中,磁心72可能預(yù)取64個位(具有糾錯碼(ECC)的72個位),由鎖存器108接收并由多路轉(zhuǎn)換器110多路轉(zhuǎn)換成8個塊,每個塊是8位寬且為期半個時鐘周期。如果塊A0-A7由多路轉(zhuǎn)換器110提供給驅(qū)動器54,則仍可說塊A0-A7是由磁心72預(yù)取的。將結(jié)合圖10討論圖7的其它組件。當(dāng)然,本發(fā)明不限于X8設(shè)備,預(yù)取特定寬度數(shù)據(jù)或者如在圖7中所示的鎖存和多路轉(zhuǎn)換。
如提到的,設(shè)備0和1可能不是存儲器14中的唯一的設(shè)備。例如,如在圖8中所示,行列0包括設(shè)備01...0n而行列1包括設(shè)備11...1n。在某些實施例中,在一個行列中的每個設(shè)備響應(yīng)于讀請求并將一些數(shù)據(jù)提供到總線16或者響應(yīng)于寫請求并存儲在總線上的一些數(shù)據(jù),盡管本發(fā)明不限于這種安排。在存儲器模塊0中所示的是行列0,而在存儲器模塊1中所示的是行列1,但不是要求的。行列0和1可能在相同模塊上。可能有附加的行列和模塊,或者附加的模塊但只有兩個行列,或者附加的行列但只有兩個模塊。
在某些存儲器中,在兩個存儲器設(shè)備之間存在轉(zhuǎn)向延遲(turn-arounddelay)。轉(zhuǎn)向延遲是在當(dāng)一個存儲器設(shè)備三態(tài)其輸出驅(qū)動器與另一個設(shè)備開始驅(qū)動其輸出到總線上的時候之間所要求的專用時間量。轉(zhuǎn)向可以是協(xié)議專用的。圖9是與圖6非常相似的時序圖,但在圖9中包括轉(zhuǎn)向時間。在圖9中,在驅(qū)動器54停止驅(qū)動塊A3的時刻與驅(qū)動器56開始驅(qū)動塊B0的時候之間的延遲(例如,兩個時鐘半周期)。而且,在驅(qū)動器56停止驅(qū)動塊B3的時刻與驅(qū)動器54開始驅(qū)動塊C0的時刻之間,在驅(qū)動器54停止驅(qū)動塊C3與驅(qū)動器56開始驅(qū)動塊D0的時刻之間存在延遲。這些延遲反映在時序圖的“在外部總線16上的數(shù)據(jù)”行中。
在圖9中,不是由驅(qū)動器54輸出的數(shù)據(jù)A與數(shù)據(jù)C的塊分別示為A3,A3,A3和A3與C3,C3,C3和C3。同樣,不是由驅(qū)動器56輸出的數(shù)據(jù)B與數(shù)據(jù)D分別示為B3,B3,B3和B3與D3,D3,D3和D3。與圖6相比,其中不是由驅(qū)動器54驅(qū)動的塊是塊A4-A7與C4-C7,以及不是由驅(qū)動器56驅(qū)動的是塊B4-B7與D4-D7。重復(fù)地提供相同塊給驅(qū)動器54和56的好處是它可減少沖擊產(chǎn)生的震蕩(ringing)和功率損耗。不過,在圖9中,在驅(qū)動器54和56被禁止時提供給它們的塊可與在圖6中的相同,并且在圖6中,在它們被禁止時提供給它們的塊可與在圖9中的相同。也就是說,無論是否包括轉(zhuǎn)向時間,可以重復(fù)地提供或者可以不重復(fù)地提供相同塊(例如,A3,A3,A3,A3,A3)。還可替換地,為進(jìn)一步減少功率,對于那些將不輸出的塊,磁心可不提供任何內(nèi)容。盡管在塊A0-A3,B0-B3,C0-C3和D0-D3之間在總線16之間存在間隙,但是從不同存儲器讀取的數(shù)據(jù)塊在總線16上可以說是交叉存取。
圖10例示由圖5的實施例執(zhí)行的寫命令??刂破?8將寫命令Wr A和Wr C提供給存儲器設(shè)備0以請求它寫(存儲)數(shù)據(jù)A和數(shù)據(jù)C??刂破?8將寫命令Wr B和Wr D提供給存儲器設(shè)備1以請求它寫數(shù)據(jù)B和數(shù)據(jù)D。數(shù)據(jù)A,B,C和D各自包括半個周期長度的四個塊(A0-A3,B0-B3,C0-C3,D0-D3)。在總線16上的寫數(shù)據(jù)是交叉存取的,其中是想要交替不同的設(shè)備。在總線16上將數(shù)據(jù)A和C提供給存儲器設(shè)備0,以及在總線16上將數(shù)據(jù)B和D提供給存儲器設(shè)備1。也可并行于這些目的用于其它存儲器設(shè)備的塊存在附加位(例如,見圖8)。在發(fā)出Wr A命令之后某個時刻,塊A0-A3由存儲器設(shè)備0的接收器64接收。磁心72預(yù)期將八個塊寬的數(shù)據(jù)寫(存儲)到磁心中。塊A0-A3的數(shù)據(jù)被寫在磁心72中,但要寫的最后四個塊(沒有從總線16接收)的數(shù)據(jù)被屏蔽,因此沒有存儲那些塊。(如注意到的,一個地址位,例如位A2,可以控制將四個塊A0-A3寫到從其中預(yù)取八個塊的低半還是高半部分中)。
在發(fā)出Wr B之后的某個時刻,塊B0-B3由存儲器設(shè)備1的接收器66接收。塊B0-B3的數(shù)據(jù)被寫在磁心78中,但要寫的最后四個塊(沒有從總線16接收)的數(shù)據(jù)被屏蔽,因此沒有存儲那些塊。以相似的方式,塊C0-C3和D0-D3分別被寫到磁心72和78中。在某些實施例中,在數(shù)據(jù)A與數(shù)據(jù)B,數(shù)據(jù)B與數(shù)據(jù)C,數(shù)據(jù)C與數(shù)據(jù)D之間在總線16上可存在間隙。
圖7示出可在本發(fā)明的某些實施例中使用的附加細(xì)節(jié),但本發(fā)明不限于這些細(xì)節(jié)。交付電路系統(tǒng)120至少將來自接收器64的一些數(shù)據(jù)交付給磁心72。在某些實施例中,電路系統(tǒng)120包括多路分解器122,它取由接收器64接收的數(shù)據(jù)信號(例如A0-A3)并將它們轉(zhuǎn)換成由鎖存器124接收的較寬的信號。鎖存的128的輸出是由驅(qū)動器128驅(qū)動到磁心72中的讀、寫和屏蔽電路系統(tǒng)116。注意,從驅(qū)動器128到鎖存器108的路徑不必與外面的讀、寫和屏蔽電路系統(tǒng)116合并起來。相反,這些可以是完全獨立的路徑。多路分解器130接收屏蔽信號,它可能是來自控制器18通過數(shù)據(jù)屏蔽(DM或DQM)衰減器(pad)或者可能通過某些其它機制接收的串行數(shù)據(jù)屏蔽信號。多路分解器130可將這個串行數(shù)據(jù)屏蔽信號轉(zhuǎn)換成并行數(shù)據(jù)屏蔽信號,后者被施加到邏輯或電路系統(tǒng)(logical ORing circuitry)132。邏輯或電路系統(tǒng)132改變要被屏蔽的存儲器的下部或者上部,取決于一個地址位(例如在預(yù)取為8的情況下A2)的狀態(tài)。數(shù)據(jù)屏蔽可自動地在控制邏輯58的控制下執(zhí)行,而不是通過外部數(shù)據(jù)屏蔽衰減器及相關(guān)的屏蔽信號。在這些實施例中,通過DM衰減器的數(shù)據(jù)屏蔽信號可以表示在實際接收的塊中的任何字節(jié)是否需要被屏蔽。
控制邏輯58可以控制下列一項或多項使能還是禁止驅(qū)動器54,鎖存器108是否重復(fù)地提供相同塊(例如,A0-A8或A0,A1,A2,A3,A3,A3,A3和A3),或電路系統(tǒng)132是否提供屏蔽信號,磁心72響應(yīng)于讀它們或只讀它們的一部分時是否提供所有塊。
圖11示出在本發(fā)明的某些實施例中使用的附加細(xì)節(jié),但本發(fā)明不限于這些細(xì)節(jié)。在某些實施例中,控制邏輯58包括寄存器156而控制邏輯60包括寄存器158。寄存器156和158表示,可能尤其是,存儲器設(shè)備0和1處在脈沖串長度與預(yù)取長度是相同的一個模式中,或者處在它們是不同的一個模式中。如果為此目的只在每個寄存器156和158中使用一個位,則那個位的一個狀態(tài)可表示控制器18具有為4的脈沖串長度,而另一個狀態(tài)可表示為8的脈沖串長度,或者如果可適用的話其它值。在某些實施例中,可能在控制器18中有一個寄存器146,表示存儲器設(shè)備0和1的預(yù)取長度,但那不是必要的。寄存器146可能用于表示控制器18是否完全與設(shè)備0和1一起使用,或者寄存器146可能用于改變控制器18的內(nèi)部操作,從而它可以有效地與存儲器設(shè)備0和1接口。在某些實施例中,控制器18僅以一個存儲器預(yù)取長度運行,而在其它實施例中,控制器18可以適合以不同的存儲器預(yù)取長度運行。
注意,寄存器146、156和158不必具有與脈沖串長度或預(yù)取長度相同的數(shù)量。相反,在寄存器中的值可通過使控制器18或存儲器設(shè)備0和1表現(xiàn)得與預(yù)取長度和脈沖串長度一致來間接地表示脈沖串長度或預(yù)取長度??赏ㄟ^BIOS140(基本輸入輸出系統(tǒng))通過導(dǎo)線142和144完成寄存器146、156和158的設(shè)置。導(dǎo)線142和144也可用于其它目的。BIOS 140可檢測控制器18的脈沖串長度和存儲器設(shè)備0和1的預(yù)取長度,例如在起動時。BIOS 140代表硬件和固件或軟件。寄存器156和158可通過控制器18來控制。系統(tǒng)可能具有寄存器156和158而沒有寄存器146,或者它可能包括寄存器146而沒有寄存器156和158,或者它可能包括寄存器146,156和158??刂破?8的脈沖串長度可以通過某些機制而不是寄存器156和158來表示。脈沖串長度不必是可變的,但這使系統(tǒng)能夠更通用。
在某些實施例中,可能以不同的脈沖串長度讀和寫。例如,在預(yù)取長度為8的情況下,可能以脈沖串長度為8來寫,而可能以脈沖串長度為4來讀(或者反之亦然)。在那種情況下,一半被寫的數(shù)據(jù)將不被自動地屏蔽。如另一個例子,可能以脈沖串長度為4來讀,可能以脈沖串長度為8來寫,而預(yù)取長度為16。可能在寄存器156和158中表示這些。
控制器18的操作可依賴于其脈沖串長度和存儲器設(shè)備0和1的預(yù)取長度而變化。如在圖6,9和10中所例示的,在脈沖串長度為4和預(yù)取為8的情況下,在到同一存儲器設(shè)備的數(shù)據(jù)與來自它的數(shù)據(jù)之間存在實際的間隙,因為長度為4與長度為8之間的不同。通過交錯存儲器設(shè)備操作,保持總線相對地滿。在脈沖串長度為4和預(yù)取長度為4的情況下,控制器18可產(chǎn)生背對背命令(backto back command)到同一存儲器設(shè)備。但是,對于背對背命令可存在間隙,即使在脈沖串長度為4和預(yù)取長度為4的情況下。相對于讀和寫命令的設(shè)備選擇信號的狀態(tài),以及讀與寫命令的間隔與順序可能根據(jù)脈沖串長度和預(yù)取長度而改變。
地址和/或控制信號可通過總線16或者通過導(dǎo)線152來提供。讀,寫和屏蔽信號是控制信號的例子。可在地址和控制電路系統(tǒng)148中產(chǎn)生地址和控制信號并通過驅(qū)動器150提供它們。設(shè)備選擇信號也可認(rèn)為是控制信號并可在導(dǎo)線152上傳送。設(shè)備選擇是可選的并可通過其它手段來完成。整個設(shè)備的行列可用一個單一的設(shè)備選擇信號來選擇。這樣,控制器18可控制如所述的設(shè)備的交叉存取。可使用其它方法控制設(shè)備的交叉存取。
在圖4,6,9和10中,內(nèi)部到存儲器設(shè)備的塊和在總線16上的塊被示為相互排成行。實際上,它們可能沒有對齊,相差半個時鐘周期或更多。
這些圖目的是簡化表示。在例如所例示的導(dǎo)線上例示的組件之間,可存在附加的結(jié)構(gòu)(例如,鎖存器,緩沖器,控制電路系統(tǒng)和其它電路系統(tǒng))。
在某些實施例中,處理器,存儲控制器和存儲器可相互堆疊。例如,存儲器14的芯片可堆疊在控制器18上,后者可堆疊在處理器24上。在一個堆疊化系統(tǒng)的情況下,可能不使用集線器20。而且,在某些堆疊化實施例中,存儲控制器在處理器中。
實施例是本發(fā)明的實現(xiàn)或例子。在說明書中對“實施例(an embodiment)”、“一個實施例(one embodiment)”、“某些實施例(some embodiments)”或“其它實施例(other embodiments)”的引用指結(jié)合包括在至少某些實施例中的實施例描述的特定特征、結(jié)構(gòu)或特性,但不必是本發(fā)明的所有實施例。各種表述實施例(an embodiment)”、“一個實施例(one embodiment)”或“某些實施例(someembodiments)”不必全部指相同的實施例。
如果說明書陳述組件、特征、結(jié)構(gòu)或特性“可能(may)”、“可能(might)”或“可能(could)”被包括,則不要求包括該特定的組件、特征、結(jié)構(gòu)或特性。如果說明書或權(quán)利要求引用“一(a)”或“一(an)”元素,則不是指只有一個元素。如果說明書或權(quán)利要求提到“一個附加的(an additional)”元素,則不排除可存在多于一個附加的元素。
本發(fā)明不限于在些列出的特定細(xì)節(jié)。確實,那些具有本揭示的利益的、在本領(lǐng)域中熟練技術(shù)人員將意識到,可在本發(fā)明的范圍內(nèi)作出來自前述描述和附圖的許多其它變體。因此,所附包括任何對其的修正的權(quán)利要求書定義本發(fā)明的范圍。
權(quán)利要求
1.一種系統(tǒng),其特征在于,包括存儲控制器,請求讀、寫操作并以脈沖串長度操作;總線;以及通過總線耦合到存儲控制器的第一、第二存儲器設(shè)備,所述第一、第二存儲器設(shè)備各自具有比脈沖串長度大的預(yù)取長度,但以脈沖串長度執(zhí)行所請求的讀、寫操作。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備各自包括磁心,為讀操作預(yù)取與預(yù)取長度相等數(shù)量的塊的數(shù)據(jù);耦合到總線的輸出驅(qū)動器,為讀操作輸出預(yù)取到的數(shù)據(jù)的一些塊;交付電路系統(tǒng),將來自磁心的至少一些數(shù)據(jù)提供給輸出驅(qū)動器;控制邏輯,使輸出驅(qū)動器能夠輸出與脈沖串長度相等數(shù)量的數(shù)據(jù)塊,否則禁止輸出驅(qū)動器。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,交付電路系統(tǒng)為讀操作交付所有從磁心預(yù)取到的數(shù)據(jù)。
4.如權(quán)利要求2所述的系統(tǒng),其特征在于,交付電路系統(tǒng)為讀操作只交付部分從磁心預(yù)取到的數(shù)據(jù)。
5.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述控制邏輯的使能是根據(jù)第一、第二存儲器設(shè)備的模式而選擇的,且其中在一個模式中,第一、第二存儲器設(shè)備好象脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象脈沖串長度等于預(yù)取速率那樣操作。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括BIOS,且其中所述模式是由包括在控制邏輯中的寄存器控制的,而寄存器是由BIOS控制的。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備各自包括耦合到總線的接收器,接收用于寫操作的數(shù)據(jù)塊;交付電路系統(tǒng),提供來自所述接收器接收的、要寫到所述磁心中的塊,其中,所述磁心包括屏蔽電路系統(tǒng),以屏蔽鄰近接收到的塊而寫入的數(shù)據(jù)。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述數(shù)據(jù)的屏蔽是選擇性的,且其中第一、第二存儲器設(shè)備包括控制邏輯,它根據(jù)第一、第二存儲器設(shè)備的模式,控制數(shù)據(jù)的屏蔽是否發(fā)生,且其中,在一個模式中,第一、第二存儲器設(shè)備好象脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象脈沖串長度等于預(yù)取速率那樣操作。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括BIOS,且其中,所述模式是由包括在控制邏輯中的寄存器控制的,而寄存器是由BIOS控制的。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,脈沖串長度是一半預(yù)取速率,且其中第一、第二存儲器設(shè)備以交錯方式提供讀數(shù)據(jù)。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備可處于不同的模式,其中,在一個模式中,第一、第二存儲器設(shè)備好象存儲控制器以比預(yù)取長度小的脈沖串長度操作那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象存儲控制器以等于預(yù)取長度的脈沖串長度操作那樣操作。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,還包括BIOS,以控制第一、第二存儲器設(shè)備處于哪一個模式中。
13.如權(quán)利要求1所述的系統(tǒng),其特征在于,在由第一存儲器設(shè)備輸出的讀數(shù)據(jù)的最后的塊與由第二存儲器設(shè)備輸出的第一塊讀數(shù)據(jù)之間存在間隙。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,因轉(zhuǎn)向時間而使用間隙。
15.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括附加的存儲器設(shè)備,且其中,第一、第二存儲器處于不同模塊中的不同行列中。
16.一種存儲器設(shè)備,其特征在于,包括磁心,為讀操作預(yù)取與預(yù)取長度相等數(shù)量的塊的數(shù)據(jù);輸出驅(qū)動器,為讀操作輸出預(yù)取到的數(shù)據(jù)的一些塊;第一交付電路系統(tǒng),將來自磁心的至少一些數(shù)據(jù)提供給輸出驅(qū)動器;控制邏輯,使輸出驅(qū)動器能夠輸出與脈沖串長度相等數(shù)量的數(shù)據(jù)塊,否則禁止所述輸出驅(qū)動器。
17.如權(quán)利要求16所述的存儲器設(shè)備,其特征在于,交付電路系統(tǒng)為讀操作交付所有從磁心預(yù)取到的數(shù)據(jù)。
18.如權(quán)利要求16所述的存儲器設(shè)備,其特征在于,交付電路系統(tǒng)為讀操作只交付部分從磁心預(yù)取到的數(shù)據(jù)。
19.如權(quán)利要求16所述的存儲器設(shè)備,其特征在于,所述控制邏輯的使能是根據(jù)存儲器設(shè)備的模式而選擇的,且其中在一個模式中,存儲器設(shè)備好象脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,存儲器設(shè)備好象脈沖串長度等于預(yù)取速率那樣操作。
20.如權(quán)利要求19所述的存儲器設(shè)備,其特征在于,所述模式是由包括在控制邏輯中的寄存器控制的。
21.如權(quán)利要求16所述的存儲器設(shè)備,其特征在于,存儲器設(shè)備包括耦合到總線的接收器,接收用于寫操作的數(shù)據(jù)塊;第二交付電路系統(tǒng),提供從接收器接收的、要寫入磁心的塊,其中磁心包括屏蔽電路系統(tǒng),以屏蔽從鄰近接收的塊而寫入的數(shù)據(jù)。
22.如權(quán)利要求21所述的存儲器設(shè)備,其特征在于,所述數(shù)據(jù)的屏蔽是選擇性的,且其中第一、第二存儲器設(shè)備包括控制邏輯,它根據(jù)存儲器設(shè)備的模式控制數(shù)據(jù)的屏蔽是否發(fā)生,且其中在一個模式中,存儲器設(shè)備好象脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,存儲器設(shè)備好象脈沖串長度等于預(yù)取速率那樣操作。
23.一種存儲控制器,其特征在于,包括控制電路系統(tǒng),提供設(shè)備選擇信號、讀命令和寫命令;以及提供寫數(shù)據(jù)的驅(qū)動器和接收讀數(shù)據(jù)的接收器,其中讀數(shù)據(jù)是以交錯方式通過設(shè)備選擇信號的選擇和讀命令來接收的。
24.如權(quán)利要求23所述的存儲控制器,其特征在于,設(shè)備選擇信號與在背對背讀命令中不同。
25.如權(quán)利要求23所述的存儲控制器,其特征在于,驅(qū)動器以交錯方式通過設(shè)備選擇信號的選擇和寫命令來驅(qū)動寫數(shù)據(jù)。電路系統(tǒng),以交錯方式產(chǎn)生設(shè)備選擇信號和寫命令。
26.如權(quán)利要求25所述的存儲控制器,其特征在于,設(shè)備選擇信號與在背對背寫命令中不同。
27.如權(quán)利要求23所述的存儲控制器,其特征在于,以第一脈沖串長度操作讀請求,而以不等于第一脈沖串長度的第二第一脈沖串長度的脈沖串長度進(jìn)行寫操作。
28.一種存儲控制器,其特征在于,包括控制電路系統(tǒng),提供設(shè)備選擇信號、讀命令和寫命令;以及提供寫數(shù)據(jù)的驅(qū)動器和接收讀數(shù)據(jù)的接收器,其中,控制電路系統(tǒng)控制正被驅(qū)動的寫數(shù)據(jù)的脈沖串長度和正被接收的讀數(shù)據(jù)的脈沖串長度的選擇。
29.如權(quán)利要求28所述的存儲控制器,其特征在于,寫數(shù)據(jù)的脈沖串長度選擇性地為4或8,而讀數(shù)據(jù)的脈沖串長度選擇性地為4或8。
30.如權(quán)利要求28所述的存儲控制器,其特征在于,寫數(shù)據(jù)和讀數(shù)據(jù)的脈沖串長度選擇性地為4或8。
31.如權(quán)利要求28所述的存儲控制器,其特征在于,設(shè)備選擇信號的狀態(tài)根據(jù)所選擇的脈沖串長度相對于讀命令和寫命令而改變。
32.一種系統(tǒng),其特征在于,包括存儲控制器,請求讀和寫操作并以第一脈沖串長度實行讀操作而以第二脈沖串長度實行寫操作;總線;以及通過總線耦合到存儲控制器的第一、第二存儲器設(shè)備,所述第一、第二存儲器設(shè)備各自具有預(yù)取長度并以第一脈沖串長度執(zhí)行所請求的讀操作和以第二脈沖串長度執(zhí)行所請求的寫操作,其中第一或第二脈沖串長度之一小于預(yù)取長度而第一、第二脈沖串長度中的另一個小于或等于預(yù)取長度,且其中第一、第二脈沖串長度不相等。
33.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一脈沖串長度為4,第二脈沖串長度為8,而預(yù)取長度為8。
34.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一脈沖串長度為4,第二脈沖串長度為8,而預(yù)取長度為16。
35.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備各自包括磁心,為讀操作預(yù)取與預(yù)取長度相等數(shù)量的幾個數(shù)據(jù)塊;耦合到總線的輸出驅(qū)動器,為讀操作輸出預(yù)取的一些數(shù)據(jù)塊;交付電路系統(tǒng),將來自磁心的至少一些數(shù)據(jù)提供給輸出驅(qū)動器;控制邏輯,使得輸出驅(qū)動器能夠輸出與第一脈沖串長度相等幾個數(shù)據(jù)塊,否則禁止所述輸出驅(qū)動器。
36.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述控制邏輯的使能是根據(jù)第一、第二存儲器設(shè)備的模式而選擇的,且其中在一個模式中,第一、第二存儲器設(shè)備好象第一脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象第一脈沖串長度等于預(yù)取速率那樣操作。
37.如權(quán)利要求35所述的系統(tǒng),其特征在于,還包括BIOS,且其中所述模式是由包括在控制邏輯中的寄存器控制的,而寄存器是由BIOS控制的。
38.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備各自包括耦合到總線的接收器,用以接收用于寫操作的數(shù)據(jù)塊;交付電路系統(tǒng),提供從接收器接收的、要寫入磁心的數(shù)據(jù)塊,其中,所述磁心包括屏蔽電路系統(tǒng),用以屏蔽鄰近接收的數(shù)據(jù)塊而寫入的數(shù)據(jù)。
39.如權(quán)利要求38所述的系統(tǒng),其特征在于,所述數(shù)據(jù)的屏蔽是選擇性的,且其中第一、第二存儲器設(shè)備包括控制邏輯,它根據(jù)第一、第二存儲器設(shè)備的模式控制數(shù)據(jù)的屏蔽是否發(fā)生,且其中在一個模式中,第一、第二存儲器設(shè)備好象第一脈沖串長度小于預(yù)取速率那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象第一脈沖串長度等于預(yù)取速率那樣操作。
40.如權(quán)利要求32所述的系統(tǒng),其特征在于,還包括BIOS,且其中所述模式是由包括在控制邏輯中的寄存器控制的,而寄存器是由BIOS控制的。
41.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一脈沖串長度是一半預(yù)取速率,且其中第一、第二存儲器設(shè)備以交錯方式提供讀數(shù)據(jù)。
42.如權(quán)利要求32所述的系統(tǒng),其特征在于,第一、第二存儲器設(shè)備可處于不同的模式,其中在一個模式中,第一、第二存儲器設(shè)備好象存儲控制器以比預(yù)取長度小的第一脈沖串長度操作那樣操作,而在另一個模式中,第一、第二存儲器設(shè)備好象存儲控制器以等于預(yù)取長度的第一脈沖串長度操作那樣操作。
43.如權(quán)利要求42所述的系統(tǒng),其特征在于,還包括BIOS,控制第一、第二存儲器設(shè)備處于哪一個模式中。
44.如權(quán)利要求32所述的系統(tǒng),其特征在于,還包括附加的存儲器設(shè)備,且其中第一、第二存儲器處于不同模塊中的不同行列中。
全文摘要
在某些實施例中,本發(fā)明包括一種系統(tǒng),該系統(tǒng)具有存儲控制器、總線以及第一和第二存儲器設(shè)備。存儲控制器請求讀和寫操作并以脈沖串長度操作。第一和第二存儲器設(shè)備通過總線與存儲控制器相耦合,第一和第二存儲器設(shè)備各自具有比脈沖串長度大的預(yù)取長度,但以脈沖串長度執(zhí)行所請求的讀和寫操作。描述并要求其它實施例。
文檔編號G06F13/28GK1656463SQ03811534
公開日2005年8月17日 申請日期2003年3月11日 優(yōu)先權(quán)日2002年3月22日
發(fā)明者J·島德, H·答維德 申請人:英特爾公司