專利名稱:改善支持多存儲(chǔ)器訪問延遲的計(jì)算機(jī)存儲(chǔ)器系統(tǒng)的性能的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計(jì)算機(jī)存儲(chǔ)器系統(tǒng)和方法,并且特別涉及支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)的性能改善。
背景技術(shù):
隨著計(jì)算機(jī)系統(tǒng)不斷發(fā)展,存儲(chǔ)器系統(tǒng)正在成為整個(gè)系統(tǒng)性能的限制因素。盡管存儲(chǔ)器帶寬的重要性不斷增加,存儲(chǔ)器延遲對(duì)于系統(tǒng)性能仍然起著重要作用。例如,在較高的信號(hào)發(fā)送速率下,多列存儲(chǔ)器設(shè)備之間的傳播延時(shí)可能超過(guò)一個(gè)時(shí)鐘周期,可能導(dǎo)致不同列的存儲(chǔ)器設(shè)備之間不同的訪問延遲。使用直接存儲(chǔ)器總線式動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Direct Rambus Dynamic Random-Access Memory,RDRAM)的存儲(chǔ)器系統(tǒng)是這種系統(tǒng)的一個(gè)示例。例如雙倍數(shù)據(jù)速率(DDR)和DDR-II的其他存儲(chǔ)器類型采用允許不同列的DRAM(例如不同的存儲(chǔ)器模塊)具有不同訪問延遲的信號(hào)發(fā)送和互連拓?fù)洹?br>
使用直接RDRAM的系統(tǒng)利用通道一致化(levelization)(下面也稱為“全局一致化”)以通過(guò)對(duì)能夠較早響應(yīng)的設(shè)備列添加延時(shí)而強(qiáng)制所有DRAM列具有統(tǒng)一的延遲。其結(jié)果是使得有效帶寬增加,因?yàn)橄瞬煌珼RAM列之間存在的數(shù)據(jù)氣泡(bubble)。并且還簡(jiǎn)化了存儲(chǔ)器控制器的設(shè)計(jì)。盡管通道一致化提供了某些重要優(yōu)點(diǎn),但是也具有增加了原本能夠以較短延遲進(jìn)行響應(yīng)的設(shè)備列的DRAM延遲的負(fù)面效應(yīng)。因此,在某些應(yīng)用中,可能由于全局一致化導(dǎo)致性能損失。
圖1A為采用全局一致化的存儲(chǔ)器系統(tǒng)的方框圖;圖1B為采用全局一致化的存儲(chǔ)器系統(tǒng)的存儲(chǔ)器映射;圖2A為采用分組一致化的存儲(chǔ)器系統(tǒng)的方框圖;圖2B為采用分組一致化的存儲(chǔ)器系統(tǒng)的存儲(chǔ)器映射;圖3為在分組一致化中使用的存儲(chǔ)器設(shè)備的方框圖;圖4為在分組一致化中使用的存儲(chǔ)器控制器的方框圖;圖5為采用分組一致化并且包含容量增加的緩沖存儲(chǔ)器的存儲(chǔ)器系統(tǒng)的方框圖;圖6為向采用分組一致化的存儲(chǔ)器系統(tǒng)中使用的存儲(chǔ)器設(shè)備分配存儲(chǔ)器地址的處理的流程圖;以及圖7為在采用分組一致化的存儲(chǔ)器系統(tǒng)中控制延遲的處理的流程圖。
具體實(shí)施例方式
概述如同在下文將詳述的,在一種對(duì)存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的方法中,將該存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備分配到包含第一延遲組和第二延遲組的延遲組。所述第一延遲組具有低于第二延遲組的延遲。另外,標(biāo)識(shí)存儲(chǔ)器地址空間的第一和第二部分,并且將地址空間的第一部分映射到被分配到第一延遲組的至少一個(gè)存儲(chǔ)器設(shè)備,而將地址空間的第二部分映射到被分配到第二延遲組的至少一個(gè)存儲(chǔ)器設(shè)備。為地址空間的第一部分提供低于地址空間的第二部分的訪問延遲,可以導(dǎo)致存儲(chǔ)器系統(tǒng)性能的改善。在某些實(shí)施例中,可以使用超過(guò)兩個(gè)的延遲組和超過(guò)兩個(gè)的存儲(chǔ)器地址空間部分。
在某些實(shí)施例中,一種存儲(chǔ)器設(shè)備,包括耦合到命令接口的存儲(chǔ)器陣列,所述命令接口適合于耦合到存儲(chǔ)器系統(tǒng)以接收延時(shí)值。所述存儲(chǔ)器設(shè)備還包括耦合到所述命令接口的延時(shí)設(shè)備和輸出數(shù)據(jù)路徑。所述延時(shí)設(shè)備配置為將從存儲(chǔ)器陣列獲取并且在所述輸出數(shù)據(jù)路徑上傳輸?shù)臄?shù)據(jù)延時(shí)由所述延時(shí)值確定的延時(shí)周期。在其他實(shí)施例中,可以使用延遲控制信號(hào)控制存儲(chǔ)器訪問延遲。
在某些實(shí)施例中,一種對(duì)在支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的方法,包括解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備標(biāo)識(shí)符;標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組,其中所述延遲組是所述存儲(chǔ)器系統(tǒng)中的多個(gè)延遲組之一;將標(biāo)識(shí)的延遲組與和先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較;以及響應(yīng)于比較結(jié)果生成定時(shí)控制信號(hào)。在某些實(shí)施例中,通過(guò)以下執(zhí)行對(duì)在存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的所述方法存儲(chǔ)器控制器配置為通過(guò)比較先前和當(dāng)前存儲(chǔ)器訪問請(qǐng)求的次數(shù),并且然后將比較結(jié)果與先前和當(dāng)前存儲(chǔ)器訪問請(qǐng)求的延遲組信息結(jié)合在一起使用,確定是否對(duì)發(fā)出當(dāng)前的存儲(chǔ)器訪問命令進(jìn)行延時(shí)以避免總線沖突。
在某些實(shí)施例中,一種系統(tǒng),包括存儲(chǔ)器控制器、耦合到所述存儲(chǔ)器控制器的第一存儲(chǔ)器模塊、以及耦合到所述存儲(chǔ)器控制器的第二存儲(chǔ)器模塊。所述第一存儲(chǔ)器模塊包括第一緩沖存儲(chǔ)器和耦合到所述第一緩沖存儲(chǔ)器的第一存儲(chǔ)器設(shè)備。所述第一緩沖存儲(chǔ)器具有第一分配的訪問延遲。所述第二存儲(chǔ)器模塊包括第二緩沖存儲(chǔ)器和耦合到所述第二緩沖存儲(chǔ)器的第二存儲(chǔ)器設(shè)備。所述第二緩沖存儲(chǔ)器具有第二分配的訪問延遲。
第一存儲(chǔ)器模塊可以設(shè)置為與第二存儲(chǔ)器模塊串聯(lián)。所述第一分配的訪問延遲可以包括讀取請(qǐng)求從控制器被驅(qū)動(dòng)到第一緩沖存儲(chǔ)器的時(shí)間至讀取完成數(shù)據(jù)被從第一緩沖存儲(chǔ)器發(fā)送到控制器并由控制器采樣的時(shí)間。所述第二分配的訪問延遲可以包括讀取請(qǐng)求從控制器被驅(qū)動(dòng)到第二緩沖存儲(chǔ)器的時(shí)間至讀取完成數(shù)據(jù)從第二緩沖存儲(chǔ)器發(fā)送到控制器并由控制器采樣的時(shí)間。
在某些實(shí)施例中,可以訪問設(shè)置在第一和第二存儲(chǔ)器模塊中的存儲(chǔ)器設(shè)備??梢詾榈谝淮鎯?chǔ)器模塊分配第一訪問延遲。第一存儲(chǔ)器模塊包括第一緩沖存儲(chǔ)器和耦合到第一緩沖存儲(chǔ)器的第一存儲(chǔ)器設(shè)備。為第二存儲(chǔ)器模塊分配第二訪問延遲。第二存儲(chǔ)器模塊包括第二緩沖存儲(chǔ)器和耦合到第二緩沖存儲(chǔ)器的第二存儲(chǔ)器設(shè)備。
分組一致化的優(yōu)點(diǎn)在于大部分的實(shí)現(xiàn)是通過(guò)軟件進(jìn)行的(例如BIOS)。例如,所述技術(shù)在現(xiàn)貨供應(yīng)(off-the-shelf)的存儲(chǔ)器控制器(例如SiS R658)中可以實(shí)現(xiàn)為BIOS選項(xiàng),其可以由主板制造商、系統(tǒng)集成商、終端用戶等等啟用。由于大部分實(shí)現(xiàn)通過(guò)軟件進(jìn)行,終端用戶可以從大量設(shè)備ID/列映射中進(jìn)行選擇或者生成其自身的定制映射。
全局一致化圖1為采用全局一致化的存儲(chǔ)器系統(tǒng)100的方框圖。存儲(chǔ)器系統(tǒng)100包括通過(guò)多個(gè)并行傳輸線路(下面稱為“通道”)串聯(lián)耦合到一個(gè)或者多個(gè)存儲(chǔ)器設(shè)備104-1、...、104-N的存儲(chǔ)器控制器102。在某些實(shí)施例中,并行傳輸線路包括數(shù)據(jù)總線、請(qǐng)求總線、參考電壓(VRef)線路、至主時(shí)鐘(clock to master)(CTM)線路、源主時(shí)鐘(clock frommaster)(CFM)線路以及串行(SOut)總線。在其他實(shí)施例中,可以使用附加或者其他的總線配置或者傳輸線路。存儲(chǔ)器設(shè)備104(例如DRAM、RDRAM)可以是分立的存儲(chǔ)器芯片或者存儲(chǔ)器模塊112的一部分(例如SIMM、DIMM、RIMM、C-RIMM)。注意,盡管圖1A顯示了通常使用RDRAM的存儲(chǔ)器系統(tǒng)體系結(jié)構(gòu),在此公開的技術(shù)可以應(yīng)用到具有多訪問延遲的任何存儲(chǔ)器系統(tǒng)體系結(jié)構(gòu)(例如DDR、DDR-II等等)。
在某些實(shí)施例中,存儲(chǔ)器控制器102包括高速存儲(chǔ)器接口106用于與存儲(chǔ)器設(shè)備104進(jìn)行通信。每個(gè)存儲(chǔ)器設(shè)備104包括命令接口108,其包括可編程延時(shí)設(shè)備110,可以配置為提供必要的延時(shí)以調(diào)節(jié)訪問延遲。存儲(chǔ)器設(shè)備104相對(duì)于存儲(chǔ)器控制器102可以位于不同的電學(xué)距離,導(dǎo)致存儲(chǔ)器設(shè)備104和存儲(chǔ)器控制器102之間不同的信號(hào)傳播時(shí)間。存儲(chǔ)器設(shè)備104還可以支持不同的CAS延遲,導(dǎo)致存儲(chǔ)器控制器102的不同訪問延遲。在某些實(shí)施例中,每個(gè)各自的存儲(chǔ)器設(shè)備104的可編程延時(shí)設(shè)備110配置為存儲(chǔ)各自指定的時(shí)間周期的輸出數(shù)據(jù),從而數(shù)據(jù)響應(yīng)于存儲(chǔ)器訪問操作在獨(dú)立于存儲(chǔ)器設(shè)備被訪問的時(shí)間到達(dá)存儲(chǔ)器控制器102。因此,存儲(chǔ)器系統(tǒng)100中的每個(gè)存儲(chǔ)器設(shè)備104以與存儲(chǔ)器系統(tǒng)100中的最高延遲存儲(chǔ)器設(shè)備104(即存儲(chǔ)器設(shè)備104-N)的延遲LG相同的延遲做出響應(yīng)。
在某些實(shí)施例中,延時(shí)設(shè)備110可以通過(guò)公知的可編程延時(shí)設(shè)備和設(shè)計(jì)技術(shù)實(shí)現(xiàn)。然而隨著時(shí)鐘速度增加,設(shè)計(jì)能夠提供全局一致化所需的延時(shí)而不會(huì)對(duì)存儲(chǔ)器設(shè)備104和/或存儲(chǔ)器控制器102的設(shè)計(jì)產(chǎn)生顯著影響(例如尺寸增加)或者不會(huì)將系統(tǒng)限制為有限數(shù)量的存儲(chǔ)器設(shè)備104的延時(shí)設(shè)備110變得越來(lái)越困難。在某些實(shí)施例中,使用移位寄存器和輸出多路復(fù)用器實(shí)現(xiàn)延時(shí)設(shè)備100以將輸出數(shù)據(jù)信號(hào)延時(shí)指定數(shù)量的時(shí)鐘周期。指定數(shù)量的時(shí)鐘周期存儲(chǔ)在存儲(chǔ)器設(shè)備的寄存器中,其中延時(shí)設(shè)備嵌入所述存儲(chǔ)器設(shè)備。在某些實(shí)施例中,可以通過(guò)在初始化期間由存儲(chǔ)器控制器102執(zhí)行寄存器寫入操作而對(duì)寄存器進(jìn)行加載。在其他實(shí)施例中,可以通過(guò)編碼為由存儲(chǔ)器控制器102發(fā)送到存儲(chǔ)器設(shè)備的命令的可變延時(shí)而對(duì)寄存器進(jìn)行加載。在初始化期間可以通過(guò)計(jì)算離存儲(chǔ)器控制器102最遠(yuǎn)的存儲(chǔ)器設(shè)備的存儲(chǔ)器訪問延遲而確定時(shí)鐘周期數(shù)量。
在包括使用全局一致化的存儲(chǔ)器系統(tǒng)的傳統(tǒng)的存儲(chǔ)器系統(tǒng)中,以傳統(tǒng)的方式將存儲(chǔ)器地址分配給存儲(chǔ)器設(shè)備104。如圖1B所示,傳統(tǒng)的存儲(chǔ)器分配方案可以將操作系統(tǒng)(OS)過(guò)程分配到低地址(并且在需要更多存儲(chǔ)器時(shí)向上推進(jìn)),并且將應(yīng)用程序分配到高地址(并且在需要更多存儲(chǔ)器時(shí)向下推進(jìn))。而且,存儲(chǔ)器地址以線性方式被映射到存儲(chǔ)器設(shè)備104(如映射114所示),最低的地址映射到通道一端的存儲(chǔ)器設(shè)備(例如最靠近存儲(chǔ)器控制器102的存儲(chǔ)器設(shè)備),并且最高地址映射到通道另一端的存儲(chǔ)器設(shè)備。在圖1B所示的示例中,操作系統(tǒng)和應(yīng)用程序僅使用了部分存儲(chǔ)器空間,這是多數(shù)計(jì)算機(jī)系統(tǒng)正常工作期間的典型情況。如上所述的地址映射方案導(dǎo)致OS過(guò)程被存儲(chǔ)在最靠近存儲(chǔ)器控制器102的存儲(chǔ)器設(shè)備104中,并且最頻繁使用的應(yīng)用程序被存儲(chǔ)在最遠(yuǎn)離存儲(chǔ)器控制器102的存儲(chǔ)器設(shè)備104中。這種存儲(chǔ)器分配方法對(duì)于使用經(jīng)由全局一致化的存儲(chǔ)器系統(tǒng)的計(jì)算機(jī)不存在問題,因?yàn)樵L問延遲LG獨(dú)立于被訪問的存儲(chǔ)器設(shè)備。然而,這種存儲(chǔ)器分配方法在不同的存儲(chǔ)器設(shè)備具有不同的訪問延遲的系統(tǒng)中可能次優(yōu)地執(zhí)行。
分組一致化圖2A為采用基于區(qū)域的分組一致化的存儲(chǔ)器系統(tǒng)200的方框圖。存儲(chǔ)器系統(tǒng)200類似于存儲(chǔ)器系統(tǒng)100,但是存儲(chǔ)器地址被映射到存儲(chǔ)器設(shè)備104的方式不同。另外,可編程延時(shí)設(shè)備110在系統(tǒng)200中配置為使得每個(gè)延遲組中的存儲(chǔ)器設(shè)備具有共同的訪問延遲,但是每個(gè)延遲組具有不同的訪問延遲,最靠近存儲(chǔ)器控制器202的延遲組中的設(shè)備比最遠(yuǎn)離存儲(chǔ)器控制器202的延遲組中的設(shè)備具有較低的訪問延遲。
在存儲(chǔ)器系統(tǒng)200中,最靠近存儲(chǔ)器控制器102的存儲(chǔ)器設(shè)備104(例如設(shè)備104-0、104-1和104-2)被映射或者分配到最頻繁訪問的存儲(chǔ)器位置(例如應(yīng)用程序和操作系統(tǒng)使用的地址位置),并且最遠(yuǎn)離存儲(chǔ)器控制器的存儲(chǔ)器設(shè)備104(例如104-5至104-N)被映射或者分配到被較不頻繁地訪問的存儲(chǔ)器地址。注意,操作系統(tǒng)首先可以通過(guò)優(yōu)先分配來(lái)自最低延遲組的存儲(chǔ)器利用這種映射的優(yōu)點(diǎn),從而改善性能。并且,當(dāng)存儲(chǔ)器滿載時(shí),操作系統(tǒng)可以監(jiān)視哪些存儲(chǔ)器區(qū)域被最頻繁地訪問,并且然后在較低和較高的延遲組之間來(lái)回移動(dòng)數(shù)據(jù)以改善性能。還有可能通過(guò)以下來(lái)動(dòng)態(tài)改變每個(gè)延遲組中的設(shè)備數(shù)量以優(yōu)化系統(tǒng)性能監(jiān)視存儲(chǔ)器系統(tǒng)活動(dòng)以確定作為例如存儲(chǔ)器帶寬需求和應(yīng)用程序存儲(chǔ)器足跡(footprints)的各種因素的函數(shù)的最優(yōu)化平均系統(tǒng)延遲,以及然后在延遲組之中重新分配設(shè)備,如果這種重新分配將改善預(yù)測(cè)的系統(tǒng)性能的話。
圖2B顯示了用于分組一致化的存儲(chǔ)器映射214。設(shè)備1和2(104-1、104-2)被映射到應(yīng)用程序的地址,而設(shè)備5至N(104-5至104-N)被映射到被較不頻繁地訪問的存儲(chǔ)器地址。注意,OS過(guò)程仍然被映射到通道中的第一設(shè)備(設(shè)備0),因?yàn)镺S過(guò)程比應(yīng)用程序被更加頻繁地訪問。更一般地,OS過(guò)程和最頻繁使用的應(yīng)用程序的地址被映射到最低延遲組中的存儲(chǔ)器設(shè)備G1。延遲組在下文討論。
除了將存儲(chǔ)器設(shè)備104分配到存儲(chǔ)器地址空間的部分,每個(gè)存儲(chǔ)器設(shè)備104被分配到延遲組G1...GN集合中的一組,各組具有不同的延遲。例如,在圖2A中,通道被分割為存儲(chǔ)器設(shè)備104的兩個(gè)延遲組,下面稱為延遲組G1(近端組)和G2(遠(yuǎn)端組)。分配到延遲組G1的存儲(chǔ)器設(shè)備104被一致化為該組中最高延時(shí)設(shè)備的延遲L1(以時(shí)鐘周期衡量),而分配到延遲組G2的存儲(chǔ)器設(shè)備104被一致化為組G2中最高延遲設(shè)備的延遲L2。在某些實(shí)施例中,延遲L2比G1組的延遲L1高N個(gè)時(shí)鐘周期,或者L2=L1+N,其中基于各種標(biāo)準(zhǔn)選擇N,該標(biāo)準(zhǔn)包括但不限于存儲(chǔ)器總線時(shí)鐘周期與控制器時(shí)鐘周期的比值、時(shí)鐘周期中數(shù)據(jù)包的長(zhǎng)度、以及在延時(shí)設(shè)備被設(shè)置為零延時(shí)的同時(shí)組G2中的最大延遲設(shè)備和組G1中的最大延遲設(shè)備之間的延遲差。在某些實(shí)施例中,N等于4,即為至少某些使用RDRAM設(shè)備的存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器總線時(shí)鐘周期中的數(shù)據(jù)包的長(zhǎng)度。
延遲L1和N可以基于各種因素而確定,該因素包括但不限于系統(tǒng)配置、存儲(chǔ)器設(shè)備列數(shù)量、設(shè)備密度、主板布局、前端總線(FSB)速度、存儲(chǔ)器總線速度、存儲(chǔ)器控制器時(shí)鐘速度、匹配前端總線定時(shí)所需的延遲以及存儲(chǔ)器設(shè)備104的傳送速率。分配到特定延遲組的存儲(chǔ)器設(shè)備104的數(shù)量可以基于應(yīng)用程序而設(shè)置為所需值。因此,通過(guò)使用分組一致化,與具有延遲LG的全局一致化相比在滿足下式時(shí)存在潛在的性能改善L1<LG≤L2(1)盡管上述實(shí)施例具有兩個(gè)延遲組,在其他實(shí)施例中,可以使用超過(guò)兩個(gè)的延遲組。
圖3為在分組一致化中使用的存儲(chǔ)器設(shè)備104的方框圖。存儲(chǔ)器設(shè)備104通常包括耦合到存儲(chǔ)器陣列302的命令接口108。命令接口108包括存儲(chǔ)器訪問控制304用于處理從存儲(chǔ)器控制器202接收到的信號(hào)并且提供存儲(chǔ)器訪問命令(例如讀取、寫入)給存儲(chǔ)器陣列302。存儲(chǔ)器設(shè)備104包括輸入和輸出數(shù)據(jù)路徑308和310。輸出數(shù)據(jù)路徑310耦合到可編程延時(shí)設(shè)備110,可編程延時(shí)設(shè)備110根據(jù)存儲(chǔ)在寄存器306中的延時(shí)值將從存儲(chǔ)器陣列302獲取的數(shù)據(jù)延時(shí)。延時(shí)值(可以通過(guò)時(shí)鐘周期衡量)是通過(guò)由存儲(chǔ)器控制器202發(fā)送的延遲控制信號(hào)而確定的,如同參考圖4所述。
圖4為在分組一致化中使用的存儲(chǔ)器控制器202的一個(gè)實(shí)施例的方框圖。在某些實(shí)施例中,存儲(chǔ)器控制器202包括前端總線接口402(例如用于處理與數(shù)據(jù)處理器或者CPU的通信)、圖形接口404(例如AGP接口)、I/O接口408、仲裁單元406、控制器邏輯410、存儲(chǔ)器412、以及高速存儲(chǔ)器接口106。在某些實(shí)施例中,這些組件中的一個(gè)或多個(gè)不被包含在所述控制器中(例如在控制器202與CPU集成的實(shí)現(xiàn)中可以省略前端總線接口)??刂破鬟壿?10耦合到存儲(chǔ)器412,存儲(chǔ)器412包括組表414、最后的組416、初始化代碼418、以及分組一致化代碼420。注意,圖4代表了存儲(chǔ)器控制器的一個(gè)特定實(shí)施例。所公開的分組一致化技術(shù)可以用于許多類型的存儲(chǔ)器控制器(例如結(jié)合Intel處理器、AMD處理器、GPU、網(wǎng)絡(luò)處理器等等使用的存儲(chǔ)器控制器)。在某些實(shí)施例中,初始化代碼418和分組一致化代碼420存儲(chǔ)在BIOSEPROM中,所述BIOS EPROM可以為通過(guò)總線或者其他互連結(jié)構(gòu)耦合到存儲(chǔ)器控制器202的單獨(dú)的芯片。
在存儲(chǔ)器控制器202的初始化期間,通過(guò)控制器邏輯410執(zhí)行初始化代碼418。初始化代碼負(fù)責(zé)將存儲(chǔ)器設(shè)備分配到延遲組,從而填寫組表414中的條目。組表414的格式和內(nèi)容在下文更加詳細(xì)地描述。在某些實(shí)施例中,組表414并不是靜態(tài)表,而是在每次系統(tǒng)引導(dǎo)時(shí)動(dòng)態(tài)創(chuàng)建的表,從而說(shuō)明系統(tǒng)中的變化(例如可能添加或者移除了存儲(chǔ)器)。在其他實(shí)施例中,組表414可以隨著存儲(chǔ)器訪問頻率的改變而改變。
同樣在初始化期間,分組一致化代碼420被執(zhí)行以確保每個(gè)延遲組中的所有存儲(chǔ)器設(shè)備具有相同的延遲。當(dāng)系統(tǒng)首次加電時(shí),特定延遲組中的第一設(shè)備的訪問延遲可以比該組中的最后的設(shè)備的訪問延遲較低。分組一致化代碼420負(fù)責(zé)使得相同組中的所有存儲(chǔ)器設(shè)備的延遲一致化。為了達(dá)到此目的,分組一致化代碼420確定添加多少延時(shí)(如果存在的話)到組中的每個(gè)存儲(chǔ)器設(shè)備,使得它們匹配于該組中的最高延遲存儲(chǔ)器設(shè)備的延遲。每組中具有最低延遲的存儲(chǔ)器設(shè)備可以在分組一致化代碼的控制下,例如通過(guò)在寄存器306(圖3)中存儲(chǔ)適當(dāng)值,使其延時(shí)設(shè)備110(圖3)得以配置。然后對(duì)每個(gè)延遲組重復(fù)該處理。在某些實(shí)施例中,分組一致化代碼實(shí)現(xiàn)為初始化代碼418的一部分。
在操作期間,通過(guò)接口402、404和408接收存儲(chǔ)器請(qǐng)求,并且在隊(duì)列422中存儲(chǔ)。隊(duì)列422中存儲(chǔ)的存儲(chǔ)器請(qǐng)求由仲裁單元406使用傳統(tǒng)的仲裁技術(shù)(例如輪轉(zhuǎn)(round-robin),優(yōu)先級(jí)等等)檢查存儲(chǔ)器訪問爭(zhēng)用。仲裁單元406從隊(duì)列422中存儲(chǔ)的請(qǐng)求中選擇存儲(chǔ)器請(qǐng)求并且將選擇的存儲(chǔ)器請(qǐng)求轉(zhuǎn)發(fā)到控制器邏輯410。然后所選擇的存儲(chǔ)器請(qǐng)求的N位地址(例如28位、32位或者64位地址)被解碼以訪問特定存儲(chǔ)器設(shè)備104中的特定段、行和列。下面的表I中顯示了樣本地址映射(即N位地址的映射)表I樣本地址映射比特N-1 比特0
地址的設(shè)備ID字段包括表示存儲(chǔ)器系統(tǒng)200中的特定存儲(chǔ)器設(shè)備的值,存儲(chǔ)段(Bank)的字段包括表示由設(shè)備ID標(biāo)識(shí)的存儲(chǔ)器設(shè)備內(nèi)的子陣列的值,并且行和列的字段包括標(biāo)識(shí)與設(shè)備ID和段值關(guān)聯(lián)的存儲(chǔ)器段中的具體位置的值。然而,如同下文所述的,設(shè)備ID的值并不指定存儲(chǔ)器系統(tǒng)中相關(guān)存儲(chǔ)器設(shè)備的物理位置。
控制器邏輯410從存儲(chǔ)器地址提取設(shè)備ID(例如使用比特掩碼技術(shù))并且將其用作組表414的索引。組表具有針對(duì)每個(gè)各自存儲(chǔ)器設(shè)備的條目,該條目表示各自存儲(chǔ)器設(shè)備被分配到的延遲組。在某些實(shí)施例中,組表414具有如下的表II所示的格式(參考圖2)
表II組數(shù)據(jù)結(jié)構(gòu)
組表414使用參考圖6所述的處理,提供了存儲(chǔ)器地址(由其設(shè)備ID表示)和存儲(chǔ)器設(shè)備104所分配到的延遲組G1...GN之間的映射。盡管表II還示出了物理存儲(chǔ)器設(shè)備的位置,其設(shè)備ID和組值存儲(chǔ)在組表中,在某些實(shí)施例中(例如使用其設(shè)備ID尋址存儲(chǔ)器設(shè)備的實(shí)施例),物理存儲(chǔ)器位置不被存儲(chǔ)在組表414中。在其他實(shí)施例中,組表414存儲(chǔ)每個(gè)存儲(chǔ)器設(shè)備的物理位置。
一旦通過(guò)組表414確定了存儲(chǔ)器訪問請(qǐng)求的物理存儲(chǔ)器設(shè)備和延遲組,如果連續(xù)的存儲(chǔ)器訪問請(qǐng)求屬于不同組,則可能需要對(duì)所述連續(xù)的存儲(chǔ)器訪問請(qǐng)求進(jìn)行延時(shí),從而避免數(shù)據(jù)總線沖突。如果連續(xù)的請(qǐng)求的延遲組不同,并且特別是如果當(dāng)前的存儲(chǔ)器請(qǐng)求是在比先前存儲(chǔ)器訪問請(qǐng)求的延遲組(由最后的組數(shù)據(jù)結(jié)構(gòu)416中存儲(chǔ)的數(shù)據(jù)標(biāo)識(shí))較低的延遲組中的存儲(chǔ)器設(shè)備中讀取數(shù)據(jù)的請(qǐng)求,則控制器邏輯410將當(dāng)前存儲(chǔ)器訪問命令的傳輸延時(shí)足夠的時(shí)間量以避免由緊接在前面的和當(dāng)前存儲(chǔ)器訪問的命令返回的數(shù)據(jù)之間的沖突。更一般地,當(dāng)前和先前存儲(chǔ)器訪問請(qǐng)求的組延遲可以用于確定先前存儲(chǔ)器訪問請(qǐng)求的傳輸和當(dāng)前存儲(chǔ)器訪問請(qǐng)求的傳輸之間的最小時(shí)間延時(shí)。如果當(dāng)前和先前存儲(chǔ)器訪問請(qǐng)求之間的時(shí)間小于確定的最小時(shí)間延時(shí),則當(dāng)前存儲(chǔ)器訪問事務(wù)的傳輸必須被延時(shí),直到先前存儲(chǔ)器訪問請(qǐng)求的傳輸至少經(jīng)過(guò)了最小時(shí)間延時(shí)為止。注意,如果存儲(chǔ)器訪問請(qǐng)求并非連續(xù)的,并且分隔了足夠的時(shí)間量,則不需要延時(shí)后續(xù)的存儲(chǔ)器訪問請(qǐng)求,因?yàn)椴粫?huì)發(fā)生數(shù)據(jù)總線沖突。
連續(xù)的存儲(chǔ)器訪問請(qǐng)求之間的延時(shí)可以通過(guò)各種方式實(shí)現(xiàn),例如在發(fā)送存儲(chǔ)器訪問命令之前由控制器邏輯410執(zhí)行預(yù)定數(shù)量的“無(wú)操作”命令,或者將存儲(chǔ)器接口106中的定時(shí)電路編程為將存儲(chǔ)器訪問命令的發(fā)送延時(shí)指定的時(shí)間量(例如指定數(shù)量的控制器時(shí)鐘周期或者指定數(shù)量的存儲(chǔ)器總線周期)。
使用上述技術(shù),對(duì)映射到存儲(chǔ)器設(shè)備104-0、104-1以及104-2的存儲(chǔ)器地址的存儲(chǔ)器請(qǐng)求將具有組延遲L1,該組延遲L1低于由全局一致化提供的延遲LG。類似地,對(duì)映射到存儲(chǔ)器設(shè)備104-5至104-N的存儲(chǔ)器地址的存儲(chǔ)器請(qǐng)求將具有組延遲L2,該組延遲L2大于或者等于由全局一致化提供的延遲LG。
圖5為采用分組一致化并且包含緩沖存儲(chǔ)器以擴(kuò)充容量和/或改善信號(hào)完整性的存儲(chǔ)器系統(tǒng)500的方框圖。存儲(chǔ)器系統(tǒng)500一般包括耦合到串聯(lián)的緩沖存儲(chǔ)器504的存儲(chǔ)器控制器502。每個(gè)緩沖存儲(chǔ)器耦合到一個(gè)或者多個(gè)存儲(chǔ)器設(shè)備,共同形成存儲(chǔ)器模塊。在某些實(shí)施例中,可以通過(guò)將每個(gè)單獨(dú)存儲(chǔ)器模塊指定到其自身的延遲組而實(shí)現(xiàn)分組一致化。在其他實(shí)施例中,模塊內(nèi)最靠近緩沖存儲(chǔ)器的存儲(chǔ)器設(shè)備可以在一個(gè)延遲組中,而遠(yuǎn)離緩沖存儲(chǔ)器的相同模塊上的存儲(chǔ)器設(shè)備可以在另一個(gè)延遲組中。在此配置中,不同模塊中的存儲(chǔ)器設(shè)備子集可能在相同延遲組中??商鎿Q地,多個(gè)存儲(chǔ)器模塊可以被指定到相同的延遲組。
圖6為向采用分組一致化的存儲(chǔ)器系統(tǒng)200中使用的存儲(chǔ)器設(shè)備分配存儲(chǔ)器地址的處理的流程圖。在某些實(shí)施例中,分配存儲(chǔ)器地址給存儲(chǔ)器設(shè)備的處理在存儲(chǔ)器系統(tǒng)200初始化期間進(jìn)行。所述處理開始于將存儲(chǔ)器設(shè)備104分配到延遲組G1...GN(步驟600)??梢跃哂腥我鈹?shù)量的延遲組G1...GN,每個(gè)組具有不同的延遲。接著,標(biāo)識(shí)存儲(chǔ)器系統(tǒng)200的存儲(chǔ)器地址空間中最頻繁被訪問的部分(步驟602)。這可以通過(guò)使用監(jiān)視設(shè)備(例如存儲(chǔ)器訪問監(jiān)視電路)、監(jiān)視軟件或者存儲(chǔ)器控制器中的監(jiān)視邏輯以監(jiān)視存儲(chǔ)器訪問請(qǐng)求并且確定存儲(chǔ)器地址空間的各個(gè)部分的存儲(chǔ)器訪問頻率,在系統(tǒng)開發(fā)或者實(shí)際操作(on-the-fly)期間進(jìn)行實(shí)驗(yàn)而實(shí)現(xiàn)。最后的步驟包括將存儲(chǔ)器地址空間的標(biāo)識(shí)部分映射604到所分配的延遲組中的存儲(chǔ)器設(shè)備104。其結(jié)果是使得被最頻繁地訪問的地址(或者更準(zhǔn)確的說(shuō)是被最頻繁地訪問的地址范圍)被映射到最靠近存儲(chǔ)器控制器202的存儲(chǔ)器設(shè)備以降低平均訪問延遲。注意,訪問頻率可能隨著時(shí)間而改變。因此,分組一致化技術(shù)相對(duì)于傳統(tǒng)全局一致化技術(shù)的優(yōu)點(diǎn)在于基于監(jiān)視存儲(chǔ)器訪問頻率而動(dòng)態(tài)改變存儲(chǔ)器地址映射的能力。換言之,在某些實(shí)施例中,步驟602和604在適當(dāng)?shù)臅r(shí)間被重新執(zhí)行以將被最頻繁地訪問的地址范圍重新映射到具有最低延遲的延遲組,或者更一般地重新映射到一個(gè)延遲組,所述延遲組具有相關(guān)的延遲小于至少一個(gè)其他延遲組的延遲。
圖7為在采用分組一致化的存儲(chǔ)器系統(tǒng)200中控制延遲的處理的流程圖。在某些實(shí)施例中,控制采用分組一致化的存儲(chǔ)器系統(tǒng)200中的延遲的處理在存儲(chǔ)器系統(tǒng)200工作期間進(jìn)行。所述處理開始于解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備ID(步驟700)。存儲(chǔ)器系統(tǒng)200標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組(步驟702)。在某些實(shí)施例中,該步驟通過(guò)使用存儲(chǔ)器設(shè)備ID作為具有如表II所示結(jié)構(gòu)的組表414中的索引而完成。一旦標(biāo)識(shí)了延遲組(步驟702),則與先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組和先前存儲(chǔ)器訪問請(qǐng)求的時(shí)間進(jìn)行比較(步驟704)。響應(yīng)于所述比較(步驟704),生成定時(shí)控制信號(hào)(步驟706)。更具體的,如果當(dāng)前存儲(chǔ)器請(qǐng)求為讀取比緊接在當(dāng)前請(qǐng)求之前的存儲(chǔ)器讀取請(qǐng)求較低的延遲組中的存儲(chǔ)器設(shè)備中的數(shù)據(jù),則所述定時(shí)控制信號(hào)導(dǎo)致控制器邏輯將當(dāng)前的存儲(chǔ)器訪問命令的傳輸延時(shí)需要的時(shí)間量,從而避免由緊接在先的和當(dāng)前的存儲(chǔ)器訪問命令返回的數(shù)據(jù)之間發(fā)生沖突。
對(duì)于某些系統(tǒng),可能需要與多個(gè)先前事務(wù)進(jìn)行比較以避免數(shù)據(jù)總線沖突。如果存儲(chǔ)器系統(tǒng)的最大和最小的組延遲之間的差別大(多個(gè)存儲(chǔ)器總線周期),則步驟704可能需要將當(dāng)前存儲(chǔ)器請(qǐng)求的延遲組與K個(gè)先前存儲(chǔ)器訪問命令的每一個(gè)的延遲組進(jìn)行比較,其中K表示能夠與當(dāng)前存儲(chǔ)器訪問請(qǐng)求潛在地發(fā)生干擾的最大數(shù)量的先前存儲(chǔ)器訪問請(qǐng)求。此外,當(dāng)前存儲(chǔ)器請(qǐng)求被延時(shí)的量,如果存在的話,是潛在干擾的存儲(chǔ)器請(qǐng)求之間的組延遲中的差異以及潛在發(fā)生干擾的存儲(chǔ)器請(qǐng)求的時(shí)間的函數(shù)。例如,如果存儲(chǔ)器系統(tǒng)的最大和最小組延遲之間的差異為8個(gè)存儲(chǔ)器總線周期,并且如果每個(gè)讀取請(qǐng)求占用存儲(chǔ)器總線上的4個(gè)存儲(chǔ)器總線周期,則控制器邏輯需要將當(dāng)前延遲組與多個(gè)先前的存儲(chǔ)器訪問請(qǐng)求比較以確保不會(huì)發(fā)生數(shù)據(jù)總線沖突。如果當(dāng)前的存儲(chǔ)器訪問請(qǐng)求被發(fā)現(xiàn)與任何先前存儲(chǔ)器訪問請(qǐng)求發(fā)生干擾,則當(dāng)前存儲(chǔ)器訪問請(qǐng)求的存儲(chǔ)器訪問命令的傳輸被延時(shí)一定的時(shí)間量(例如多個(gè)控制器時(shí)鐘周期或者多個(gè)存儲(chǔ)器總線周期),所述時(shí)間量是避免響應(yīng)于先前和當(dāng)前存儲(chǔ)器訪問請(qǐng)求返回的數(shù)據(jù)的沖突所需的時(shí)間量。
以上為了解釋目的參考具體實(shí)施例描述了本發(fā)明。然而,以上的示例性討論并非試圖窮舉,或?qū)⒈景l(fā)明限制于所公開的具體形式。參考上述內(nèi)容可以做出各種修改和變形。所述實(shí)施例被選擇并且描述為最好的解釋本發(fā)明的原理及其實(shí)際應(yīng)用,從而使得本領(lǐng)域技術(shù)人員可以最好地利用本發(fā)明以及通過(guò)各種修改的各種實(shí)施例適合于預(yù)期的特定應(yīng)用。
權(quán)利要求
1.一種對(duì)在存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的方法,包括將所述存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備分配到包含第一延遲組和第二延遲組的延遲組,其中所述第一延遲組具有低于所述第二延遲組的延遲;標(biāo)識(shí)存儲(chǔ)器地址空間的至少第一和第二部分;將所述地址空間的所述第一部分映射到被分配到所述第一延遲組的至少一個(gè)存儲(chǔ)器設(shè)備;以及將所述地址空間的所述第二部分映射到被分配到所述第二延遲組的至少一個(gè)存儲(chǔ)器設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其中所述映射為所述地址空間的所述第一部分提供低于所述地址空間的所述第二部分的延遲,從而導(dǎo)致系統(tǒng)性能的改善。
3.根據(jù)權(quán)利要求1所述的方法,其中所述標(biāo)識(shí)是基于對(duì)所述存儲(chǔ)器地址空間的各個(gè)部分的訪問頻率,并且其中所述地址空間的所述第一部分比所述地址空間的所述第二部分更加頻繁的被訪問。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括接收包含存儲(chǔ)器設(shè)備標(biāo)識(shí)符的存儲(chǔ)器訪問請(qǐng)求;基于所述標(biāo)識(shí)符確定所述存儲(chǔ)器設(shè)備的所述延遲組;以及基于所述存儲(chǔ)器設(shè)備的所述延遲組生成定時(shí)控制信號(hào)。
5.根據(jù)權(quán)利要求4所述的方法,其中確定所述存儲(chǔ)器設(shè)備的所述延遲組的所述步驟進(jìn)一步包括將所述延遲組與和先前的存儲(chǔ)器請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較;以及基于所述比較生成定時(shí)控制信號(hào)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述第一和第二延遲組的所述延遲至少部分地由于將被分配給所述第一和第二延遲組的存儲(chǔ)器設(shè)備與存儲(chǔ)器控制器互連的通道上的信號(hào)電學(xué)傳播時(shí)間所引起。
7.一種適合于在支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)中使用的存儲(chǔ)器設(shè)備,包括存儲(chǔ)器陣列;命令接口,耦合到所述存儲(chǔ)器陣列,并且適合于耦合到存儲(chǔ)器系統(tǒng)以接收延時(shí)值,其中所述延時(shí)值與多個(gè)延遲組中的各自的延遲組關(guān)聯(lián);以及延時(shí)設(shè)備,耦合到所述命令接口和輸出數(shù)據(jù)路徑,所述延時(shí)設(shè)備配置為將從所述存儲(chǔ)器陣列獲取的并且在所述輸出數(shù)據(jù)路徑上傳輸?shù)臄?shù)據(jù)延時(shí)由所述延時(shí)值確定的延時(shí)周期。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器設(shè)備,其中每個(gè)延遲組與不同的延時(shí)值關(guān)聯(lián)。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)器設(shè)備,其中與至少一個(gè)延遲組關(guān)聯(lián)的至少一個(gè)延時(shí)值至少部分地由于將被分配給所述延遲組的存儲(chǔ)器設(shè)備與存儲(chǔ)器控制器互連的通道上的信號(hào)電學(xué)傳播時(shí)間所引起。
10.根據(jù)權(quán)利要求7所述的存儲(chǔ)器設(shè)備,其中與所述各自的延遲組關(guān)聯(lián)的所述延時(shí)值是基于所述組中的最高訪問延遲。
11.根據(jù)權(quán)利要求7所述的存儲(chǔ)器設(shè)備,其中所述存儲(chǔ)器設(shè)備被包含在存儲(chǔ)器模塊中并且所述存儲(chǔ)器模塊被分配到所述各自的延遲組。
12.根據(jù)權(quán)利要求11所述的存儲(chǔ)器設(shè)備,其中所述存儲(chǔ)器模塊通過(guò)緩沖存儲(chǔ)器耦合到所述存儲(chǔ)器控制器。
13.根據(jù)權(quán)利要求7所述的存儲(chǔ)器設(shè)備,其中所述延時(shí)設(shè)備包括移位寄存器。
14.一種對(duì)在支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的方法,包括解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備標(biāo)識(shí)符;標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組,其中所述延遲組是所述存儲(chǔ)器系統(tǒng)中的多個(gè)延遲組之一;將所述標(biāo)識(shí)的延遲組與和先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較;以及響應(yīng)于所述比較結(jié)果生成定時(shí)控制信號(hào)。
15.根據(jù)權(quán)利要求14所述的方法,其中生成定時(shí)控制信號(hào)進(jìn)一步包括確定與所述所標(biāo)識(shí)的延遲組以及與所述先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的所述延遲組相對(duì)應(yīng)的最小時(shí)間差是否大于所述存儲(chǔ)器訪問請(qǐng)求以及所述先前存儲(chǔ)器訪問請(qǐng)求之間的時(shí)間差;以及當(dāng)所述確定結(jié)果為肯定時(shí),將所述存儲(chǔ)器訪問請(qǐng)求的存儲(chǔ)器訪問命令的發(fā)出延時(shí)足以避免總線沖突的時(shí)間。
16.根據(jù)權(quán)利要求15所述的方法,其中延時(shí)發(fā)出存儲(chǔ)器訪問命令進(jìn)一步包括在發(fā)出所述存儲(chǔ)器訪問命令之前發(fā)出至少一個(gè)無(wú)操作命令。
17.根據(jù)權(quán)利要求14所述的方法,其中所述定時(shí)控制信號(hào)被用于將與所述存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的存儲(chǔ)器訪問命令的傳輸進(jìn)行延時(shí)。
18.一種在支持多訪問延遲的計(jì)算機(jī)系統(tǒng)中使用的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和嵌入其中的計(jì)算機(jī)程序機(jī)制,所述計(jì)算機(jī)程序機(jī)制包括解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備標(biāo)識(shí)符;標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組,其中所述延遲組是所述存儲(chǔ)器系統(tǒng)中的多個(gè)延遲組之一;將所述標(biāo)識(shí)的延遲組與和先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較;以及響應(yīng)于所述比較結(jié)果生成定時(shí)控制信號(hào)。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中所述延遲組是通過(guò)使用所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符訪問查找表而標(biāo)識(shí)的。
20.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其中每個(gè)延遲組與不同的存儲(chǔ)器訪問延遲關(guān)聯(lián)。
21.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)程序產(chǎn)品,其中與至少一個(gè)延遲組關(guān)聯(lián)的至少一個(gè)存儲(chǔ)器訪問延遲至少部分地由于將被分配給所述延遲組的存儲(chǔ)器設(shè)備與存儲(chǔ)器控制器互連的通道上的信號(hào)電學(xué)傳播時(shí)間所引起。
22.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)程序產(chǎn)品,其中與所述標(biāo)識(shí)的延遲組關(guān)聯(lián)的所述存儲(chǔ)器訪問延遲是基于所述所標(biāo)識(shí)的延遲組中的最高訪問延遲。
23.一種用于對(duì)在支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的系統(tǒng),包括存儲(chǔ)器,適合于耦合到處理器,并且包括包含了指令的計(jì)算機(jī)程序產(chǎn)品,所述指令當(dāng)由所述處理器執(zhí)行時(shí)使得所述處理器執(zhí)行如下操作解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備標(biāo)識(shí)符;標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組,其中所述所標(biāo)識(shí)的延遲組是所述存儲(chǔ)器系統(tǒng)中的多個(gè)延遲組之一;將所述標(biāo)識(shí)的延遲組與和先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較;以及響應(yīng)于所述比較結(jié)果生成定時(shí)控制信號(hào)。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述延遲組是通過(guò)使用所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符訪問查找表而標(biāo)識(shí)的。
25.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述延遲組是從多個(gè)延遲組中選擇的,其中每個(gè)延遲組與不同的存儲(chǔ)器訪問延遲關(guān)聯(lián)。
26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中與至少一個(gè)延遲組關(guān)聯(lián)的至少一個(gè)存儲(chǔ)器訪問延遲至少部分地由于將被分配給所述延遲組的存儲(chǔ)器設(shè)備與存儲(chǔ)器控制器互連的通道上的信號(hào)電學(xué)傳播時(shí)間所引起。
27.根據(jù)權(quán)利要求25所述的系統(tǒng),其中與所述標(biāo)識(shí)的延遲組關(guān)聯(lián)的所述存儲(chǔ)器訪問延遲是基于所述所標(biāo)識(shí)的延遲組中的最高訪問延遲。
28.一種用于對(duì)在支持多存儲(chǔ)器訪問延遲的存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器設(shè)備的訪問進(jìn)行控制的系統(tǒng),包括用于解碼存儲(chǔ)器訪問請(qǐng)求以提供存儲(chǔ)器設(shè)備標(biāo)識(shí)符的裝置;用于標(biāo)識(shí)與所述存儲(chǔ)器設(shè)備標(biāo)識(shí)符關(guān)聯(lián)的延遲組的裝置,其中所述所標(biāo)識(shí)的延遲組是所述系統(tǒng)的存儲(chǔ)器系統(tǒng)中的多個(gè)延遲組之一;用于將所述標(biāo)識(shí)的延遲組與和先前存儲(chǔ)器訪問請(qǐng)求關(guān)聯(lián)的延遲組進(jìn)行比較的裝置;以及用于響應(yīng)于所述比較結(jié)果生成定時(shí)控制信號(hào)的裝置。
29.根據(jù)權(quán)利要求28所述的系統(tǒng),其中每個(gè)延遲組與不同的存儲(chǔ)器訪問延遲關(guān)聯(lián)。
30.根據(jù)權(quán)利要求29所述的系統(tǒng),其中與至少一個(gè)延遲組關(guān)聯(lián)的至少一個(gè)存儲(chǔ)器訪問延遲至少部分地由于將被分配給所述延遲組的存儲(chǔ)器設(shè)備與存儲(chǔ)器控制器互連的通道上的信號(hào)電學(xué)傳播時(shí)間所引起。
31.一種系統(tǒng),包括存儲(chǔ)器控制器;第一存儲(chǔ)器模塊,耦合到所述存儲(chǔ)器控制器,其中所述第一存儲(chǔ)器模塊包括第一緩沖存儲(chǔ)器和耦合到所述第一緩沖存儲(chǔ)器的第一存儲(chǔ)器設(shè)備,所述第一緩沖存儲(chǔ)器具有第一分配的訪問延遲;以及第二存儲(chǔ)器模塊,耦合到所述存儲(chǔ)器控制器,其中所述第二存儲(chǔ)器模塊包括第二緩沖存儲(chǔ)器和耦合到所述第二緩沖存儲(chǔ)器的第二存儲(chǔ)器設(shè)備,所述第二緩沖存儲(chǔ)器具有第二分配的訪問延遲。
32.根據(jù)權(quán)利要求31所述的系統(tǒng),其中所述第一存儲(chǔ)器模塊設(shè)置為與所述第二存儲(chǔ)器模塊串聯(lián)。
33.根據(jù)權(quán)利要求31所述的系統(tǒng),其中所述第一分配的訪問延遲包括讀取請(qǐng)求從所述控制器被驅(qū)動(dòng)到所述第一緩沖存儲(chǔ)器的時(shí)間至讀取完成數(shù)據(jù)被從所述第一緩沖存儲(chǔ)器發(fā)送到所述控制器并由所述控制器采樣的時(shí)間。
34.根據(jù)權(quán)利要求31所述的系統(tǒng),其中所述第二分配的訪問延遲包括讀取請(qǐng)求從所述控制器被驅(qū)動(dòng)到所述第二緩沖存儲(chǔ)器的時(shí)間至讀取完成數(shù)據(jù)被從所述第二緩沖存儲(chǔ)器發(fā)送到所述控制器并由所述控制器采樣的時(shí)間。
35.一種存儲(chǔ)器模塊,包括第一存儲(chǔ)器設(shè)備,具有第一關(guān)聯(lián)的延遲;第二存儲(chǔ)器設(shè)備,具有第二關(guān)聯(lián)的延遲;以及緩沖存儲(chǔ)器,耦合到所述第一和第二存儲(chǔ)器設(shè)備,所述緩沖存儲(chǔ)器被置于所述存儲(chǔ)器設(shè)備和存儲(chǔ)器控制器之間。
36.一種系統(tǒng),包括存儲(chǔ)器控制器;以及第一存儲(chǔ)器模塊,所述第一存儲(chǔ)器模塊包括緩沖存儲(chǔ)器,耦合到所述存儲(chǔ)器控制器;第一存儲(chǔ)器設(shè)備,耦合到所述緩沖存儲(chǔ)器;以及第二存儲(chǔ)器設(shè)備,耦合到所述緩沖存儲(chǔ)器,其中所述第一存儲(chǔ)器設(shè)備具有第一關(guān)聯(lián)的延遲并且所述第二存儲(chǔ)器設(shè)備具有第二關(guān)聯(lián)的延遲。
37.一種訪問置于第一和第二存儲(chǔ)器模塊上的存儲(chǔ)器設(shè)備的方法,所述方法包括為所述第一存儲(chǔ)器模塊分配第一訪問延遲,所述第一存儲(chǔ)器模塊包括第一緩沖存儲(chǔ)器和耦合到所述第一緩沖存儲(chǔ)器的第一存儲(chǔ)器設(shè)備;以及為所述第二存儲(chǔ)器模塊分配第二訪問延遲,所述第二存儲(chǔ)器模塊包括第二緩沖存儲(chǔ)器和耦合到所述第二緩沖存儲(chǔ)器的第二存儲(chǔ)器設(shè)備。
全文摘要
一種具有多個(gè)存儲(chǔ)器設(shè)備的存儲(chǔ)器系統(tǒng),其通過(guò)以下降低平均訪問延遲針對(duì)物理存儲(chǔ)器的不同區(qū)域支持不同延遲;提供有助于將頻繁訪問的存儲(chǔ)器地址置于物理存儲(chǔ)器的最低延遲區(qū)域的地址映射;以及,將頻繁訪問的存儲(chǔ)器地址分配到物理存儲(chǔ)器的最低延遲區(qū)域。
文檔編號(hào)G06F13/16GK1977336SQ200580021815
公開日2007年6月6日 申請(qǐng)日期2005年5月20日 優(yōu)先權(quán)日2004年5月21日
發(fā)明者史蒂文·C·伍, 布賴恩·H·特桑 申請(qǐng)人:拉姆伯斯公司