專利名稱:數據存取及多芯片控制器的制作方法
數據存取及多芯片控制器背景技術在計算平臺中使用的現有存儲器體系結構依賴于兩個元件的使 用存儲器控制器以及一個或多個存儲器模塊,該存儲器模塊存儲由 存儲器控制器所存取的數據。在很多現有應用中,存儲器模塊通常是 工業標準的存儲器模塊,其具有電氣接口、協議以及由標準機構JEDEC (Joint Electronic Devices Enginneering Council)(電子設備與工程聯 合委員會)所限定的機械裝配和形狀。由于隨著時間的發展存儲器性能得到改善,所以也提高了存儲器 控制器與對應模塊之間的對應接口速度。隨著時間的發展,已經降低了對應的接口信號電壓。每個性能改進由此使得印刷電路板的設計(例 如,連接每個組件管腳的跡線(trace)的布局)更加具有挑戰性。也 就是說,對于每個存儲器速度的提高,跡線布局傾向于更加困難。JEDEC標準委員會通過(在存儲器標準中)包括降低最大可接受 物理跡線長度的尺寸以及降低至相同存取接口的共址(cohabiting)存 儲器模塊的數目,己經確認了這種日益增加的困難。這兩個變化都降 低了相應跡線的整體信號負載,因此可能獲得高存取速度。發明內容如上所述,存在與現有存儲器體系結構相關聯的不足之處。例如, 上述趨勢(例如,更高的接口速度及更低的信號電壓)使得使用現有 存儲器控制器方法來實現大系統存儲器應用,如果不是不可能的話, 也是更加困難和昂貴。也就是說,如果使用單一大存儲器控制器芯片 來與大量存儲器模塊相接口,那么通常需要許多獨立的存儲器接口 (例 如,數據總線、地址線、控制線等)來存取存儲在存儲器設備中的信息。在正常情況下,由于控制器與存儲器模塊之間跡線的負載問題,所以相應的接口只可以從僅僅一個或可能達到兩個存儲器模塊存取信息。根據現有體系結構,從單一控制器芯片到8或16個不同存儲器模塊 芯片的布線可以需要在存儲器控制器芯片及存儲器設備之間對很長的 跡線長度(在相應印刷電路板的很多層上)進行復雜的相互纏繞(interwining)。由于實現長的相互纏繞的印刷電路板跡線長度可以降 低對應的信號完整性、增加由存儲器控制器進行存取失敗的可能性, 所以這通常是有問題的。這還增加了電路板的成本-例如,開發成本、 產品成本,以及降低產量。如上所述,存在限定與跡線相關聯的可接 受負載值的嚴格標準。在此討論的技術偏離了現有應用,例如,上面討論的應用以及在 現有技術中已知的另外技術。例如,在這里,某些具體的實施例的目 標是克服與上述技術相關聯的不足和/或上面沒有討論的現有技術中的 其它不足。通常,這里的實施例通過在多個協作的存儲器控制器芯片(例如, 獨立的集成電路)之間分解一個或多個存儲器接口 (例如, 一個或多 個數據總線、地址總線、控制信號等),來降低在印刷電路板上布局 跡線的負擔。例如,至存儲器設備的單一數據總線可以被拆分為許多 數據總線部分(例如,信號群),每個部分由不同的相應控制器芯片 所管理。因此,在對相應存儲器設備進行存儲器存取期間,多個控制 器芯片的每一個可以控制數據總線的不同對應部分,以根據該存取是 讀取還是寫入來檢索或存儲數據。在一個實施例中,為了執行相應的數據存取,同步器電路(在存 儲器控制器芯片內部和/或外部)可以同步多個存儲器控制器芯片,以 便一個或者很多存儲器控制器芯片驅動至存儲器設備的地址總線和/或控制信號。在設定至存儲器設備的地址持續了合適的時間之后,存儲 器控制器芯片根據該地址,同時(例如,鎖存)讀取數據、或者為存 儲器設備提供寫入數據。同步器電路協調多個芯片控制器之間的定時, 以執行這種操作。除了拆分數據總線并且分配每個存儲器控制器芯片以控制單一數 據總線的相應部分之外,每個控制器還可以被配置為,控制至不同存 儲器設備的多個數據總線的每一個的一部分。換句話說,可以將至第 一存儲器設備的第一數據總線拆分為數據總線部分,每個該部分由多 個控制器芯片中的相應的一個所控制。可以將至對應第二存儲器設備 的第二數據總線拆分為另一組數據總線部分,每個該部分由多個控制 器芯片中的相應的一個所控制。在這種實施例中,每個存儲器控制器 芯片可以被配置為,驅動用于每個存儲器設備的相應地址總線和/或對 應控制信號。因此,在操作期間,存儲器控制器之一可以驅動至被存 取的相應存儲器設備的地址,同時,多個存儲器控制器芯片的每一個 對存儲在被存取的存儲器設備中的數據的不同部分進行存取。在上述實施例的促進下, 一個實施例涉及以線性方式,沿著相應 的布局軸線來物理地安置存儲器控制器芯片(例如,存儲器控制器設 備),該布局軸線平行于存儲器設備的軸線。這種實施例可以包括 根據信號的物理位置(而不是通過指配的比特數等),在多個控制器 之間均勻地拆分分布的信號。換句話說,存儲器控制器的線性陣列之 間的數據總線部分的物理分布可以是基于對應存儲器模塊(或視具體 情況,存儲器模塊)信號/管腳分配。當這樣實現時,在多個存儲器控制器芯片的每一個與存儲器設備之間創建"直擊"(straight shot)(例如,基本上是正交的跡線通路)降低了整體的跡線長度,并且降低了 對過高印刷電路板層數的需求,從而提供存儲器控制器芯片與一個或 多個存儲器設備之間適當的連接性。這里的實施例與現有應用形成反差。例如,這里的技術在存儲器控制器芯片組與對應的存儲器設備之間提供簡單的跡線通道。這允許 使用更少的電路板層以及允許更直接的互連通路,這二者改善了存取 接口的信號完整性并降低了生產成本。此外,與現有技術不同,這里 的實施例允許在存儲器陣列中包括額外的模塊,這相對于標準存儲器 系統體系結構通常所能實現的來說,增加系統的存儲器容量。簡單的 布線(通過在此討論的多芯片控制器技術的實現方案)為其它功能釋 放了印刷電路板層資源。如上所述,這里的技術同樣適合在存儲器系統中使用。然而,應 注意,這里的實施例不限于在這種應用中使用,并且在此討論的技術 同樣適合于其它應用。請注意,可以獨立地或組合地執行在此討論的 不同特征、技術、配置等的每一個。請注意,本發明內容并沒有指定本公開或所要求保護的發明的每 個實施例和/或增加的新穎方面。相反,本發明內容僅僅提供對不同實 施例以及相對于現有技術的對應新穎點的初步討論。對于本發明的額 外細節和/或可能性視角(變換),讀者可以參考本公開的詳細描述部 分和對應的附圖。
根據下面對在附圖中所說明的優選實施例更為具體的描述,本申 請的前述及其它目標、特征及優勢將是顯而易見的,其中,貫穿不同 視圖,相同的附圖標記表示相同的部分。附圖不必要進行比例縮放, 相反,重點放在說明實例實施例、原理及概念上。圖l是根據這里的實施例的存儲器系統的方框圖。圖2是圖示說明根據這里的實施例的將對公共數據總線相應部分 的控制指配給多個存儲器控制器芯片的技術的流程圖。圖3是根據這里的實施例的包括多個存儲器設備的存儲器系統的 方框圖。圖4是根據這里的實施例的用于存取存儲的數據的存儲器系統的方框圖。圖5和圖6組合在一起,形成圖示說明根據這里的實施例的產生包 括多個存儲器控制器芯片的存儲器系統的技術的流程圖。
具體實施方式
根據一個實施例,可以將至存儲器設備的數據總線拆分為許多數 據總線部分,每個部分由多個同步的控制器芯片組的不同的相應控制 器芯片來管理。在對存儲器設備進行存儲器存取期間,多個控制器芯 片的每一個控制數據總線不同的對應部分,以根據該存取是讀取還是 寫入,來從存儲器設備中檢索數據或將數據存儲到存儲器設備中。為 了協調數據存取,同步器電路(在存儲器控制器芯片內部和/或外部) 同步多個存儲器控制器芯片,以便存儲器控制器芯片之一驅動至存儲 器設備的地址總線和/或控制信號。在設定到存儲器設備的地址之后, 多個存儲器控制器芯片的每一個要么鎖存來自存儲器設備相應部分的 讀取數據,要么將寫入數據提供給存儲器設備的相應部分。圖1是根據這里的實施例的存儲器系統100的圖示。如圖所示,存儲器系統100包括主機系統110 (例如,數據處理系統)、存儲器控制器120 (例如,存儲器控制器120-1,存儲器控制器120-2,…,存儲 器控制器120-M)、同步電路130、以及存儲器陣列140 (例如,動態/ 隨機存取存儲器模塊)。主機系統110可以經由信號104 (例如,信號 104-1,信號104-2,…,信號104-M),為存儲器控制器120提供輸入命 令和/或數據。主機系統110可以經由信號106 (例如,信號106-1,信號 106-2,…,信號106-M)接收來自存儲器控制器的數據。通常,在操作期間,主機系統100向存儲器控制器組120發出命令, 以及與存儲器控制器組120交換數據。例如,經由信號104,主機系統 110可以指定用于從存儲器陣列140中檢索數據(例如,比特、字、和/ 或數據片段)的位置。響應于發出請求,在由多個存儲器控制器120進 行存取之后,存儲器系統100經由信號106,接收來自存儲器控制器120的數據。每個存儲器控制器120可以包括至存儲器陣列140的多個相應的接 口 (例如,數據總線和/或對應的控制線),例如數據總線A和數據總線B。如將在本說明書的后面討論的,數據總線A可以提供對存儲器陣 列140中第一存儲器設備的存取,而數據總線B可以提供對存儲器陣列 140中第二存儲器設備的存取。可以在相同的時間或不同的時間,通過 使用相應的數據總線來存取數據。可以通過在對應電子設備(例如, 存儲器控制器120和存儲器陣列140)之間的一個或多個印刷電路板上 的跡線(或其它介質),來實現在存儲器控制器120和存儲器陣列140 之間的相應的互連(諸如數據總線A和數據總線B)。如上所述,每個存儲器控制器120控制數據總線A及數據總線B的 相應部分,用于從存儲器陣列140中存取數據。存儲器系統100的同步 電路130協調存儲器控制器120的操作,以便存儲器控制器120可以同時 從存儲器陣列140中存取數據。換句話說,通過由同步電路130提供的 同步, 一個或多個存儲器控制器120設定至存儲器陣列140的適當的控 制線,同時,多個存儲器控制器120的每一個通過使用數據總線的相應 部分,來存取數據的各部分。盡管將同步電路130描述為存儲器控制器120的外部資源,但是可 替換的,同步電路130可以駐留在存儲器控制器120之一 (例如,諸如 存儲器控制器120-1的主存儲器控制器)中。因此,單一存儲器控制器 120可以控制所有其它存儲器控制器120的操作,以控制對存儲器陣列 140的存取。請注意,在其它實施例中,與同步電路130相關聯的功能可以分布 到遍及每個存儲器控制器120。在這種實施例中,存儲器控制器120在 它們自身之間進行仲裁,以協調經由相應的數據總線進行的數據存取。如上面簡單所述,存儲器控制器120接收來自主機系統110的命令,該命令啟動存儲器操作及數據交換。在存儲器存取操作期間,同步電路130提供定時信號,以向存儲器控制器120指出何時執行諸如時鐘輸 入數據(dock in data)的操作或者何時啟動相應的控制信號以將數據 寫入存儲器陣列140中。在多個存儲器控制器120之間操作的正確定時 防止存儲器控制器120之間的干擾,并且促進從存儲器陣列140中有效 率的數據存取。請注意,可以將存儲器陣列配置為包括合乎JEDEC標 準機構所指定的形狀因數(form factor)的存儲器模塊。圖2是圖示說明根據這里的實施例的用于指派對多比特總線的控 制的一般技術的流程圖200。請注意,下面的討論將偶爾會引用早先所 討論的資源。在步驟210中,產生存儲器系統100的實體(例如,電路板布局工 具、存儲器系統設計人員、制造設施、印刷電路板布局設計工程師等) 將至給定存儲器設備的相應數據總線(例如,數據總線A)解析(parse) 為多組數據總線信號。例如,如果數據總線A是64比特寬,那么實體將 數據總線A解析為M個部分,其中M是整數值。各部分的尺寸可以相等 或可以不相等。在步驟220中,對于多個控制器芯片120的每一個,實體指配相應 的控制器芯片120,用于控制同相應控制器芯片120與存儲器陣列140中 存儲器設備之間的數據總線A相關聯的多組(例如,各部分)數據總線 信號中的對應組的數據總線信號。作為實例,假設各部分的尺寸相等 以及M-4,并且數據總線A包括64比特。在該實例的情況中,實體指配 存儲器控制器120-1來控制數據總線A的數據比特D1到D16;存儲器控 制器120-2來控制數據總線A的數據比特D17到D32,…,以及存儲器控 制器120-M來控制數據總線A的數據比特D49到D64。在步驟230中,實體允許多個存儲器芯片控制器120的每一個通過使用數據總線A,來同時存取存儲在第一存儲器設備中的數據的不同的相應部分。例如,除了配置在存儲器控制器120和存儲器陣列140的存儲器設備之間的連接(例如,印刷電路板跡線)之外,實體還提供同步電路130來同步多個控制器芯片120,用于允許在相同的時間,在數 據總線A上從存儲器陣列140同時存取數據的不同部分。如早先所述, 同步電路可以駐留在存儲器控制器120的外部或駐留在一個或多個存 儲器控制器120內。總體上,由存儲器控制器存取的數據可以是64比特 的值。圖3是圖示說明根據這里的實施例的存儲器系統100的更加具體的 細節的圖示。如圖所示,存儲器系統100包括如上面參考圖1所述的資 源。然而,圖3進一步圖示說明了,存儲器陣列140包括諸如存儲器模 塊的存儲器設備(例如,存儲器設備240-l及存儲器設備240-2)。在本 實例的情況中,與同步電路130相關聯的功能已經在同步電路330-1,同 步電路330-2,...中實現,用于協調存儲器控制器120之間的操作,以按 照早先所述的方式來對存儲器設備進行存取。在一個實施例中,存儲器設備240是DIMM (Dual In-line Memory Modules)(雙重內嵌式存儲器模塊),每個DIMM包括一系列隨機存 取存儲器集成電路。這些集成電路通常安裝在印刷電路板上,并且被 設計用于在個人計算機及其它類型的處理系統中使用。從物理上看,沿著存儲器設備240的相應縱向軸線242來安置存儲 器設備240-l及存儲器設備240-2上的管腳。換句話說,存儲器設備240-l 在物理上可以是相對窄型的設備,其具有沿著相應縱向軸線242-l安置 的很多對應的管腳(例如,數據總線、地址總線等)。按照相似的方 式,存儲器設備240-2也可以是相對窄型的設備,其具有沿著相應縱向 軸線242-2安置的很多對應的管腳(例如,數據總線、地址總線等jT。 這里的實施例包括沿著布局軸線(layout axis) 122來布局存儲器控制 器120 (例如,分離的控制器芯片),該布局軸線122與存儲器設備240的縱向軸線242基本平行。如圖3所示,沿著布局軸線122布局存儲器控制器120允許從存儲器 控制器120到每個存儲器設備240的相對簡單的跡線布線(routing)。也 就是說,由于給定存儲器控制器120上的節點(例如,管腳)和相應存 儲器設備240-l上的對應節點(例如,管腳)彼此相當接近,所以數據 總線A的跡線布線是直的。如果按照現有方法,將存儲器控制器120封 裝為單一控制器芯片,那么由于在這種小印刷電路板面積中的跡線密 度,所以跡線布線幾乎是不可能的。在一個實施例中,跡線布局工程師在布局軸線122的第一位置上或 第一位置附近設置存儲器控制器120-1。跡線布局工程師將存儲器控制 器120-2設置在布局軸線的第二位置上或第二位置附近。在將存儲器控 制器120安置在布局軸線122上之后,跡線布局工程師實現存儲器控制 器120-1和存儲器設備240-1之間的第一組傳導通路(例如,跡線群350- 1)。此外,跡線布局工程師實現存儲器控制器120-2和存儲器設備 240-1之間的第二組傳導通路(例如,跡線群350-2)。如上所述,這里的實施例包括將信號控制散開到沿著布局軸線122 間隔開的多個控制器芯片之間。沿著與存儲器控制器240的縱向軸線 242平行的布局軸線122安置存儲器控制器120,這允許存儲器控制器 120和存儲器設備240之間的跡線群350和351具有近似相同的長度或長 度范圍。例如,作為圖3中示出的布局結果,與在存儲器控制器120-1 和存儲器設備240-l之間的跡線群350-l (例如,數據總線A的一部分) 相關聯的相應的跡線長度可以與在存儲器控制器120-2和存儲器設備 240-1之間的跡線群350-2 (例如,數據總線A的一部分)具有近似相同 的長度。按照相似的方式,與在存儲器控制器120-l和存儲器設備240-2 之間的跡線群351-1 (例如,數據總線B的一部分)相關聯的相應的跡^ 線長度可以與在存儲器控制器120-2和存儲器設備240-2之間的跡線群351- 2 (例如,數據總線B的一部分)具有近似相同的長度。因此,這里的實施例包括對存儲器控制器120和存儲器設備240之間的跡線進 行布局,以便對應跡線群的跡線長度基本相似或相同。在進一步的實施例中,跡線布局工程師和/或電路板設計人員允許多個芯片控制器的每一個同時存取存儲在存儲器設備240中的數據不 同的相應部分,同時存儲器控制器120中的單一一個存儲器控制器控制 至相應存儲器設備240的地址及控制信號。在本實例的情況中,存儲器 控制器120-1驅動與存儲器設備240-1相關聯的控制信號X (例如,地址 總線、選通(strobes)、允許信號等)。每個存儲器控制器120同時對 數據總線A進行存取。同步電路330-l (例如,主存儲器控制器)可以 為其它存儲器控制器120提供何時對數據總線A進行存取的通知。因此, 這里的一個實施例包括允許多個控制器芯片的每一個同時從存儲器 設備240-l中存取數據的相應部分,同時存儲器控制器120-1控制與第一 存儲器設備相關聯的地址總線。按照相似的方式,存儲器控制器120-2可以被配置為控制與存儲器 設備240-2相關聯的信號Y(例如,地址總線、選通等)。同步電路330-l (例如,主存儲器控制器)可以向存儲器控制器120-2提供關于何時以 及潛在地如何控制至存儲器設備240-2的信號Y的通知。因此,這里的一個實施例包括同步電路,其允許多個控制器芯片的每一個同時從存 儲器設備240-2中存取數據的相應部分,同時存儲器控制器120-2控制與 存儲器設備240-2相關聯的地址總線。圖4是圖示說明根據這里的實施例的存儲器系統400的實例圖示。 如圖所示,存儲器系統400包括多個存儲器控制器芯片420 (例如, 存儲器控制器芯片420-l、存儲器控制器芯片420-2、存儲器控制器芯片 420-3及存儲器控制器芯片420-4),以及對應的存儲器模塊群441 、 442、 443及444。同步電路430 (例如,同步電路430-l、同步電路430-2、、同 步電路430-3及同步電路430-4)協調存儲器控制器420之間的操作。每 個存儲器模塊可以是DIMM (雙重內嵌式存儲器模塊)或者是具有用于存取存儲數據的多比特地址及數據總線的其它存儲器設備。存儲器模塊群441包括存儲器模塊441-1、存儲器模塊441-2、存儲器模塊441-3及 存儲器模塊441-4。存儲器模塊群442包括存儲器模塊442-l、存儲器模 塊442-2、存儲器模塊442-3及存儲器模塊442-4。存儲器模塊群443包括 存儲器模塊443-l、存儲器模塊443-2、存儲器模塊443-3及存儲器模塊 443-4。存儲器模塊群444包括存儲器模塊444-l、存儲器模塊444-2、存 儲器模塊444-3及存儲器模塊444-4。如圖所示,通道A包括存儲器模塊 群441及444,用于存儲數據。通道B包括存儲器模塊群442及443,用于 存儲數據。存儲器系統400包括多個數據總線,該多個數據總線包括數據總 線E、數據總線F、數據總線G、數據總線H、數據總線J、數據總線K、 數據總線L及數據總線M。數據總線E可以包括數據總線部分E1、數據 總線部分E2、數據總線部分E3及數據總線部分E4。數據總線F可以包括 數據總線部分F1、數據總線部分F2、數據總線部分F3及數據總線部分 F4。數據總線G可以包括數據總線部分G1、數據總線部分G2、數據總 線部分G3及數據總線部分G4。數據總線H可以包括數據總線部分H1、 數據總線部分H2、數據總線部分H3及數據總線部分H4。數據總線J可 以包括數據總線部分J1、數據總線部分J2、數據總線部分J3及數據總線 部分J4。數據總線K可以包括數據總線部分K1、數據總線部分K2、數 據總線部分K3及數據總線部分K4。數據總線L可以包括數據總線部分 Ll、數據總線部分L2、數據總線部分L3及數據總線部分L4。數據總線 M可以包括數據總線部分M1、數據總線部分M2、數據總線部分M3及 數據總線部分M4。每個數據總線部分可以包括一個或多個數據信號, 以對相應存儲器模塊中的數據進行存取。存儲器系統400還包括控制信號群,例如控制信號群451、控制信 號群452、控制信號群453、控制信號群454、控制信號群455、控制信 號群456、控制信號群457及控制信號群458。每個控制信號群可以包括 合適的信號,以支持控制相應的存儲器模塊存取數據。例如,每個控制信號群可以包括一個或多個下述的信號,以控制相應的存儲器模塊 重置信號、時鐘、數據選通、芯片選擇、命令輸入、允許等。在一個實施例中,存儲器系統400包括四個存儲器控制器420的簇(cluster)以及16個標準登記(registered)的存儲器模塊。請注意,可 以復制存儲器系統400來提供增加的存儲容量。例如,更大的存儲器系 統可以包括四個如圖4所示的存儲器系統。存儲器控制器420的簇實現兩個分離的數據存取接口組-用于通道 A和通道B各一個。每個通道可以具有64數據比特,以及在存儲器控制 器420的簇之間拆分的8個校驗比特。同樣,可以相應地在存儲器控制 器420的簇之間來分布伴隨數據選通信號。在一個實施例中,由JEDEC 標準JESD79-2A來限定用于存取接口的協議。請注意,為了滿足定時及同步要求,可以在以四個存儲器控制器 420的組構成的簇之間,拆分數據及校驗比特、連同半字節(nibble) 的伴隨數據選通信號。在簇之間拆分校驗比特不需要能夠被4整除。例 如,對于給定通道,特定存儲器控制器420可以支持比其它存儲器控制 器更多的半字節/選通組。此外,請注意,存儲器系統400的實現方案可 以特定地被設計為,支持帶有遵守數據選通比為4: l的存儲器設備的 模塊,以便獲得最大的每通道存儲容量。可以采用不同的方式來處理地址和控制信號。例如,每個存儲器 控制器420可以實現兩個分離的地址及控制接口。例如,存儲器控制器 420-1可以包括與第一相應的接口相關聯的控制信號群451以及與第二 相應接口相關聯的控制信號群455。如圖所示,每個接口可以連接到16 個存儲器模塊中的兩個。這樣接口中的一個接口用于通道A,而另一個 用于通道B。可以通過對16個存儲器模塊中的4個進行存取,來進行對通道A或通道B的單一存儲器存取(讀取、寫入等)。例如,在這種實施例中, 主機系統將命令以及對應的伴隨數據(用于寫入)發給存儲器控制器420的簇。按照同步方式,通過使用同步電路430,存儲器控制器420中 適當一個存儲器控制器在所關注的通道上將主機的命令發到存儲器模 塊。由存儲器控制器420尋址的四個模塊相應地進行響應。存儲器控制 器420將讀取數據或寫入數據的責任在適當的存儲器模塊之間共享。如 果存取是讀取,那么存儲器控制器420在它們自身之間進行協調,并且 將存取到的數據部分轉發回向存儲器請求數據的主機系統。可以按照并行的方式,實現將數據從存儲器控制器420傳遞到主 機。例如,對于給定的數據存取,每個存儲器控制器420可以從給定地 址的對應被存取存儲器模塊檢索兩個字節(例如,16個比特)的數據。 通過同步電路430,存儲器控制器420可以支持將給定地址的檢索信息 的64比特并行傳遞到主機。同步如早先所述,同步電路430 (或者在分離的單一存儲器控制器420 中或分布在遍及多個存儲器控制器420中)協調從存儲器控制器420到 存儲器模塊的數據傳遞。例如,在諸如存儲器控制器420-l的主存儲器 控制器中的同步電路430-l (通過同步電路430-l)將消息發送到其它三 個存儲器控制器(例如,存儲器控制器430-2、存儲器控制器430-3以及 存儲器控制器430-4),以向存儲器模塊指出新命令周期的開始。三個 接收存儲器控制器420可以檢測錯誤的發生,并且將指出錯誤發生的對 應消息發送回主存儲器控制器420-l。在一個實施例中,同步電路430-l包括以100兆赫運行的2.5伏特(例 如,低電壓互補金屬氧化物半導體(low voltage Complementary metal Oxide Semiconductor))接口。主存儲器控制器420-l可以包括6個輸出信號及6個輸入信號。每個從屬存儲器控制器(例如,存儲器控制器420-2、 420-3及420-4)可以 包括兩個輸出信號及兩個輸入信號。因此,這里的一個實施例包括 存儲器控制器420-l和存儲器控制器420-2、 420-3及420-4中的每一個之 間的4個跡線(例如,用于支持來自存儲器控制器420-l的數據流的2個 跡線或信號線、以及支持去往存儲器控制器420-l的數據流的2個跡線或 信號線)的連接。根據一個配置,每個存儲器控制器420在執行相應的數據存取(例 如,動態隨機存取存儲器存取)時,可以同時對四個存儲器模塊進行 存取。當同時對四個存儲器模塊進行存取時,包括四個相應地址總線 的四個控制接口按照密集步伐(lockstep)的方式工作。例如,為了實 現對存取四個存儲器模塊(例如,4個DIMM)的同步,主存儲器控制 器420-l等待,直到它通過與同步電路430相關聯的SYNCJN信號觀察 到三個從屬存儲器控制器(例如,存儲器控制器420-2、 420-3及420-4) 準備好執行關于信道的命令。換句話說,主存儲器控制器420-l監測從 存儲器控制器420-2、 420-3及420-4接收到的上述信號。當從屬存儲器 控制器準備好時,主存儲器控制器420-l通過與同步電路430相關聯的 SYNC一IN信號,發信號通知從屬存儲器控制器來開始執行存取操作。 換句話說,存儲器控制器420-l通過上述跡線與存儲器控制器420-2、 420-3及420-4通信,以支持同時的操作。主存儲器控制器420-l在為從 屬存儲器控制器提供上述信號之后,它自己可以在等待了固定的時間 量(例如,2個周期)之后開始。可以復制上述的信號傳送,以便通道A及通道B的每一個按照相似 的方式工作。例如,如上所述,同步電路430可以包括用于信道A和B 的每一個的分離的同步信號組,其在DRAM時鐘域中操作,以解決通 道之間的任何時鐘相移。物理特性根據一個配置,在FPGA (現場可編程門陣列)設備中實現存儲器控制器420。選擇這種設備在存儲器系統400中使用可以基于如下的期望(1)存儲器控制器420相應的封裝尺寸足夠小,以便四個存儲器控制器420的線性陣列近似于標準存儲器模塊的長度;(2)每個存儲器控制器 420的I/O容量支持大約兩個存儲器數據總線的每一個的四分之一;(3) 與每個存儲器控制器相關聯的I/0容量完全支持至相應存儲器模塊的兩 個地址及控制接口 ; (4)每個相應的從屬存儲器控制器支持在它自己與 主存儲器控制器420-l之間為了同步的I/O容量;(5)每個存儲器控制器包 括用于支持至主機設備系統接口的I/0容量;(6)存儲器系統400包括用 于足以支持如在本公開中所討論的其它功能方面的邏輯容量及功能部 件。使用具有小形狀因數(例如,小封裝尺寸)的存儲器控制器420 允許在相應存儲器控制器和存儲器模塊之間的直接連接。因此,可以 將數據總線的相應跡線長度保持為最小長度。此外,使用具有更小形 狀因數的存儲器控制器420可以降低在相應的印刷電路板中所需的層數。根據一個配置,可以使用通常所說的帶狀線技術(stripline technology)來完成存儲器通道信號(例如,實現數據總線E、 F、 G、…、 K、 L、 M的跡線)的布線。在這種配置中,信號被夾在相應電路板的 兩個平面層之間。應注意,在適當時,可以通過應用相應的計算機系統來實現在此 描述的某些技術(例如,跡線布局、印刷電路板設計等),該計算機 系統包括處理器及用于實行在本申請文件中討論的實施例的對應軟件 代碼。這種實施例的實例(例如,執行軟件代碼的計算機系統)可以 包括互連,其耦合存儲器系統及計算機系統的處理器。存儲在存儲器 中的代碼的執行可以支持一個或多個在此描述的技術。圖5和圖6組合在一起,形成圖示說明根據這里的實施例的布局電路板組件以及使用對應的印刷電路板跡線的技術的流程圖500 (例如,流程圖500-l以及流程圖500-2)。在圖5的步驟510中,實體(例如,電路板布局工具、布局設計工 程師、印刷電路板制造設施、存儲器系統設計人員等)分配或保持多 個數據總線,該多個數據總線包括第一數據總線(例如,數據總線A) 用于對存儲器陣列140中的第一存儲器設備(例如,第一DIMM)進行 存取;以及,第二數據總線(例如,數據總線B),用于對存儲器陣列 140中的第二存儲器設備(例如,第二DIMM)進行存取。在步驟515中,實體將第一數據總線(例如,數據總線A)解析為 多組(例如,分組)數據總線信號。例如,第一組信號可以包括數據 總線A的1-16比特,第二組信號可以包括數據總線A的17-32比特,第三 組信號可以包括數據總線A的33-48比特,以及第四組信號可以包括數 據總線A的49-64比特。在步驟520中,對于多個控制器120的每一個,實體指配相應的控 制器120,用于控制同第一數據總線(例如,數據總線A)相關聯的多 組數據總線信號中的對應組的數據總線信號,該第一數據總線位于相 應控制器120與第一存儲器設備(例如,第一DIMM)之間。在步驟525中,實體將第二數據總線(例如,數據總線B)解析為 多組(例如,分組)數據總線信號。例如,第一組信號可以包括數據 總線B的1-16比特,第二組信號可以包括數據總線B的17-32比特,第三 組信號可以包括數據總線B的33-48比特,以及第四組信號可以包括數 據總線B的49-64比特。在步驟530中,對于多個控制器120的每一個,實體指配相應的控 制器120,用于控制同相應控制器120與第二存儲器設備(例如第二 DIMM)之間的第二數據總線(例如,數據總線B)相關聯的多組數據總線信號中的對應組的數據總線信號。在步驟535中,實體提供與多個存儲器控制器120相關聯的同步電 路130,以同步多個存儲器控制器120,用于允許在相同時間從第一存 儲器設備中同時存取數據的不同部分。同步電路130還可以協調與存儲 器控制器120相關聯的操作,以便存儲器控制器120可以在相同的時間, 從第二存儲器設備中同時存取數據的不同部分。在步驟540中,實體指配多個存儲器控制器120中的存儲器控制器 120-1,用于控制與第一存儲器設備相關聯的地址總線(例如,控制信 號X)。在步驟545中,實體指配多個存儲器控制器120中的存儲器控制器 120-2,用于控制與第二存儲器設備相關聯的地址總線(例如,控制信 號Y)。在步驟550中,實體配置存儲器控制器120,以支持將從第一存儲器設備中檢索到的數據的不同相應部分同時并行傳遞到目標目的地, 例如主機系統IIO。如上所述,這里的技術同樣適用于諸如數據處理系統的應用,該 數據處理系統使用DIMM (雙重內嵌式存儲器模塊)存儲器部分,其中 對應管腳以順序的方式沿著相應設備的長度方向物理地分布。然而, 應注意,這里的配置不限于在這種應用中使用,并由此,這里的配置 及其變形同樣適合于其它應用。盡管參考其優選實施例具體地示出并描述了本發明,但是本領域的技術人員應了解,在不背離由所附權利要求所限定的本發明主旨及 范圍的情況下,其中可以進行形式及細節的各種變化。這種變化意圖 包括在本發明的范圍之內。同樣,本發明實施例的在先描述并不意圖是限制性的。相反地,對本發明實施例的任何限制是在如下的權利要 求中提出的。
權利要求
1.一種方法,包括將至第一存儲器設備的第一數據總線解析為多組數據總線信號;對于多個控制器芯片中的每一個,指配相應的控制器芯片,用于控制同所述第一數據總線相關聯的所述多組數據總線信號中的對應組的數據總線信號,所述第一數據總線位于所述相應控制器芯片與所述第一存儲器設備之間;以及經由所述第一數據總線,允許所述多個芯片控制器中的每一個同時存取存儲在所述第一存儲器設備中的數據的不同相應部分。
2. 根據權利要求l所述的方法,其中,允許所述多個芯片控制器 中的每一個同時存取存儲在所述第一存儲器設備中的數據的不同相應 部分包括指配所述多個控制器芯片的給定控制器芯片,用于控制與所述第 一存儲器設備相關聯的地址及控制總線。
3. 根據權利要求l所述的方法,進一步包括保持多個數據總線,該多個數據總線包括至所述第一存儲器設 備的所述第一數據總線、以及至第二存儲器設備的第二數據總線;將至所述第二存儲器設備的所述第二數據總線解析為多組數據總 線信號;對于所述多個控制器芯片的每一個,指配相應的控制器芯片,用 于控制與所述第二數據總線相關聯的所述多組數據總線信號中的對應 組的數據總線信號。
4. 根據權利要求3所述的方法,進一步包括允許所述多個芯片控制器的每一個經由所述第二數據總線,同時 存取存儲在所述第二存儲器設備中的數據的不同相應部分。
5. 根據權利要求3所述的方法,其中,允許所述多個芯片控制器 的每一個同時存取存儲在所述第二存儲器設備中的數據的不同相應部 分包括指配所述多個控制器芯片中的第一控制器芯片,用于控制與所述 第一存儲器設備相關聯的地址總線及控制總線;指配所述多個控制器芯片中的第二控制器芯片,用于控制與所述 第二存儲器設備相關聯的地址總線及控制總線;在所述第一控制器芯片控制與所述第一存儲器設備相關聯的所述 地址總線及控制總線的同時,允許所述多個控制器芯片的每一個同時 從所述第一存儲器設備中存取數據的相應部分;以及在所述第二控制器芯片控制與所述第一存儲器設備相關聯的所述地址總線及控制總線的同時,允許所述多個控制器芯片的每一個同時 從所述第二存儲器設備中存取數據的相應部分。
6. 根據權利要求l所述的方法,進一步包括配置所述控制器芯片,以支持將從所述第一存儲器設備中檢索的 所述數據的所述不同相應部分同時并行傳遞到目標目的地。
7. 根據權利要求3所述的方法,進一步包括沿著布局軸線布局所述控制器芯片,該布局軸線與所述第一存儲 器設備及所述第二存儲器設備的縱向軸線基本平行。
8. 根據權利要求l所述的方法,其中,允許所述多個芯片控制器 的每一個同時存取存儲在所述第一存儲器設備中的數據的不同相應部分包括沿著布局軸線布局所述控制器芯片,該布局軸線與所述第一存儲 器設備的縱向軸線基本平行。
9. 根據權利要求8所述的方法,其中,沿著所述布局軸線布局所 述控制器芯片包括-在所述布局軸線的第一位置上,設置所述控制器芯片的第一控制 器芯片;在所述布局軸線的第二位置上,設置所述控制器芯片的第二控制 器芯片;實現所述第一控制器芯片與所述第一存儲器設備之間的第一組傳 導通路;以及實現所述第二控制器芯片與所述第一存儲器設備之間的第二組傳 導通路。
10. 根據權利要求9所述的方法,其中,實現所述第一組傳導通路 及所述第二組傳導通路包括將同所述第一控制器芯片與所述第一存儲器設備之間的所述第一 組傳導通路相關聯的對應傳導通路的長度配置為,和同所述第二控制 器芯片與所述第一存儲器設備之間的所述第二組傳導通路相關聯的對 應傳導通路的長度基本相似。
11. 一種系統,包括第一數據總線,該第一數據總線被解析為多組第一數據總線信號; 多個存儲器控制器芯片,該每個存儲器控制器芯片被指配為,控制至第一存儲器設備的所述多組第一數據總線信號中的對應組的第一數據總線信號;以及所述第一數據總線允許所述多個芯片控制器的每一個同時存取存儲在所述第一存儲器設備中的數據的不同相應部分。
12. 根據權利要求ll所述的系統,其中,所述多個存儲器控制器 芯片中的單一存儲器控制器芯片被配置為,控制與所述第一存儲器設備相關聯的地址總線及控制總線。
13. 根據權利要求ll所述的系統,進一步包括 第二數據總線,該第二數據總線被解析為多組第二數據總線信號;以及所述多個存儲器控制器芯片的每一個被指配為,控制至第二存儲 器設備的所述多組第二數據總線信號中的對應組的第二數據總線信 號。
14. 根據權利要求13所述的系統,進一步包括同步電路,用于協調與所述多個存儲器控制器芯片相關聯的操作, 其中,與所述同步電路相關聯的信號傳送允許所述多個芯片控制器經 由所述第二數據總線,同時存取存儲在所述第二存儲器設備中的數據 的不同相應部分。
15. 根據權利要求13所述的系統,其中所述多個控制器芯片中的第一控制器芯片被配置為,控制與所述第一存儲器設備相關聯的第一地址總線及對應的控制總線;以及所述多個控制器芯片中的第二控制器芯片被配置為,控制與所述 第二存儲器設備相關聯的第二地址總線及對應的控制總線。
16. 根據權利要求ll所述的系統,其中,所述多個存儲器控制器 芯片被配置為,支持將從所述第一存儲器設備中檢索的所述數據的所 述不同相應部分同時并行傳遞到目標目的地。
17. 根據權利要求13所述的系統,其中,沿著印刷電路板上的布 局軸線布局所述多個存儲器控制器芯片,該布局軸線與所述第一存儲 器設備及所述第二存儲器設備的縱向軸線基本平行;以及其中,所述第一存儲器設備包括沿著所述第一存儲器設備對應縱 向軸線安置的管腳;以及其中,所述第二存儲器設備包括沿著所述第二存儲器設備對應縱 向軸線安置的管腳。
18. 根據權利要求ll所述的系統,其中,沿著電路板的布局軸線設置所述多個存儲器控制器芯片,該布局軸線與所述第一存儲器設備 的縱向軸線基本平行。
19. 根據權利要求18所述的系統,其中所述多個控制器芯片中的第一控制器芯片駐留在所述布局軸線的 第一位置處;所述多個控制器芯片中的第二控制器芯片駐留在所述布局軸線的 第二位置處;第一組傳導通路將所述第一控制器芯片連接到所述第一存儲器設 備;以及第二組傳導通路將所述第二控制器芯片連接到所述第一存儲器設備。
20. 根據權利要求19所述的系統,其中將同所述第一控制器芯片與所述第一存儲器設備之間的所述第一 組傳導通路相關聯的對應傳導通路的長度配置為,和同所述第二控制 器芯片與所述第一存儲器設備之間的所述第二組傳導通路相關聯的對 應傳導通路的長度基本相似。
21. —種系統,包括裝置,用于將至第一存儲器設備的第一數據總線解析為多組數據總線信號;以及裝置,對于多個控制器芯片的每一個,用于指配相應的控制器芯 片,以控制同所述第一數據總線相關聯的所述多組數據總線信號中的 對應組的數據總線信號,所述第一數據總線位于所述相應控制器芯片 與所述第一存儲器設備之間。
全文摘要
可以將至存儲器設備的單一數據總線拆分為許多數據總線部分,每個部分由多個控制器芯片的不同相應控制器芯片所管理。在對相應的存儲器設備進行存儲器存取期間,多個控制器芯片的每一個控制數據總線不同的對應部分,以根據該存取是讀取還是寫入來從存儲器設備中檢索數據或將數據存儲到存儲器設備。為了執行數據存取,同步器電路(在存儲器控制器芯片內部和/或外部)同步多個存儲器控制器芯片,以便存儲器控制器芯片之一驅動至存儲器設備的地址總線和/或控制信號。在設定至存儲器設備的地址后,存儲器控制器芯片根據該地址,從存儲器設備中讀出數據或者將數據寫入存儲器設備。
文檔編號G11C7/10GK101231879SQ20081000266
公開日2008年7月30日 申請日期2008年1月14日 優先權日2007年1月12日
發明者小弗朗西斯·J·施蒂夫特, 賈森·P·科蘭杰洛, 邁克爾·A·卡恩, 馬修·G·薩金特 申請人:博路技術有限公司