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
Chinese (zh)
Other versions
TWI489456B (en
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/en
Application granted granted Critical
Publication of TWI489456B publication Critical patent/TWI489456B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
  • Static Random-Access Memory (AREA)
  • Information Transfer Systems (AREA)

Abstract

A memory controller including a dual-mode memory interconnect includes an input/output (I/O) circuit including a plurality of input buffers and a plurality of output drivers. The I/O circuit may be configured to operate in one of a first mode and a second mode dependent upon a state of a mode selection signal. During operation in the first mode, the I/O circuit may be configured to provide a parallel interconnect for connection to one or more memory modules. During operation in the second mode, the I/O circuit may be configured to provide a respective serial interconnect for connection to each of one or more buffer units, each configured to buffer memory data that is being read from or written to the one or more memory modules.

Description

200832406 九、發明說明: 【發明所屬之技術領域】 本發明係關於電腦記彳咅砂t ^ 电胞體糸統,且尤係關於在記憶體 控制器與記憶體單元間之資料轉移。 【先前技術】 電腦系統係採用許多不同種類之系統記憶體。一種常 用之系統記憶體係利用可移除式記憶體模組來實作。記憶 _體^組具有不同的種類與組構。然而大致上,記憶體模組 可K作為具有邊緣連接端(edge connector)及複數記憶體裝 置之印刷電路板。遠記憶體模組可插入位於主機板(麵心r board)或其他系統板(system b〇ard)上之插座中。一種普遍 使用之記憶體模組係雙列直插式記憶體模組(Duai “七μ200832406 IX. DESCRIPTION OF THE INVENTION: TECHNICAL FIELD OF THE INVENTION The present invention relates to computer recording of t-cells, and more particularly to data transfer between a memory controller and a memory unit. [Prior Art] Computer systems use many different types of system memory. A commonly used system memory system is implemented using a removable memory module. The memory _ body group has different types and configurations. In general, however, the memory module can be used as a printed circuit board having an edge connector and a plurality of memory devices. The far memory module can be plugged into a socket located on the motherboard (face board r board) or other system board (system b〇ard). A commonly used memory module is a dual in-line memory module (Duai "seven μ"

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 signalMemory Module, DIMM), but there are still other types. In other systems, the memory device can be non-removable and placed directly on the motherboard or system board. In the modern history, the speed and performance of computer system processors have increased rapidly. However, the performance of system memory is typically stagnant. As a result, some system performance improvements are limited by the performance of the system memory. Therefore, it is of great concern to system designers to improve the bandwidth and capacity of the system memory. While it is possible to improve system memory performance, these improvements are sometimes extremely high. In view of this, it is an extremely desirable task to improve the bandwidth and capacity of the memory of the system while keeping the cost low. SUMMARY OF THE INVENTION 5 94122 200832406 κ The present invention discloses various embodiments of a memory controller including a dual mode memory interconnect. In one embodiment, the memory controller includes an input/output (I/O) circuit having a plurality of input buffers and a plurality of output drivers. The input/output circuits can be grouped to operate in one of the first mode and the second mode depending on the state of the mode selection signal. During operation of the first mode, the input/output circuits can be grouped to provide a parallel interconnect for connection to one or more memory modules. During operation of the second mode, the input/output_circuits can be grouped to provide individual serial interconnects to each of the one or more buffer units, each buffer unit group forming a buffer positive The memory data in the one or more memory modules is read or being written from the one or more memory modules. In a particular implementation, each individual serial interconnect includes a plurality of differential bidirectional data signal paths. Each differential bidirectional data signal path can pass data between a given buffer unit and the memory controller. In another particular implementation, each individual serial interconnect includes a differential command signal path that can pass command information from the memory controller to a given buffer unit. In yet another specific implementation, each of the individual serial interconnects includes a plurality of downstream differential unidirectional signal paths and a downstream unidirectional differential clock signal path. Each downlink differential one-way signal path can pass information, address and command information from the memory controller to the one or more buffer units. The downlink unidirectional differential clock signal path can pass the serial clock signal from the memory controller to each of the one or more buffer units. In yet another particular implementation, each individual serial interconnect includes an upstream differential unidirectional signal path. Each uplink differential one-way signal path may pass data and Cyclic Redundancy Code (CRC) information from one of the one or more buffer units to the memory controller. [Embodiment] Referring now to Fig. 1, there is shown a block diagram of a memory system including a specific embodiment of a high-speed serial buffer. The memory system 10 includes a memory controller 1A that couples the memory cells 110A to -110H and the buffer cells 170A to 170J. It should be noted that an element containing a reference designator having numbers and letters may be indicated by only the number. For example, the memory unit 1 1 0 A can be indicated as a memory unit 11 合适 where appropriate. It should also be noted that the memory controller 100 can be a memory controller that is part of a chipset (e.g., can be used in a Northbridge arrangement). Or, as shown in FIG. 5, the memory controller 110 can be part of an embedded solution in which the memory controller 1 is embedded in a processing node containing one or more processor cores. In a shellfish, the 'g self-remembering body early 11 〇A to 11 can be a hate body module' such as a dual In-line Mem〇ry Module (DIMM). As such, each DIMM can include a plurality of memories 94122 7 200832406 'devices (not shown), such as devices in the dynamic random access memory (DRAM) family of memory devices. However, it is generally noted that the memory unit 11 of the system 10 can represent any type of system memory. In the illustrated embodiment, the memory controller 1 is coupled to the buffer unit 170 via high speed serial interconnects 160A and 160B. In one embodiment, each high-speed serial interconnect 160 uses a differential signaling technique. The high-speed serial 歹 'J interconnect 16 〇 may include a plurality of differential bidirectional data signal paths (DDQ), a differential buffer command signal path (BCMD), and a differential clock signal path. -(differential clock signal path)(WCLK) and 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訊Path) (CRC) As shown in the specific embodiment, there are two memory channels. As such, the tandem interconnect 160A can be used for one of the channels and thus coupled to the buffer cells 170A-170F, while the tandem interconnect 16b can be used for another channel and coupled to the buffer cells 170G-170J. It should be noted that in the particular embodiment illustrated, each of the buffer units 170E and 170J is not used and may be used for other purposes as needed. Furthermore, the memory controller 100 is coupled to the memory unit 110 via the parallel interconnect 165. As shown, the parallel interconnection 16 5 between the memory controller 100 and the memory unit 110 may include an address/command signal path (ADDR/CMD) and a clock signal 94122 8 200832406. 'clock signal path (MCLK). As shown by the two serial interconnects, two ADDR/CMD/MCLK signal paths are shown. Each of the ADDR/CMD/MCLK signal paths can be used for another J memory channel. As shown, one of the ADDR/CMD/MCLK signal paths is coupled to the memory cells 110A through 110D and the other ADDR/CMD/MCLK signals.

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可為單獨的積體電路,該積體電The I path is coupled to the memory cells 110E to 110H. Moreover, buffer unit 170 is also coupled to memory unit 110 via parallel interconnect 165. As shown in Figure 10, the parallel interconnect 165 also includes a data path (DQ) and a data strobe signal path (DQS). In one embodiment, the memory controller 100 can control the operation of the memory unit 110 by transmitting the address and instructions through the ADDR/CMD signal path. As will be described in more detail below, the DQ data path can transfer data between the buffer unit 170 and the memory unit 11 in both directions. The dq resource path may contain some 8-bit (byte width) data path. For example, the full data path can be 288 bits wide, but the full data path can be divided into portions of the byte size. It should be noted that in one embodiment, the 288-bit unit may include four check bytes, while in other embodiments, other numbers of acknowledged byte groups may be used. It should be noted that the full data path may include any number of data bits and may be divided into portions of the same size. The DDQ data path of the serial interconnect 160 can pass the data passed through the parallel interconnect in series and at high speed. For example, the DDQ0 signal path can pass data bits corresponding to DQ [0··3], and the DDQ1 signal path can pass data bits corresponding to DQ[4:7], but other mappings are also Possible 9 94122 200832406 0 There are many ways to make the data path lighter to the memory unit. For example, 'can be considered to buffer the single magic 7 (M乍 is part of a single integrated circuit. However, due to this To implement the required stitches ((4) number, this may be inconsistent. Because in a specific embodiment, the data path can be dispersed and grouped into smaller units. Therefore, in a specific Embodiment 'Each buffer single it 17G can be a separate integrated circuit, the integrated electric

路係提供緩衝功能給個別的組。 …於-個具體實施例中,在寫人運作期間,每個串列緩 衝單元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。須注意的是,The road system provides buffering functions to individual groups. In a specific embodiment, during the writer operation, each of the serial buffer units 170 can serially input clocks (cl〇ck(8) and store two bytes, and then transmit the two in parallel. The bytes are on the parallel interconnect. To obtain the required throughput, in one embodiment, the serial interconnect 160 can be transferred by the parallel interconnect 165 at four times the rate of the data transfer on the data signal path. However, the addr/cmd signal path and the MCLK signal path can be operated at half the rate of the data path on the parallel interconnect 165. For example, when the parallel interconnect 165 is available: the signal path DQ/DQS is available. When 1600MT/S transfers data, and the addr/CMD and MCLK signal paths can be operated with 8〇〇MT/s, the serial/column interconnection 160 can transfer data to the DDQ data path. In other embodiments, the tandem buffer unit can store any number of bytes before transferring the byte to the parallel interface l65. It should also be noted that the serial interconnection 】(6) Available for any suitable parallel 165 The data rate path can be transmitted. The CRC signal path can transmit 94122 10 200832406 r CRC information from each buffer unit 170 to the memory controller 100 via an individual one-way differential signal path. In addition, the clock signal path can be transmitted. The WCLK signal is sent to each buffer unit 170. Similarly, the BCMD signal path passes the buffer command from the memory controller 100 to each buffer unit Π 0. In one embodiment, the memory controller 100 can pass the BCMD signal. The command sent by the path controls the operation of the buffer unit 170. Thus, the buffer unit 170 can have a normal operation mode and a configuration and test mode. For example, operating on standard data. During this period, the memory controller 100 can send data and pre- and post-sync codes (pre- and post-amble 〇 - one of the continuation and intrusion '^ 日令' to δ buy and write to the poor storage device (data Storage), and corrects the phase offset (phase .offset) of the DQ signal path. In addition, for example, the memory controller 1 The structure, training, and testing of the buffer unit 17〇_ are controlled by transmitting a plurality of loopback commands, CRC control commands, and CRC training pattern commands. The possibility that the memory controller 1 (10) receives a bit error is significant. Therefore, the error detection code must be used to protect the transfer between the memory controller and the backflush unit. The error detection code will be strong and powerful. Multiple bit error. In one embodiment, the CRC code can be used to provide such multi-bit error detection. More specifically, as shown in FIG. 2, in order to simplify the logic in the buffer unit and/or the memory module, and to report the error of the memory control unit of the 94122 11 200832406, the buffer unit 170 The CRC is calculated based on the data it generates or the data received. Therefore, in order to transfer the crc information back to the memory controller 100, a one-way CRC signal path can be used. As shown in Fig. 2, the CRC unit 25 can calculate the CRC based on its internal data and send the CRC data back to the memory controller 1A. When an error is detected on the link in any direction, the memory controller 1 can correct the error by retrying the operation. In a specific embodiment, the CRC information can be calculated and simultaneously transferred with the transferred data from the buffer unit 170 to the memory controller ι, so that the CRC can be available at the same time as the memory control at its arrival. The data block protected by the device 100. In one embodiment, the delay is introduced into the data path during the conversion between write-to-read and read-t-write, Calculate the delay associated with this CRC. As described above, for example, many conventional systems control φ functions such as clock phase recovery, channel equalization, and error detection in various communication devices to control High-speed two-way communication. However, as described in more detail below, buffer unit 170 can be simplified to produce such control functionality asymmetry. In this regard, the memory controller 100 can include a control function that dynamically and adaptively corrects the signal characteristics (eg, phase, etc.) of the transmitted data to be transmitted, so that the buffer unit 170 is based on the received buffer unit 170. Read the information correctly with the information. In addition, the memory controller 100 can correct its internal receiver characteristics so that the memory controller 1 94 12 94122 200832406 can receive the data transmitted by the buffer singular 70. Furthermore, the memory controller 100 can correct the phase of the clock signal supplied to the buffer unit 17 so that the address and command information can be correctly sampled. ...more than 4 inches, at the data rate, the uncertainty of the delay in the transmission path of the different signals in the bus may require the sampling pulse of the received state of the signals (sample cl〇ck) Phase correction per bit. In order to avoid the circuit system and system in the buffer unit 17〇, the memory control ι〇0 can correct the phase of the transmitted clock and the data signal to avoid the complicated phase in the slave device (Slave). The phase shifting circuit is such that, in the particular embodiment illustrated, the memory controller i (10) includes a unit 101 coupled to the transmitting unit 102, the receiving unit 104, and the clock unit. The control unit 101 can be based on the δ-decimal phase information received from the buffer unit 17 ,, and the buffer unit 70 can be used to correct the phase of the various clock edges in the memory controller 1 〇〇. For example, in response to information such as CRC data and read data, the control unit 101 can control the phase tracking and adjustment circuits in the transmitting unit 102 and the receiving unit 104, respectively. (As shown in Figure 2). This function will be described in detail below in conjunction with the description of Figs. 2 and 5. In the second picture of the wheat, the figure of the memory system shown in Fig. 1 is explained in detail. The components corresponding to those in the i-th figure are given the same reference numerals for simplicity. The memory controller 100 is coupled to a serial buffer 170 via a differential serial interconnect 16 . It should be noted that the buffer unit 17A can represent any of the buffer units π 〇Α to 17 〇 J shown in the figure. Therefore, the differential serial interconnect 16 includes a differential WCLK signal path, a differential 94122 13 200832406 BCMD signal path, a differential crc signal path, and a differential data signal path DDQ [7:0]. The memory controller 100 includes a 6.4 GHz clock signal generated from the clock unit 106 in Fig. i, the clock signal being coupled to variable phase units 293, 294, 295 and 296. The variable phase unit can be part of the timing unit 106 and can provide an internal clock to the memory controller. The φ outputs of the variable phase units 293, 294, 295 and 296 provide the clock signals to flip-flops (FF) 290, 289, 286 and 284, respectively. The variable phase unit 293 is coupled to the clock input of the FF 290. Since the FF 290 has an inverter 292 that couples a feedback looP to the input, the 6.4 GHz clock signal output is a 3.2 GHz clock signal. The output of FF 290 is coupled to the input of a differential output driver 291 and its output is coupled to a differential WCLK signal path. This write data is coupled to the input of FF 286. The output of the FF 286 is coupled to a 10 differential equalization output driver (287). The output of the driver 287 is coupled to one of the DDQ [7:0] signal paths. Therefore, for each signal path of DDQ [7:0], a similar write data output path (not shown) can be used. Similarly, for reading data, one of the DDQ [7:0] signal paths is coupled to the differential input buffer 283 and its output is coupled to the input of the FF 284. The output of the FF 284 is provided as read data to other portions of the memory controller 100 (not shown). The CRC signal path is coupled to a differential input buffer 281 whose output is coupled to the input of a receiver clock data recovery unit (Rx CDR) 282. The Rx CDR system is coupled to a per bit offset unit 285 that is coupled to the variable phase unit 296. The buffer command information is provided to the input of FF 289. The output of FF 289 is coupled to a differential equalization output driver 288 that is coupled to the differential BCMD signal path. Buffer unit 170 includes a buffer 209 that represents a differential input buffer for each of the DDQ [7:0] signal paths. Buffer 209 is coupled to receive write data transmitted on one of the DDQ [7:0] signal paths. The output of the buffer 209 is coupled to the input of the FF 208. The output of the FF 208 is fortunate to write to the First-In-First-Out (FIFO) 220. The output of the write FIFO 220 is coupled to a DRAM interface 256, which represents an input buffer and output driver circuit for interfacing with the memory unit 110 via the parallel interconnect 165. As shown, there are 16 data selection communication path DQS 10 [15:0] and 32 data signal paths DQ [31:0] as part of the parallel interconnection 165. The write data from the write FIFO can be output to the memory unit 110 via DQ [3 1:0]. It should be noted that although only the DQ and DQS signals are displayed, the remaining signals have been omitted for simplicity. It should also be noted that although not shown for simplicity, the MCLK and DQS signals can also be differential signals. The read data from memory unit 110 via DQ [31:0] is coupled via DRAM interface 256 to one of the inputs of multiplexer (mux) 203. The output of the multiplexer 203 is provided to the input of the FF 206. 15 94122 200832406 Control logic 255 controls the multiplexer input select of the multiplexer 203. The output of FF 206 is coupled to a differential equalization data output driver 210 that is coupled to one of the differential signal paths of the DDQ [7:0]. The buffer unit 170 includes control logic 255 coupled via the input buffer 201 to receive the buffer command information (BCMD) from the memory controller ι, wherein the input buffer 201 is coupled to the FF 202 The input. The BCMD information can cause the control logic 255 to drive write data to the DQ data path, or to read data to the dq data path, or to enter and exit initialization sequences. Thus, control logic 255 can control DRAM interface 256, CRC unit 250, multiplexer 203, and other circuitry. In the illustrated embodiment, the 3.2 GHz clock signal is coupled to the clock inputs of FFs 202, 205, 208, and 206. Each FF 202, φ 205, 208 and 206 is shown as a dual edge flip flop, meaning that the flip flops form a latch 'D, which is input to the input clock signal. Both the leading edge and the trailing edge. Therefore, the write data and BCMD information can be transmitted to their respective data paths at a rate of 6.4 Gb/s, and the input is latched using a 3.2 GHz clock signal. Similarly, since the memory controller 1 operates at 6.4 GHz, the read data and CRC information can be transferred to its individual signal paths at a rate of 6.4 Gb/s and the memory controller during a specific loop return mode. Used within 1〇0. 16 94122 200832406 In one embodiment, the write data is latched by FF 208 and stored to write FIFO 220 when the write data is received. The write FIFO can store the data until enough bits are received for output to the memory unit 110 via the DRAM interface 256. As described in connection with FIG. 5, the memory controller 100 can dynamically and adaptively correct the signal characteristics (eg, phase, etc.) of the transmitted data and the internal receiver characteristics during operation. The phase of the 6.4 GHz clock signal is corrected, wherein the 6.4 GHz clock signal generates the 3.2 GHz clock signal provided to the buffer unit 170. More specifically, as described above, the receiving unit 104 includes sample clock phase adjustment circuits such as an Rx CDR 282 and an offset unit 285 to correct its own local sampling clock. The phase is more ideal to receive the data transmitted by the buffer unit 170. Thus, whenever the memory controller 100 receives the CRC data from the buffer unit 170, the receiving unit 104 can use the Rx CDR 282, the offset • unit 285, and the variable phase unit 296 to correct the clock phase of the FF 2 84. In addition, the control unit 101 in the memory controller 100 can correct the variable phase unit 293 to correct the phase of the 6.4 GHz clock signal supplied to the FF 290. During the initialization process, such as during power cycle restart, the memory controller 100 can correct the variable phase unit 294 to correct the phase of the 6.4 GHz clock signal provided to the FF 289 to allow the buffer unit 170 to properly sample the buffer. Command signal. Furthermore, during initialization and during operation during the predetermined time interval, control unit 101 may correct variable phase unit 295 to correct the phase of the 6.4 GHz pulsed signal 17 94122 200832406 ^ provided to FF 286 to correct the The phase of the write data transferred to the buffer unit 170 causes the buffer unit 170 to more desirably receive the write data. Figure 3 is a timing diagram illustrating the exemplary operation of the embodiment shown in Figures 1 and 2 during an 8-bit burst. More specifically, the timing diagram shows a read/write/read burst of 128 bytes. The figure includes the MCLK and ADDR/CMD signals, which are provided by the memory controller 100 to the memory unit 110. The figure also shows DQ and DQS signals for transmitting data and data strobe between the buffer unit 170 and the memory unit 110. The remaining signals: DDQ, BCMD and CRC signals are transmitted between the memory controller 100 and the buffer unit 170. As shown, read commands (e.g., rdA and rdB) are sent to the memory unit 110 by the memory controller 100. After several MCLK cycles, the data and data selection communication number DQS appear on the DQ signal path. A read command (e.g., r0, • rl) is sent to the buffer unit 170 via the BCMD signal path before the data appears on the DQ signal path. After the rdA data, the next MCLK cycle is on the DQ signal path, and the rdA data appears on the DDQ signal path. As described above, the rdA and rdB data are transmitted side by side from the memory unit 110 to the buffer unit 170 at a double MCLK rate (e.g., 16011^175). However, the data is serially transmitted from the buffer unit 170 to the memory controller 100 at an extremely fast data rate (e.g., 6.4 GT/S). In order to reduce the bus turn-around time when converting from read to write, the write data can be buffered in the buffer unit 170 by 18 94122 200832406 ". For example, the wrX data as shown and the associated B CMD write command (eg, wl) are sent to the buffer unit 170, but the data is not written to the memory unit 110 until later. The dotted line points to it. The read/write/read program can be roughly described as follows: The wrX data is written to the buffer unit 170 via the DDQ signal path by the memory controller 100 and stored in the buffer unit 170. The memory controller 100 simultaneously issues a read command (rdA is connected to rdB after several MCLK cycles) via the ADDR/CMD signal path to the memory unit 110. Just before the rdA data appears on the DQ bus (for example, when the wrX data is transferred on the DDQ), the memory controller 100 issues a read command (eg, r0 and rl) to the buffer unit 170 via the BCMD. . When the eight and rdB data are on the DQ bus, the memory controller 100 transmits a write command (e.g., wrX and wrY) to the memory unit 110 via the ADDR/CMD bus. The rdA and rdB data are latched in the buffer unit 170 and transmitted to the memory controller 100 via the DDQ. The memory controller 100 transmits a write command (e.g., w0, w2, and w3) to the buffer unit 170 before the rdB data transfer on the DDQ is completed. When the w3 write command causes the wrY data just sent via the DDQ signal path to be sent to the memory unit 110 via the DQ data path, the w2 instruction causes the previously stored wrX data to be written to the memory unit 110. . When the wrX data is being written to the memory unit 110, the memory controller 100 issues an rdC command to the memory unit 110 via the ADDR/CMD signal path. After some cycles, the rdC data and data strobe appear on the DQ signal path and the DQS signal path, respectively. When the rdC data is 19 94122 200832406, the data path is transferred to the buffer unit 170, the memory control ~ just test the command (for example: and (1) via the BCMD signal path to the buffer unit] 7ri m 170, thus causing the buffer unit 170 to send the read data via the DDQ data path. Similar to the wrX data, the data is not written to the memory unit during the bursting period. Conversely, the data is stored in The buffer unit 17 is used for the next write burst period. As described above, during the read and write operations between the memory controller 100 and the buffer unit 170, a CRC is generated and transmitted to the memory controller. 4 CRC is generated by BCMD information, as indicated by the arrow, and data is read. As shown, wl, r〇, w〇 command, wrX, and rdB data are used to generate CRC information. The signal is sent from the buffer unit 17〇 to the memory controller 1 on the CRC signal path. It should be noted that, as shown, although the above signal may cause the CRC information to be generated and sent to the memory controller 1 Oh, but even The CRC signal path may have a transition when the buffer singular element 170 is idle (ie, when no data is transferred). As described above, the CRC data is driven by the RXCDR 282 in the memory controller 100. Therefore, these conversions may be The read data sample clock is continuously aligned to phase to sample the read data in a cancerous manner. Figure 4 is a flow chart depicting the operation of the embodiment shown in Figures 1 and 2. As described above, the interface between the memory controller 1 (9) and the buffer unit 170 is asymmetrical. That is, the control function resident in the memory controller 100 is more buffered. In unit 170, 94122 20 200832406. Therefore, during power up and at a predetermined time during operation, the memory controller 100 can correct the signal characteristics (eg, phase, etc.) of the transmitted data to be transmitted so that The buffer unit 170 correctly reads the data based on the information received from the buffer unit 170. In addition, the memory controller 100 can correct its internal receiver characteristics to make the memory controller 1 The data transmitted by the buffer unit 170 is received. Further, the memory controller 100 can correct the phase of the clock signal supplied to the buffer unit 170, and correct the phase of the B CMD signal so that the buffer command information is buffered in a cancerous manner. Unit 170 samples. Referring collectively to Figures 1, 2 and 4, and starting from block 400 of Figure 4, in one embodiment, after a reboot or power-on state (block 400), control logic 255 initiates a buffer unit. The 170 jumps out and restarts into the training mode (block 405). Upon entering the training state, all of the two-way signal path drivers (e.g., DDQ, DQ, and DQS) may be in a high impedance state (block 410). In the training mode, during an even MCLK cycle, the BCMD signal path loops back to the CRC signal path (block 405); and during the odd MCLK period, a training pattern (eg, 10101010···) is output on the CRC path (block 420). The memory controller 100 drives a training pattern on the BCMD signal path that is output on the CRC path during the even MCLK period (block 425). The memory controller 100 obtains a bit-lock and a byte lock (byte_lock) that receive a known data pattern on the CRC path (block 430). In addition, the memory controller 100 corrects the phase 21 94122 200832406 ^ bit of the BCMD clock signal by correcting the variable phase unit 294 to enable the buffer unit 170 to obtain the bit lock on the BCMD signal path. (i.e., bit alignment) and byte concatenation (i.e., byte alignment) (block 435). More specifically, the memory unit 1 can change (offset) the pattern transmitted in one bit time (UI) to ensure that the buffer unit 170 correctly captures each bit in the string bit. Medium offset and capture the complete 8-bit byte on the correct byte boundary. The memory controller can then send a buffer command to buffer unit 170 to exit the training mode (block 440). To train the DDQ data path, memory controller 100 transmits the training pattern via the DDQ data path (eg, has many transitions) Random pattern). This pattern is stored in a write first in first out memory (write FIFO) 220 (block 445). The memory controller 100 reads back the stored pattern to obtain a bit lock (block 450). The memory controller 100 corrects the phase of the write data (e.g., by correcting the variable phase unit 295) to obtain a bit error rate of approximately 50%. A conversion error rate of 50% indicates that the written data is being sampled near the edge. The memory controller 100 then corrects the phase of the written data back at 0.5 UI. This will result in the FF 208, for example, to sample the data near the central portion of each data bit. This process can be performed for each DDQ signal path (block 455). To obtain the byte lock, the memory controller 100 transmits the training pattern via the DDQ data path. In one embodiment, the training pattern can have a different pattern for each byte. When monitoring the CRC information, the memory controller 100 22 94122 200832406 may offset the training pattern data by adding an m θ. If the crc message is correct, a byte lock is established (block 46〇). Once the training pattern is locked by the byte to the buffer unit 17 〇 π, the memory controller ι locks the read data byte. In one embodiment, memory controller 100 reads back the byte-locked training pattern (block 465). At this point, the serial interconnect should be aligned so that the bit lock and the bit, and the lock are both taken in the write and read directions. • ^ Similarly, the parallel DRAM interface 256 can be aligned. More particularly, in one embodiment, when the BCMD and ddq write phase alignment is preserved, the memory controller 100 can correct the WCLK phase until the write phase DqS edge is aligned with the appropriate MCLK edge ( Block 470), the buffer unit 170 series and the parallel interconnect are aligned, and during normal operation, the memory controller 1 can perform the write phase of the serial interconnect 160 using the training pattern described above. training. The training can be performed at predetermined time intervals. Similarly, during the idle period, the memory controller 1 can monitor and correct the BCMD and CRC alignment by sending some idle commands to the buffer unit 17A. These idle commands may cause a pre-transformation rich cRc pattern to be transmitted to the CRC signal path (block 475). Referring to Figure 5, a block diagram of an exemplary embodiment of a computer system including a memory system of the first and second figures is shown. It should be noted that, for components shown in Figures 1 and 2, the same reference numerals are used for a simple month. The computer system 500 includes a processing node 650' coupled to the memory buffer 170 and the memory unit ι10. 94] 22 23 200832406 In the implementation, the buffer unit m can be a product placed on the motherboard, the circuit chip ′ and the memory unit 11 can be inserted into the socket. In another conventional operation, the buffer sheet S 17 can be an integrated circuit chip disposed on an expansion board (ard) such as an ard, which can be inserted into a memory card socket card. In such an implementation, the expansion daughter board can have a socket to allow the memory units 11 to be inserted therein in an upright configuration. More specifically, the processing node 650 includes a processor core 601 coupled to the memory control state 100. It should be noted that there are any number of processor cores 61 in the processing node 650. As described above, the memory controller 100 signal is coupled to the memory buffer 170 via the differential serial interconnect 160 and to the memory unit 11 经由 via the parallel interconnect 165. As shown, the serial interconnect includes a unidirectional CRC signal path, a unidirectional WCLK signal path, a unidirectional BCMD signal path, and a bidirectional data signal path. In addition, between the memory buffer 170 and the memory unit 11, the parallel interconnection 165 includes bidirectional data and data selection communication path. Moreover, between processing node 650 and memory unit 110, parallel interconnect 165 includes unidirectional ADDR/CMD and MCLK signal paths. It should be noted that in addition to the ADDR/CMD signal, there are other signals, such as chip select, bank select, and others included in the parallel interconnect 165. However, for the sake of simplicity, these The signals are omitted. It should also be noted that although not shown for simplicity, the MCLK and DQS signals can be differential signals. Referring to Fig. 6, a block diagram showing a specific embodiment of a computer system 24 94122 200832406 The system includes a memory controller having a dual mode memory interconnect. The computer system 7GG is similar to the computer system shown in Figure 5. For example, computer system 700 also includes processing nodes (four) coupled to memory buffer 17 and memory unit 110. However, in Fig. 6, the controller 710 is a dual mode memory controller due to the memory, and thus is different from the memory control H 100 in Fig. More specifically, as described in more detail below, the memory control H 71G can be selectively grouped in parallel with the parallel connection to the memory or used in conjunction with the buffer unit 17〇. Connect to the operation. As outlined above, computer system designers may want to design a system that is extremely flexible so that the components can be used by more system manufacturers. Therefore, in a specific embodiment, the memory controller 71 can be electrically configured to operate in the first mode to provide a parallel memory interconnection (10) that is compatible with a plurality of memory specifications. In other embodiments, the memory unit m can be compatible with Leg 2, DDR3, or other desired specifications. Thus, the memory controller 710 can be provided as its parallel interconnection, as desired* Compatible with the parallel interconnection of the dirty 2 and DDR3 technologies. In addition, the memory controller can be configured to operate in the second mode to provide, for example, the difference between the series of serial interconnects 160 The differemial serial interconnect 〇^ _, the mother/child/ZU determines and selects the input/rounding of the memory control 710 in the memory control 710 (1/0) circuit 711. In an example, the mode of the memory controller 710 can be selected using a virtual y y λ λ process, ie, a hardwired outer 94122 25 200832406. In this particular embodiment, the processing node One or more external selection needles of 600 The foot can be hardwired to the circuit ground as shown, or fixed to VDD or other voltage. The fabric unit 720 can detect the selected pin-shaped green, and thus the memory controller 710 is configured. The I/O circuit 711. In another embodiment, the memory controller mode can be selected when executing software for Bl〇s or other system level during system start-up. In a specific embodiment, in the first mode, the memory controller 710 is directly coupled to the memory, the body unit 11. In this first configuration, the I/O circuit 711 includes, for example, DQ, DQS, ADDR/CMD, and Parallel interconnection of signal paths. In the second mode, the I/O circuit 711 is changed to a differential serial interconnect, which is coupled to the <memory buffer unit 170 as shown in Figures 1, 2 and 5 (Dash line). To achieve mode switching, I/O circuit 711 can include a plurality of wheeled drivers and input buffers. Some drivers and buffers can be differential circuits, and some can be single-ended. Single-ended. In one embodiment, the mode is considered The connection between the processing node and the various I/O pins of the buffer and the buffer can be changed. Therefore, in the I-body embodiment, part of the I/O circuit 711 can operate as a programmable interconnect ( Programmable interconnect) ° For example, as shown in Figure 6, the measure (€1/1) (^8 signal path can be changed between the bidirectional DQS signal path and the one-way CRC signal path. The DQS/BCMD can also be changed between the bidirectional DQS signal path and the one-way BCMD signal path. In addition, the WCLK/DQS signal path can be changed between the 94122 26 200832406 bidirectional DQS signal path and the unidirectional WCLK signal path. Furthermore, the DDQ/DQ signal path can be changed between a two-way single-ended DQS signal path and a bidirectional differential data DDQ signal path. Referring to Figure 7, a block diagram showing another embodiment of a memory system including a cache is shown. The memory system 80 includes a memory controller 800 coupled to the memory cells 110A through 110H and then coupled to the buffer cells 870A through 870D. It should be noted that

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及W is similar to the memory controller shown in Figure 1, and the memory controller 800 can also be a memory controller that is part of a chipset (e.g., can be used in a Northbridge configuration). Alternatively, as shown in FIG. 10, for example, memory controller 800 can be part of an embedded solution in which memory controller 800 is embedded within a processing node that includes one or more processor cores. Corresponding to those components shown in the foregoing drawings, the same reference numerals are used for simplicity. Thus, in one embodiment, the memory cells 110A to 110H can be represented as a memory module such as a dual in-line memory module (DIMM) as described above. In various implementations, the memory unit can be adapted to various technologies such as DDR2 and DDR3. In the particular embodiment illustrated, memory controller 800 is coupled to buffer unit 870 via serial interconnects 860A through 860D. In one embodiment, each of the serial interconnects 860 uses differential signaling techniques. As will be described in greater detail below in conjunction with the description in FIG. 8, the serial differential interconnects 860A through 860D can each include an upstream link 27 94122 200832406 (upstream link) and a downstream link connected to each buffer unit 870. . The downlink link may include a plurality of downlink serial data signal paths (DSDs) and a corresponding downlink serial clock signal that can be used to provide a clock to the data entry buffer unit 870. Signal path) (DSCLK). Similarly, each uplink link may include a plurality of upstream serial data signal paths (USD) and may be used to provide clocks to the corresponding upstream queues of data into the memory φ controller 800. Upstream serial clock signal path (USCLK). Four memory channels are shown in the specific embodiment listed, but other quantities are possible. As such, the tandem interconnect 860A can be used for one of the channels, and thus coupled to the buffer unit 870A; the tandem interconnect 860B can be used for the second channel and coupled to the buffer unit 870B; the tandem interconnect 860C can be used for the third channel, And coupled to buffer unit 870C; and tandem interconnect 860D can be used for the fourth channel and coupled to buffer unit 870D. Spring In contrast to the serial interconnect 160 used in the previous embodiment, the serial interconnect 860 uses data signal paths that each pass data, CRC, and ADDR/CMD information. Thus, in one embodiment, the serial interconnect 860 can use a packet protocol in which the packet can include encodings to indicate that the load is ADDR/CMD or data. In addition, each packet can have a format for dedicated bit times for CRC information as well as payloads (e.g., data or ADDR/CMD). In addition, buffer units 870A through 870D are coupled to memory unit 经由0 via parallel interconnects 28 94122 .200832406 '865. In one embodiment, the parallel interconnect 865 can include a data path (DQ), a data selection path (dqs), an address/command signal path (ADDR/CMD), and a clock signal path (MCLK). It should be noted that there may still be other signals, such as chip select, bank select, check bits, and others included in the parallel interconnect 865. However, these signals are It is omitted here for the sake of simplification. It should also be noted that the parallel interconnection 8 6 5 can include four channels. As shown, one of the channels is coupled to the memory cells Π A to 110D, the other is coupled to the cells hoe to n 〇H, and the other is coupled to the memory cells 110J to 11 〇Μ. The other is engaged, the memory unit 11 ON to 11 OR. As will be described in more detail below, when the differential data path of the serial interconnect can serially and high speed transfer the data transmitted via the parallel interconnect, the data path DQ can be used in the buffer unit 87 and the memory. Data is transmitted in both directions between units no. For example, a given uplink (uplink) • USD [0] or downlink (d〇wnlink) DSD [〇] signal path can pass data bits corresponding to DQ [0:3], which The USD π] signal path can pass data bits corresponding to DQ [4··7], but other mappings are also possible. In some embodiments, the tandem link can be asymmetrical according to the number of pins in the serial data. In one implementation, the uplink may have more data signal paths than the downlink since it is assumed that the read operation may consume more bandwidth than the write operation. Similar to the buffer sheet 170 described in the month, each serial interconnect 86 can be used to transfer data by transferring the data at the quadruple speed of the data signal path at the quadruple speed of 94122 29 200832406. However, the ADDR/CMD signal path and the MCLK signal path can be operated at half the rate of the data path of the parallel interconnect 865. For example, when the data signal path DQ/DQS of the parallel interconnection 865 can transfer data by 1600MT/S, and the ADDR/CMD and

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碼可用來提供此When the MCLK signal path is operational with 800 MT/s, the serial interconnect 860 can use 6.4 GT/S to transfer data on the uplink and downlink data paths. It should be noted that the serial interconnect 860 can operate with any suitable data rate for the parallel interconnect 865. In one embodiment, the memory controller 8 can control the operation of the buffer unit 87 via commands sent on the DSD signal path. As such, the buffer unit 870 can have a normal mode of operation as well as a fabric and test format. For example, during normal data operation, the memory controller 8 can send read and write instructions for data and pre- and post-sync codes (pre_ and p〇st_ambles) to read and write data. Store the device and correct the phase offset of the DQ .fU Tiger Road Control. In addition, for example, the memory controller 800 can control the configuration, training, and processing of the buffer list 2 87G by transmitting a plurality of loopback commanj CRC control commands and CRC training pattern commands. At the rate of the goods, _ H w. Keep 'buffer early 87兀 or memory controller 800 code with two: the possibility is significant. Therefore, the error detection code must be protected by the memory suppression type, and the error detection heart;:: the transfer unit between the punch unit 870 is in error. Strongly and powerfully detecting multiple multi-bit errors within the protected block. In the specific embodiment, the 'CRC code can be used to provide this.

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),帛以連接呈緩衝單元w, 彳. More specifically, as shown in FIG. 8, CRC 94122 30 200832406 information can be generated and transmitted in both the uplink and the downlink. When an error is detected on the serial interconnect in any direction, the memory control cry 800 can correct the error by retrying the operation. In the case of the second embodiment, the error detected in the downlink link can be encoded into the upstream CRc. In a specific embodiment, the memory controller 8 can include a control function that dynamically and adaptively corrects the transmitted signal (characteristics (eg, phase, etc.) of the written data to enable the buffer unit 870 to be based on The information received from the buffer unit 870 reads the data correctly. In addition, the memory controller 800 can correct its internal receiver characteristics so that the memory controller 1 can receive the data transmitted by the buffer unit 870. Furthermore, the memory controller 8 can correct the phase of the clock signal supplied to the buffer unit 87 so that the address and command information can be correctly sampled. In particular, at high data rates, for the uncertainty of the delay of the transmission path of different messages in the bus, it may be necessary to receive the phase correction of each bit of the received signal. To avoid this circuitry in the buffer unit 870, the memory controller 8 (8) can correct the phase of the transmit scoop and data signals to avoid complex phase shifting circuitry in the slave. Thus, in the particular embodiment illustrated, the memory bank 80 〇 includes a control unit 8〇1 coupled to the transmitting unit 〇2, the receiving unit 〇4, and the clock unit 806. The control unit 8.1 can calculate the phase information based on the data received from the buffer unit 870, and the buffer unit 870 can be used to respond to the CRC data by, for example, the phases of the various clock edges in the memory controller 8 And reading the information of the data, the control unit 31 94122 200832406 element 801 can be controlled by the transmission unit 802, the receiving unit 804 and the phase tracking and correction circuit in the pulse unit 806 (as shown in FIG. 8). This function will be described in detail below in conjunction with the description of Figs. 8 and 9. Referring to Fig. 8, a detailed description of the components of the memory system shown in Fig. 7 will be given. The components corresponding to those in Fig. 7 are given the same reference numerals for simplicity. The memory controller 800 is coupled to the serial buffer unit 870 via a differential serial interconnect 860. It should be noted that the buffer unit 870 can represent any of the buffer units 870A through 870D shown in FIG. Therefore, the differential serial interconnect 860 includes a downstream differential serial clock signal path (DSCLK) and a downstream differential data signal paths DSD [11:0]. Similarly, differential serial interconnect 860 includes an upstream differential serial clock signal path (USCLK) and an upstream differential data signal path USD [19:0]. The memory controller 800 includes a 6.4 GHz clock signal generated from the clock unit 806 of Figure 7. In one embodiment, a 6.4 GHz clock is used for the internal clock of the memory controller 800. The output of the variable phase unit 890 provides the clock signal to the flip-flop (flip-f1()p, FF) 889. The 6.4 GHz clock is also coupled to the iaiie deskew circuit 881. And coupled to the clock input of FF 893 to generate the serial clock signal DSCLK. Since the FF 893 has a return 892 coupled to the input terminal in a loop, the 6.4 GHz clock signal is divided into two parts and the output is a 3.2 GHz serial clock. The 3.2 GHz clock system is differentially driven by a differential output driver 891. 32 94122 200832406 In the specific embodiment illustrated, the write data, addr/cmd, and CRC are provided to the input of FF 889. The output of the FF 889 is coupled to a differential equalization output driver (888). The output of the driver 888 is coupled to a single signal path of the DSD [11:0]. Therefore, for each signal path of DSD [11:0], a similar round-out path (not shown) can be used. Similarly, for reading data, a single signal path of USD [19:0] is coupled to differential input φ into buffer 885, and the output of buffer 885 is coupled to the input of FF 886. The output of the FF 886 is coupled to the input of the pass anti-aliasing unit 881. The output of the pass anti-aliasing unit 881 is provided as read data and CRC information to other portions of the memory controller 800 (not shown). The upstream serial clock signal USCLK is coupled to a differential input buffer 887 whose output is coupled to a variable phase unit 882. The output of variable phase unit 882 is coupled to the clock input of FF 886. The buffer unit 870 includes a buffer 801 that represents a differential input buffer for each of the DSD [11: 〇] signal paths. Buffer 801 is coupled to receive write data, ADDR/CMD and CRC information transmitted on one of the paths of the DSD [11:0] signal path. Therefore, similar to the memory controller 8, a similar output path (not shown) can be used for the signal path of each DSD [11: 〇]. The output of the buffer 〇1 is coupled to the input of the FF 802. The output of the FF 802 is connected to the input of the FF 803. The output of FF 803 is coupled to command buffer 805, CRC unit 826, write FIFO 807, and output multiplex 33 94122 200832406 (mux) 809. The output of the write FIFO 807 is coupled to the DRAM interface 856' which is similar to the DRAM interface described above in connection with FIG. As shown, there are 4 MCLK signals, ADDR/CMD signals, 16 data selection communication path DQS [15:〇], and 72 data signal paths DQ [71:0] as part of the parallel interconnection 865. The write data from the write FIFO 807 can be output to the memory unit 110 via Dq [71: 〇]. It should be noted that the rest of the signals have been omitted for simplicity. 10 Note that although not shown for simplicity, the MCLK and DQS signals can also be differential signals. The read data from the memory unit 11 via DQ [71: 〇] can be coupled to one of the inputs of the multiplexer (mux) 8〇9 via the DRAM interface 856. Multiplex | § The output of 809 is provided to the input of FF 81〇. Control logic 855 controls the multiplexer input select of the multiplexer 8〇9. The output of the FF 810 is coupled to the differential equalization data output. The driver 811 is coupled to one of the differential path of the USd [19:〇]. Buffer unit 870 also includes control logic 855 that is coupled to receive command information (CMD) from the memory controller. The CMD information can cause the control logic 855 to drive the write data to the DQ data path, or to read the data to the Dq data path, or to enter and exit initialization and test procedures an (j test sequences). Thus, control logic 855 can control the dram interface 856, CRC units 826, 808, multiplexers 8, and other circuits. In the illustrated embodiment, the 3.2 GHz clock system is coupled to the clock input of 34 94122 200832406 FF 810 and to the input of the differential equalization data output driver 812 and the output of the driver 812 The upstream serial clock (USCLK). The 3.2 GHz clock signal is also coupled to a Divide by 4 unit 804 to provide an internal 800 MHz clock domain of the Mclk domain. In one embodiment, packets received via the DSD [11:0] signal path are simultaneously provided to CMD buffer 805, write FIFO 807 φ, and CRC unit 826. Since the packets can be encoded to indicate that they are ADDR/CMD or data payload, the CMD buffer 805 and the write FIFO 807 can include packet decode logic (not shown) to enable the above two Capture their respective packets. Therefore, when a write data payload packet is received, the packet can be decoded by the write FIFO 807 and the data stored in the write FIFO 807. The CMD buffer 805 can discard the data payload packet. The write FIFO 807 can store the write data until a sufficient bit is received and is output to the memory unit 110 via the DRAM interface 856. Similarly, when a CMD payload packet is received, the packet can be decoded by the CMD buffer 805 and the CMD information stored in the CMD buffer 805. The write FIFO 807 can discard the CMD load packet. Since all packets may contain a CRC payload, CRC unit 826 receives all packets and fetches the CRC information. As described in more detail below in conjunction with the description in Figure 9, during operation, the memory controller 800 can dynamically and adaptively correct the transmitted write data and the received signal characteristics (e.g., phase, etc.). More specifically, as described above, the receiving unit 804 includes sampling clock phase correction 35 94122 200832406 ...: Γί Lane anti-skew 881 and variable phase unit 890, 882, stealing =- (four) ritual clock sampling time The phase is more ideally received by the slow t = Γ data. Thus, regardless of the CRC data of the memory controller 8 (10) and the L unit 870, the receiving unit 804 t is anti-skew and the variable phase unit 882 is corrected for the day of the FF 885. The control within the device can be used to correct the phase of the write data transferred to the buffer unit 870 so that the buffer unit can more desirably receive the write data. Figure 9 is a diagram showing an operational private diagram of the specific embodiment shown in Figures 7 and 8. More specifically, it describes the initialization and fabrication procedures for establishing and maintaining communication between the memory controller and the buffer unit: see Figures 7 through 9 together, and starting from block _ of Figure 9, when When the system is restarted, the 'no serial signal path can be considered for alignment during power cycle re-opening or other system restart conditions. In this way, the memory controller and the buffer unit 8 7 〇 jump out and restart to enter the training state 1, or 疋T1. In the T1 state, the serial interconnect 86 operates at 400 MT/s (block 905). The memory controller 8 uses a dead-reckoned 0.5UI offset (0ffset) to transmit and receive data (block 910). For example, the memory controller corrects the offset to become an approximate point that does not completely span the time of the positioning element. The memory controller 8 sends a command to cause the buffer unit 870 to leave the T1 state and enter the T2 state (block 915). In the T2 state, the buffer unit 870 drives the pattern of the predetermined pattern, such as 1 〇 1 〇 〇 〇, on all the bit lanes of the USD link. For example, 94122 36 200832406 ^ says that the memory controller uses the known pattern to obtain bit lock and correct the variable phase unit 882 (block 920). In one embodiment, for example, memory controller 800 sends a buffer command to cause buffer unit 870 to exit the T2 state and to drive all of the 8-bit time units to enter the T3 state (block 925). In the T3 state, the buffer unit 870 transmits a predetermined pattern such as 101010... to the memory controller 800 over the even MCLK period via the USD signal path (block 930). The buffer unit 870 is configured to loop back the downlink data to the upstream USD signal path over the odd MCLK period, and send a pattern different from the 101010... pattern through the DSD signal path (block 935). The memory controller 800 uses the different pattern to obtain a byte lock. The memory controller 800 then corrects the downstream data phase to allow the buffer unit 870 to obtain bit lock and byte lock (block 940). When completed, the memory controller 800 drives all zeros such that the 8-bit time causes the buffer unit 870 to exit the T3 state and enter the positive 10 mode of operation (block 945), at which point the memory controller 800 can read and The data is written to the memory unit 110 and the like. Once in the standard mode of operation, the memory controller 800 can correct the divide by 4 MCLK divider 804 within each buffer unit 870 to enable all buffer units 870 to use the same clock edge (phase) ( Block 950). More specifically, memory controller 800 can send a buffer command to time retard the MCLK phase by one or more bits. The memory controller 800 can train the upstream and downstream 37 94122 200832406 signal paths (block 955) using a periodic training mode during predetermined time intervals during normal operation (eg, every 100 ps). For example, for downstream training, the memory control benefit 800 can write the training pattern to the write FIFO 807 using a predetermined training phase offset (block 960). The memory controller 8 can now read back the training pattern and calculate an error flag from the pattern conversion value (block 965). Using the calculated error flag, the memory controller 8 can correct the downstream data phase (block 970). For upstream training, the memory controller 8 can write the training pattern to the write FIFO 807 using normal phase offset (block 975). The memory controller 800 can now read back the stored training pattern and use the other predetermined training phase offset to calculate an error flag from the pattern conversion value (block 980). Using the different error flag, the memory controller 8 can correct the upstream sampling phase (block 985). Once the periodic training is complete, the buffer unit 870 will place back into the mode as described above at block 945. Referring to Figure 10, a block diagram of a particular embodiment of a computer system incorporating the memory system of Figure 7 is shown. It should be noted that the components corresponding to the components shown in Figures 7 and 8 are denoted by the same reference numerals for simplicity and clarity. Computer system 1100 includes processing node 1150 coupled to a memory buffer 870 and a memory unit 11 〇. Similar to the computer system shown in Fig. 5, in one implementation, the buffer unit 870 can be an integrated circuit chip disposed on a motherboard, and the memory unit 110 can be inserted into the socket. In another implementation, the buffer unit 870 is placed on the integrated circuit board of the expansion daughter board, and the expansion daughter board can be inserted into the DIMM. In such an implementation, the expansion daughter board can have a socket to allow the memory units 110 to be inserted into the vertical configuration 94122 38 200832406. In the particular embodiment shown in FIG. 10, the processing node 丨50 includes a processor core 11 〇 1 that is coupled to the έ 体 memory controller 8000. There may be any number of processor cores 1101 within the processing point 1150. As described above, in conjunction with the description of Figures 7 and 8, the memory controller 800 signal is coupled to the memory buffer 870 via the differential serial interconnect 86 and coupled to the memory unit 110 via the parallel interconnect 865. As shown, the serial interconnect 860 includes a one-way downlink signal path, a one-way downlink clock signal path, a one-way uplink signal path, and a one-way uplink clock signal path. In addition, between the memory buffer 87 and the memory unit 11, the parallel interconnection 865 includes a bidirectional data and a data selection number path. Furthermore, between the processing node 1150 and the memory unit 11, the parallel interconnection 865 includes a one-way ADDR/CMD and MCLK signal path. It should be noted that in addition to the ADDR/CMD signal, there are other signals, such as chip select, bank select, and others included in the parallel interconnect 865. However, for the sake of simplicity, This has been omitted. Referring to Fig. 11, there is shown a diagram of another embodiment of a computer system including a memory control state having a dual mode memory interconnect. The brain-inducing system 12 is similar to the computer system 1100 shown in Figure 1Q. For example, computer system 12A also includes processing node 125A coupled to memory buffer 87 and memory unit 110. However, in Fig. u, since the memory controller 1210 is a dual mode memory controller, it is different from the megaphone controller 8 (8) in Fig. 1 . More particularly, as described in greater detail below 94122 39 200832406, the memory controller 1210 can be selectively grouped into a parallel interconnect 865 directly connected to the memory unit 110 or used in conjunction with the buffer unit 70 870. The series interconnects 86 are used to operate, as described above in conjunction with the descriptions in Figures 7 and 8. Similar to the memory controller 710 described above, the memory control in FIG. 11 is 1210, and can also be selectively operated by any parallel interconnection directly connected to the memory module. The module is compatible with various types. Memory specifications. For example, in a different embodiment, the memory unit 110 can be compatible with DDR2, DDR3, or other desired specifications. As such, the memory (12) 1210 can be provided as its parallel interconnect, as desired to provide parallel interconnected milk compatible with DDR2 and DDR3 technologies. In addition, the memory controller 1210 can also be selectively grouped to operate in the second mode to provide serial differential interconnects to, for example, the serial interconnects 860 of FIGS. 7 and 8. , 帛 to connect to the buffer unit

々第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 94122In Fig. 11, the configuration unit 122 can determine and select the configuration of the I/O circuit 1211 in the memory control II 121G. In one embodiment, the mode of the memory controller (2) 0 can be selected using a fixed external pin of the processing node. In such a particular embodiment, one or more of the external selection pins of processing node U50 may be lined to the circuit ground as shown, or fixed to VDD or other voltage. Fabric unit · Side selection pin status ' So the memory / controller of the memory controller (4)! 2 U. In the other embodiment, the memory controller mode can be selected when the BIOS 1205 or other system level software is executed during the initial (resistance). In the specific embodiment, In the first mode, the memory controller 1210 is directly coupled to the memory unit 11A. In this group, the I/O circuit 1211 provides, for example, DQ, DQS, addr/cmd, and MCLK or other signal paths. Parallel interconnection. In the second mode, the ι/〇 circuit 1211 is changed to a differential serial interconnection, which is coupled to the memory buffer unit 87 〇 (dashed line) as shown in the 78th and ίο. To achieve mode switching, the 1/0 circuit 1211 can include a plurality of output drivers and input buffers. Some of the drivers and buffers can be differential circuits, while some can be single-ended. In one embodiment, Depending on the mode, the connection between the processing node and the various pins of the driver and buffer can be changed. Thus, in one embodiment, the partial 1/〇 circuit HU can operate as a programmable interconnect. As shown in the figure The DSD signal path can be changed between the unidirectional differential DDS signal path and the bidirectional single-ended DQ signal path. In addition, the USD signal path can be in the unidirectional rib 8 signal path, bidirectional single-ended ADDR/ The CMD signal path and/or the bidirectional differential DQS signal path are changed. Furthermore, the DSCLK signal path can also be changed to one or more single-ended mclk signal paths between the differential one-way clock signal paths. Other pin combinations are contemplated. While the above-described specific embodiments have been described in considerable detail, it will be apparent to those skilled in the art that many changes and modifications will be apparent to those skilled in the art. The accompanying claims are intended to cover all such changes and modifications. 94122 41 200832406 [Simplified Schematic] FIG. 1 is a block diagram of a specific embodiment of a memory system including a cache; 2 is a diagram showing a more detailed aspect of the memory system component in FIG. 1; FIG. 3 is an exemplary burst operation of the specific embodiment shown in FIGS. 1 and 2. FIG. 4 is a flow chart describing the operation of the specific embodiment shown in FIGS. 1 to 3; FIG. 5 is a specific implementation of the computer system including the memory system shown in FIG. 1. FIG. 6 is a block diagram of a specific embodiment of a computer system including a dual mode memory controller in FIG. 5; FIG. 7 is a memory including a memory controller having a dual mode interface; A block diagram of a specific embodiment of the body system; Fig. 8 is a view showing a more detailed aspect of the memory system component of Fig. 7; and Fig. 9 is a view showing a specific embodiment of Figs. 7 and 8. FIG. 10 is a block diagram of a specific embodiment of a computer system including the memory system shown in FIG. 7; and FIG. 10 includes a dual mode memory controller in FIG. A block diagram of a specific embodiment of a computer system. While the present invention is susceptible to various modifications and alternative forms, the specific embodiments of the invention are shown by way of example in FIG. 42 94122 200832406. However, it must be understood that the description of the drawings and the detailed description of the invention is not intended to limit the invention. Modifications, equivalences and substitutions within the spirit and scope defined in the patent scope. It should be noted that the word "may" used throughout the text of this application is intended to mean (perhaps: possible, capable), not mandatory (meaning that it must be). Blood [Main component symbol description] 10,80 memory system 100, 710, 800, 1210 memory controller 101, 801 control unit 102, 802 transmission unit 104, 804 receiving unit 106, 806 clock unit 110, 110A to 110H, 110J To 110N, 110P to U0R memory unit 160, 160A, 160B, 860, 86ΌΑ, 860B, 860C tandem interconnect 165, 865 parallel interconnects 170, 170A to 170J, 870, 870A to 870D buffer unit / memory buffer Crying 201 input buffers 202, 205, 206, 208, 284, 286, 289, 290, 803, 810, 821 886 893, 889 flip-flops 203, 809 multiplexers 209, 218, 801 buffers 210, 811, 812 differential equalization data output driver 211, 287, 288, 888 differential equalization output driver 220, 807 writes first-in first-out memory (write FIFO) 250, 808, 826 CRC unit 255, 855 control logic 43 94122 200832406 '256 , 856 DRAM interface 281, 283, 885, 887 differential input buffer 282 receiver clock data return unit 285 offset unit 2 91, 8 91 differential output driver 292, 892 reverser 293, 294, 295, 296 , 882, 890 variable phase unit 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 Block 500, 700, 1100, 1200 Computer System 601, 1101 Processor Core 605, 1205 Basic Input Output System 650, 1150, 1250 Processing Node 711, 1211 Input/Output Circuit 720, 1220 1 Fabric Unit 805 Instruction buffer 881 pass anti-skew unit / circuit ADDR address BCMD buffer command CLKS clock signal CMD command CRC cyclic redundancy code DDQ differential data DSCLK downlink serial clock signal DSD downlink serial data DQ data DQS data selection Through MCLK clock signal Mode Sel. Mode select USCLK Upstream serial clock signal USD Upstream serial data WCLK Differential clock signal r0, rl, rdA, rdB, rdC Read command w0, wl, w2, w3, wrX, wrY Write command 44 94122

Claims (1)

200832406 十、申請專利範圍: 1. 一種記憶體控制器,包括: 输入/輸出(I/O)電路,包人 數個輸出驅動器,其中該⑽:後數個輸人緩衝器及複 選擇訊號之狀態而運作於笛包路係組構成取決於模式 一者; 乍於弟-模式及第二模式之其中 具中,運作於該第一握 成接供用於、車蛀 、工J間,該UO電路係組構200832406 X. Patent application scope: 1. A memory controller, comprising: an input/output (I/O) circuit, the number of output drivers, wherein the (10): the number of input buffers and the state of the complex selection signal The composition of the operation of the bag system depends on the mode; in the middle of the mode and the second mode, the UO circuit is operated in the first hand, the vehicle, and the J. Department 2.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 50The attack is provided for connection to a guest connection; and the 1U second memory module is juxtaposed with each other, during operation of the second mode, (4) the circuit system is provided for connection to one or more buffer units. Each of the individual, column interconnects 'each buffer unit group constitutes a buffer to read or write the memory data of the one or more buffer units from the one or more buffer units. The memory controller of claim 1, wherein each of the individual serial interconnects comprises a plurality of differential bidirectional data signal paths, each of the differential bidirectional data signal path groups constituting the transfer data to the one or more buffer units Between the given buffer unit and the memory controller. The memory controller of claim 1, wherein each of the individual serial interconnections comprises a differential command signal path, and the differential command signal path & group constitutes to transmit the command information from the memory controller to the one Or a given buffer unit in multiple buffer units. 4. The memory controller of claim 1 of the patent scope, including the fabric sheet 70', the fabric unit coupled to the I/O circuit and the group composition detection will select 45 94122 200832406 _ @ 信号 对 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / rate. The stomach cramps are transferred to the private car. 6. == The memory controller of the fifth item, where each differential clock signal path s, the differential clock signal path. The transmission clock is transmitted from the memory controller to the one or more of the M M k impulses, wherein each of the differential clock signals operates at the rate of the brood. 7. The memory controller of claim 5, wherein the parallel interconnection comprises one or more clock signals, each of the clock signal paths forming a second clock signal from the memory The body controller to the one or more memory modules 'where the second clock signal operates at the second data transfer rate. 8. The memory controller of claim i, wherein the parallel interconnection comprises a plurality of configured bidirectional data signal paths, each of the bidirectional data signal path groups forming a transfer data to the memory controller and the A special module between one or more memory modules. 9. If the patent application scope is in the i-th item, the parallel connection includes a plurality of bidirectional data selection communication path paths, and the plurality of bidirectional data selection communication number path groups constitute the transmission data strobe in the memory. The body control benefits between the particular module in the one or more memory modules. The memory controller of claim 1, wherein the parallel interconnection comprises a plurality of unidirectional addresses and a command signal path, and the plurality of unidirectional addresses and command signal path groups are formed. Transfer the address and command information from the memory controller to the one or more memory modules. 11. The memory controller of claim 1, wherein each of the individual serial interconnects constitutes a signal path via one or more Cyclic RedundanCy code (CRC) signals. Cyclic redundancy code information for one or more buffer units, wherein the CRC signal corresponds to the data transmitted by the UE through the individual serial interconnects. 12. The memory controller of claim 1, wherein each individual serial interconnect comprises a plurality of downlink differential one-way signal paths, each of the downlink differential one-way signal path groups forming a transmission data, an address, and a command From the § memory controller to the one or more buffer units. 13. The memory controller of claim 12, wherein each individual serial interconnect comprises a downlink unidirectional differential clock signal path, and the downlink unidirectional differential clock signal path group constitutes a transmission string The clock signal is the memory controller to each of the one or more buffer units. 14. The memory controller of claim i, wherein each of the individual serial interconnects comprises a plurality of uplink differential one-way signal paths, each of the upstream differential knife one-way signal path groups forming a transmission data and a loop redundancy Remaining (CRC) information to one of the one or more buffer units to the body controller. u 15. The memory controller of claim i, wherein each of the 94122 47 200832406 serial interconnects comprises an uplink unidirectional differential clock signal path, and the uplink unidirectional differential clock signal path group constitutes Passing one of the serial clock signals to the one or one of the buffers to the memory controller. 16. A computer system comprising: a processor; and a memory controller coupled to the processor, wherein the memory controller comprises: • a vertical input/output (1/〇) circuit comprising a plurality of inputs The buffer and the reset-out drive & 'where 'I/C) circuit group constitute one of the first mode and the second mode depending on the state of the mode control signal; ', among them, During the operation of the first mode, the shame circuit is configured to be connected to a parallel interconnection of one or more memory modules; and wherein during operation of the second mode, the (8) circuit group constitutes : a differential serial interconnect for connecting to one or more buffer units, each unit group forming a buffer from which the memory of the one or more buffer units is being read from the one or more buffer units Body data. String: Please refer to the computer system of the 16th item of the range ‧ where each individual j interconnect contains a plurality of differential bidirectional f-material domain roads #, each bidirectional data signal path group constitutes a transmission inverse 77 Xuliu-zhan λ Fu Feng The given buffer is between the given buffer unit and the memory controller. 8. The power-to-parallel interconnection of the 16th article of the patent application includes a differential command message, the parent individual P 7 Λ said path, the differential command signal path 94122 48 200832406 group constitutes the command information to be transmitted from the memory control To a given buffer unit in the one or more buffer units. A computer system of claim 6 of the patent scope, including a configuration unit _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ This mode selects a signal for the I/O circuit. A computer system as claimed in claim 16, wherein each individual serial interconnect operates at a first data transfer rate, and the parallel interconnection operates at a second data transfer rate, wherein the first data transfer rate Faster than the second transfer rate. 21. In the computer system of claim 2, wherein each of the individual serial interconnects comprises a differential clock signal path, the differential clock signal path group constitutes a transfer clock from the memory controller to the _ 冲: 元: a given buffer unit, wherein each of the differential clock signals operates at the first data transfer rate. 22. The computer system of claim 2, wherein the parallel interconnection comprises one or more clock signal paths, each of the clock signal path groups forming a second clock signal from the memory control To the one or more memory pole sets, the second clock signal operates at the second data transfer rate. [23] The computer system of claim 16, wherein the parallel interconnection comprises: configuring a plurality of bidirectional data signal paths, each of the bidirectional data signal path groups forming a transfer data to the memory controller and The one of the 94122 49 200832406 or the special modules in the plurality of memory modules; the plurality of bidirectional data selection communication number paths, the group composition transmission data strobes to the memory controller and the one or more memory modules The special module room in the group '; and 'a plurality of unidirectional addresses and command signal paths, the group composition address and command information from the memory controller to the one or more body modules. The computer system of claim 16, wherein each of the individual serial interconnections comprises a plurality of downlink differential one-way signal paths, each of the downlink differential one-way signal path groups forming a transmission data and command information from ΧThe = body controller to the one or more buffer units. 25. In the computer system of claim 24, each of the individual serial interconnects includes a downlink unidirectional differential clock signal path, and the downlink unidirectional differential clock signal path group constitutes a serial serial clock signal. From the memory controller to each of the one or more buffer units. _ 26 · The computer system of claim 16 of the patent scope, wherein each individual serial interconnection comprises a complex rainbow line differential unidirectional subtraction path, and each of the uplink differential one-way signal path groups constitutes a transmission data and cyclic redundancy The code (crc) is greeted from one of the one or more buffer units to the memory controller. The computer of claim 16 of the patent scope, wherein each individual and column interconnection includes an uplink one-way differential clock signal path, and the uplink one-way + $ pulse Dfl 5 Tiger Road & group constitutes a serial serial clock signal From the one or more buffer units to the memory controller. 94122 50
TW096140532A 2006-10-31 2007-10-29 Memory controller including a dual-mode memory interconnect TWI489456B (en)

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 (en) 2015-06-21

Family

ID=39175571

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096140532A TWI489456B (en) 2006-10-31 2007-10-29 Memory controller including a dual-mode memory interconnect

Country Status (8)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756524B (en) * 2018-05-01 2022-03-01 美商德吉姆公司 System and methods for completing a cascaded clock ring bus

Families Citing this family (38)

* 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 (en) * 2008-06-30 2010-02-17 주식회사 하이닉스반도체 Data transmission circuit and semiconductor memory device including the same
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
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
US8756486B2 (en) 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
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 (en) * 2010-09-03 2017-04-18 삼성전자 주식회사 Semiconductor memory device
US8990605B2 (en) 2010-09-10 2015-03-24 Spansion Llc Apparatus and method for read preamble disable
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
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 (en) * 2012-07-19 2014-12-11 Wistron Corp Method of improving data transmission and related computer system
US20140359181A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Delaying Bus Activity To Accomodate Memory Device Processing Time
CN105706064B (en) 2013-07-27 2019-08-27 奈特力斯股份有限公司 With the local memory modules synchronized respectively
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 (en) * 2014-06-30 2016-05-11 友達光電股份有限公司 Data receiver and data receiving method thereof
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
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
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
KR102641515B1 (en) 2016-09-19 2024-02-28 삼성전자주식회사 Memory device and clock distribution method thereof
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
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
KR102392055B1 (en) * 2017-08-09 2022-04-28 삼성전자주식회사 Memory device for efficiently determining whether or not to perform a re-training operation and memory systme including the same
KR102438991B1 (en) 2017-11-28 2022-09-02 삼성전자주식회사 Memory device and operation method thereof
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

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
US6377640B2 (en) 1997-07-31 2002-04-23 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 (en) * 1998-01-20 2002-08-19 松下電器産業株式会社 Signal transmission system
US6052073A (en) * 1998-03-23 2000-04-18 Pmc-Sierra Ltd. Serial to parallel converter enabled by multiplexed flip-flop counters
JPH11306074A (en) * 1998-04-23 1999-11-05 Sharp Corp Information processor
JP2000207350A (en) * 1999-01-19 2000-07-28 Asahi Chem Ind Co Ltd Device and method for data transfer
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 (en) * 2002-12-18 2004-07-15 Renesas Technology Corp Microcontroller, microprocessor and nonvolatile semiconductor memory device
US7313639B2 (en) 2003-01-13 2007-12-25 Rambus Inc. Memory system and device with serialized data transfer
JP4836794B2 (en) 2003-05-13 2011-12-14 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7085886B2 (en) * 2003-05-28 2006-08-01 International Buisness Machines Corporation Autonomic power loss recovery for a multi-cluster storage sub-system
JP2005346123A (en) * 2004-05-31 2005-12-15 Toshiba Corp Storage device equipped with parallel interface connector and conversion connector applied to same device
KR100643605B1 (en) 2004-08-16 2006-11-10 삼성전자주식회사 Adaptive preemphasis apparatus, data communication transmitter, data communication receiver, and adaptive preemphasis method
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7577039B2 (en) 2005-11-16 2009-08-18 Montage Technology Group, Ltd. Memory interface to bridge memory buses
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756524B (en) * 2018-05-01 2022-03-01 美商德吉姆公司 System and methods for completing a cascaded clock ring bus

Also Published As

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

Similar Documents

Publication Publication Date Title
TW200832406A (en) Memory controller including a dual-mode memory interconnect
JP5300732B2 (en) Memory system with high-speed serial buffer
JP4331756B2 (en) Early CRC supply for some frames
TWI351613B (en) A system including a host connected to a plurality
JP4891925B2 (en) Memory buffer for merging local data from memory modules
JP4210302B2 (en) Memory channel with unidirectional link
US7447095B2 (en) Multi-port memory device
TW200528984A (en) Lane testing with variable mapping
TW200836057A (en) Memory system and command handling method
US8489912B2 (en) Command protocol for adjustment of write timing delay
US10606512B2 (en) On-die termination architecture
TW201209821A (en) Status indication in a system having a plurality of memory devices
US8806316B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US20060004953A1 (en) Method and apparatus for increased memory bandwidth
US7861140B2 (en) Memory system including asymmetric high-speed differential memory interconnect
CN105159853A (en) DFI standard DDR3 controller based on FPGA
TW200421085A (en) Method and system forreading data from a memory
US10740264B1 (en) Differential serial memory interconnect
JP2008117157A (en) Semiconductor memory card, host device and data transfer method
US10148269B1 (en) Dynamic termination edge control
US7899955B2 (en) Asynchronous data buffer
TW201019120A (en) Method, apparatus and system for reducing memory latency