[go: up one dir, main page]

TW200832406A - Memory controller including a dual-mode memory interconnect - Google Patents

Memory controller including a dual-mode memory interconnect Download PDF

Info

Publication number
TW200832406A
TW200832406A TW096140532A TW96140532A TW200832406A TW 200832406 A TW200832406 A TW 200832406A TW 096140532 A TW096140532 A TW 096140532A TW 96140532 A TW96140532 A TW 96140532A TW 200832406 A TW200832406 A TW 200832406A
Authority
TW
Taiwan
Prior art keywords
memory controller
memory
data
differential
signal path
Prior art date
Application number
TW096140532A
Other languages
English (en)
Other versions
TWI489456B (zh
Inventor
Gerald R Talbot
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of TW200832406A publication Critical patent/TW200832406A/zh
Application granted granted Critical
Publication of TWI489456B publication Critical patent/TWI489456B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Static Random-Access Memory (AREA)

Description

200832406 九、發明說明: 【發明所屬之技術領域】 本發明係關於電腦記彳咅砂t ^ 电胞體糸統,且尤係關於在記憶體 控制器與記憶體單元間之資料轉移。 【先前技術】 電腦系統係採用許多不同種類之系統記憶體。一種常 用之系統記憶體係利用可移除式記憶體模組來實作。記憶 _體^組具有不同的種類與組構。然而大致上,記憶體模組 可K作為具有邊緣連接端(edge connector)及複數記憶體裝 置之印刷電路板。遠記憶體模組可插入位於主機板(麵心r board)或其他系統板(system b〇ard)上之插座中。一種普遍 使用之記憶體模組係雙列直插式記憶體模組(Duai “七μ
Memory Module,DIMM),但仍有其他種類存在。於其他系 統中,記憶體裝置可為非可移除式並直接安置於該主機板 或系統板。 藝於近代歷史中’電腦系統處理器之速度及效能已急速 增加。然而’系統記憶體效能卻典型地停滯落後。如此一 來’一些系統效能改進之處便被該系統記憶體之效能所限 制住。因此’對系統設計師來說,改善該系統記憶體之頻 寬與容量為極具關切之處。 雖然改善系統記憶體效能是可能的,但這些改善之處 有時極為昂責。有鑑於此,改善該系統記憶體之頻寬與容 量同時又保持花費低廉為極欲達成之課題。 【發明内容】 5 94122 200832406 κ 本發明係揭露包含雙模式記憶體互連之記憶體控制器 之各種具體實施例。於一個具體實施例中,該記憶體控制 器係包括具有複數個輸入緩衝器及複數個輸出驅動器之輸 入/輸出(input/output,I/O)電路。該輸入/輸出電路可組構成 取決於模式選擇訊號之狀態而運作於第一模式及第二模式 之其中一者。運作於該第一模式期間,該輸入/輸出電路可 組構成提供並列互連(parallel interconnect)以連接至一個 或多個記憶體模組。運作於該第二模式期間,該輸入/輸出 _ 電路可組構成提供個別之串列互連(serial interconnect)連 接至一個或多個鍰衝單元之各者,每個缓衝單元組構成緩 衝正從該一個或多個記憶體模組讀取或正寫入該一個或多 個記憶體模組中的記憶體資料。 於一個特定實作中,每個個別串列互連包括複數個差 分雙向資料訊號路徑(differential bidirectional data signal path)。每個差分雙向資料訊號路徑可傳遞資料於給定之緩 φ 衝單元與該記憶體控制器間。 於另一特定實作中,每個個別串列互連包括差分命令 訊號路徑(differential command signal path),其可從該記憶 體控制器傳遞命令資訊至給定之緩衝單元。 於又一特定實作中,每個個別串列互連包括複數個下 行差分單向訊號路徑(downstream differential unidirectional signal path)以及下行單向差分時脈訊號路 # (downstream unidirectional differential clock signal path)。每個下行差分單向訊號路徑可傳遞來自該記憶體控 6 94122 200832406 " 制器之資料、位址及命令資訊至該一個或多個緩衝單元。 該下行單向差分時脈訊號路徑可傳遞來自該記憶體控制器 之串列時脈訊號至該一個或多個緩衝單元之各者。 於再一特定實作中,每個個別串列互連係包括複數上 行差分單向訊號路徑(upstream differential unidirectional signal path)。每個上行差分單向訊號路徑可傳遞來自該一 個或多個緩衝單元之其中一者的資料及循環冗餘碼 (Cyclic Redundancy Code,CRC)資訊至該記憶體控制器。 【實施方式】 現在參閱第1圖,係顯示包含有高速串列緩衝器 (high-speed serial buffer)之一個具體實施例之記憶體系統 之方塊圖。記憶體系統10包括耦合記憶體單元110A至 -110H以及缓衝單元170A至170J之記憶體控制器1〇〇。須 注意的是,包含具有數字及字母之參考指示器(reference designator)之元件可僅由該數字指示。舉例來說,記憶體 馨單元1 1 0 A可在合適處指示為記憶體單元11 〇。亦須注意的 疋έ己憶體控制器10 0可為晶片組之一部分(例如可使用於 北橋配置(Northbridge arrangement))的記憶控制器。或者例 如第5圖所示,記憶體控制器1〇0可為記憶體控制器1〇〇 被嵌入包含一個或多個處理器核心之處理節點内之嵌入式 解決方案的一部分。 於一個貝作中’ g己憶體早元11 〇A至11 可為記恨體 模組’例如雙列直插式記憶體模組(Dual In_line Mem〇ry Module,DIMM)。如此,每個DIMM可包括複數個記憶體 94122 7 200832406 ' 裝置(未圖示),例如於記憶體裝置之動態隨機存取記憶體 (Dynamic Random Access Memory,DRAM)家族中之裝 置。然而,大體上須注意的是,系統10之記憶體單元11 〇 可代表任何類型的系統記憶體。 於所列舉之具體實施例中,記憶體控制器1 〇〇係透過 高速串列互連(serial interconnect)160A及160B輕合至緩 衝單元170。於一個具體實施例中,每個高速串列互連 ^ (high-speed serial interconnect) 160 係使用差分訊號技術 (differential signaling technique)。高速串歹’J 互連 16〇 可包 括複數個差分雙向資料訊號路徑(differential bidireetioual data signal path)(DDQ)、差分緩衝命令訊號路徑(differentiai buffer command signal path)(BCMD)、差分時脈訊號路徑 -(differential clock signal path)(WCLK)以及差分循環冗餘 碼訊號路徑(differential cyclic redundancy code signal
Path)(CRC) 〇於所列舉之具體實施例中,顯示有二個記憶 # 體通道。如此,串列互連160A可用於其中一個通道且因 此耦合至緩衝單元170A至170F,而串列互連16〇b可用 於另一通道且耦合至緩衝單元170G至170J。須注意的是 於所列舉之具體實施例中,每個緩衝單元170E及170J之 一部份係不使用的,且於需要時可用於其他目的。 再者,記憶體控制器100係經過並列互連165輕合至 記憶體單元110。如所示,於記憶體控制器100及記憶體 单元110間之並列互連16 5可包括位址/命令訊號路科 (address/command signal path)(ADDR/CMD)以及時脈訊號 94122 8 200832406 ’ 路徑(clock signal path)(MCLK)。如同所顯示之該二個串列 互連,顯示有二個ADDR/CMD/MCLK訊號路徑。每個該 ADDR/CMD/MCLK訊號路徑可用於個另,J的記憶體通道。如 所示,其中一個ADDR/CMD/MCLK訊號路徑係耦合至記 憶體單元110A至110D,而另一個ADDR/CMD/MCLK訊
I 號路徑則耦合至記憶體單元110E至110H。再者,緩衝單 元170亦經由並列互連165耦合至記憶體單元110。如所 ⑩示,並列互連165亦包括資料路徑(DQ)以及資料選通訊號 路徑(data strobe signal path)(DQS)。於一個具體實施例 中,記憶體控制器100可藉由經過該ADDR/CMD訊號路 徑發送位址及指令而控制記憶體單元110之運作。 如以下將更加詳細描述者,該DQ資料路徑可於該緩 -衝單元170及記憶體單元11〇間雙向傳遞資料。該dq資 -料路徑可包含一些8位元(bit)(位元組(byte)寬度)之資料路 徑。舉例來說,全資料路徑(full data path)可為288位元 • 寬,但該全資料路徑可分成位元組尺寸之部分。須注意的 是於一個具體實施例中,該288位元可包括四個確認位元 組(check byte),而在其他具體實施例時,可使用其他數量 之確認位元組。須注意的是,該全資料路徑可包括任何數 量之資料位元,且可分成不、同尺寸之部分。該串列互連160 之DDQ資料路徑可串列地且高速地傳遞經過該並列互連 所傳遞之資料。舉例來說,DDQ0訊號路徑可傳遞對應於 DQ [0··3]之資料位元,DDQ1訊號路徑可傳遞對應於 DQ[4:7]之資料位元等,但其他的映射(mapping)也是可能 9 94122 200832406 的0 有許多種方法可使資料路徑輕合至記憶體單元則 舉例來說’可考慮將緩衝單幻7(M乍為單一積體電路之 部分。然而,由於用於此種實作所需之針腳(㈣數量,這 可能是不切貫際的。因在匕’於一個具體實施例中,該資料 路徑可被分散且分組成較小的單位。因此,於—個具體實 施例’每個緩衝單it 17G可為單獨的積體電路,該積體電
路係提供緩衝功能給個別的組。 …於-個具體實施例中,在寫人運作期間,每個串列緩 衝單元170可串列地時脈輸入(cl〇ck⑻並儲存二個位元 組,且於其後並列地傳送該二個位元組於並列互連 上。為獲得所需之流通量,於一個具體實施例中,該串列 互連160可用並列互連165於該資料訊號路徑上轉移資料 之四倍速率來轉移資料。然而,該addr/cmd訊號路徑 以及該MCLK訊號路徑則可用並列互連165上資料路徑之 半倍速率來運作。舉例來說,當該並列互連165之資:訊 號路徑DQ/DQS可用1600MT/S轉移資料,且該addr/ CMD及MCLK訊號路徑可用8〇〇MT/s進行運作時,該串 /列互連160可肖6.4GT/S於該DDQ資料路徑上轉移資料。 須注意的是於其他具體實施例中,串列緩衝單元於傳 送位元組至並列介面(para〗lel interface)l65之前可儲存 任何數里之位元組。亦須注意的是,該串列互連】⑹可用 關於並列互連165中任何適當的資料速率來運作。 CRC訊號路徑可經由個別的單向差分訊號路徑傳遞 94122 10 200832406 r 來自各個缓衝單元170之CRC資訊至記憶體控制器100。 除此之外,時脈訊號路徑可傳遞WCLK訊號至各個緩衝單 元170。同樣地,BCMD訊號路徑傳遞來自該記憶體控制 器100之緩衝命令至各個緩衝單元Π0。 於一個具體實施例中,記憶體控制器100可藉由經過 該BCMD訊號路徑而發送之命令,控制緩衝單元170的運 作。如此,緩衝單元170可具有正常運作模式(normal operation mode)以及組構與測試模式(configuration and 響 test mode)。舉例來說,於標準資料運作期間,記憶體控制 器100可發送用於資料及前後同步碼(pre- and post-amble〇 -一者之續取及舄入'^日令’以δ買取及寫入貧料儲存設備(data storage),且校正(adjust)該DQ訊號路徑之相位偏移(phase .offset)。此外,舉例來說,記憶體控制器1〇〇可藉由發送 多種的回傳命令(loopback command)、CRC控制命令以及 CRC訓練圖樣(training pattern)指令來控制該缓衝單元17〇 _ 之組構、訓練及測試。 於尚資料速率時’缓衝單元170或記憶體控制器1⑽ 收到位元錯誤(bit error)的可能性是顯著的。因此,必須以 錯誤偵測碼(error detection code)保護於記憶體控制器 及後衝單元17 0間之轉移情形’該錯誤偵測碼將強而有力 地#測所保濩之區塊内的多重位元錯誤(multiple bit error)。於一個具體實施例中,CRC碼可用來提供此種多 重位元錯誤偵測。更特別的是’如第2圖所示,為了簡化 於該缓衝單元及/或該記憶體模組中之邏輯,以及報告該記 94122 11 200832406 憶體控制裔100之錯誤,緩衝單元170於根據其產生的資 料或接收的資料來計算CRC。因此,為了轉移該crc資 訊返回至記憶體控制器100,可使用單向CRC訊號路徑。 如第2圖所示,CRC單元25〇可基於其内部資料而計算該 CRC,並發送該CRC資料返回至記憶體控制器1〇〇。當在 任何方向的鏈結上偵測到錯誤時,記憶體控制器1〇〇可藉 由重試(retry)該運作以矯正該錯誤。 ⑩ 於一個具體實施例中,可計算CRC資訊並且同時與轉 移的資料從緩衝單元170發送至記憶體控制器ι〇〇,使得 該CRC在同時可以是可得的,作為在其抵達記憶體控制器 100時所保護的資料區塊。於一個具體實施例中,藉由於 寫入至讀取(write-to-read)以及讀取至寫入(read-t〇-write) 之轉換期間將延遲引入至該資料路徑上,可減輕與計算該 CRC相關聯之延遲。 如上所述,舉例來說,許多習知系統係藉由實作控制 φ 功能如時脈相位恢復(clock phase recovery)、頻道等化 (channel equalization)及錯誤偵測於各通訊裝置中,以控制 高速雙向通訊。然而,更詳細描述如下,緩衝單元170可 被簡化產生此種控制功能非對稱(control functionality asymmetric)。就此而言,記憶體控制器100可包括控制功 能,其係可動態並適性地校正所傳送之寫入資料之訊號特 性(例如:相位等),以使緩衝單元170基於接收自緩衝單 元170之資訊而正確地讀取資料。除此之外,記憶體控制 器100可校正其内部接收器特性,以使記憶體控制器1 〇〇 12 94122 200832406 可接收由緩衝單幻70發送之資料。再者,記憶體控制器 100可校正提供給緩衝單元17〇之時脈訊號之相位,以使 位址及命令資訊可被正確地取樣(sample)。 …更4寸別的疋,於尚資料速率時,對於匯流排内不 同訊號之傳輸路徑中之延遲之不確定性,可能需要該些訊 號之接收态之取樣時脈(sample cl〇ck)之每位元相位校 正。為避免採用於緩衝單元17〇内之該電路系、统,記憶體 •控制ι〇0可校正其傳送的時脈及資料訊號之相位,以避 免於從動裝置(Slave)中之複雜的相位偏移(phase shifting) 電路如此,於所列舉之具體實施例中,記憶體控制器i⑽ 包括耦合至傳送單元102、接收單元104以及時脈單元 之=制單元101。控制單元101可基於接收自緩衝單元17〇 之 料δ十异相位資訊,而該緩衝單元〗70係可用來校正記 憶體控制器1〇〇内之各種時脈邊緣之相位。舉例來說,回 應如CRC資料及讀取資料之資訊,控制單元1〇1可分別控 肇制於傳送單元102、接收單元104及時脈單元106内之相 位追蹤(tracking)及校正(adjustment)電路(如第2圖所示)。 此功能將配合第2圖及第5圖之敘述詳細描述如下。 麥閱第2圖,係詳加說明第1圖所示之記憶體系統之 殂件恶樣之圖。對應於第i圖中之組件係以同一標號以求 簡單明暸。記憶體控制器100係經由差分串列互連16〇耦 合至串列緩衝器(serial buffer)170。須注意的是,緩衝單元 17〇可代表任何於第〗圖所示之緩衝單元π〇Α至17〇J。 因此,差分串列互連16〇包括差分WCLK訊號路徑、差分 94122 13 200832406 BCMD訊號路徑、差分crc訊號路徑以及差分資料訊號路 徑 DDQ [7:0]。 記憶體控制器100包括產生自第i圖中之時脈單元 106之6.4GHz時脈訊號,該時脈訊號係耦合至可變相位單 元(variable Phase units) 293, 294, 295 及 296,該等可變相 位單元可為計時單元106之一部分並可提供内部時脈給記 憶體控制器1〇〇。該可變相位單元293, 294, 295及296之 φ 輸出端係分別提供該時脈訊號給正反器(flip-flop,FF) 290, 289, 286及284。該可變相位單元293係耦合至FF 290之 時脈輸入端。由於FF 290具有耦合一回饋迴路(feedback looP)於該輸入端之反向器(inverter)292,故該6.4GHz時脈 訊號係輸出為3.2GHz時脈訊號。FF 290之輸出端係耦合 至差分輸出驅動器(differential output driver) 291之輸入 端’而其輸出端係耦合至差分WCLK訊號路徑。該寫入資 料係耦合至FF 286之輸入端。FF 286之輸出端係耦合至 ⑩ 差分專化輸出驅動器(differential equalization output driver) 287。該驅動器287之輸出端係耦合至DDQ [7:0] 之其中一個訊號路徑。因此,對於DDQ [7:0]之每個訊號 路徑,可使用類似的寫入資料輸出路徑(未圖示)。同樣地, 對於讀取資料,DDQ [7:0]之其中一個訊號路徑係耦合至差 分輸入緩衝器283,而其輸出端係耦合至FF 284之輸入 端。FF 284之輸出端係提供作為讀取資料至記憶體控制器 100之其他部分(未圖示)。該CRC訊號路徑係耦合至差分 輸入緩衝器281,其輸出端係耦合至接收器時脈資料恢復 14 94122 200832406 ’ 單元(receiver clock data recovery unit) (Rx CDR) 282 之输 入端。Rx CDR係搞合至每位元偏移單元(per bit offset unit)285,其係耦合至可變相位單元296。緩衝命令資訊係 被提供至FF 289之輸入端。FF 289之輸出端係耦合至差 分等化輸出驅動器(differential equalization output driver) 288,其係耦合至該差分BCMD訊號路徑。 缓衝單元170包括緩衝器209,該緩衝器209代表用 ^ 於每個該DDQ [7:0]訊號路徑之差分輸入緩衝器。緩衝器 209係耦合以接收在其中一個該DDQ [7:0]訊號路徑上發 送之寫入資料。該緩衝器209之輸出端係耦合至FF 208 之輸入端。FF 208之輸出端係幸馬合至寫入先進先出記憶體 (First-In-First-Out,FIFO) 220。該寫入 FIFO 220 之輸出端 係耦合至DRAM介面256,該DRAM介面256係代表經由 並列互連165用以與記憶體單元110介接之輸入缓衝器及 輸出驅動器電路。如所示,有16個資料選通訊號路徑DQS ⑩ [15:0]及32個資料訊號路徑DQ [31:0]作為並列互連165 之一部分。來自寫入FIFO之寫入資料可經由DQ [3 1:0]輸 出至該記憶體單元110。須注意的是,雖然只有顯示該DQ 以及DQS訊號,但為求簡化已省略其餘訊號。亦須注意的 是,雖然為了簡化而未顯示,然該MCLK及DQS訊號亦 可為差分訊號。 來自記憶體單元110經由DQ [31:0]之讀取資料係經 過DRAM介面256耦合至多工器(mux)203之其中一個輸 入端。該多工器203之輸出端係提供給FF 206之輸入端。 15 94122 200832406 控制邏輯255係控制該多工器203之多工器輸入選擇 (multiplexer input select)。FF 206之輸出端係耦合至差分 專化 ΐ 料輸出驅動器(differential equalization data output driver) 210,其係耦合至該DDQ [7:0]之其中一個差分訊號 路徑。 缓衝單元170包括控制邏輯255,其係經由輸入缓衝 器201耦合以接收來自該記憶體控制器ι〇〇之該緩衝命令 • 資訊(BCMD),其中該輸入緩衝器201係耦合至FF 202之 輸入端。該BCMD資訊可引發控制邏輯255驅動寫入資料 至該DQ資料路徑,或是讀取資料給該dq資料路徑,或 疋進入及退出初始化程序(initialization sequences)等。因 此,控制邏輯255可控制該DRAM介面256、CRC單元 250、多工器203以及其他電路。 於所列舉之具體實施例中,該3.2GHz時脈訊號係耦 合至FF 202, 205, 208及206之時脈輸入端。每個FF 202, φ 205,208及206係顯示為雙緣正反器(dual edge flip flop), 意指該些正反器組構成鎖存(latch)‘D,輸入於該輸入時脈 訊號之領緣(leading edge)與延緣(trailing edge)二者上。因 此,寫入資料及BCMD資訊可以6.4Gb/s之速率傳遞於其 各自之資料路徑,且輸入端係使用3.2GHz時脈訊號鎖存。 同樣地’由於記憶體控制器1〇〇以6.4GHz運作,故讀取 資料及CRC資訊可用6.4Gb/s的速率於其個別之訊號路徑 傳遞’以及在特定迴路返回模式期間於記憶體控制器1〇0 内使用。 16 94122 200832406 Λ 於一個具體實施例中,當接收到寫入資料時,該寫入 資料係被FF 208鎖存並儲存至寫入FIFO 220。寫入FIFO 可儲存該資料直到接收到足夠的位元,以經由DRAM介面 256被輸出至記憶體單元110。 配合第5圖中之敘述,將更加詳細描述如下,於運作 期間,記憶體控制器100可動態並適性地校正傳送之寫入 資料之訊號特性(例如:相位等)及内部接收器特性,並校 正該6.4GHz時脈訊號之相位,其中該6.4GHz時脈訊號係 • 產生提供給缓衝單元170之該3.2GHz時脈訊號。更特別 的是,如上所述,接收單元104包括取樣時脈相位校正電 路(sample clock phase adjustment circuits),例如 Rx CDR 282以及偏移單元(offset unit) 285,以校正其本身局部的 取樣時脈相位,以更理想地接收由缓衝單元170傳送之資 料。如此,每當記憶體控制器100接收到來自緩衝單元170 之CRC資料時,接收單元104可使用Rx CDR 282、偏移 • 單元285及可變相位單元296以校正FF 2 84之時脈相位。 除此之外,於記憶體控制器100内之控制單元101可校正 可變相位單元293,以校正提供給FF 290之6.4GHz時脈 訊號的相位。於初始化處理期間,例如於電源重新啟動期 間,記憶體控制器100可校正可變相位單元294,以校正 提供給FF 289之6.4GHz時脈訊號的相位,以容許緩衝單 元170正確地取樣缓衝命令訊號。再者,於初始化期間以 及於預定時間間隔内之運作期間,控制單元101可校正可 變相位單元295,以校正提供給FF 286之6.4GHz時脈訊 17 94122 200832406 ^ 號的相位,以校正被傳送至緩衝單元170之寫入資料的相 位,俾使緩衝單元170更理想地接收該寫入資料。 第3圖係說明於第1及2圖中所示之具體實施例於8 位元叢發(burst)期間之例示運作的時序圖。更特別的是, 該時序圖係顯示128位元組之讀取/寫入/讀取叢發。該圖 包括該MCLK及ADDR/CMD訊號,該MCLK及ADDR/ CMD訊號係由記憶體控制器100提供給記憶體單元110。 該圖亦顯示於緩衝單元170及記憶體單元110間分別傳遞 資料及資料選通的DQ及DQS訊號。剩餘訊號:DDQ、 BCMD及CRC訊號,係於記憶體控制器100與緩衝單元 170間傳遞資訊。 如所示,讀取命令(例如:rdA及rdB)係藉由記憶體控 制器100發送至記憶體單元110。在數個MCLK週期後, 該資料與資料選通訊號DQS出現在DQ訊號路徑上。於該 資料出現在該DQ訊號路徑上之前,讀取命令(例如:r0、 • rl)係經由該BCMD訊號路徑發送至缓衝單元170。於該 rdA資料之後,下一個MCLK週期係於該DQ訊號路徑上, 該rdA資料則出現在該DDQ訊號路徑上。如上所述,該 rdA及rdB資料係並列地自記憶體單元110至缓衝單元170 以兩倍MCLK速率(例如:16001^175)傳遞。然而;該資料 係串列地自緩衝單元170至記憶體控制器100以極快之資 料速率(如6.4GT/S)傳遞。 當從讀取轉變成寫入時,為減輕匯流排回復時間 (turn-around time),寫入資料可於緩衝單元170内被預先 18 94122 200832406 " 緩衝。舉例來說,如所示之wrX資料以及相關聯之B CMD 寫入命令(例如:wl),係被發送至緩衝單元170,但該資 料並未寫入至記憶體單元110,直到稍後如虛線所指處。 該讀取/寫入/讀取程序可大致描述如下:wrX資料係 藉由記憶體控制器100經過該DDQ訊號路徑寫入至緩衝 單元170,並儲存至緩衝單元170内。記憶體控制器100 同時地發出讀取命令(rdA接在數個MCLK週期後有rdB) 經由該ADDR/CMD訊號路徑至記憶體單元110。就在該 rdA資料出現在該DQ匯流排上之前(例如:於該wrX資料 在DDQ上傳送結束時),記憶體控制器100發出讀取命令 (例如:r0及rl)經由BCMD至緩衝單元170。當該以八及 rdB資料於該DQ匯流排上時,記憶體控制器100經由該 ADDR/CMD匯流排發送寫入命令(例如:wrX及wrY)至記 憶體單元110。該rdA及rdB資料係鎖存在緩衝單元170 内且經由DDQ被發送至記憶體控制器100。於DDQ上之 • rdB資料轉移完成之前,記憶體控制器100發送寫入命令 (例如:w0、w2及w3)至緩衝單元170。當該w3寫入命令 導致剛經由該DDQ訊號路徑發送之該wrY資料經由該DQ 資料路徑發送至記憶體單元110時,該w2指令便使得該 先前已儲存之wrX資料寫入至記憶體單元110。當該wrX 資料係正被寫入至記憶體單元110時,記憶體控制器100 發出rdC命令經由該ADDR/CMD訊號路徑至記憶體單元 110。於一些週期後,該rdC資料以及資料選通分別出現在 該DQ訊號路徑上以及DQS訊號路徑上。當該rdC資料正 19 94122 200832406 ,Λ Q資料路杈上轉移至緩衝單元170時,記憶體控制 ~剛考叉出該頃取命令(例如:及⑴經由該BCMD訊號 路徑至緩衝單元]7ri m 170,因而使緩衝單元170經由該DDQ資 料路徑發送該讀取資料。與wrX資料類似,—資料於此 叢發期間係未被寫人至記憶體單元削。相反地,·ζ資 料係儲存於緩衝單元17〇内以用於下一次寫入叢發期間。 如上所述’於記憶體控制器100及緩衝單元170間之 _讀取及寫入運作期間,產生並發送CRC至記憶體控制器 4 CRC係由BCMD資訊,如箭頭所示之寫入資料以 及視取資料而產生出來。如所示,wl,r〇, w〇命令、wrX, 以及rdB資料係用來產生CRC資訊,該資訊係發送 自緩衝單元17〇至記憶體控制器1〇〇於該CRC訊號路徑 上。 須注意的是,如所示,雖然上述之訊號可導致CRC資 訊被產生且被發送至記憶體控制器1〇〇,但即使該緩衝單 瞻元170為閒置時(亦即未轉移資料時)CRC訊號路徑可具有 轉換(transition)。如上所述’ CRC資料驅動於記憶體控制 器100内之RXCDR 282。因此,這些轉換可使該讀取資料 取樣時脈(read data sample clock)持續對準相位以正癌地 取樣該讀取資料。 第4圖係描述顯示於第1及2圖中之具體實施例之運 作之流租圖。如上所簡述’於§己憶體控制器1⑼及緩衝單 元170間之介面係非對稱的。也就是說,常駐(reside)於記 憶體控制器100内之控制功能係較多於緩衝單元170内 94122 20 200832406 者。因此,於開機(power up)期間以及於運作期間之預定 時間時,記憶體控制器100可校正傳送之寫入資料之訊號 特性(例如:相位等),以使緩衝單元170基於接收自緩衝 單元170之資訊正確地讀取該資料。除此之外,記憶體控 制器100可校正其内部接收器特性,以使記憶體控制器1〇〇 正確地接收由緩衝單元170發送之資料。再者,記憶體控 制器100可校正提供給緩衝單元170之時脈訊號的相位, 且校正該B CMD訊號的相位以使緩衝命令資訊正癌地被 緩衝單元170取樣。 共同參閱第1、2及4圖,且從第4圖之方塊400開始, 於一個具體實施例中,在重新啟動或是開機狀態之後(方塊 400),控制邏輯255引發緩衝單元170跳出重新啟動而進 入訓練模式中(方塊405)。在進入訓練狀態後,所有的雙向 訊號路徑驅動器(例如:DDQ、DQ及DQS)可處於高阻抗 狀態(方塊410)。於該訓練模式中,於偶數MCLK週期期 • 間,該BCMD訊號路徑係迴路返回(loop back)至CRC訊號 路徑(方塊405);且於奇數MCLK週期期間,訓練圖樣 (training pattern)(例如:10101010···)係輸出於該 CRC 路徑 上(方塊420)。記憶體控制器100驅動於該BCMD訊號路 徑上的訓練圖樣,該路徑係於該偶數MCLK週期期間輸出 於該CRC路徑上(方塊425)。記憶體控制器100獲得於CRC 路徑上接收已知資料圖樣之位元鎖定(bit-lock)以及位元組 鎖定(byte_lock)(方塊430)。除此之外,記憶體控制器100 藉由校正可變相位單元294而校正該BCMD時脈訊號的相 21 94122 200832406 ^ 位,以使緩衝單元170可獲得於該BCMD訊號路徑上之位 元鎖定(亦即位元對準(bit alignment))以及位元組鎖定(亦 即位元組對準(byte alignment))(方塊435)。更特別的是, 記憶體單元1〇〇可變化(偏移)以一個位元時間(UI)發送之 圖樣,以確保緩衝單元170正確地捕捉(capture)每個位 元,在串列位元中偏移,並於正確之位元組邊界(byte boundary)上捕捉完整的8位元之位元組。然後記憶體控制 器可發送緩衝命令以緩衝單元170離開訓練模式(方塊 440) 〇 為了訓練該DDQ資料路徑,記憶體控制器100經由 該DDQ資料路徑發送訓練圖樣(例如:具有許多轉換 (transition)之隨機圖樣)。此圖樣係儲存於寫入先進先出記 憶體(write FIFO)220内(方塊445)。記憶體控制器100回 讀(read back)該儲存之圖樣以獲得位元鎖定(方塊450)。記 憶體控制器100校正該寫入資料之相位(例如:藉由校正可 ⑩ 變相位單元295)以獲得大約50%之位元錯誤率(bit error rate)。50%之轉換錯誤率可表示該寫入資料係正被取樣於 邊緣附近。然後記憶體控制器100以0.5UI將該寫入資料 之相位校正回來。如此將可導致FF 208,舉例來說,以取 樣該資料於每個資料位元之中央部分附近。此處理可執行 、用於每個DDQ訊號路徑(方塊455)。為了獲得位元組鎖 定,記憶體控制器100經由DDQ資料路徑發送訓練圖樣。 於一個具體實施例中,該訓練圖樣對於每個位元組可具有 不同的圖樣。當監控該CRC資訊時,記憶體控制器100 22 94122 200832406 可偏移該訓練圖樣資料於增加一個m θ。倘若該crc資 訊為正確的,位元組鎖定即被建立(方塊46〇)。一旦該訓練 圖樣被位元組鎖定於緩衝單元17〇 π,記憶體控制器ι〇〇 將4圖取得讀取資料位元組鎖定。於一個具體實施例中, 記憶體控制器100回讀該位元組鎖定訓練圖樣(方塊 465)。此時,該串列互連應被對準,以使位元鎖定及位元 、、且鎖疋一者皆於寫入及讀取方向上被取得。 • ^同樣地,該並列DRAM介面256可被對準。更特別的 疋,於一個具體實施例中,當保存該BCMD及ddq寫入 相位對準時,記憶體控制器100可校正該WCLK相位,直 到該寫入相位DqS邊緣與合適的MCLK邊緣對準(方塊 470) 〇 、令 旦該緩衝單元170串列以及並列互連被對準,於正 常運作期間,記憶體控制器1〇〇可使用上述之訓練圖樣執 行忒串列互連160之寫入相位訓練。該訓練可執行於預定 時間間隔。同樣地,於閒置週期期間,記憶體控制器1〇〇 可藉由發送一些閒置命令給緩衝單元17〇以監控並校正 BCMD及CRC對準。這些閒置命令可引發富有cRc圖樣 之預疋轉換被傳送至該CRC訊號路徑(方塊475)。 苓閱第5圖,顯示包含第〗圖與第2圖之記憶體系統 之電腦系統的例示具體實施例之方塊圖。須注意的是,對 ,顯示於第1及2圖中組件之組件,係以同一標號以求簡 單月瞭。電腦糸統500包括處理節點(proeessing n〇de) 650 ’其耦合至記憶體緩衝器170以及記憶體單元ι10。 94] 22 23 200832406 於-個實作中’該緩衝單元m可為安置於主機板之 積,電路晶片’且該記憶體單元11〇可插入插座中。於另 一貫作中’該緩衝單S 17〇可為安置於擴充子板(daugh如 ard)之積體電路晶片,該擴充子板係可插人記憶體擴充 子卡(daughter card)插座中。於此種實作中,該擴充子板可 具有插座以使該些記憶體單元11〇以豎立配置方式插入其 中。 _ 更特別的疋,該處理節點650包括連結至記憶體控制 态100之處理器核心601。須注意的是,於處理節點650 内了有任何數置之處理器核心6 01。如上所述,記憶體控 制器100訊號係經由差分串列互連160耦合至記憶體緩衝 為170,且經由並列互連165耦合至記憶體單元11 〇。如所 示’該串列互連包括單向CRC訊號路徑、單向WCLK訊 號路徑、單向BCMD訊號路徑以及雙向資料訊號路徑。除 此之外,於該記憶體緩衝器170及記憶體單元11〇間,該 參並列互連165係包括雙向資料及資料選通訊號路徑。再 者,於處理節點650及記憶體單元110間,並列互連165 係包括單向ADDR/CMD及MCLK訊號路徑。須注意的是, 除了該ADDR/CMD訊號外,仍有其他訊號,如晶片選擇 (chip select)、庫選擇(bank select)以及其他包含於該並列 互連165者,然而,為求簡化,這些訊號皆省略不提。亦 須注意的是,雖為求簡化而未顯示於此,但MCLK及DQS 訊號可為差分訊號。 參照第6圖,係顯示電腦系統之具體實施例之方塊 24 94122 200832406 圖’該系統包括具有雙模式記憶體互連之記憶體控制器。 電腦系統7GG係類似顯示於第5圖中之電腦系統綱。舉 例來說,電腦系統700亦包括耦合至記憶體緩衝器17〇及 記憶體單元110之處理節點㈣。然而於第6圖中,由於 記憶體,控制器710係雙模式記憶體控制器,故不同於第$ 圖中之記憶體控制H 100。更特別的是,如下更加詳細描 述者,記憶體控制H 71G可選擇性地組構成與連至記憶體 早兀no之並列互連或是與用於和緩衝單元17〇 一起使用 之串列互連來進行運算。 如上所簡述,電腦系統設計師可能想設計出具有極大 彈性之系統’以使其組件可由愈多的系統製造商使用愈 好。因此,於-個具體實施例中,記憶體控制器71〇可电 構成運作於第—模式中,以提供給可相容於多種記憶體規 格之並列記憶體互連(parallel ime⑽職〇。舉例 來說’於不同之具體實施例中,記憶體單元m可相容於 腿2、DDR3或是其他所期望之規格。如此,記憶體控制 器710可提供作為其並列互連,如所期望*可相容於臟2 以及DDR3技術之並列互連。除此之外,記憶體控制器川 可組構成運作於第二模式中,以提供例如第圖令串 列互連160之差分串列互連(differemial serial interconnect) 〇 ^ _ 、母干儿/ZU 決定並選擇於記憶體 控制裔710内之輸入/輪出Π雷女 铷出(1/0)電路711之組構。於一個具 體實施例中,可使用虛y抓乙λλ 用處理即點600之固線式(hardwired)外 94122 25 200832406 . 部針腳來選擇該記憶體控制器710之模式。於此種具體實 施例中,處理節點600之一個或多個外部選擇針腳可如所 示固線(hardwired)於電路接地端(circuit ground),或是固線 於VDD或其他電壓。組構單元720可偵測選擇針腳狀綠, 並因此組構記憶體控制器710之I/O電路711。於另 體實施例中,於系統起始(start- up)期間,執行Bl〇s 或是其他系統層級之軟體時,可選擇記憶體控制器模式。 ⑩ 於所列舉之具體實施例中,於第一模式中,記憶體控 制器710係直接耦合至記憶,體單元11〇。於此一級構中, I/O電路711係包括例如DQ、DQS、ADDR/CMD以及] 訊號路徑之並列互連。於第二模式中,該I/O電路711係 變更為差分串列互連,其係耦合至如第1、2及5圖所示< 記憶體緩衝單元170(虛線)。 為了達成模式切換,I/O電路711可包括複數個輪出 驅動器及輸入缓衝器。某些驅動器與緩衝器可為差分電路 # (differential circuit),而某些可為單端型(single-ended)。於 一個具體實施例中,視該模式而定,可改變處理節點與·區 動器及緩衝器之各種I/O針腳間的連接。因此,於—個I 體實施例中,部分I/O電路711可運作如可程式化互連 (programmable interconnect) ° 舉例來說,如第6圖所示,該€尺€/1)(^8訊號路獲可 於雙向DQS訊號路徑及單向CRC訊號路徑之間改變。談 DQS/BCMD亦可於雙向DQS訊號路徑及單向BCMD訊號 路徑之間改變。除此之外,該WCLK/DQS訊號路徑可於 94122 26 200832406 雙向DQS訊號路徑及單向WCLK訊號路徑之間改變。再 者,該 DDQ/DQ訊號路徑可於雙向單端型(single ended)DQS訊號路徑及雙向差分資料DDQ訊號路徑之間 改變。 參閱第7圖,係顯示包含高速緩衝器之記憶體系統之 另一具體實施例之方塊圖。記憶體系統80包括記憶體控制 器800,該記憶體控制器800耦合至記憶體單元110A至 ^ 110H,然後耦合至緩衝單元870A至870D。須注意的是,
W 類似顯示於第1圖之記憶體控制器,記憶體控制器800亦 可為晶片組之一部分(例如可用於北橋配置)之記憶控制 器。或者,如第10圖所示,舉例來說,記憶體控制器800 可為記憶體控制器800被嵌入包含一個或多個處理器核心 之處理節點内之嵌入式解決方案的一部分。 對應於顯示於前述圖式中之那些組件,係以同一標號 以求簡單明暸。如此,於一個具體實施例中,記憶體單元 • 110A至110H可如上所述代表為例如為雙列直插式記憶體 模組(Dual In-line Memory Module, DIMM)之記憶體模 組。於各種實作中,記憶體單元可符合於各種技術,例如 DDR2 及 DDR3。 於所列舉之具體實施例中,記憶體控制器800係經由 串列互連860A至860D耦合至缓衝單元870。於一個具體 實施例中,每個串列互連860係使用差分訊號技術。以下 將配合第8圖中之敘述更加詳細描述,串列差分互連860A 至860D可各包括連至每個緩衝單元870之上行鏈結 27 94122 200832406 (upstream link)與下行鏈結(downstream link)。下行鏈結可 包括複數個下行串列資料訊號路徑(downstream serial data signal paths)(DSD)以及可用來提供時脈給資料進入緩衝單 元870中之對應的下行串列時脈訊號路徑(downstream serial clock signal path)(DSCLK)。同樣地,每個上行鏈結 可包括複數個上行串列資料訊號路徑(upstream serial data signal paths)(USD)以及可用來提供時脈給資料進入記憶體 φ 控制器800中之對應的上行串列時脈訊號路徑(upstream serial clock signal path)(USCLK)。於所列舉之具體實施例 中顯示有四條記憶體通道,但也可能為其他數量。如此, 串列互連860A可用於其中一條通道,且因此耦合至緩衝 單元870A ;串列互連860B可用於第二通道,且耦合至緩 衝單元870B ;串列互連860C可用於第三通道,且耦合至 緩衝單元870C ;以及串列互連860D可用於第四通道,且 耦合至緩衝單元870D。 春 對比於使用於前述具體實施例之串列互連160,串列 互連860係使用每個皆傳遞資料、CRC以及ADDR/CMD 資訊之資料訊號路徑。如此,於一個具體實施例中,串列 互連860可使用封包協定(packet protocol),於該協定中封 包可包括編碼(encodings)以標示出負載為ADDR/CMD或 是資料。除此之外,每個封包可具有用於CRC資訊以及負 載(例如··資料或是ADDR/CMD)之專用位元時間(dedicated bit times)的袼式。 除此之外,緩衝單元870A至870D係經由並列互連 28 94122 .200832406 ’ 865耦合至記憶體單元Π0。於一個具體實施例中,並列互 連865可包括資料路徑(DQ)、資料選通訊號路徑(dqs)、 位址/命令訊號路徑(ADDR/CMD)以及時脈訊號路徑 (MCLK)。須注意的是,仍可能有其他訊號,例如晶片選擇 (chip select)、庫選擇(bank select)、確認位元(check bits) 以及其他包含於該並列互連865上者,然而,這些訊號皆 為求間化而在此省略。亦須注意的是,並列互連8 6 5可包 φ 括四個通道。如所示,其中一個通道係耦合至記憶體單元 Π Ο A至110D,另一者搞合至記億體單元hoe至n 〇H, 另一者耦合至記憶體單元110J至11〇Μ,而另一者則搞合 至,記憶體單元11 ON至11 OR。 如以下將更加詳細描述者,當該串列互連之差分 資料路徑可串列且高速地傳遞經由該並列互連所傳遞之資 料時,該資料路徑DQ可於該緩衝單元87〇及記憶體單元 no間雙向傳遞資料。舉例來說,給定的上行鏈路(uplink) • USD [0]或是下行鏈路(d〇wnlink) DSD [〇]訊號路徑可傳遞 對應於DQ [0:3]之資料位元,該USD π]訊號路徑可傳遞 對應於DQ [4··7]之資料位元等,但其他的映射也是可能 的。於一些具體實施例中,該串列鏈結可依據串列資料針 腳之數里而王非對稱性。於一個實作中,由於假設讀取運 作可能會消耗比寫入運作較多之頻寬,故該上行鏈路可具 有多於該下行鏈路之資料訊號路徑。 與月ίΐ述之該緩衝單170相似,每個串列互連86〇係 可甩並列互連865於該資料訊號路徑上轉移資料之四倍速 94122 29 200832406 率來轉移資料。然而,該ADDR/CMD訊號路徑以及該 MCLK訊號路徑則可用並列互連865之資料路徑之半倍速 率來運作。舉例來說,當該並列互連865之資料訊號路徑 DQ/DQS可用1600MT/S轉移資料,且該ADDR/CMD及
MCLK訊號路徑可用800MT/S進行運作時,該串列互連860 可用6.4GT/S於該上行鏈路及下行鏈路資料路徑上轉移資 料。須注意的是,該串列互連860可用關於並列互連865 之任何適當的資料速率來運作。 於一個具體實施例中,記憶體控制器8〇〇可經由於該 DSD訊號路徑上發送之命令控制該緩衝單元87〇之運作。 如此,缓衝單元870可具有正常運作模式以及組構與測試 杈式。舉例來說’於正常資料運作期間,記憶體控制器8〇〇 可發送用於資料及前後同步碼(pre_ and p〇st_ambles)二者 之讀取及寫人指令,以讀取及寫人資料儲存設備,且校正 該DQ .fU虎路控之相位偏移。此外,舉例來說,記憶體控 制器800可藉由發送多種回授返回命令(loopback commanj) CRC控制命令以及CRC钏練圖樣命令來控制 該緩衝單2 87G之配置、訓練及賴。 於局貨料速率押 _ H w。 守’緩衝早兀87〇或記憶體控制器800 碼伴二:可能性是顯著的。因此,必須以錯誤偵測 碼保濩於記憶體抑车 μ 形,該錯誤偵測心;::衝器單元870間之轉移情 重位元錯誤。於強而有力地偵測所保護之區塊内的多 種多重位元錯誤^丨具體實施例中’CRC碼可用來提供此
w、彳。更特別的是,如第8圖所示,CRC 94122 30 200832406 資訊可被產生並發送於該上行鏈路及該下行鏈路二者中。 當在任何方向的串列互連上偵測到錯誤時,記憶體控制哭 800可藉由重試(retry)該運作以矯正該錯誤。於—個:體二 施例中,於下行鏈結(downstream link)中所偵測到之 錯誤可被編碼(encoded)至該上行(upstream)CRc中。 於一個具體實施例中,記憶體控制器8〇〇可包括控制 功能,其係可動態並適性地校正所傳送之寫入資料之訊號 •特性(例如:相位等)’以使緩衝單元870基於接收自緩衝 單兀870之資訊正確地讀取該資料。除此之外,記憶體控 制器800可校正其内部接收器特性,以使記憶體控制器1〇〇 可接收由緩衝單元870發送之資料。再者,記憶體控制器 8〇〇可校正提供給緩衝單元87〇之時脈訊號之相位,以使 位址及命令資訊可被正確地取樣。 〇更特別的是,於高資料速率時,對於匯流排中不同訊 \之傳輸路位之延遲之不確定性,可能需要那些訊號之接 收之取祆日可脈之每位元相位校正。為避免採用於緩衝單 兀870内之該電路系統,記憶體控制器8⑻可校正其傳送 勺守脈及資料訊號之相位,以避免於從動裝置中之複雜的 相位偏移電路。如此,於所列舉之具體實施例中,記憶體 *制时80〇包括耦合至傳送單元8〇2、接收單元8〇4以及 時脈單元806之控制單元8〇1。控制單元8〇1可基於接收 自緩衝單元870之資料計算相位資訊,而該緩衝單元870 係可用來板正記憶體控制器8〇〇内之各種時脈邊緣之相 位舉例來說,回應CRC資料及讀取資料之資訊,控制單 31 94122 200832406 元801可分別控制於傳送單元802、接收單元804及時脈 單元806内之相位追蹤及校正電路(如第8圖所示)。此功 能將配合第8圖及第9圖之敘述詳細描述如下。 參閱第8圖,係詳加說明第7圖所示之記憶體系統之 組件態樣之圖。對應於第7圖中之組件係以同一標號以求 簡單明瞭。記憶體控制器800係經由差分串列互連860 _ 合至串列缓衝單元870。須注意的是,緩衝單元870可代 • 表任何於第7圖所示之緩衝單元870A至870D。因此,差 分串列互連860包括下行差分串列時脈訊號路徑 (downstream differential serial clock signal path)(DSCLK) 以及下行差分資料訊號路徑(downstream differential data signal paths) DSD [11:0]。同樣地,差分串列互連860包括 上行差分串列時脈訊號路徑(USCLK)以及上行差分資料訊 號路徑 USD [19:0]。 記憶體控制器800包括產生自第7圖中之時脈單元 • 806之6.4GHz時脈訊號。於一個具體實施例中,6.4GHz 的時脈係用於記憶體控制器800之内部時脈。可變相位單 元890之輸出端係提供該時脈訊號給正反器(flip-f1()p,FF) 889。6.4GHz時脈亦耦合至傳巷抗扭斜電路(iaiie deskew circuit)881,且耦合至FF 893之時脈輸入端以產生該串列 時脈訊號DSCLK。由於FF 893具有以迴路返回耦合於該 輸入端之反向器892,故該6.4GHz時脈訊號係被分為兩部 分且輸出為3.2GHz的串列時脈。該3.2GHz時脈係由差分 輸出驅動器891所差分驅動。 32 94122 200832406 於所列舉之具體實施例中,該寫入資料、addr/cmd 及CRC係提供給FF 889之輸入端。FF 889之輸出端係耦 合至差分等化輸出驅動器(differential equalization output driver) 888。該驅動器888之輸出端係耦合至DSD [11:0] 之一個單一訊號路徑。因此,對於DSD [11:0]之每個訊號 路徑,可使用類似的輪出路徑(未圖示)。同樣地,對於讀 取資料,USD [19:0]之一個單一訊號路徑係耦合至差分輸 φ 入緩衝器885,而該緩衝器885之輸出端係耦合至FF 886 之輸入端。FF 886之輸出端係耦合至該傳巷抗扭斜單元 881之輸入端。該傳巷抗扭斜單元881之輸出端係提供作 為讀取資料及CRC資訊至記憶體控制器800之其他部分 (未圖示)。該上行串列時脈訊號USCLK係耦合至差分輸入 緩衝器887,該緩衝器887之輸出端係耦合至可變相位單 元882。而可變相位單元882之輸出端係耦合至FF 886之 時脈輸入端。 _ 緩衝單元870係包括緩衝器801,該緩衝器801代表 用於每個該DSD [11:〇]訊號路徑之差分輸入緩衝器。緩衝 器801係耦合成接收發送於該DSD [11:0]訊號路徑之其中 之一條路徑上之寫入資料、ADDR/CMD及CRC資訊。因 此,類似於記憶體控制器8〇〇,對於每個DSD [11:〇]之訊 號路徑,可使用類似的輸出路徑(未圖示)。該緩衝器8〇1 之輸出端係耦合至FF 802之輸入端。FF 802之輸出端係 摩馬合至FF 803之輸入端。FF 803之輸出端係耦合至命令 緩衝器805、CRC單元826、寫入FIFO 807以及输出多工 33 94122 200832406 器(mux) 809。該寫入FIFO 807之輸出端係耦合至DRAM 介面856 ’該DRAM介面係類似於上述結合第2圖所描述 之該DRAM介面。如所示,有4個MCLK訊號、ADDR/CMD 訊號、16個資料選通訊號路徑DQS [15:〇]以及72個資料 訊號路徑DQ [71:0]作為並列互連865之一部分。來自寫入 FIFO 807之寫入資料可經由Dq [71:〇]輸出至該記憶體單 元110。須注意的是,其餘訊號皆為了簡化而已被省略。 ⑩須注思的疋,雖然為了簡化而未顯示出來,但該MCLK及 DQS訊號亦可為差分訊號。 經由DQ [71:〇]來自記憶體單元11〇之讀取資料係可 經過DRAM介面856耦合至多工器(mux) 8〇9之一個輸入 端。多工|§ 809之輸出端係提供給FF 81〇之輸入端。控制 邏輯855控制該多工器8〇9之多工器輸入選擇(multiplexer input select)。FF 810之輸出端係耦合至差分等化資料輸出 驅動斋811 ’該驅動器811係耦合至該USd [19:〇]之差分 馨訊號路徑之其中一1條路徑。 緩衝單元870亦包括控制邏輯855,該控制邏輯855 係耦合以接收來自該記憶體控制器8〇〇之命令資訊 (CMD)。該CMD資訊可引發控制邏輯855驅動寫入資料 至該DQ資料路牷,或是讀取資料給該Dq資料路徑,或 疋進入及退出初始化以及测試程序an(j test sequences)等。因此,控制邏輯855可控制該dram介面 856、CRC單元826, 808、多工器8〇9以及其他電路。 於所列舉之具體實施例中,該3.2GHz時脈係耦合至 34 94122 200832406 FF 810之時脈輸入端,以及耦合至該差分等化資料輸出驅 動器812之輸入端’而驅動器812之輸出端係該上行串列 時脈訊號(upstream serial clock)USCLK。該 3.2GHz 時脈訊 號亦耦合至除4(Divide by 4)單元804,從而提供為Mclk 域之内部800MHz時脈域。 於一個具體實施例中,經由該DSD [11:0]訊號路徑接 收之封包可同時提供至CMD緩衝器805、寫入FIFO 807 φ 以及CRC單元826。由於該些封包可被編碼以標示其為 ADDR/CMD或資料負載,故該CMD缓衝器805以及寫入 FIFO 807可包括封包解碼邏輯(packet decode logic)(未圖 示),以使上述二者捕捉其各自的封包。因此,當接收到寫 入資料負載封包時,該封包可被寫入FIFO 807以及儲存於 寫入FIFO 807内之資料所解碼。CMD缓衝器805可丟棄 資料負載封包。寫入FIFO 807可儲存該寫入資料直到接收 到足夠位元而經由DRAM介面856被輸出至記憶體單元 • 110。同樣地,當接收到CMD負載封包時,該封包可被 CMD缓衝器805以及儲存於該CMD緩衝器805内之CMD 資訊所解碼。寫入FIFO 807可丟棄CMD負載封包。由於 所有的封包皆可能包含CRC負載,故CRC單元826係接 收所有的封包且取出該CRC資訊。 如以下配合第9圖中之敘述更加詳細描述者,於運作 期間,記憶體控制器800可動態並適性地校正所傳送之寫 入資料及接收讀取資料之訊號特性(例如:相位等)。更特 別的是,如上所述,接收單元8 04包括取樣時脈相位校正 35 94122 200832406 …:Γί巷抗扭斜881以及可變相位單元890, 882, 偷=-㈣禮局$的取樣時脈相位,以更理想地接收由緩 t = Γ資料。如此,不論記憶體控制器8⑽何 二= L單元870之CRC資料,接收單元804 t 抗扭斜以及可變相位單元882以校正FF 885 之日^•脈相位除此之外,於記憶體控制器綱内之控制單 一 可杈正可文相位單元890以校正傳送至缓衝單元 870之寫入資料的相位,以使緩衝單元請可更理想地接 收該寫入資料。 第9圖係描述第7及8圖所示之具體實施例之例示運 作之机私圖。更特別的是,係描述有用於建立並維持記憶 體控制器_及緩衝單元講間之通訊的初始化及組構程 序:共同參閱第7至9圖,且從第9圖之方塊_開始, 當該系統重新啟動時,如於電源重新開啟或其他系統重新 啟動情形期間’無串列訊號路徑可被考慮對準。如此,記 憶體控日制器及緩衝單元8 7 〇跳出重新啟動而進入訓練狀態 1,或疋T1中。於該T1狀態中,串列互連86〇係操作於 400MT/S(方塊905)。記憶體控制器8〇〇使用推算(dead-reckoned)之 0.5UI 偏移 (0ffset)以發 送及接 收資料(方塊 910)。舉例來說,記憶體控制器校正該偏移以成為不完全 跨越給定位元時間之約略點。記憶體控制器8〇〇發送命令 以引發緩衝單元870離開該T1狀態而進入T2狀態(方塊 915)。於該T2狀態,缓衝單元870驅動預定圖樣如1〇1〇〗〇... 之圖樣於該USD鏈路之所有位元傳巷(lane)上。舉例來 94122 36 200832406 ^ 說,記憶體控制器係使用該已知圖樣獲得位元鎖定並校正 該可變相位單元882(方塊920)。 於一個具體實施例中,舉例來說,記憶體控制器800 發送缓衝命令以引發緩衝單元870離開該T2狀態,並藉 由驅動所有8位元時間之單元以進入T3狀態(方塊925)。 於該T3狀態,緩衝單元870經由該USD訊號路徑發送預 定圖樣如101010…至記憶體控制器800於偶數MCLK週期 上(方塊930)。緩衝單元870係組構成迴路返回(loop back) 下行資料至上行USD訊號路徑於奇數MCLK週期上,且 經由該DSD訊號路徑向下行方向發送不同於該101010... 圖樣之圖樣(方塊935)。記憶體控制器800使用該不同之圖 樣獲得位元組鎖定。然後記憶體控制器800校正該下行資 料相位以容許缓衝單元870獲得位元鎖定以及位元組鎖定 (方塊940)。當完成時,記憶體控制器800驅動所有0,以 使8位元時間引發緩衝單元870離開該T3狀態並進入正 ⑩ 常運作模式(方塊945),此時記憶體控制器800可讀取及寫 入資料至記憶體單元110等。 一旦於該標準運作模式中,記憶體控制器800可校正 於每個緩衝區單元870内之除4 MCLK除法器(divider)804 以使所有緩衝單元870可使用相同之時脈邊緣(相位)(方塊 950)。更特別的是,記憶體控制器800可發送緩衝命令以 藉由一個或多個位元時間延遲(retard)該MCLK相位。 於正常運作期間内之預定時間間隔(例如:每lOOps), 記憶體控制器800可使用週期性訓練模式訓練上行與下行 37 94122 200832406 訊號路徑(方塊955)。舉例來說,對於下行訓練,記憶體控 制益800可使用預定訓練相位偏移寫入訓練圖樣至寫入 FIFO 807(方塊960)。記憶體控制器8〇〇可於此時回讀該訓 練圖樣,並計算來自該圖樣轉換值之錯誤標記(sign)(方塊 965)。使用所計算之錯誤標記,記憶體控制器8〇〇可校正 該下行資料相位(方塊970)。 對於上行訓練,記憶體控制器8〇〇可使用正常相位偏 •移寫入訓練圖樣至寫入FIFO 807(方塊975)。記憶體控制 器800可於此時回讀所儲存之訓練圖樣,並使用另預定訓 練相位偏移計算來自該圖樣轉換值之錯誤標記(方塊 980)。使用所計异之錯誤標記,記憶體控制器8〇〇可校正 該上行取樣相位(方塊985)。一旦該週期性訓練完成了,緩 衝單元870將如上於方塊945所述放回至模式中。 參閱第10圖,顯示包含有第7圖之記憶體系統之電腦 系統之一個具體實施例之方塊圖。須注意的是,對應顯示 釀於第7及8圖中組件之組件,係以同一標號以求簡單明瞭。 電腦系統1100係包括處理節點1150,耦合至記憶體緩衝 為870以及記憶體單元11 〇。 類似於第5圖中顯示之電腦系統,於一個實作中,該 緩衝單元870可為安置於主機板之積體電路晶片,且該記 憶體單元110可插入插座中。於另一實作中,該緩衝單元 870 了為文置於擴充子板之積體電路晶片,該擴充子板係 可插入§己憶體擴充子卡插座中。於此種實作中,該擴充子 板可具有插座以使該些記憶體單元110以豎立配置方式插 94122 38 200832406 入其中。 在顯示於第10圖中之具體實施例中,處理節點〗丨50 包括编合至έ己憶體控制器8 0 0之處理器核心11 〇 1。須注音 的疋’於處理卽點115 0内可有任何數量之處理器核心 1101。如上所述’配合第7及8圖之描述,記憶體控制器 800訊號係經由差分串列互連86〇耦合至記憶體緩衝器 870,且經由並列互連865耦合至記憶體單元110。如所示, ⑩該串列互連860係包括單向下行訊號路徑、單向下行時脈 訊號路徑、單向上行訊號路徑以及單向上行時脈訊號路 徑。除此之外,於該記憶體緩衝器87〇及記憶體單元11〇 間,該並列互連865係包括雙向資料及資料選通訊號路 徑。再者,於處理節點1150及記憶體單元11〇間,並列互 連865係包括單向ADDR/CMD及MCLK訊號路徑。須注 意的是除了該ADDR/CMD訊號外,仍有其他訊號,如晶 片選擇(chip select)、庫選擇(bank select)以及其他包含於 ⑩該並列互連865者,然而,為求簡化,上述於此已省略不 提。 芩照第11圖,係顯示電腦系統之另一具體實施例的方 2圖,該系統包括具有雙模式記憶體互連之記憶體控制 态。包腦系統12〇〇係類似顯示於第1Q圖中之電腦系統 1100。舉例來說,電腦系統12〇〇亦包括耦合至記憶體緩衝 器87〇及記憶體單元110之處理節點125〇。然而於第u 圖中,由於記憶體控制器1210係雙模式記憶體控制器,因 而不同於第1 〇圖中之記億體控制器8⑻。更特別的是,如 94122 39 200832406 下更加詳細描述者,記憶體控制器1210可選擇性地組構成 與直接連至記憶體單元110之並列互連865或是與用於和 緩衝單70 870 —起使用之串列互連86〇來進行運作,如上 所述配合第7及8圖中之描述者。 類似上述之記憶體控制器710,第11圖中之記憶體控 制為1210 ,亦可選擇性地以任何直接連至記憶體模組之並 列互連來運作,該模組係可相容於多種記憶體規格。舉例 •來°兄,於不同之具體實施例中,記憶體單元110可相容於 DDR2、DDR3或是其他所期望之規格。如此,記憶體㈣ 器1210可提供作為其並列互連,如所期望而可提供相容於 DDR2以及DDR3技術之並列互連奶。除此之外記憶 體控制器1210亦可有選擇性地組構成運作於第二模式 中,以提供給例如第7及8圖中串列互連860之串列差分 互連(serial differential interconnect),帛以連接呈緩衝單元
々第11圖所7Γ:,,组構單元122〇可決定並選擇於記憶 體控制II 121G内該I/O電路1211之組構。於一個且體實 施例中,可使用處理節點咖之固線式外部針腳來選擇該 記憶體控制器⑵0之模式。於此種具體實施例中,處理節 點U50之-個或多個外部選擇針腳可如所示被固線於電 路接地端,或是固線於VDD或其他電壓。組構單元· 可侧選擇針腳狀態’因此組構記憶體控制器㈣之ι/〇 電路!2 U。於另-具體實_中,於“起始(耐_响期 間,執行BIOS 1205或是其他系統層級之軟體時,可選擇 94122 40 200832406 記憶體控制器模式。 於所列舉之具體實施例中,於第一模式中,記憶體控 制器1210係直接耦合至記憶體單元11〇。於此一組構中, I/O電路1211提供包括例如DQ、DQS、addr/cmd以及 MCLK或其他訊號路徑之並列互連。於第二模式中,該ι/〇 電路1211係變更為差分串列互連,其係輛合至如第78 及ίο圖所示之記憶體緩衝單元87〇(虛線)。 • 為了達成模式切換,1/0電路1211可包括複數個輸出 驅動器及輸入緩衝器。某些驅動器與緩衝器可為差分電 路,而某些可為單端型。於一個具體實施例中,視該模式 而定,可改變處理節點與驅動器及緩衝器之各種1/〇針腳 間的連接。因此,於一個具體實施例中,部分1/〇電路HU 可運作如可程式化互連。 舉例來說,如第Π圖所示,該DSD訊號路徑可於單 向差分DDS訊號路徑及雙向單端DQ訊號路徑之間依照所 _〶改變。除此之外,該USD訊號路徑可於單向肋8訊號 路徑、雙向單端ADDR/CMD訊號路徑及/或雙向差分DQS 訊號路徑之間改變。再者,該DSCLK訊號路徑亦可於差 分單向時脈訊號路徑間改變成一個或多個單端型mclk訊 號路徑。須注意的是,其他針腳組合係可能考量的。° 雖然上述之該些具體實施例已描述得相當詳細,然而 旦凡全體會上述揭露,對於此領域熟悉該項技藝者而 ^許多變更及修改將顯而易見。所附之巾請專利^圍係 意欲涵蓋所有此等變更及修改者。 94122 41 200832406 【圖式簡單說明】 第1圖係包含有高速緩衝器之記憶體系統之一個具體 實施例之方塊圖; 第2圖係顯示第1圖中之記憶體系統組件之更詳細態 樣之圖; 第3圖係第1及2圖所示之具體實施例之例示叢發運 作(burst operation)之時序圖; 第4圖係描述第1至3圖中所示之具體實施例之運作 之流程圖; 第5圖係包含有第1圖所示之記憶體系統之電腦系統 的一個具體實施例之方塊圖; 第6圖係該第5圖中包含有雙模式記憶體控制器之電 腦系統的一個具體實施例之方塊圖; 苐7圖係包含具有雙模式介面之記憶體控制器之記憶 體系統的一個具體實施例之方塊圖; 第8圖係顯示第7圖中之記憶體系統組件之更詳細態 樣之圖; 第9圖係描述第7及8圖所示之具體實施例之運作之 流程圖; 第10圖係包含有第7圖所示之記憶體系統之電腦系統 的一個具體實施例之方塊圖;以及 第I1圖係第10圖中包含有雙模式記憶體控制器之電 腦系統的一個具體實施例之方塊圖。 雖然本發明容許各種修飾及替代型式,但已經由圖式 42 94122 200832406 中之範例顯示並在此詳細描述其特定實施例。然而,必須 了解的是,對於該些圖式及細卽上的描述並非用以限制本 發明為所揭露之特殊型式,相反的,本發明係用以涵蓋所 有落入本發明於所附之申請專利範圍中所定義之精神與範 _内之修飾、等效及替代者。須注意的是使用於本申請文 件全文之「可」(may)字係許可(permissive)之意(意即:可 能、能夠),而非強制(mandatory)之意(意即··必須)。 血 【主要元件符號說明】 10,80 記憶體系統 100, 710, 800, 1210 記憶體控制器 101,801控制單元 102,802傳送單元 104, 804接收單元 106, 806時脈單元 110, 110A 至 110H,110J 至 110N,110P 至 U0R 記憶體單元 160, 160A,160B,860, 86ΌΑ,860B,860C 串列互連 165, 865並列互連 馨 170,170A至170J,870, 870A至870D緩衝單元/記憶體緩衝哭 201 輸入緩衝器 202, 205, 206, 208, 284, 286, 289, 290, 803, 810, 821 886 893, 889正反器 203, 809多工器 209, 218, 801 緩衝器 210, 811,812 差分等化資料輸出驅動器 211,287, 288, 888 差分等化輸出驅動器 220, 807寫入先進先出記憶體(write FIFO) 250, 808, 826 CRC 單元 255, 855 控制邏輯 43 94122 200832406 ' 256, 856 DRAM 介面 281,283, 885, 887 差分輸入缓衝器 282 接收器時脈資料回傳單元 285 偏移單元 2 91,8 91差分輸出驅動器 292, 892反向器 293, 294, 295, 296, 882, 890 可變相位單元 400, 405, 410, 415, 420, 425, 430, 435, 440, 445, 450, 455, 460, 465, 470, 475, 900, 905, 910, 915, 920, 925, 930, 935, ® 940, 945, 950, 955, 960, 965, 970, 975, 980, 985 方塊 500, 700, 1100, 1200 電腦系統 601, 1101 處理器核心 605, 1205 基本輸入輸出系 650, 1150, 1250 處理節點 711, 1211 輸入/輸出電路 720, 1220 1組構單元 805 指令緩衝區 881 傳巷抗扭斜單元/電路 ADDR 位址 BCMD 缓衝命令 CLKS 時脈訊號 CMD 命令 CRC 循環冗餘碼 DDQ 差分資料 DSCLK 下行串列時脈訊號 DSD 下行串列資料 DQ 資料 DQS 資料選通 MCLK 時脈訊號 Mode Sel. 模式選擇 USCLK 上行串列時脈訊號 USD 上行串列資料 WCLK 差分時脈訊號 r0, rl,rdA,rdB,rdC 讀取命令 w0, wl,w2, w3, wrX,wrY 寫入命令 44 94122

Claims (1)

  1. 200832406 十、申請專利範圍: 1. 一種記憶體控制器,包括: 输入/輸出(I/O)電路,包人 數個輸出驅動器,其中該⑽:後數個輸人緩衝器及複 選擇訊號之狀態而運作於笛包路係組構成取決於模式 一者; 乍於弟-模式及第二模式之其中 具中,運作於該第一握 成接供用於、車蛀 、工J間,該UO電路係組構
    2.
    攻提供用於連接至一個岑客 連;以及 1U次夕個記憶體模組之並列互 其中,運作於該第二模式期間,㈣ο電路係 ^提供用於連接至-個或多個緩衝單元之各者之個別 ,列互連’各該緩衝單元組構成緩衝正從該—個或多個 緩衝單元讀取或正寫人該—個或多個緩衝單元令之記 憶體資料。 如申請專利範圍第1項之記憶體控制器,其中,每個個 別串列互連包含複數個差分雙向資料訊號路徑,各該差 分雙向資料訊號路徑組構成傳遞資料於該一個或多個 緩衝單元中之給定缓衝單元與該記憶體控制器間。 如申請專利範圍第1項之記憶體控制器,其中,每個個 別串列互連包含差分命令訊號路徑,該差分命令訊號路 &組構成傳遞該命令資訊自該記憶體控制器至該一個 或多個緩衝單元中之給定緩衝單元。 4·如申請專利範圍第1項之記憶體控制器,復包括組構單 70 ’該組構單元耦合至該I/O電路以及組構成偵測將選 45 94122 200832406 擇该弟一及該第_ @ 訊號給们/G電路切之何者並且提供該模式選擇 第1_二弟—#料轉移速率運作,而該並列互連以 第-貝_移料運作,其巾, 快於第二轉移速率。 胃卄轉私逮车係 6. ==圍第5項之記憶體控制器’其中,每個個 差分時脈訊號路s,該差分時脈訊號路 二、。冓成傳遞時脈自該記憶體控制器至該—個或多個 以M M k衝早7^’其中,各該差分時脈訊號 以該弟一育料轉移速率運作。 7. 如申請專利範圍第5項之記憶體控制器,其中,該並列 互連包含-個或多個時脈訊號路經,各該時脈訊號路徑 組構成傳遞第二時脈訊號自該記憶體控制器至該一個 或多個記憶體模組’其中,該第二時脈訊號以該第二資 料轉移速率運作。 、 8. 如申請專利範圍第i項之記憶體控制器,其中,該並列 互連包含配置的複數個雙向資料訊號路徑,各該雙向資 料訊號路徑組構成傳遞資料於該記憶體控制器與該一 個或多個記憶體模組中之特殊模組間。 9·如申請專利範圍第i項之記億體控制器,其中,該並列 2連包含複數個雙向資料選通訊號路徑,該複數個雙向 資料選通訊號路徑組構成傳遞資料選通於該記憶體控 制益與該一個或多個記憶體模組中之特殊模組間。 94122 46 200832406 10·如申請專利範圍第1項之記憶體控制器,其中,該並列 互連包含袓數個單向位址及命令訊號路徑,該複數個單 向位址及命令訊號路徑組構成傳遞位址及命令資訊自 該記憶體控制器至該一個或多個記憶體模組。 11 ·如申請專利範圍第1項之記憶體控制器,其中,各該個 別串列互連係組構成經由一個或多個單向循環冗餘碼 (Cyclic RedundanCy code,CRC)訊號路徑,傳遞來自該 一個或多個緩衝單元之循環冗餘碼資訊,其中, CRC負訊對應於$亥έ己憶體控制器經由該個別串列互 連發送之該資料。 12. 如申請專利範圍第1項之記憶體控制器,其中,每個個 別串列互連包含複數個下行差分單向訊號路徑各該下 行差分單向訊號路徑組構成傳遞資料、位址以及命令資 自該§己憶體控制器至該一個或多個緩衝單元。 、 13. 如申凊專利範圍第12項之記憶體控制器,其中,每個 個別串列互連包含下行單向差分時脈訊號路徑,該下行 單向差分時脈訊號路徑組構成傳遞串列時脈訊號該記 憶體控制器至該一個或多個緩衝單元之各者。 14. 如申請專利範圍第i項之記憶體控制器,其中,每個個 別串列互連包含複數個上行差分單向訊號路徑,各該上 行差刀單向訊號路徑組構成傳遞資料及循環冗餘 (CRC)資訊該一個或多個緩衝單元之其中一者至該圮 體控制器。 u 15. 如申請專利範圍第i項之記憶體控制器,其中,每個個 94122 47 200832406 別串列互連包含上行單向差分時脈訊號路徑,該上行單 向差分時脈訊號路徑組構成傳遞串列時脈訊號該一個 或夕個緩衝單兀之其中一者至該記憶體控制器。 16.—種電腦系統,包括: 處理器;以及 輕合至該處理器之記憶體控制器,其中,該記憶體 控制器包含: • 垂輸入/輸出(1/〇)電路,包含複數個輸入緩衝器及複 登遮輪出驅動& ’其中’ I/C)電路係組構成取決於模式 ^擇訊號之狀態而運作於第—模式及第二模式之直中 一者; ’、 其中,運作於該第—模式期間,該恥電路係組構 ^供用於連接至—個或多個記憶體模組之並列互 連;以及 其中’運作於該第二模式期間,該⑻電路係組構成 :用於連接至一個或多個緩衝單元之差分串列互連,各 單元組構成緩衝正從該—個或多個緩衝單元讀取 j正寫人該—個或多個緩衝單元中之記憶體資料。 .串:請ί利範圍第16項之電腦系統’其中,每個個別 j互連包含複數個差分雙向f料域路#,各 雙向資料訊號路徑組構成傳逆 77 徐留-占λ 傅风得遞貝枓於该一個或多個緩 ::疋中之給定緩衝單元與該記憶體控制器間。 】8.如申請專利範圍第16項之電 — 串列互連包含差分命令訊,母個個別 P 7 Λ說路徑,該差分命令訊號路徑 94122 48 200832406 組構成傳遞該命令資訊自該記憶體控制器至該一個或 多個緩衝單元中之給定緩衝單元。 一申^專利範圍第丨6項之電腦系統,復包括組構單 兀^组構單_合至該1/〇電路以及組構成_將選 擇該第&该第二模式中之何者並且提供該模式選擇 訊號給該I/O電路。 復如申請專利範圍第16項之電腦系統,其中,每個個別 串列互連以第一資料轉移速率運作,而該並列互連以第 二資料轉移速率運作,其中,該第―資料轉移速率係快 於第二轉移速率。 21. 如申請專利範圍第2〇項之電腦系統,#中,每個個別 串列互連包含差分時脈訊號路徑’該差分時脈訊號路徑 組構成傳遞時脈自該記憶體控制器至該_個 衝:元:之給定緩衝單元,其中,各該差分時脈訊號以 該第一資料轉移速率運作。 22. 如申請專利範圍第2〇項之電腦系統,其中,該並列互 連包含-個或多個時脈訊號路徑,各該時脈訊號路徑組 構成傳遞第二時脈訊號自該記憶體控制器至該一個或 多個記憶體极組中,該第二時脈訊號以該第二資料 轉移速率運作。 ' 23·如申請專利砣圍第16項之電腦系統,其中,該並列互 連包含: 配置的複數個雙向資料訊號路徑,各該雙向資料訊 號路徑係組構成傳遞資料於該記憶體控制器與該一個 94122 49 200832406 或多個記憶體模組中之特殊模組間; 複數個雙向資料選通訊號路徑,係組構成傳遞資料 選通於該記憶體控制器與該一個或多個記憶體模組'中 之特殊模組間;以及 ' 複數個單向位址及命令訊號路徑,係組構成 址及命令資訊自該記憶體控制器至該一個或多個# 體模組。 ° _ 24.如申請專利範圍第16項之電腦系統,其中,每個個別 串列互連包含複數個下行差分單向訊號路徑,各該下行 差分單向訊號路徑組構成傳遞資料及命令資訊自Χ該= fe體控制器至該一個或多個緩衝單元。 25.如申請專利範圍第24項之電腦系統,#中,每個個別 串列互連包含下行單向差分時脈訊號路徑,該下行單向 差分時脈訊號路徑組構成傳遞串列時脈訊號自該記憶 體控制器至該一個或多個緩衝單元之各者。 _ 26·如巾請專利範圍第16項之電腦系統,其中,每個個別 串列互連包含複數虹行差分單向減路徑,各該上行 差分單向訊號路徑組構成傳遞資料及循環冗餘碼(crc) 貪訊自該-個或多個緩衝單元之其中一者至該記憶體 控制器。 申請專利範圍第16項之電腦“,其中,每個個別 、列互連包含上行單向差分時脈訊號路徑,該上行單向 + $脈Dfl 5虎路&組構成傳遞串列時脈訊號自該一個 或多個緩衝單元之其中-者至該記憶體控制器。 94122 50
TW096140532A 2006-10-31 2007-10-29 包含雙模式記憶體互連之記憶體控制器 TWI489456B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/590,286 US7694031B2 (en) 2006-10-31 2006-10-31 Memory controller including a dual-mode memory interconnect

Publications (2)

Publication Number Publication Date
TW200832406A true TW200832406A (en) 2008-08-01
TWI489456B TWI489456B (zh) 2015-06-21

Family

ID=39175571

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096140532A TWI489456B (zh) 2006-10-31 2007-10-29 包含雙模式記憶體互連之記憶體控制器

Country Status (8)

Country Link
US (2) US7694031B2 (zh)
JP (1) JP2010508600A (zh)
KR (1) KR20090077015A (zh)
CN (1) CN101583933B (zh)
DE (1) DE112007002619B4 (zh)
GB (1) GB2458040A (zh)
TW (1) TWI489456B (zh)
WO (1) WO2008054696A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756524B (zh) * 2018-05-01 2022-03-01 美商德吉姆公司 完成串級時鐘環狀匯流排系統及方法

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140907A1 (en) * 2006-12-06 2008-06-12 Dreps Daniel M Multimodal Memory Controllers
US20080189457A1 (en) * 2006-12-06 2008-08-07 International Business Machines Corporation Multimodal memory controllers
WO2008130878A2 (en) * 2007-04-19 2008-10-30 Rambus Inc. Techniques for improved timing control of memory devices
US8521979B2 (en) * 2008-05-29 2013-08-27 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US7979757B2 (en) 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
KR100942953B1 (ko) * 2008-06-30 2010-02-17 주식회사 하이닉스반도체 데이터 전달 회로 및 그를 포함하는 반도체 메모리 장치
US8756486B2 (en) 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US8289760B2 (en) * 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US7855931B2 (en) 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US8489837B1 (en) 2009-06-12 2013-07-16 Netlist, Inc. Systems and methods for handshaking with a memory module
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
KR101728067B1 (ko) * 2010-09-03 2017-04-18 삼성전자 주식회사 반도체 메모리 장치
US9355051B2 (en) 2010-09-10 2016-05-31 Cypress Semiconductor Corporation Apparatus, method, and manufacture for using a read preamble to optimize data capture
US8140778B1 (en) * 2010-09-10 2012-03-20 Spansion Llc Apparatus and method for data capture using a read preamble
US8990605B2 (en) 2010-09-10 2015-03-24 Spansion Llc Apparatus and method for read preamble disable
US9223726B2 (en) 2010-09-10 2015-12-29 Cypress Semiconductor Corporation Apparatus and method for programmable read preamble with training pattern
US8583987B2 (en) 2010-11-16 2013-11-12 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
US8400808B2 (en) 2010-12-16 2013-03-19 Micron Technology, Inc. Phase interpolators and push-pull buffers
TWI464597B (zh) * 2012-07-19 2014-12-11 Wistron Corp 改善資料傳輸之方法及其相關電腦系統
US20140359181A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Delaying Bus Activity To Accomodate Memory Device Processing Time
KR20160038034A (ko) 2013-07-27 2016-04-06 넷리스트 인코포레이티드 로컬 동기화를 갖는 메모리 모듈
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories
US9218575B2 (en) * 2013-09-04 2015-12-22 Intel Corporation Periodic training for unmatched signal receiver
TWI533608B (zh) * 2014-06-30 2016-05-11 友達光電股份有限公司 資料接收器及資料接收方法
US9852811B2 (en) * 2014-11-13 2017-12-26 Macronix International Co., Ltd. Device and method for detecting controller signal errors in flash memory
US20160371211A1 (en) * 2015-06-16 2016-12-22 Apple Inc. Bus-bit-order ascertainment
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
US10692555B2 (en) 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
KR102641515B1 (ko) 2016-09-19 2024-02-28 삼성전자주식회사 메모리 장치 및 그것의 클록 분배 방법
US10795592B2 (en) * 2017-05-05 2020-10-06 Dell Products, L.P. System and method for setting communication channel equalization of a communication channel between a processing unit and a memory
KR102392055B1 (ko) * 2017-08-09 2022-04-28 삼성전자주식회사 리트레이닝 동작의 수행 여부를 효율적으로 결정하기 위한 메모리 장치 및 이를 포함하는 메모리 시스템
US11604714B2 (en) 2017-08-09 2023-03-14 Samsung Electronics Co, Ltd. Memory device for efficiently determining whether to perform re-training operation and memory system including the same
KR102438991B1 (ko) 2017-11-28 2022-09-02 삼성전자주식회사 메모리 장치 및 그것의 동작 방법
US10418125B1 (en) * 2018-07-19 2019-09-17 Marvell Semiconductor Write and read common leveling for 4-bit wide DRAMs
US11734174B2 (en) * 2019-09-19 2023-08-22 Intel Corporation Low overhead, high bandwidth re-configurable interconnect apparatus and method
US11392299B2 (en) 2019-12-20 2022-07-19 Micron Technology, Inc. Multi-purpose signaling for a memory system
US12470231B2 (en) * 2022-03-07 2025-11-11 Intel Corporation Method and apparatus to perform cyclic redundancy check training in a memory module
US12537724B2 (en) * 2023-03-07 2026-01-27 Micron Technology, Inc. Apparatus with speed selection mechanism and method for operating

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510487B1 (en) * 1996-01-24 2003-01-21 Cypress Semiconductor Corp. Design architecture for a parallel and serial programming interface
CA2302466A1 (en) * 1997-07-31 1999-02-11 Stanford Syncom Inc. Means and method for a synchronous network communications system
US20040236877A1 (en) * 1997-12-17 2004-11-25 Lee A. Burton Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US6304930B1 (en) * 1998-01-20 2001-10-16 Matsushita Electric Industrial Co., Ltd. Signal transmission system having multiple transmission modes
JP3315375B2 (ja) * 1998-01-20 2002-08-19 松下電器産業株式会社 信号伝送システム
US6052073A (en) * 1998-03-23 2000-04-18 Pmc-Sierra Ltd. Serial to parallel converter enabled by multiplexed flip-flop counters
JPH11306074A (ja) * 1998-04-23 1999-11-05 Sharp Corp 情報処理装置
JP2000207350A (ja) * 1999-01-19 2000-07-28 Asahi Chem Ind Co Ltd デ―タ転送装置及びデ―タ転送方法
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7047330B2 (en) * 2001-03-06 2006-05-16 Ati Technologies, Inc. System for digital stream transmission and method thereof
US6845420B2 (en) * 2001-10-11 2005-01-18 International Business Machines Corporation System for supporting both serial and parallel storage devices on a connector
US20040098545A1 (en) * 2002-11-15 2004-05-20 Pline Steven L. Transferring data in selectable transfer modes
JP2004199309A (ja) * 2002-12-18 2004-07-15 Renesas Technology Corp マイクロコントローラ、マイクロプロセッサおよび不揮発性半導体メモリ装置
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking
DE112004000821B4 (de) * 2003-05-13 2016-12-01 Advanced Micro Devices, Inc. System mit einem Hauptrechner, der mit mehreren Speichermodulen über eine serielle Speicherverbindung verbunden ist
US7085886B2 (en) * 2003-05-28 2006-08-01 International Buisness Machines Corporation Autonomic power loss recovery for a multi-cluster storage sub-system
JP2005346123A (ja) * 2004-05-31 2005-12-15 Toshiba Corp パラレルインタフェースコネクタを備えたストレージ装置及び同装置に適用される変換コネクタ
KR100643605B1 (ko) * 2004-08-16 2006-11-10 삼성전자주식회사 적응형 프리 엠퍼시스 장치, 데이터 통신용 송신기,데이터 통신용 송수신 장치 및 적응형 프리 엠퍼시스 방법
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7368950B2 (en) * 2005-11-16 2008-05-06 Montage Technology Group Limited High speed transceiver with low power consumption
US7558124B2 (en) * 2005-11-16 2009-07-07 Montage Technology Group, Ltd Memory interface to bridge memory buses
US7577039B2 (en) * 2005-11-16 2009-08-18 Montage Technology Group, Ltd. Memory interface to bridge memory buses

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756524B (zh) * 2018-05-01 2022-03-01 美商德吉姆公司 完成串級時鐘環狀匯流排系統及方法

Also Published As

Publication number Publication date
US7694031B2 (en) 2010-04-06
GB0908637D0 (en) 2009-06-24
WO2008054696A1 (en) 2008-05-08
GB2458040A (en) 2009-09-09
JP2010508600A (ja) 2010-03-18
US20080147897A1 (en) 2008-06-19
US20100228891A1 (en) 2010-09-09
TWI489456B (zh) 2015-06-21
DE112007002619B4 (de) 2022-08-04
DE112007002619T5 (de) 2009-09-10
CN101583933A (zh) 2009-11-18
KR20090077015A (ko) 2009-07-13
CN101583933B (zh) 2012-09-05
US8019907B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
TW200832406A (en) Memory controller including a dual-mode memory interconnect
CN101583934B (zh) 包含高速串联缓冲器的存储器系统
JP4331756B2 (ja) 一部のフレームについての早期crc供給
US10558520B2 (en) Memory error detection
TWI351613B (en) A system including a host connected to a plurality
JP4891925B2 (ja) メモリモジュールからローカルデータをマージするためのメモリバッファ
CN102197384B (zh) 用于改进串行端口存储器通信等待时间和可靠性的方法和系统
JP4210302B2 (ja) 単方向リンクを用いるメモリ・チャネル
TW200528984A (en) Lane testing with variable mapping
US7636272B2 (en) Multi-port memory device
JP2007511012A (ja) データ経路とメモリ装置との間でのデータ蓄積
CN108605055A (zh) 串行链路中的可编程分布式数据处理
TW200836057A (en) Memory system and command handling method
US20060004953A1 (en) Method and apparatus for increased memory bandwidth
TW201209821A (en) Status indication in a system having a plurality of memory devices
US20190121577A1 (en) On-die termination architecture
CN110100238A (zh) 用于传送数据的方法和镜像串行接口(msi)
US9594715B2 (en) Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections
CN111630597A (zh) 半宽度双泵数据路径
US7861140B2 (en) Memory system including asymmetric high-speed differential memory interconnect
US20240290365A1 (en) Circuit for aligning command input data and semiconducter device including the same
CN118138210B (zh) 采用数字同步接口的数字同步系统、数据传输方法及介质
EP1911188A1 (en) Asynchronous data buffer
HK1180450A (zh) 具有多个存储装置的系统中的状态指示