專利名稱:用于與異構數(shù)據(jù)直插式存儲器模塊接口連接的方法和裝置的制作方法
技術領域:
本發(fā)明的實施例總地涉及處理器領域。更特別地,本發(fā)明的實施例涉及用于將處理器和異構數(shù)據(jù)直插式存儲器模塊(DIMM)接口連接的方法和裝置。
背景技術:
與計算設備在高級別相關聯(lián)的存儲器模塊被用于處理兩種一般種類的數(shù)據(jù)—— 圖形數(shù)據(jù)和普通數(shù)據(jù)。處理圖形的例子包括在屏幕上顯示圖象,而處理普通數(shù)據(jù)而非圖形的例子包括處理財務數(shù)據(jù)、文字文檔處理等。與處理圖形相關聯(lián)的存儲器模塊包括數(shù)據(jù)遮罩(DM) DIMM (DM-DIMM)。DM-DIMM被專門設計為改善DM-DIMM內(nèi)動態(tài)隨機存取存儲器(DRAM) 的存儲器使用。這種DM-DIMM具有專門的腳位(pin-out)接口可以只接口連接存儲器控制器,該存儲器控制器被特別設計來與DM-DIMM接口連接。定制的存儲器控制器只與DM-DIMM 接口連接的一個原因是處理圖形時提供對DM-DIMM的DRAM的快速讀寫操作。對DM-DIMM 的DRAM的快速讀寫操作通過具有與DM-DIMM的每個DRAM的數(shù)據(jù)通道(或者總線)相關聯(lián)的單獨DM比特信號來實現(xiàn)。DM比特信號的一個目的是遮罩相關聯(lián)的數(shù)據(jù)通道來避免對與所述DM比特信號相關聯(lián)的DRAM不必要的寫操作。例如,如果圖像的細小或者視覺上微小的部分要被更新為新數(shù)據(jù)而圖像的剩余部分保持不變,那么最終的新圖像不需要被計算和在DM-DMM中重新存儲。在這種情況下, DRAM的DM比特信號被斷言為停止對DRAM中圖像數(shù)據(jù)的任何更新。這樣的數(shù)據(jù)遮罩比特信號節(jié)省了 DRAM上密集的讀寫操作,因為最終的圖像不需要因為細小或者視覺上微小的更新而改變。相反,用于讀和存儲普通數(shù)據(jù)而非圖形的存儲器模塊不能因為細小或者視覺上微小的改變而被遮罩掉。例如,如果財務數(shù)據(jù)的電子表格中只有一個數(shù)字改變,這樣的數(shù)字不能被遮罩掉,因為它剛好是電子表格中整個財務數(shù)據(jù)的一小百分比。因為一個數(shù)字的改變而遮罩整個財務數(shù)據(jù)可能導致不正確的基于被遮罩的財務數(shù)據(jù)的財務分析。這種存儲器模塊可以包括通過糾錯碼(ECC)進行糾錯的能力。所述ECC可以用于擦洗(Scrub)DIMM 的DRAM中的任何錯誤數(shù)據(jù),以使得DIMM中的數(shù)據(jù)就總是正確的。這種存儲器模塊被稱為 ECC-DIMM并且具有專門腳位接口來與被稱為ECC存儲器控制器的特定存儲器控制器接口連接。隨著計算機的構造/結構正變得緊湊,計算機母板上單獨的存儲器控制器與不同 /異構類型的DMM的接口連接造成更大的母板尺寸區(qū)域。異構DMM的例子包括DM-DMM、 ECC-DMM等。此外,計算機的用戶不能將計算機的存儲器控制器與不同/異構DMM接口連接,因為存儲器控制器具有專門的腳位接口和邏輯(硬件和/或軟件)來僅與一種DIMM 而不是異構DIMM接口連接。將DM-DIMM與僅為ECC-DIMM設計的控制器插在一起或者反過來,可能由于例如由DM-DIMM和ECC-DIMM的電源/接地管腳的不同管腳接口引起的電源/ 接地信號短路而導致嚴重的系統(tǒng)故障。
本發(fā)明的實施例將通過下面給出的詳細描述以及本發(fā)明各個實施例的附圖而得到更全面的理解,但是其不應視為將本發(fā)明限制到具體實施例,而應僅用于解釋和理解。圖1說明了根據(jù)本發(fā)明的一個實施例、存儲器控制器與異構數(shù)據(jù)直插式存儲器模塊(DIMM)接口連接的高級系統(tǒng)架構。圖2是根據(jù)本發(fā)明的一個實施例的可操作來與異構DIMM接口連接的存儲器控制
ο圖3A說明了根據(jù)本發(fā)明的一個實施例、用于與數(shù)據(jù)遮罩(DM)DMM(DM-DIMM)接口連接的存儲器控制器。圖3B說明了根據(jù)本發(fā)明的一個實施例、用于與糾錯碼(ECC)DIMM(ECC-DIMM)接口連接的存儲器控制器。圖3C是根據(jù)本發(fā)明的一個實施例的、存儲器控制器與DM-DIMM或者ECC-DIMM接口連接而產(chǎn)生的連接器腳位映射。圖3D是根據(jù)本發(fā)明的一個實施例的、存儲器控制器與DM-DIMM或者ECC-DIMM接口連接產(chǎn)生的連接器腳位映射。圖4A說明了根據(jù)本發(fā)明的另一個實施例、用于將存儲器控制器與異構DIMM接口連接的高級流程圖。圖4B說明了根據(jù)本發(fā)明的一個實施例、用于確定異構DIMM的標識以將存儲器控制器與該異構DIMM接口連接的流程圖。圖4C說明了根據(jù)本發(fā)明的一個實施例、用于將信號映射到存儲器控制器的輸入-輸出(I/O)收發(fā)機以與異構DMM接口連接的流程圖。圖5說明了根據(jù)本發(fā)明的一個實施例的具有機器可讀介質(zhì)的系統(tǒng),在所述介質(zhì)上存儲有用于將存儲器控制器與異構DIMM接口連接的計算機可執(zhí)行指令。
具體實施例方式本發(fā)明的實施例涉及用于將處理器與異構數(shù)據(jù)直插式存儲器模塊(DIMM)接口連接的方法和裝置。為了說明本發(fā)明,本發(fā)明的實施例討論兩種類型的DIMM,它們被稱作異構DIMM。如背景技術部分提到的,第一種類型DIMM是數(shù)據(jù)遮罩(DM)DIMM(DM-DIMM),而第二種類型DIMM是糾錯碼(ECC)DMM(ECC-DMM)。本發(fā)明的實施例不限于這兩種類型DIMM。 其他類型的DIMM也可用來與處理器接口連接而不會改變本發(fā)明實施例的工作原理。在下面的描述中,討論了大量細節(jié)以提供對本發(fā)明的實施例的更透徹的解釋。但是,對本領域技術人員顯而易見的是,可以在沒有這些特定細節(jié)的情況下實踐本發(fā)明的實施例。在其他例子中,公知的結構和設備以框圖形式而非詳細地示出,以免模糊本發(fā)明的實施例。注意,在實施例相應的附圖中信號用線表示。一些線可能粗一些,用于指示有更多組成信號的路徑,和/或在一個或者多個末端具有箭頭,用于指示主要信息流動方向。這種指示并不意圖是限制性的。相反,這些線與一個或多個示例性實施例結合使用以便于更容易理解電路或者邏輯單元。按照設計需要或者偏好的指示,任何表示出的信號可能實際上包括一個或者多個信號,它們可以在任一方向上傳輸,其中任一信號可以用任何合適類型的信號方案(例如,差分對、單端等)來實現(xiàn)。圖1說明了根據(jù)本發(fā)明的一個實施例、存儲器控制器101 (也被稱為處理器或者設備)與異構DIMM 102接口連接的高級系統(tǒng)架構100。在一個實施例中,存儲器控制器101 可操作來通過互連107與異構DIMM 102接口連接和通信。在一個實施例中,在通過串行存在檢測(SPD)標識106確定了異構DIMM 102的標識后,存儲器控制器101可操作來與異構 DIMM 102接口連接和通信。在一個實施例中,SPD標識106包括表示異構DMM 102是具有一個或多個DRAM 單元105的DM-DIMM的標識。在另一個實施例中,SPD標識106包括表示異構DI匪102是具有一個或多個DRAM單元105和ECC DRAM單元(未示出)的ECC-DIMM的標識,所述ECC DRAM單元用于針對DRAM比特中的錯誤來擦洗DRAM單元105。在其他實施例中,SPD標識 106包括表示異構DIMM 102是不同于DM-DIMM和ECC-DIMM的DIMM。在一個實施例中,存儲器控制器101包括一個或多個邏輯單元103 (硬件和/或軟件),用于通過連接器104與異構DIMM 102接口連接。在一個實施例中,連接器104單獨位于母板上而不是被集成在圖1所示的存儲器控制器101中。在其他實施例中,連接器104 功能性地全部被集成在存儲器控制器101中。在一個實施例中,一個或多個邏輯單元103可操作來讀取SPD標識106,并隨后基于SPD標識106來映射(下文中討論)信號以與異構DMM102接口連接。在一個實施例中, 至異構DIMM 102的全部信號均由邏輯單元103根據(jù)SPD標識106來映射。在其他實施例中,只有至異構DMM102的信號的一子集由邏輯單元103根據(jù)SPD標識106來映射。在一個實施例中,存儲器控制器101被并入中央處理單元(CPU)內(nèi)。在其他實施例中,存儲器控制器101是與CPU分離但與CPU通信耦合的獨立處理器(又稱為微控制器)。圖2說明了根據(jù)本發(fā)明的一個實施例示出存儲器控制器101的組件的詳細框圖 200。在一個實施例中,存儲器控制器101可操作來通過連接器104的連接器管腳108和數(shù)據(jù)通道或總線(未示出)與異構DIMM(圖1中102)電耦合。在一個實施例中,連接器管腳 108由向異構DIMM(圖1中102)發(fā)送數(shù)據(jù)和從異構DIMM接收數(shù)據(jù)的輸入-輸出(I/O)收發(fā)機206來驅(qū)動。在一個實施例中,訓練邏輯單元205可操作來基于邏輯單元202通過連接器104從異構DMM(圖1中102)接收的SPD標識201 (與圖1的106相同)來訓練I/O 收發(fā)機206。在一個實施例中,在邏輯單元202通過信號路徑209向訓練邏輯單元205通知異構DIMM 102根據(jù)其SPD標識201而被識別后,訓練邏輯單元205可操作來向I/O收發(fā)機 206提供訓練信號207。在一個實施例中,邏輯單元202可操作來讀取SPD標識201并且為多路復用器204 確定選擇信號203。在一個實施例中,多路復用器204包括多個多路復用器來為I/O收發(fā)機 206輸出信號210 (其是多個信號)。在一個實施例中,輸入信號208(其是多個信號)響應于多路復用器204的選擇信號203而被映射到I/O收發(fā)機206。術語映射是指將來自輸入信號208的一輸入信號分配或重新分配給I/O收發(fā)機 206中的一特定I/O收發(fā)機,以使得連接器管腳108驅(qū)動異構DIMM(圖1中102)期望的信號。所述期望的信號是指異構DMM理解的信號。例如,ECC-DMM不理解DM比特信號,因為ECC-DIMM架構不使用DM比特信號,并因此ECC-DIMM不期望DM比特信號被ECC-DIMM接收。
在一個實施例中,在輸入信號208被映射到I/O收發(fā)機206中特定I/O收發(fā)機后, 訓練邏輯單元205開始一系列操作,以調(diào)整要發(fā)送到異構DMM(圖1中102)的輸出信號的信號特性。在一個實施例中,訓練邏輯單元205可操作來將從存儲器控制器101發(fā)送到異構DIMM(圖1中102)的數(shù)據(jù)選通信號放置在相應數(shù)據(jù)信號的中心或者中心附近。后文討論的圖4C提供了根據(jù)本發(fā)明的一個實施例、由訓練邏輯單元205執(zhí)行的訓練序列的細節(jié)。在一個實施例中,訓練邏輯單元205可操作來將數(shù)據(jù)選通信號與數(shù)據(jù)通道上的相應信號的中心對齊,其中所述數(shù)據(jù)通道是異構DIMM(圖1中102)和連接器管腳108之間的互連總線。在一個實施例中,訓練邏輯單元205可操作來通過調(diào)整I/O收發(fā)機206的驅(qū)動強度來調(diào)整數(shù)據(jù)通道上的信號的眼寬和眼高。在一個實施例中,訓練邏輯單元205可操作來調(diào)整與數(shù)據(jù)通道上的信號相關聯(lián)的延遲,以使得所有數(shù)據(jù)通道上的信號具有基本上相等的飛行時間。在一個實施例中,訓練邏輯單元205可操作來調(diào)整I/O收發(fā)機206的終端阻抗。在一個實施例中,訓練邏輯單元205可操作來根據(jù)公知的方法訓練I/O收發(fā)機206。下面的實施例討論了兩種類型的異構DIMM——DM-DIMM和ECC-DIMM——以免模糊本發(fā)明的實施例。如前文提到的,其他類型的異構DIMM也可以使用而不會改變本發(fā)明實施例的實質(zhì)。在一個實施例中,邏輯單元202可操作來識別異構DMM(圖1中102)的SPD標識201為DM-DIMM。在這個實施例中,邏輯單元202可操作來向多路復用器204發(fā)送選擇信號203,以使得DM比特信號被分配到為用于ECC DRAM單元(圖3B中323)的數(shù)據(jù)通道子集保留的比特通道。如前文提到的,術語數(shù)據(jù)通道是指異構DIMM(圖1中102)和存儲器控制器101之間的互連總線。后文討論的圖3A提供了根據(jù)本發(fā)明的一個實施例、如何為與 ECC-DIMM相比的DM-DIMM重新分配數(shù)據(jù)通道的功能視圖。在一個實施例中,邏輯單元202可操作來識別異構DIMM (圖1中102)的SPD標識 201為ECC-DIMM。在這個實施例中,邏輯單元202可操作來向多路復用器204發(fā)送選擇信號 203,以使得數(shù)據(jù)通道中的一數(shù)據(jù)通道子集被分配到ECC-DIMM (圖3B中324)的ECC DRAM單元(圖3B中323)。后文討論的圖3B提供了根據(jù)本發(fā)明的一個實施例、如何為與DM-DMM 相比的ECC-DMM重新分配數(shù)據(jù)通道的功能視圖。后文討論的圖3C和圖3D提供了根據(jù)本發(fā)明的一個實施例在DM-DI匪和ECC-DI匪之間的信號映射的細節(jié)。盡管本文的實施例討論了基于異構DMM的SPD標識201將輸入信號208映射/ 分配為用于I/O收發(fā)機206的輸出信號210的邏輯單元,但是還使用類似邏輯(未示出) 來基于SPD標識201重映射來自異構DIMM的信號。在一個實施例中,上述邏輯(圖中未示出)將來自異構DI匪的信號通過連接器104和I/O收發(fā)機206重映射到存儲器控制器101 以供處理。圖3A說明了根據(jù)本發(fā)明的一個實施例、具有用于與DM-DIMM 302接口連接的存儲控制301的系統(tǒng)級框架構300。在該實施例中,異構DIMM (圖1中102)是DM-DIMM 302。在一個實施例中,DM-DIMM 302的DRAM 311a_h可操作來分別接收數(shù)據(jù)信號309a_h和相應的 DM比特信號310a-h。盡管圖3A的實施例示出了每個DM-DMM有8個DRAM單元,但是可以使用更少或更多DRAM單元,這些DRAM單元可以通過本文討論的相同方法和裝置與存儲器控制器301進行映射。在一個實施例中,存儲器控制器301的控制器邏輯單元303(圖1的103)可操作來通過互連201從DM-DIMM 302接收SPD標識312。在一個實施例中,控制器邏輯單元303的邏輯單元202可操作來確定選擇信號203,以將輸入信號308中的每個輸入信號映射為至存儲器控制器301的I/O收發(fā)機305a-h、306和313中的特定I/O收發(fā)機的輸出信號307。盡管圖3A的實施例示出了 10組收發(fā)機(305a-h、306和313),但是可以使用更少或更多組I/ 0收發(fā)機來與異構DIMM接口連接。在一個實施例中,每組I/O收發(fā)機(305a-h、306和313) 具有一個或多個I/O收發(fā)機。在一個實施例中,連接器接口 304是通用連接器接口。在該實施例中,連接器接口 304保持與外部世界的相同物理構造/結構相同,即,在相同的位置具有相同的管腳數(shù), 而存儲器控制器301的I/O收發(fā)機305a-h可操作來根據(jù)異構DIMM的SPD標識312向異構 DMM發(fā)送不同信號和從異構DMM接收不同信號。在一個實施例中,多路復用器204可操作來將輸出信號307中的每個輸出信號分配到單獨組的I/O收發(fā)機305a-h,以使得每個DRAM 311a_h接收相應數(shù)據(jù)總線309a_h與相應DM比特信號310a-h (來自于總線310)。在一個實施例中,進行I/O收發(fā)機305a_h、306 和313的分配以使得中間的I/O收發(fā)機(即306)被分配為如果異構DMM是DM-DMMJU 將DM比特信號309a-h驅(qū)動到異構DIMM,而如果異構DIMM是ECC-DIMM,則將ECC信號(未示出)驅(qū)動到異構DIMM。通過分配中間的I/O收發(fā)機306,與當在ECC-DIMM和DM-DIMM之間切換時重新分配全部信號相比較,少于全部的信號需要在ECC-DIMM和DM-DIMM之間進行重新分配。在一個實施例中,為地址和控制信號保留的I/O收發(fā)機313保持不變,無論異構 DIMM是DM-DIMM還是ECC-DIMM。在該實施例中,與將DM-DIMM切換到ECC-DIMM或相反切換而造成重新分配全部輸出信號307相比,輸出信號307中要重新分配的信號數(shù)量減少。在另一個實施例中,全部I/O收發(fā)機305a-h、306和313被重新分配來自多路復用器204的不同的輸出信號307,從而建立存儲器控制器301與異構DIMM(圖1中102)的合適通信連接。在一個實施例中,一旦輸出信號307被分配/映射到I/O收發(fā)機305a_h、306和 313中特定的I/O收發(fā)機,圖2中的訓練邏輯單元205訓練I/O收發(fā)機305a_h、306和/或 313,以滿足信號309a-h、310a-h和314的特定或者預定信號完整性約束(例如,過沖、下沖、Vol、Voh、眼寬和眼高等),功率約束(例如,功率消耗),以及定時約束(例如,有效時間、建立時間、保持時間等)。圖3B說明了系統(tǒng)架構320,其示出了根據(jù)本發(fā)明的一個實施例、如何為與圖3A中 DM-DIMM相比的ECC-DIMM重新分配數(shù)據(jù)通道上的信號。術語數(shù)據(jù)通道和數(shù)據(jù)通道上的信號在說明書中可互換地使用。映射數(shù)據(jù)通道上的信號的處理總地指識別和分配要在那些數(shù)據(jù)通道上驅(qū)動的特定信號。在一個實施例中,邏輯單元202可操作來確定異構DIMM (圖1中 102)是ECC-DIMM 324。在一個實施例中,ECC-DIMM 324包括一個或多個DRAM 311a_h和 ECC DRAM單元323,ECC DRAM單元323用于糾正DRAM 311a_h中數(shù)據(jù)值的任何錯誤。在一個實施例中,由于背景技術部分討論的原因,ECC-DIMM 324不接收DM-比特信號。在一個實施例中,在邏輯單元202通過讀取SPD標識312確定異構DMM是 ECC-DIMM 324后,邏輯單元202生成選擇信號203。在一個實施例中,所述選擇信號203可操作來將輸入信號308分配/映射為輸出信號307,以使得存儲器控制器301與ECC-DIMM 324進行適當?shù)耐ㄐ拧?br>
在一個實施例中,通過將輸出信號307分配/映射到單獨組的I/O收發(fā)機305a_h, 306和313以與DRAM 311a_h和ECC DRAM單元323通信,存儲器控制器301與ECC-DIMM 324之間發(fā)生適當?shù)耐ㄐ?。與圖3A的實施例相比,來自圖3B的I/O收發(fā)機306的信號310 被全部分配到ECXDRAM單元323,而不是作為DM比特信號被分配到DRAM 311a_h。在該實施例中,DRAM 311a-h可操作來分別通過來自I/O收發(fā)機305a_h的信號321a_h接收輸出信號307。在這個實施例中,ECC信號310由I/O收發(fā)機306生成,I/O收發(fā)機306基本上位于I/O收發(fā)機305a-h、306和313列的中間。將輸出信號307中用于ECC目的的信號分配/映射到I/O收發(fā)機306的一個原因
是ECC DRAM單元323在ECC-DIMM 324中的位置-ECC DRAM單元323基本上在ECC-DIMM
324的中間,所以輸出信號307中用于ECC目的的信號310被分配/映射到也基本上在存儲器控制器301中間的I/O收發(fā)機306。在該實施例中,ECC信號310從I/O收發(fā)機306傳輸?shù)紼CC DRAM單元323的距離更短。更短的距離允許ECC信號310更快的到達時間,和通過向ECC信號310添加延遲來相對更簡單地進行信號定時調(diào)整,以滿足定時約束。盡管圖3B的實施例示出了 10組I/O收發(fā)機(305a_h,306和313),但是可以使用更少或者更多組的I/O收發(fā)機來與異構DIMM接口連接。類似的,盡管圖3B的實施例示出了每個ECC-DIMM 324有8個DRAM單元(311a_h),但是可以使用更少或者更多的DRAM單元,這些DRAM單元可以通過本文討論的相同方法和裝置與存儲器控制器301進行映射。在一個實施例中,基本上全部至I/O收發(fā)機305a_h的輸出信號307均根據(jù)異構 DMM (圖1中102)的標識201而被重新分配。在一個實施例中,圖2中的定時邏輯單元205 (圖3A-B未示出)可操作來指示多路復用器204將之前分配到I/O收發(fā)機305e的信號重新分配到I/O收發(fā)機305d,以滿足信號約束,例如定時約束和信號完整性約束。圖3C是詳細的表340,其示出了根據(jù)本發(fā)明的一個實施例、基于圖1中異構DIMM 102的SPD標識對輸出信號307的重新分配。表340示出了根據(jù)本發(fā)明的一個實施例、當 ECC-DIMM被代替為DM-DIMM或者相反替代時圖3A-B中存儲器控制器301的功能腳位。在一個實施例中,表340是具有244個管腳的小型DIMM(S0 DIMM)的腳位。DIMM的前后管腳被分別標識為欄341和342中的管腳。表340的欄343說明了如果異構DIMM是ECC-DIMM 的管腳功能屬性,而表340的欄344說明了如果ECC-DIMM被DM-DIMM代替的管腳的相應功能屬性。在一個實施例中,管腳的功能屬性通過存儲器控制器101在ECC-DIMM和DM-DIMM 之間變化。在一個實施例中,用于重新映射數(shù)據(jù)比特信號(S卩,DQ和DOS信號)的互連在母板上被匹配在+/_25mil (千分之一英寸)的距離內(nèi)。在一個實施例中,多路復用器204進行多路復用,以使得存在72個完全匹配的DQ信號比特和相應的9個相關聯(lián)的DOS (選通) 信號。在一個實施例中,當DM-DMM被ECC-DMM代替時,存儲器控制器101通過多路復用器204將DQ比特重分組同時跳過DM比特信號,如圖3D所示。圖3D說明了根據(jù)本發(fā)明的一個實施例,存儲器控制器101針對來自圖3C的表 340的特定信號進行的連接器管腳映射。連接器管腳映射在表350中示出。表350的左半邊351說明了根據(jù)本發(fā)明的一個實施例、當將ECC-DIMM交換為DM-DIMM時,存儲器控制器 101產(chǎn)生的對連接器管腳108的功能映射/分配。在這個實施例中,存儲器控制器101可操作來將為ECC信號(圖3A中310)保留的數(shù)據(jù)通道重新分配為用作數(shù)據(jù)遮罩信號(圖 3A中310a-h)。表350的右半邊352說明了根據(jù)本發(fā)明的一個實施例、當將DM-DIMM交換為ECC-DIMM時,存儲器控制器101產(chǎn)生的對連接器管腳108的功能映射/分配。在這個實施例中,存儲器控制器101可操作來將之前由DM-DIMM使用的特定數(shù)據(jù)通道重新分配為用作ECC信號(圖3B中310)。圖3C-D的實施例不是限制性的實施例??梢允褂门c表340和 350中示出的實施例不同的映射/重新分配數(shù)據(jù)通道的其他實施例,而不會改變本發(fā)明的實質(zhì)。圖4A-C說明了根據(jù)本發(fā)明的另一個實施例、用于將圖1-2中存儲器控制器101與圖1中異構DIMM 102接口連接的流程圖。參考圖1-3的實施例來描述該流程圖。圖4A說明了根據(jù)本發(fā)明的另一個實施例、用于將圖1-2中存儲器控制器101與圖 1中異構DMM 102接口連接的高級流程圖400。在框401,存儲器控制器101通過SPD標識201確定異構DIMM的標識。在框402,邏輯單元202基于異構DIMM的標識通過多路復用器204將輸入信號208映射為輸出信號307。在框403,訓練邏輯單元205訓練I/O收發(fā)機 (圖2中206以及圖3A-B中305a-h、306和/或313)。在訓練邏輯單元205的訓練序列完成后,在框404,異構DIMM 102以正常方式工作,即,按照需要將數(shù)據(jù)傳輸至異構DIMM或者從異構DIMM傳輸數(shù)據(jù)。圖4B說明了根據(jù)本發(fā)明的一個實施例、用于確定異構DMM 102的標識以將存儲器控制器101與異構DIMM 102接口連接的流程圖410。在框401a,存儲器控制器101的邏輯單元202從異構DIMM讀取SPD標識。在這個流程圖中,考慮異構DIMM 101的兩個實施例——DM-DMM和ECC-DIMM。其他類型的DIMM可以與存儲器控制器101 —起使用,而不會改變本發(fā)明實施例的實質(zhì)。如果存儲器控制器101確定在框401a讀取的SPD標識106是用于DM-DMM,那么框411接下來開始圖4A和圖4C中的框402處的方法。如果存儲器控制器101確定在框412讀取的SPD標識106是用于ECC-DIMM,那么在框412,用于ECC目的的數(shù)據(jù)通道/總線子集(310)被分配到ECC-DMM的ECC DRAM單元 323,如參考圖3A-B所討論的。在框413中,該方法從圖4A中的框403繼續(xù)進行。圖4C說明了根據(jù)本發(fā)明的一個實施例、用于將異構DMM 102映射到存儲器控制器101的流程圖402。在多路復用器204基于異構DMM 102的SPD標識106將輸出信號 307中的信號分配到不同的I/O收發(fā)機后,在框402a,通過放置數(shù)據(jù)選通信號(圖3C的DQS 信號)來鎖存數(shù)據(jù)通道上的相關聯(lián)信號(圖3A-B中的DQ信號309a-h、331a-h和331a-h), 來將所述數(shù)據(jù)選通信號與數(shù)據(jù)通道上所述相關聯(lián)信號對齊。一種用于將數(shù)據(jù)選通信號與數(shù)據(jù)通道上相關聯(lián)信號對齊的方法在美國專利No. 7,307,900中有描述。在框402b,如果異構DI匪是DM-DIMM,那么DM比特被分配到為用于ECC的數(shù)據(jù)通道子集保留的比特通道。這種分配的結果是,在一個實施例中,DM比特信號經(jīng)由保留用于 ECC的數(shù)據(jù)通道子集被發(fā)送到DM-DIMM。如圖3A中所討論的,ECC信號310被映射到DM比特信號310a-h。在框402c,DM比特信號310a_h與對應DRAM311a_h的對應數(shù)據(jù)信號(例如,圖3C 中DQ信號)對齊,其中該數(shù)據(jù)信號在框402a與對應數(shù)據(jù)選通信號(例如,圖3C中DQS信號)對齊。在一個實施例中,DM比特信號310a-h相對于與每個DRAM相關聯(lián)的數(shù)據(jù)信號 309a-h而被延遲,以使得DM比特信號310a_h相對于對應數(shù)據(jù)信號309a_h被對齊。在其他實施例中,數(shù)據(jù)信號309a-h和相應數(shù)據(jù)選通信號被延遲,以使得DM比特信號310a_h相對于相應數(shù)據(jù)信號309a_h被對齊。術語延遲泛指增加和/或減少信號的時間延遲。術語對齊泛指放置數(shù)據(jù)信號和DM 比特信號從而滿足定時邊界/要求。在一個實施例中,用相位內(nèi)插器(未示出)來相對于 DM比特信號來延遲數(shù)據(jù)信號,反之亦然。圖5說明了根據(jù)本發(fā)明的一個實施例、具有機器可讀介質(zhì)503的系統(tǒng)500,介質(zhì) 503上存儲有用于將存儲器控制器101與異構DMM 102接口連接的計算機可執(zhí)行指令 504。參考回圖1-4,在一個實施例中,存儲器控制器101可操作來基于計算機可執(zhí)行指令 504來映射和對齊輸出信號307中的信號。例如,圖2中邏輯單元202和訓練邏輯單元205 通過計算機可執(zhí)行指令504可編程為映射和對齊輸出信號307中的信號。機器可讀存儲介質(zhì)503可以包括但不僅限于閃速存儲器、光學盤、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡,或者其他類型用于存儲電子或計算機可執(zhí)行指令的機器可讀存儲介質(zhì)。例如,本發(fā)明的實施例可以作為計算機程序下載,該計算機程序可以通過數(shù)據(jù)信號的方式經(jīng)由通信鏈路(如,調(diào)制解調(diào)器或網(wǎng)絡連接)從遠程計算機(如,服務器)被傳送到發(fā)出請求的計算機(如,客戶端)。在本說明書中對“實施例”、“一個實施例”、“一些實施例”或“其他實施例”的引用表示結合這些實施例描述的特定特征、結構或特性被包括在至少一些實施例中,但是不必然被包括在所有的實施例中。在各處出現(xiàn)的“實施例”、“一個實施例”或“一些實施例”不必然都指的是相同的實施例。如果說明書聲明“可以”、“可能”、“可”包括一組件、特征、結構或特性,那么該特定組件、特征、結構或特性不必一定被包括其中。如果說明書或權利要求提及“一個(“a”或“an”)”元件,這并不意味著僅有一個該元件。如果說明書或權利要求提及“一個附加的”元件,這并不排除有一個以上的所述附加元件。雖然已經(jīng)結合本發(fā)明的特定實施例描述了本發(fā)明,但是根據(jù)前文的描述,對這些實施例的許多替代、修改和變型對本領域普通技術人員而言將是顯而易見的。例如,在一個實施例中,控制器101是在功能上被集成在通用CPU中,而并不作為單獨的處理器位于母板上。本發(fā)明的實施例意圖覆蓋落入所附權利要求的廣泛范圍內(nèi)的所有此類替代、修改和變型。
權利要求
1.一種方法,包括確定具有數(shù)據(jù)通道的數(shù)據(jù)直插式存儲器模塊(DIMM)的標識; 基于所述DIMM的所述標識的確定來映射所述數(shù)據(jù)通道; 響應于所述數(shù)據(jù)通道的所述映射來訓練輸入-輸出(I/O)收發(fā)機;以及在訓練所述I/O收發(fā)機后,向或者從所述DIMM傳送數(shù)據(jù)。
2.如權利要求1所述的方法,其中所述DI匪的所述標識是數(shù)據(jù)遮罩(DM) DIMM(DM-DIMM)和糾錯碼(ECC) DIMM(ECC-DIMM)之一。
3.如權利要求2所述的方法,其中基于所述DIMM的所述標識的確定來映射所述數(shù)據(jù)通道包括通過與所述DIMM耦合的控制器對所述數(shù)據(jù)通道進行多路復用; 如果所述DIMM的所述標識是所述DM-DIMM,則將所述數(shù)據(jù)通道中的DM比特分配到所述 DIMM的每個動態(tài)隨機存取存儲器(DRAM);以及如果所述DIMM的所述標識是所述ECC-DIMM,則分配用于ECC的所述數(shù)據(jù)通道的一子集。
4.如權利要求3所述的方法,其中分配所述DM比特包括將所述DM比特分配到為用于 ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道。
5.如權利要求3所述的方法,其中分配所述DM比特包括通過放置數(shù)據(jù)選通信號來鎖存數(shù)據(jù)通道的相關聯(lián)信號,將所述數(shù)據(jù)選通信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊;將所述DM比特分配到為用于ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道,所分配的DM比特對應于所述DM-DIMM的每一個DRAM ;以及通過相對于數(shù)據(jù)通道的所述相關聯(lián)信號中的數(shù)據(jù)信號調(diào)整所分配的DM比特的DM比特信號的延遲,將所述DM比特信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊。
6.如權利要求3所述的方法,其中分配用于ECC的所述數(shù)據(jù)通道的所述子集包括將所述數(shù)據(jù)通道的所述子集分配到所述DIMM的ECXDRAM單元。
7.如權利要求1所述的方法,其中所述DMM是小型(SO)DIMM。
8.如權利要求1所述的方法,其中確定所述DIMM的所述標識包括從所述DIMM中讀取串行存在檢測(SPD)標識。
9.如權利要求1所述的方法,其中響應于所述數(shù)據(jù)通道的所述映射來訓練所述I/O收發(fā)機包括相對于對應數(shù)據(jù)通道上的信號將選通信號居中;以及通過調(diào)整所述I/O收發(fā)機的驅(qū)動強度,為所述對應數(shù)據(jù)通道上的每個所述信號調(diào)整眼寬和眼高。
10.一種裝置,包括輸入-輸出(I/O)收發(fā)機,其可操作來通過數(shù)據(jù)通道向異構數(shù)據(jù)直插式存儲器模塊 (DIMM)發(fā)送數(shù)據(jù)和從中接收數(shù)據(jù);可操作來確定所述異構DIMM的標識的邏輯單元;以及多路復用器,其與所述邏輯單元以及所述I/O收發(fā)機耦合,可操作來基于所述異構 DIMM的所述標識來映射所述數(shù)據(jù)通道。
11.如權利要求10所述的裝置,其中所述異構DMM是數(shù)據(jù)遮罩(DM)DMM和糾錯碼 (ECC) DIMM 之一。
12.如權利要求11所述的裝置,其中所述邏輯單元可操作來從所述異構DIMM讀取串行存在檢測(SPD)標識,來確定所述DIMM是所述DM-DIMM還是所述ECC-DIMM。
13.如權利要求11所述的裝置,其中所述多路復用器可操作來如果所述異構DI匪是所述DM-DIMM,則將所述數(shù)據(jù)通道中的DM比特分配到所述異構 DIMM的每個動態(tài)隨機存取存儲器(DRAM);以及如果所述異構DIMM是所述ECC-DIMM,則分配用于ECC的所述數(shù)據(jù)通道的一子集。
14.如權利要求13所述的裝置,其中所述多路復用器可操作來將所述DM比特分配到為用于ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道。
15.如權利要求13所述的裝置,還包括訓練單元,所述訓練單元可操作來通過放置數(shù)據(jù)選通信號來鎖存數(shù)據(jù)通道的相關聯(lián)信號,將所述數(shù)據(jù)選通信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊;將所述DM比特分配到為用于ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道,所分配的DM比特對應于所述DM-DIMM的每一個DRAM ;以及通過相對于數(shù)據(jù)通道的所述相關聯(lián)信號中的數(shù)據(jù)信號調(diào)整所分配的DM比特的DM比特信號的延遲,將所述DM比特信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊。
16.如權利要求13所述的裝置,其中所述多路復用器可操作來通過將用于ECC的所述數(shù)據(jù)通道的所述子集分配到所述ECC-DIMM的ECXDRAM單元,來分配所述數(shù)據(jù)通道的所述子集。
17.如權利要求10所述的裝置,還包括訓練邏輯單元,所述訓練邏輯單元可操作來通過以下操作訓練所述I/O收發(fā)機相對于對應數(shù)據(jù)通道上的信號將選通信號居中;以及通過調(diào)整所述I/O收發(fā)機的驅(qū)動強度,為所述對應數(shù)據(jù)通道上的每個所述信號調(diào)整眼寬和眼高。
18.如權利要求10所述的裝置,其中所述異構DIMM是小型(SO)DIMM。
19.一種系統(tǒng),包括異構數(shù)據(jù)直插式存儲器模塊(DIMM);以及通過數(shù)據(jù)通道與所述異構DIMM耦合的控制器,所述控制器還包括輸入-輸出(I/O)收發(fā)機,其可操作來通過數(shù)據(jù)通道向所述異構DIMM發(fā)送數(shù)據(jù)和從所述異構DMM接收數(shù)據(jù);邏輯單元,其可操作來確定所述異構DIMM的標識;以及多路復用器,其與所述邏輯單元以及所述I/O收發(fā)機耦合,可操作來基于所述異構 DIMM的所述標識來映射所述數(shù)據(jù)通道。
20.如權利要求19所述的系統(tǒng),其中所述異構DMM是數(shù)據(jù)遮罩(DM)DMM和糾錯碼 (ECC) DIMM 之一。
21.如權利要求20所述的系統(tǒng),其中所述控制器可操作來與所述DM-DMM或者所述 ECC-DIMM 接口連接。
22.如權利要求20所述的系統(tǒng),其中所述多路復用器可操作來如果所述異構DIMM是所述DM-DIMM,則將所述數(shù)據(jù)通道中的DM比特分配到所述異構 DIMM的每個動態(tài)隨機存取存儲器(DRAM);以及如果所述異構DIMM是所述ECC-DIMM,則分配用于ECC的所述數(shù)據(jù)通道的一子集。
23.如權利要求22所述的系統(tǒng),其中所述多路復用器可操作來將所述DM比特分配到為用于ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道。
24.如權利要求22所述的系統(tǒng),還包括訓練單元,所述訓練單元可操作來通過放置數(shù)據(jù)選通信號來鎖存數(shù)據(jù)通道的相關聯(lián)信號,將所述數(shù)據(jù)選通信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊;將所述DM比特分配到為用于ECC的所述數(shù)據(jù)通道的所述子集保留的比特通道,所分配的DM比特對應于所述DM-DIMM的每一個DRAM ;以及通過相對于數(shù)據(jù)通道的所述相關聯(lián)信號中的數(shù)據(jù)信號調(diào)整所分配的DM比特的DM比特信號的延遲,將所述DM比特信號與數(shù)據(jù)通道的所述相關聯(lián)信號對齊。
25.如權利要求22所述的系統(tǒng),其中所述多路復用器可操作來通過將用于ECC的所述數(shù)據(jù)通道的所述子集分配到所述ECC-DIMM的ECXDRAM單元,來分配所述數(shù)據(jù)通道的所述子集。
26.如權利要求19所述的系統(tǒng),還包括訓練邏輯,所述訓練邏輯可操作來通過以下操作訓練所述I/O收發(fā)機相對于對應數(shù)據(jù)通道上的信號將選通信號居中;以及通過調(diào)整所述I/O收發(fā)機的驅(qū)動強度,為所述對應數(shù)據(jù)通道上的每個所述信號調(diào)整眼寬和眼高。
27.如權利要求26所述的系統(tǒng),其中所述訓練邏輯單元205可操作來調(diào)整每個所述數(shù)據(jù)通道上的信號的延遲,使得所述信號具有基本上相等的飛行時間。
28.如權利要求19所述的系統(tǒng),其中所述異構DIMM是小型(SO)DIMM。
全文摘要
本文描述了用于將處理器與異構數(shù)據(jù)直插式存儲器模塊(DIMM)接口連接的方法和裝置。該方法包括確定具有數(shù)據(jù)通道的DIMM的標識;基于所述DIMM的所述標識的確定來映射所述數(shù)據(jù)通道;響應于所述數(shù)據(jù)通道的所述映射來訓練輸入-輸出(I/O)收發(fā)機;以及在訓練所述I/O收發(fā)機后,向或者從所述DIMM傳送數(shù)據(jù)。
文檔編號G06F13/16GK102323912SQ201110121350
公開日2012年1月18日 申請日期2011年4月2日 優(yōu)先權日2010年4月2日
發(fā)明者G·韋吉斯, J·薩蒙, K·S·貝恩斯 申請人:英特爾公司