在存在實時存儲器流量的情況下的存儲器遷移的制作方法
【專利說明】在存在實時存儲器流量的情況下的存儲器遷移
[0001]對相關(guān)申請的交叉引用
[0002]本申請援引35U.S.C.§ 119(e)要求于2014年3月31日提交的美國臨時專利申請序列N0.61/973,107的優(yōu)先權(quán)。相應(yīng)地,美國臨時專利申請序列N0.61/973,10的全部內(nèi)容通過引用被結(jié)合于此。
【背景技術(shù)】
[0003]在計算當(dāng)中,在訪問請求中指定的存儲器地址經(jīng)歷映射操作,以確定對應(yīng)的存儲器位置。程序生成的地址需要經(jīng)歷映射過程,以識別保持?jǐn)?shù)據(jù)的具體硬件部件。映射的一個例子是識別具體的雙列直插存儲器模塊(DIMM)、具體的秩(rank)、具體的庫(bank)、具體的行等等。這種映射通常根據(jù)系統(tǒng)如何被建立而變化,并且依賴于諸如哪些槽填充有動態(tài)隨機存取存儲器(DRAM)硬件并且哪種類型的DRAM硬件在每個被填充的槽中存在之類的配置信息。系統(tǒng)配置信息一般被認(rèn)為是靜態(tài)的,并且DRAM配置中的任何改變都需要重新啟動。如果映射操作需要改變,則典型的方法需要系統(tǒng)重新啟動或者全部存儲器流量暫停。這種方法對用戶有不利的影響。無論如何,修改映射操作有時候仍然是必要的。
【發(fā)明內(nèi)容】
[0004]總體上,在一方面,本發(fā)明涉及用于從第一尋址方案到第二尋址方案的存儲器迀移的方法。該方法包括:由相關(guān)性排序單元(C0U)接收訪問第一存儲器地址的第一請求和訪問第二存儲器地址的第二請求;由C0U利用引用界線地址并且分開已迀移的地址與未迀移的界線指針來比較第一存儲器地址和第二存儲器地址;響應(yīng)于第一存儲器地址在界線地址的未迀移側(cè),由C0U用指示第一尋址方案的第一標(biāo)簽標(biāo)記第一請求;響應(yīng)于第二存儲器地址在界線地址的已迀移側(cè),由C0U用指示第二尋址方案的第二標(biāo)簽標(biāo)記第二請求;以及由C0U將第一請求發(fā)送到第一存儲器控制器單元(MCU)并且將第二請求發(fā)送到第二 MCU,其中第一 MCU響應(yīng)于第一標(biāo)簽而根據(jù)第一尋址方案解釋第一存儲器地址,并且其中第二 MCU響應(yīng)于第二標(biāo)簽而根據(jù)第二尋址方案解釋第二存儲器地址。
[0005]總體上,在一方面,本發(fā)明涉及用于從第一尋址方案到第二尋址方案的存儲器迀移的系統(tǒng)。該系統(tǒng)包括:用戶應(yīng)用,被配置為:發(fā)出訪問第一存儲器地址的第一請求;并且發(fā)出訪問第二存儲器地址的第二請求;相關(guān)性排序單元(C0U),包括引用界線地址的界線指針并且被配置為:比較第一存儲器地址和第二存儲器地址與界線地址,其中界線地址分開已迀移的地址與未迀移的地址;響應(yīng)于第一存儲器地址在界線地址的未迀移側(cè)而在第一請求上放置指示第一尋址方案的第一標(biāo)簽;并且響應(yīng)于第二存儲器地址在界線地址的已迀移側(cè)而在第二請求上放置指示第二尋址方案的第二標(biāo)簽;以及第一存儲器控制器(MC),其連接到C0U并且被配置為響應(yīng)于第一標(biāo)簽而根據(jù)第一尋址方案解釋第一請求;及第二 MC,其連接到C0U并且被配置為響應(yīng)于第二標(biāo)簽而根據(jù)第二尋址方案解釋第二請求。
[0006]總體上,在一方面,本發(fā)明涉及用于從第一尋址方案到第二尋址方案的存儲器迀移的系統(tǒng)。該系統(tǒng)包括:用戶應(yīng)用,被配置為:發(fā)出訪問第一存儲器地址的第一請求;并且發(fā)出訪問第二存儲器地址的第二請求;相關(guān)性排序單元(COU),被配置為:修改界線指針,以引用界線地址;比較第一存儲器地址和第二存儲器地址與界線地址,其中界線地址分開已迀移的地址與未迀移的地址;響應(yīng)于第一存儲器地址在界線地址的未迀移側(cè)而在第一請求上放置指示第一尋址方案的第一標(biāo)簽;并且響應(yīng)于第二存儲器地址在界線地址的已迀移側(cè)而在第二請求上放置指示第二尋址方案的第二標(biāo)簽;擦洗器,連接到COU并且被配置為:響應(yīng)于界線指針被修改而建立時間窗口 ;響應(yīng)于該時間窗口到期而發(fā)出指向界線地址的讀請求;響應(yīng)于該讀請求而接收值;以及發(fā)出包括該值并指向界線地址的寫請求;第一存儲器控制器(MC),其連接到COU并且被配置為響應(yīng)于第一標(biāo)簽而根據(jù)第一尋址方案解釋第一請求;及第二 MC,其連接到COU并且被配置為響應(yīng)于第二標(biāo)簽而根據(jù)第二尋址方案解釋第二請求。
[0007]本發(fā)明的其它方面將根據(jù)以下描述和所附權(quán)利要求變得清晰。
【附圖說明】
[0008]圖1示出了根據(jù)本發(fā)明的一個或多個實施例的系統(tǒng)。
[0009]圖2-4示出了根據(jù)本發(fā)明的一個或多個實施例的流程圖。
[0010]圖5示出了根據(jù)本發(fā)明的一個或多個實施例的計算機系統(tǒng)。
【具體實施方式】
[0011]現(xiàn)在將參考附圖詳細(xì)地描述本發(fā)明的具體實施例。為了一致性,各個附圖中相同的元素用相同的附圖標(biāo)記表示。
[0012]在以下對本發(fā)明實施例的詳細(xì)描述中,闡述了眾多具體細(xì)節(jié),以便提供對本發(fā)明的更透徹理解。但是,對本領(lǐng)域普通技術(shù)人員將清楚的是,本發(fā)明沒有這些具體細(xì)節(jié)也可以被實踐。在其它情況下,眾所周知的特征沒有詳細(xì)描述,以避免不必要地使描述復(fù)雜化。
[0013]總體上,本發(fā)明的實施例涉及用于存在實時存儲器流量時的存儲器地址的動態(tài)重映射的方法和系統(tǒng)。硬件具有被編程在其中的兩種映射方案。首先,所有存儲器都利用被表示為“舊的”第一映射方案被訪問,并且最終所有存儲器都需要利用被表示為“新的”第二映射方案被訪問。迀移是借助于被稱為“界線”的硬件寄存器來進行的。界線寄存器包含對照所有存儲器流量進行比較的存儲器地址。大于界線的地址和小于界線的地址被區(qū)別對待。一組被認(rèn)為是“未迀移的”,這意味著它們必須利用舊方案進行映射;而另一組被認(rèn)為是“已迀移的”,這意味著它們必須利用新方案進行映射。訪問請求中的地址與引用界線地址的界線指針進行比較,其中界線地址分開已迀移的地址與未迀移的地址。如果地址落入已迀移的地址內(nèi),則訪問請求被標(biāo)記為已迀移的并且被發(fā)出,用于根據(jù)新尋址方案進行解釋。換句話說,訪問請求利用指示新尋址方案的標(biāo)簽進行標(biāo)記。如果地址落入未迀移的地址內(nèi),則訪問請求被標(biāo)記為未迀移的并且因此根據(jù)舊尋址方案進行解釋。換句話說,訪問請求利用指示舊尋址方案的標(biāo)簽進行標(biāo)記。對界線地址的寫請求觸發(fā)對界線指針的更新。
[0014]具體而言,本發(fā)明的實施例涉及與對存儲器模塊的訪問請求相關(guān)的尋址方案的選擇。另外,本發(fā)明的實施例涉及對存儲器模塊中的地址的訪問請求(例如,只讀訪問請求、只寫訪問請求、讀/寫訪問請求)的動態(tài)存儲器迀移。
[0015]圖1示出了根據(jù)本發(fā)明的一個或多個實施例的系統(tǒng)。如圖1中所示,系統(tǒng)包括處理器(102)、一個或多個緩沖區(qū)芯片(例如,緩沖區(qū)芯片A(108A)、緩沖區(qū)芯片B(108B)、緩沖區(qū)芯片C(108C)、緩沖區(qū)芯片D(108D))以及一個或多個存儲器模塊(MM)(例如,MM A(112A)、MM B(112B)、MM C(112C)、MM D(112D)、MM E(112E)、MM F(112F)、MM G(112G)、MM H(112H)、MM I(112I)、MM J(112J)、MM K(112K)、MM L(112L)、MM M(112M)、MM N(112N)、MM 0(1120)、MM P(112P))。每個部件在下面描述。
[0016]在本發(fā)明的一個或多個實施例中,每個MM(112A-112P)是包括用于存儲內(nèi)容(例如,數(shù)據(jù)值、高速緩存行等等)的多個位置的集成電路。這些位置當(dāng)中的每一個是利用地址被引用的。用戶應(yīng)用生成存儲器讀和寫,并且這種用戶生成的地址由硬件利用在啟動時被設(shè)置的配置信息被映射到具體的MM位置。每個MM可以是雙列直插存儲器模塊(DIMM)。也可以使用其它類型的存儲器。
[0017]在本發(fā)明的一個或多個實施例中,處理器(102)包括一個或多個存儲器控制器單元(MCU)(例如,存儲器控制器單元A(106A)、存儲器控制器單元B(106B)、存儲器控制器單元C(106C)、存儲器控制器單元D(106D))。MCU(106A-106D)包括解釋指定的地