TWI511158B - 記憶體模組上之記憶體備用技術 - Google Patents
記憶體模組上之記憶體備用技術 Download PDFInfo
- Publication number
- TWI511158B TWI511158B TW103123461A TW103123461A TWI511158B TW I511158 B TWI511158 B TW I511158B TW 103123461 A TW103123461 A TW 103123461A TW 103123461 A TW103123461 A TW 103123461A TW I511158 B TWI511158 B TW I511158B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- data
- nibble
- built
- spare
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/84—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
- G11C29/846—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/103—Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
- G11C7/1033—Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers using data registers of which only one stage is addressed for sequentially outputting data from a predetermined number of stages, e.g. nibble read-write mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係有關於記憶體模組上之記憶體備用技術。
數以千計的記憶體晶粒可駐在一伺服器內的記憶體模組上。錯誤校正邏輯可用以校正於該等記憶體晶粒中檢測得的錯誤。記憶體模組可包括額外記憶體晶粒,因而當在一記憶體模組上之一記憶體晶粒功能異常時,可運用一額外記憶體晶粒而非須更換整個記憶體模組。
依據本發明之一實施例,係特地提出一種資料緩衝器包含:一第一資料選擇器以在儲存於一第一記憶體中之一第一資料半位元組與儲存於一第二記憶體中之一第二資料半位元組間作選擇;及一第二資料選擇器以在儲存於一第三記憶體中之一第三資料半位元組與該第二資料半位元組間作選擇;其中:當該第一記憶體及該第二記憶體為功能性時,該等第一及第二資料選擇器分別地係將選擇該等第一及第二資料半位元組;當該第一記憶體為非功能性
時,該等第一及第二資料選擇器分別地係將選擇該等第二及第三資料半位元組;當該第二記憶體為非功能性時,該等第一及第二資料選擇器分別地係將選擇該等第一及第三資料半位元組;及該資料緩衝器之一輸出包含由該等第一及第二資料選擇器所選定的資料半位元組。
100、200、320、322、580-596‧‧‧資料緩衝器
102、104、202、204‧‧‧資料選擇器
206、208‧‧‧暫存器
300、500‧‧‧記憶體模組
302-308、502-536、542-576‧‧‧內設記憶體
310、538、540‧‧‧備用記憶體
330、400、578‧‧‧系統控制器
402‧‧‧資料緩衝器介面模組
404‧‧‧紀錄模組
600、700、800‧‧‧裝置
602、702、802‧‧‧處理器
604、704、804‧‧‧機器可讀取儲存媒體
606-610、706-716、806-816‧‧‧指令
900、1000‧‧‧方法
902-906、1002-1016‧‧‧方塊
後文詳細說明部分參考附圖,附圖中:圖1為許可選擇各種資料半位元組之組合的一資料緩衝器之一實施例之方塊圖;圖2為包括暫存器以儲存資料選擇器之輸出於該資料緩衝器內之一資料緩衝器實施例之方塊圖;圖3為一記憶體模組之實施例之方塊圖,其包括資料緩衝器以選擇儲存在記憶體模組上之記憶體內之各種資料半位元組之組合;圖4為許可使用在一記憶體模組上之一備用記憶體的一系統控制器之一實施例之方塊圖;圖5為包括多個備用記憶體之一記憶體模組之一實施例之方塊圖:圖6為裝置之一實施例之方塊圖,其包括以指令編碼以許可使用在記憶體模組上之備用記憶體的一機器可讀取儲存媒體;圖7為一裝置之一實施例之方塊圖,其包括以指令編碼以複製及校正儲存在一記憶體模組上之資料的一機器可讀取儲存媒體;
圖8為裝置之一實施例之方塊圖,該裝置包括以指令編碼之一機器可讀取儲存媒體,以通知一記憶體控制器使用在一記憶體模組上之一備用記憶體,及校正於該備用記憶體中之錯誤資料;圖9為在記憶體模組上使用一備用記憶體之一方法實施例之流程圖;及圖10為校正於一記憶體模組上所儲存之錯誤資料之一方法實施例之流程圖。
隨著在記憶體模組上記憶體晶粒密度的增高,在記憶體模組上資料至與自一額外記憶體之路徑安排的困難度增高。本文揭示提供在記憶體模組上具有資料選擇器之資料緩衝器,其可從各種記憶體含備用記憶體選擇資料。取決於功能異常記憶體之位置,該等資料選擇器可以多種方式組配。該等資料選擇器之組配能力可使用額外記憶體簡化路由安排的挑戰,減低整個記憶體模組須更換的速率。
現在參考附圖,圖1為許可選擇各種資料半位元組之組合的一資料緩衝器100之一實施例之方塊圖。資料緩衝器100可從在記憶體模組上的記憶體選擇資料半位元組。該等記憶體可包括依電性記憶體諸如動態隨機存取記憶體(DRAM),及/或非依電性記憶體諸如快閃記憶體。
於圖1中,資料緩衝器100包括資料選擇器102及資料選擇器104。於若干具現中,資料選擇器102及104可包
括多工器(例如2對1多工器)。資料選擇器102可在儲存於第一記憶體的一資料半位元組(例如資料半位元組1)與儲存於第二記憶體的一資料半位元組(例如資料半位元組2)間作選擇。如此處使用,「資料半位元組」一詞係指大於一個位元但小於一位元組之一資料單位。舉例言之,一資料半位元組可為4位元。資料選擇器104可在儲存於第三記憶體的一資料半位元組(例如資料半位元組3)與儲存於第二記憶體的一資料半位元組(例如資料半位元組2)間作選擇。該等第一、第二、及第三記憶體可在記憶體模組上之積體電路(IC)上。資料選擇器102可通訊式耦接至該等第一及第二記憶體,及資料選擇器104可通訊式耦接至該等第二及第三記憶體。
資料選擇器102及104之選擇可根據在記憶體模組上之該等第一及第二記憶體是否有功能決定。如此處使用,「功能性」一詞係指一記憶體準確地儲存寫至該記憶體的資料,及當在該記憶體上執行讀取操作時,準確地輸出所儲存的資料。當第一記憶體及第二記憶體為功能性時,資料選擇器102可選擇儲存於該第一記憶體內之一資料半位元組(例如資料半位元組1),及資料選擇器104可選擇儲存於該第二記憶體內之一資料半位元組(例如資料半位元組2)。當第一記憶體為非功能性時,資料選擇器102可選擇儲存於該第二記憶體內之一資料半位元組(例如資料半位元組2),及資料選擇器104可選擇儲存於該第三記憶體內之一資料半位元組(例如資料半位元組3)。當第二記憶體為非功
能性時,資料選擇器102可選擇儲存於該第一記憶體內之一資料半位元組(例如資料半位元組1),及資料選擇器104可選擇儲存於該第三記憶體內之一資料半位元組(例如資料半位元組3)。資料選擇器102及104可接收來自在記憶體模組上之一系統控制器的選擇控制信號。
資料緩衝器100之一輸出可包括由資料選擇器102及104選定之資料半位元組。於若干具現中,資料緩衝器100可提供一8-位元(亦即1-位元組)輸出。該輸出之首4位元可為由資料選擇器102擇定的資料半位元組(例如擇定的資料半位元組1),及該輸出之末4位元可為由資料選擇器104擇定的資料半位元組(例如擇定的資料半位元組2)。
圖2為包括暫存器以儲存資料選擇器之輸出於該資料緩衝器內之一資料緩衝器200實施例之方塊圖。資料緩衝器200可包括資料選擇器202及204,其可分別地類似於(例如具有類似功能及/或組件)圖1中之資料選擇器102及104。資料緩衝器200也可包括暫存器206及208。暫存器206可儲存資料選擇器202之一輸出。資料選擇器202之該輸出可包括由資料選擇器202所選定之資料半位元組(例如資料半位元組1或2)。暫存器208可儲存資料選擇器204之一輸出。資料選擇器204之該輸出可包括由資料選擇器204所選定之資料半位元組(例如資料半位元組2或3)。
暫存器206及208可輸出其個別儲存的資料半位元組,及資料緩衝器200之一輸出可包括由暫存器206及208所輸出的該等資料半位元組。舉例言之,暫存器206可輸出
經擇定的資料半位元組1,及暫存器208可輸出經擇定的資料半位元組2。各個經擇定的資料半位元組可為長4位元。資料緩衝器200可提供一8-位元(亦即1-位元組)輸出;該輸出之首4位元可為擇定的資料半位元組1,及該輸出之末4位元可為擇定的資料半位元組2。
圖3為一記憶體模組300之實施例之方塊圖,其包括資料緩衝器以選擇儲存在記憶體模組上之記憶體內之各種資料半位元組之組合。記憶體模組300可為一排型記憶體模組,諸如單排型記憶體模組(SIMM)或雙排型記憶體模組(DIMM),或適用以安裝記憶體積體電路(IC)之任何記憶體模組。於圖3中,記憶體模組300包括內設記憶體302、304、306、及308、備用記憶體310、資料緩衝器320及322、及系統控制器330。
記憶體302、304、306、308、及310可包括依電性記憶體(例如DRAM)或非依電性記憶體(例如快閃記憶體、唯讀記憶體)且可在記憶體模組300上的IC上。記憶體302、304、306、及308可為在記憶體模組300上的內設記憶體。如此處使用,「內設記憶體」一詞係指於其上規律地執行讀取及寫入操作的一記憶體。記憶體310可為記憶體模組300上的一備用記憶體。如此處使用,「備用記憶體」一詞係指當一內設記憶體無法準確地儲存或輸出資料時用以更換一內設記憶體的一記憶體。「缺陷」一詞可用於本文揭示描述一記憶體或一記憶體之部分其無法準確地儲存被寫至該記憶體之資料,及/或當於該記憶體上執行讀取操作時無
法準確地輸出所儲存的資料。於若干具現中,記憶體302、304、306、308、及310可為具有錯誤校正碼(ECC)功能的依電性記憶體。
記憶體模組300上的資料緩衝器320及322可類似資料緩衝器100或資料緩衝器200。該等資料緩衝器可在記憶體模組300上的該等記憶體上執行讀取及寫入操作。資料緩衝器320可通訊式耦接至內設記憶體302、304、及306。資料緩衝器322可通訊式耦接至內設記憶體306及308,及耦接至備用記憶體310。在記憶體模組300上的各個資料緩衝器可選擇兩個資料半位元組(亦即一資料緩衝器可從該資料緩衝器所耦接的該等三個記憶體中之二者選擇資料半位元組)。一資料選通信號可與各個資料半位元組相聯結,及各個資料選通信號可與在記憶體模組300上的一接腳相聯結。須瞭解記憶體模組300可具有比圖3顯示者更多或更少的記憶體(例如記憶體模組300可具有多於一個備用記憶體)及/或資料緩衝器,及此處有關圖3中顯示的該等記憶體及/或資料緩衝器之討論可應用至額外記憶體及/或資料緩衝器。
當在記憶體模組300上的全部內設記憶體為有功能時,資料緩衝器320可選擇儲存於內設記憶體302之一資料半位元組及儲存於內設記憶體304之一資料半位元組,及資料緩衝器322可選擇儲存於內設記憶體306之一資料半位元組及儲存於內設記憶體308之一資料半位元組。當決定一內設記憶體或一內設記憶體之一部分為缺陷性時,可從功
能性內設記憶體及從備用記憶體310選擇資料半位元組,及可不從缺陷性或具有一缺陷部分的該內設記憶體選擇資料半位元組。舉例言之,若內設記憶體302為缺陷性,則資料緩衝器320可從內設記憶體304選擇一資料半位元組及從內設記憶體306選擇一資料半位元組,及資料緩衝器322可從內設記憶體308選擇一資料半位元組及從備用記憶體310選擇一資料半位元組。
資料緩衝器320可提供一8-位元輸出,例如位元組0。同理,資料緩衝器322可提供一8-位元輸出,例如位元組1。記憶體模組300之輸出可包括於特定順序之資料緩衝器之輸出。舉例言之,記憶體模組300可具有一16-位元輸出;該輸出之首八個位元可為由資料緩衝器320輸出的兩個資料半位元組(例如位元組0),及該輸出之末八個位元可為由資料緩衝器322輸出的兩個資料半位元組(例如位元組1)。由一資料緩衝器輸出的各個位元可與在記憶體模組300上的一接腳相聯結。該等資料緩衝器之輸出可包括藉該等資料緩衝器從在記憶體模組300上的記憶體所擇定的資料半位元組。記憶體模組300之一輸出可為由位元組0及位元組1所組成之一快取行,各個位元組係由個別資料緩衝器所選的該等資料半位元組組成。
當記憶體模組300上的全部內設記憶體為功能性時,選自於內設記憶體302的一資料半位元組可為位元組0之該等首四位元,選自於內設記憶體304的一資料半位元組可為位元組0之該等末四位元,選自於內設記憶體306的一
資料半位元組可為位元組1之該等首四位元,及選自於內設記憶體308的一資料半位元組可為位元組1之該等末四位元。當記憶體模組300上的一內設記憶體為缺陷性時,一資料半位元組可選自備用記憶體310,及一資料半位元組可不選自該缺陷性內設記憶體。選自於備用記憶體310之該資料半位元組可為位元組1之末四位元(例如記憶體模組300之一輸出的末四位元),及選自功能性內設記憶體的資料半位元組可相對於,當全部資料半位元組皆係選自內設記憶體(亦即當全部內設記憶體皆為功能性)時所產生的記憶體模組300之輸出,於記憶體模組300之輸出內移位。
舉例言之,當圖3顯示之全部內設記憶體為功能性時,選自於內設記憶體306及308之資料半位元組分別地可為位元組1之首四位元及位元組1之末四位元,但當內設記憶體304為缺陷性時,選自於內設記憶體306及308之資料半位元組分別地可為位元組0之第二四個位元及位元組1之首四位元,原因在於一資料半位元組可不選自內設記憶體304(兩種情況下,選自於內設記憶體302之資料半位元組可為位元組0之首四位元)。如本實施例例示,當於一記憶體模組中之一內設記憶體為缺陷性時,選自該缺陷內設記憶體與一備用記憶體間之內設記憶體的資料位元相對於當全部內設記憶體為功能性時該記憶體模組的一輸出,可於該記憶體模組之輸出移位達4位元。選自該缺陷內設記憶體之另一側上的內設記憶體之資料半位元組可出現於兩種情況下的該記憶體模組之輸出的相同位置。
於若干具現中,一內設記憶體之第一部分可為缺陷性,及相同內設記憶體之第二部分可為功能性。於此等具現中,當欲讀取自該內設記憶體的一資料半位元組之位址係指在缺陷部分之位置時,資料緩衝器320及322可讀取與選擇儲存於備用記憶體(例如備用記憶體310)中之一資料半位元組,及可不自該內設記憶體選擇一資料半位元組。當欲讀取自該內設記憶體的一資料半位元組之位址係指在功能部分之位置時,資料緩衝器320及322可讀取與選擇儲存於該內設記憶體中之該資料半位元組,及可不自該備用記憶體選擇一資料半位元組。
在記憶體模組300上的機器可讀取指令(例如軟體)可決定資料半位元組須選自於哪些記憶體,且可據此載明選擇控制信號。在記憶體模組300上的系統控制器330可被通知該等選擇控制信號。舉例言之,機器可讀取指令可將該等選擇控制信號寫進系統控制器330內部的內部暫存器。系統控制器330可發送選擇控制信號給資料緩衝器320及322。該等選擇控制信號可用以組配於資料緩衝器中之資料選擇器。
系統控制器330可透過資料匯流排而通訊式耦接至資料緩衝器320及322,其可攜載選擇控制信號以及用於方向時間序及/或晶粒上信號終結器(ODT)之控制信號。系統控制器330可控制記憶體模組300上之資料的路徑安排。於若干具現中,系統控制器330可緩衝來自記憶體模組300外部之一記憶體控制器之控制信號。外部記憶體控制器可
接收由在記憶體模組300上的資料緩衝器所輸出之資料(例如位元組0、位元組1)。
接收來自記憶體模組300之一資料輸出的一記憶體控制器可檢測於該輸出內之一錯誤及/或檢測記憶體模組300上之一內設記憶體內之一缺陷。該記憶體控制器可決定該錯誤之嚴重程度,及是否應繼續使用一缺陷內設記憶體。該記憶體控制器可決定一記憶體控制器輸出的哪個位元組或資料半位元組具有一錯誤,及辨識從其中讀取錯誤資料之一記憶體。於該記憶體控制器上及/或記憶體模組300上的機器可讀取指令(例如軟體及/或韌體)可決定具有錯誤之記憶體位址之一範圍。
於若干具現中,通訊式耦接至記憶體模組300的一外部記憶體控制器可能不被告知在記憶體模組300上之一備用記憶體的存在。當於該記憶體模組輸出檢測得錯誤時,在該記憶體控制器上的機器可讀取指令(例如軟體)可校正該錯誤(例如使用ECC邏輯)及儲存已校正資料之一複本於一暫時位置(例如緩衝器、虛擬記憶體)。該等機器可讀取指令也可對在記憶體模組300上的資料緩衝器決定選擇控制信號,使得一資料半位元組係不選自該缺陷內設記憶體,及一資料半位元組係選自一備用記憶體。然後,該已校正資料可從暫時位置複製至該等記憶體,資料半位元組將根據該等選擇控制信號而從該等記憶體中選定。此種複製可導致缺陷內設記憶體與備用記憶體間之內設記憶體可儲存與當全部內設記憶體皆為功能性時所儲存的資料不同
的資料。
舉例言之,若記憶體模組300中之內設記憶體306為缺陷性,則選擇控制信號可組配資料緩衝器320以從內設記憶體302及304選擇資料半位元組,及資料緩衝器322以從內設記憶體308及備用記憶體310選擇資料半位元組。在經校正之資料複製入適當記憶體之後,內設記憶體308可儲存先前儲存於內設記憶體306之一資料半位元組,及備用記憶體310可儲存先前儲存於內設記憶體308之一資料半位元組(內設記憶體302及304可儲存與先前相同的個別資料半位元組)。如此,當使用備用記憶體310時,在記憶體模組300之輸出中之資料半位元組的順序可與當全部內設記憶體皆為功能性(及不使用備用記憶體310)時相同。
於若干具現中,通訊式耦接至記憶體模組300的一外部記憶體控制器例如藉在記憶體模組300上的機器可讀取指令(例如軟體及/或韌體)可被告知在記憶體模組300上的一備用記憶體之存在。於此等具現中,備用記憶體可儲存被儲存在一缺陷內設記憶體中之資料的一複本,及在記憶體模組300上的資料緩衝器可經組配使得一資料半位元組係選自於該備用記憶體而非該內設記憶體。舉例言之,若內設記憶體304為缺陷性,備用記憶體310可儲存被儲存在內設記憶體304中之資料的一複本。資料緩衝器320可選擇儲存於內設記憶體302之一資料半位元組及儲存於內設記憶體306之一資料半位元組,及資料緩衝器322可選擇儲存於內設記憶體308及備用記憶體310之一資料半位元
組。因此,當使用備用記憶體時,在該記憶體模組輸出中之該資料可經「拌碼」;當全部內設記憶體皆為功能性時,選自內設記憶體304之一資料半位元組組成位元組0之末四位元;但當內設記憶體304為缺陷性時,於該資料半位元組中之資訊係在位元組1之末四位元,及介於其間之位元相對於當全部內設記憶體皆為功能性時之介於其間之位元將移位。換言之,當圖3顯示的全部內設記憶體皆為功能性時,選自內設記憶體306及308之該等資料半位元組分別地為位元組1之首四位元及末四位元;但當內設記憶體304為缺陷性時,選自內設記憶體306及308之該等資料半位元組分別地為位元組0之末四位元及位元組1之首四位元。
已被告知一備用記憶體之存在的該記憶體控制器可被通知(例如當一內設記憶體經判定為缺陷性時)一資料半位元組係選自該備用記憶體而非選自一缺陷內設記憶體。該記憶體控制器可將資料半位元組在該記憶體模組輸出中的順序「解除拌碼」(例如將該等資料半位元組置於假設其全部皆係選自內設記憶體時將具有的順序),然後施加錯誤校正邏輯。於若干具現中,於該備用記憶體中之錯誤資料可經校正。舉例言之,儲存於備用記憶體之資料可經掃描,及ECC邏輯及/或其它合宜的錯誤校正邏輯可用以偵錯及校正錯誤。於若干具現中,整個備用記憶體可經掃描。於若干具現中,具有儲存於一內設記憶體之一缺陷部分的資料之一複本的該備用記憶體之一部分可經掃描。
圖4為許可使用在一記憶體模組上之一備用記憶
體的一系統控制器400之一實施例之方塊圖。系統控制器400例如可如同系統控制器330般具現。系統控制器400可包括模組402及404。一模組可包括編碼於一機器可讀取儲存媒體上且可由系統控制器400之一處理器執行的一集合之指令。此外或另外,一模組可包括一硬體裝置包含用以具現後述功能的電子電路。
資料緩衝器介面模組402可發射資料給通訊式耦接至在一記憶體模組上之系統控制器400的資料緩衝器。資料緩衝器介面模組402可發射選擇控制信號給資料緩衝器。於若干具現中,資料緩衝器介面模組402可發射須從其中讀取資料半位元組之位址給資料緩衝器。該等位址可由該記憶體模組外部的一記憶體控制器載明。
紀錄模組404可維持取而代之將從其中選擇資料半位元組的缺陷內設記憶體及個別備用記憶體之紀錄。就紀錄而言,如此處使用,「維持」一詞係指產生及/或儲存新紀錄、更新既有紀錄、及刪除既有紀錄。舉例言之,一記憶體模組可具有一第一備用記憶體及一第二備用記憶體。當在記憶體模組上之一第一資料緩衝器從系統控制器400接收相對應於在記憶體模組上之一第一缺陷內設記憶體中之一位置(或如前文有關圖3之討論,在一第一內設記憶體之一缺陷部分中之一位置)的一第一位址時,在記憶體模組上之資料緩衝器可從該第一備用記憶體而非從第一缺陷內設記憶體擇定一資料半位元組。當在記憶體模組上之一第二資料緩衝器從系統控制器400接收相對應於在記憶
體模組上之一第二缺陷內設記憶體中之一位置(或在一第二內設記憶體之一缺陷部分中之一位置)的一第二位址時,在記憶體模組上之資料緩衝器可從該第二備用記憶體而非從第二缺陷內設記憶體擇定一資料半位元組。紀錄模組404可儲存一紀錄識別該第一內設記憶體(或識別該第一內設記憶體之一缺陷部分),及識別該第一備用記憶體用以更換該第一內設記憶體(之該缺陷部分)。紀錄模組404可儲存一紀錄識別該第二內設記憶體(或識別該第二內設記憶體之一缺陷部分),及識別該第二備用記憶體用以更換該第二內設記憶體(之該缺陷部分)。該等紀錄例如可維持於系統控制器400中之一唯讀記憶體(ROM)。
圖5為包括多個備用記憶體之一記憶體模組500之一實施例之方塊圖。記憶體模組500可為一排型記憶體模組,諸如SIMM或DIMM,或適用以安裝記憶體IC之任何記憶體模組。於圖5中,記憶體模組500包括內設記憶體502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532、534、536、542、544、546、548、550、552、554、556、558、560、562、564、566、568、570、572、574、及576、備用記憶體538及540、資料緩衝器580、582、584、586、588、590、592、594、及596、及系統控制器578。可具現為系統控制器400的系統控制器578可通訊式耦接至記憶體控制器598,其可在記憶體模組500外部。記憶體控制器598可執行類似於前文就圖3討論的一外部記憶體控制器之功能。
內設記憶體502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532、534、及536可在第一排序,及內設記憶體542、544、546、548、550、552、554、556、558、560、562、564、566、568、570、572、574、及576可在第二排序。圖5中之內設記憶體可類似圖3中之內設記憶體。在一資料緩衝器正上方的各組四個內設記憶體可封裝在一四聯晶粒封裝體(QDP)內。舉例言之,內設記憶體502、504、542、及544可封裝於一第一QDP內,內設記憶體506、508、546、及548可封裝於一第二QDP內等。
圖5中之備用記憶體538及540可類似圖3中之備用記憶體310。於若干具現中,備用記憶體538及540可兩者皆在該第一排序或可兩者皆在該第二排序。於若干具現中,備用記憶體538可在該第一排序及備用記憶體540可在該第二排序,或反之亦然。備用記憶體被封裝於其中的一IC可具有與內設記憶體被封裝於其中的該等IC不同數目之晶粒。
圖5中之資料緩衝器可類似圖3中之資料緩衝器。圖5中之各個資料緩衝器可以類似於前文就圖3討論之方式,從通訊式耦接至個別資料緩衝器的兩個記憶體中擇定資料半位元組。資料緩衝器580、582、584、586、588、590、592、594、及596可接收來自系統控制器578之選擇控制信號。資料緩衝器580、582、584、586、588、590、592、594、及596從其中選擇資料半位元組之該等記憶體可全部
皆在相同排序。舉例言之,若備用記憶體538及540兩者皆在第一(或第二)排序,則在該第一(或第二)排序中至多兩個缺陷內設記憶體可經更換。若備用記憶體538係在該第一排序及備用記憶體540係在該第二排序,則備用記憶體538可用以更換該第一排序內之一缺陷內設記憶體,及備用記憶體540可用以更換該第二排序內之一缺陷內設記憶體。
圖6為裝置600之一實施例之方塊圖,其包括以指令編碼以許可使用在記憶體模組上之備用記憶體的一機器可讀取儲存媒體。裝置600可為記憶體控制器,諸如記憶體控制器598。於圖6中,裝置600包括處理器602及機器可讀取儲存媒體604。
處理器602可包括一中央處理單元(CPU)、微處理器(例如以半導體為基礎之微處理器)、及/或適用以取回及/或執行儲存於機器可讀取儲存媒體604中的指令之其它硬體裝置。處理器602可提取、解碼、及/或執行指令606、608、及610以許可使用在一記憶體模組上之一備用記憶體,容後詳述。作為取回及/或執行指令之替代方案或此外,處理器602可包括一電子電路包含用以執行指令606、608、及/或610之功能的多個電子組件。
機器可讀取儲存媒體604可為含有或儲存可執行指令之任何合宜電子、磁學、光學、或其它實體儲存裝置。如此,機器可讀取儲存媒體604可包括例如一隨機存取記憶體(RAM)、一可電氣抹除可規劃唯讀記憶體(EEPROM)、一儲存裝置、一光碟等。於若干具現中,機器可讀取儲存媒
體604可包括非過渡儲存媒體,於該處「非過渡」一詞不含括過渡傳播信號。容後詳述,機器可讀取儲存媒體604可以一集合之可執行指令606、608、及610編碼。
指令606可辨識一記憶體模組上之一內設記憶體之一缺陷部分。於若干具現中,若儲存於/讀取自一內設記憶體之一部分的資料係使用ECC邏輯或其它錯誤校正邏輯重複地校正,則該內設記憶體之該部分可識別為缺陷。舉例言之,每次來自該內設記憶體之該部分的一錯誤被校正時,可遞增一計數器,及當計數器內之值超過一臨界值時,該內設記憶體之該部分可識別為缺陷。當該內設記憶體之該部分可識別為缺陷時,缺陷DRAM之紀錄可經更新(例如藉圖4之紀錄模組404)。
指令608可針對在一記憶體模組上的資料選擇器決定選擇控制信號。選擇控制信號可經決定使得一資料半位元組係選自在記憶體模組上之一備用記憶體而非選自一缺陷內設記憶體。當該缺陷部分為功能性時,選自該內設記憶體之一資料半位元組可在該記憶體模組之一輸出的一第一位置。選自該備用記憶體之一資料半位元組可在該記憶體模組之該輸出的一第二位置。
指令610可通知在記憶體模組上之一備用記憶體有關選擇控制信號。於若干具現中,指令610可將選擇控制信號寫入在該系統控制器內部之內部暫存器內。系統控制器可通訊式耦接至具有資料選擇器之資料緩衝器。
圖7為一裝置700之一實施例之方塊圖,其包括以
指令編碼以複製及校正儲存在一記憶體模組上之資料的一機器可讀取儲存媒體。裝置700可為一記憶體控制器,諸如記憶體控制器598。於圖7中,裝置700包括處理器702及機器可讀取儲存媒體704。
如同圖6之處理器602,處理器702可包括一CPU、微處理器(例如以半導體為基礎之微處理器)、及/或適用以取回及/或執行儲存於機器可讀取儲存媒體704中的指令之其它硬體裝置。處理器702可提取、解碼、及/或執行指令706、708、710、712、714、及716以許可複製與校正在一記憶體模組上之資料,容後詳述。作為取回及/或執行指令之替代方案或此外,處理器702可包括一電子電路包含用以執行指令706、708、710、712、714、及/或716之功能的多個電子組件。
如同圖6之機器可讀取儲存媒體604,機器可讀取儲存媒體704可為儲存可執行指令的任一種合宜實體儲存裝置。在機器可讀取儲存媒體704上的指令706、708、及712可類似在機器可讀取儲存媒體604上的指令606、608、及610。指令710可校正讀取自在一記憶體模組上之一內設記憶體之一缺陷部分的錯誤資料。舉例言之,該錯誤資料可使用ECC邏輯及/或其它合宜錯誤校正邏輯校正。
指令714可將已校正之資料寫入在記憶體模組上之一非缺陷內設記憶體內。該已校正之資料可儲存於一暫時位置,諸如虛擬記憶體或碟片機,具有從其它非缺陷內設記憶體複製的資料。根據該已決定之選擇控制信號,該
已校正之資料可從暫時位置複製及寫入一非缺陷內設記憶體內,從其中將選擇一資料半位元組。如前文就圖3之討論,當全部內設記憶體皆為功能性時,已校正之資料複製至其中的該非缺陷內設記憶體可儲存不同的資料。
指令716可將資料從一非缺陷內設記憶體移轉至該記憶體模組上之一備用記憶體。一第一資料半位元組可從一第一非缺陷內設記憶體複製且儲存於一暫時位置,諸如虛擬記憶體或碟片機。該暫時位置也可儲存從一第二非缺陷內設記憶體複製的一第二資料半位元組,及得自一缺陷內設記憶體之已校正資料。該第一資料半位元組可複製自該暫時位置及寫入一備用記憶體內。當該第一資料半位元組係寫入該備用記憶體時,該第二資料半位元組可寫入該第一非缺陷內設記憶體內。
圖8為裝置800之一實施例之方塊圖,該裝置包括以指令編碼之一機器可讀取儲存媒體,以通知一記憶體控制器使用在一記憶體模組上之一備用記憶體,及校正於該備用記憶體中之錯誤資料。裝置800可為記憶體控制器,諸如記憶體控制器598。於圖8中,裝置800包括處理器802及機器可讀取儲存媒體804。
如同圖6之處理器602,處理器802可包括一CPU、微處理器(例如以半導體為基礎之微處理器)、及/或適用以取回及/或執行儲存於機器可讀取儲存媒體804中的指令之其它硬體裝置。處理器802可提取、解碼、及/或執行指令806、808、810、812、814、及816以許可通知一記
憶體控制器一備用記憶體的使用,及校正於該備用記憶體中之資料,容後詳述。作為取回及/或執行指令之替代方案或此外,處理器802可包括一電子電路包含用以執行指令806、808、810、812、814、及/或816之功能的多個電子組件。
如同圖6之機器可讀取儲存媒體604,機器可讀取儲存媒體804可為儲存可執行指令的任一種合宜實體儲存裝置。在機器可讀取儲存媒體804上的指令806、808、及810可類似在機器可讀取儲存媒體604上的指令606、608、及610。指令812可通知在一記憶體模組外部的一記憶體控制器由指令808所決定的選擇控制信號。如此指令812可通知該記憶體控制器一資料半位元組係選自於一備用記憶體而非選自於一缺陷內設記憶體。該備用記憶體可儲存已存在該內設記憶體之一缺陷部分的資料之一複本。
指令814可從在一記憶體模組上之一系統控制器發射選擇控制信號給在記憶體模組上之資料選擇器。該等選擇控制信號可用以組配該等資料選擇器,其可位在記憶體模組上之資料緩衝器內。該等選擇控制信號可從該系統控制器透過一資料匯流排發射給該等資料選擇器。
指令816可校正在一記憶體模組上之一備用記憶體內之錯誤資料。舉例言之,儲存於備用記憶體之資料可經掃描,及ECC邏輯及/或其它合宜錯誤校正邏輯可用以偵錯及校正錯誤。於若干具現中,整個備用記憶體可經掃描。於若干具現中,具有資料之一複本儲存於一內設記憶體之
一缺陷部分的該備用記憶體之一部分可經掃描。
圖9為使用在一記憶體模組上之一備用記憶體之一方法900實施例之流程圖。雖然方法900之執行係參考圖6之處理器602說明如後,但須瞭解方法900之執行可藉其它合宜裝置執行,諸如圖7及8分別的處理器702及802。方法900可以儲存在一機器可讀取儲存媒體上之可執行指令形式及/或以電子電路形式具現。
方法900可始於方塊902,於該處處理器602可辨識一內設記憶體之一缺陷部分。於若干具現中,若儲存於/讀取自一內設記憶體之一部分的資料係使用ECC邏輯或其它錯誤校正邏輯重複地校正,則該內設記憶體之該部分可識別為缺陷。舉例言之,每次來自該內設記憶體之該部分的一錯誤被校正時,可遞增一計數器,及處理器602可監視計數器內之值。當計數器內之值超過一臨界值時,處理器602可辨識該內設記憶體之該部分為缺陷。
其次,於方塊904,處理器602可針對在記憶體模組上的資料選擇器決定選擇控制信號。選擇控制信號可經決定使得一資料半位元組係選自在記憶體模組上的一備用記憶體而非選自一缺陷內設記憶體。當該缺陷部分為功能性時,選自於該內設記憶體之一資料半位元組可位在該記憶體模組之一輸出內的一第一位置。選自於該備用記憶體之一資料半位元組可位在該記憶體模組之該輸出內的一第二位置。
最後,於方塊906,處理器602可通知在記憶體模
組上之一系統控制器有關該等選擇控制信號。於若干具現中,處理器602可將選擇控制信號寫入該系統控制器內部的內部暫存器內。系統控制器可通訊式耦接至具有資料選擇器之資料緩衝器。
圖10為用以校正儲存在一記憶體模組上之錯誤資料之一方法1000之一實施例之流程圖。雖然方法1000之執行係參考圖6之處理器602說明如後,但須瞭解方法1000之執行可藉其它合宜裝置執行,諸如圖7及8分別的處理器702及802。方法1000可以儲存在一機器可讀取儲存媒體上之可執行指令形式及/或以電子電路形式具現。
方法1000可始於方塊1002,於該處處理器602可決定一錯誤的位置。例如,處理器602可決定在一記憶體模組之一輸出中的哪個位元組或資料半位元組含有一錯誤。於若干具現中,處理器602可決定在錯誤資料從其中讀取的一記憶體中之一位址範圍。例如處理器602可決定錯誤資料從其中讀取的一排序、排組群、排組、及/或一列之該記憶體。
於方塊1004,處理器602可決定一記憶體控制器是否知曉在記憶體模組上之一備用記憶體。若該記憶體控制器不知曉一備用記憶體,則方法1000可前進至方塊1006,其中處理器602可校正讀取自一內設記憶體之一缺陷部分的錯誤資料。舉例言之,處理器602可使用ECC邏輯及/或其它合宜的錯誤校正邏輯校正錯誤資料。
於方塊1008,處理器602可將該經校正的資料複
製至一暫時位置。該暫時位置可包括一碟片機、虛擬記憶體、及/或緩衝器。於若干具現中,處理器602可從非缺陷內設記憶體複製資料至該暫時位置。該暫時位置可在該記憶體控制器上及/或在該記憶體模組上。
於方塊1010,處理器602可通知在記憶體模組上之一系統控制器有關選擇控制信號。於若干具現中,處理器602可將選擇控制信號寫入該系統控制器內部的內部暫存器內。系統控制器可通訊式耦接至具有資料選擇器之資料緩衝器。
於方塊1012,處理器602可將資料從一非缺陷內設記憶體移轉至在該記憶體模組上的一備用記憶體。舉例言之,一第一資料半位元組可從一第一非缺陷內設記憶體複製及儲存於方塊1008之暫時位置。處理器602可從該暫時位置複製該第一資料半位元組及將該第一資料半位元組寫入一備用記憶體內。當處理器602將該第一資料半位元組寫入該備用記憶體內時,處理器602也可將方塊1008之該經校正資料寫入該第一非缺陷內設記憶體或另一非缺陷內設記憶體內。
於方塊1014,若處理器602決定該記憶體控制器確實知曉備用記憶體,則方法1000可前進至方塊1014,於該處處理器602可告知系統控制器及記憶體控制器有關選擇控制信號。處理器602可將選擇控制信號寫入系統控制器內部的內部暫存器內以及寫入記憶體控制器內部的暫存器內。在被告知備用記憶體之後,該記憶體控制器可將資料
半位元組在該記憶體模組輸出中的順序「解除拌碼」(例如將該等資料半位元組置於若其全部皆係選自內設記憶體時將具有的順序),然後施加錯誤校正邏輯,如前文有關圖3之討論。
其次,於方塊1016,處理器602可校正於該備用記憶體中之錯誤資料。例如,處理器602可掃描儲存於該備用記憶體中之資料,及ECC邏輯及/或其它合宜的錯誤校正邏輯可用以偵錯及校正錯誤。於若干具現中,整個備用記憶體可經掃描。於若干具現中,具有儲存於一內設記憶體之一缺陷部分的資料之一複本的該備用記憶體之一部分可經掃描。
前文揭示內容描述具有含資料選擇器之資料緩衝器的記憶體模組。當在一記憶體模組上的全部內設記憶體皆為功能性時,該記憶體模組上的該等資料選擇器可從該等內設記憶體選擇資料半位元組。當在該記憶體模組上的一內設記憶體為缺陷性時,該等資料選擇器可從一備用記憶體選擇一資料半位元組,而可不從該缺陷內設記憶體選擇一資料半位元組。
500‧‧‧記憶體模組
502-536、542-576‧‧‧內設記憶體
538、540‧‧‧備用記憶體
578‧‧‧系統控制器
580-596‧‧‧資料緩衝器
598‧‧‧記憶體控制器
Claims (15)
- 一種資料緩衝器,其包含:一第一資料選擇器以在儲存於一第一記憶體中之一第一資料半位元組與儲存於一第二記憶體中之一第二資料半位元組間作選擇;及一第二資料選擇器以在儲存於一第三記憶體中之一第三資料半位元組與該第二資料半位元組間作選擇;其中:當該第一記憶體及該第二記憶體為功能性時,該等第一及第二資料選擇器分別地係將選擇該等第一及第二資料半位元組;當該第一記憶體為非功能性時,該等第一及第二資料選擇器分別地係將選擇該等第二及第三資料半位元組;當該第二記憶體為非功能性時,該等第一及第二資料選擇器分別地係將選擇該等第一及第三資料半位元組;及該資料緩衝器之一輸出包含由該等第一及第二資料選擇器所選定的資料半位元組。
- 如請求項1之資料緩衝器,其進一步包含:一第一暫存器以儲存該第一資料選擇器之一輸出,其中該第一資料選擇器之該輸出包含由該第一資料選擇器所選定的一資料半位元組;及 一第二暫存器以儲存該第二資料選擇器之一輸出,其中該第二資料選擇器之該輸出包含由該第二資料選擇器所選定的一資料半位元組;其中:該等第一及第二暫存器輸出其個別儲存的資料半位元組;及該資料緩衝器之該輸出包含由該等第一及第二暫存器所輸出的該等資料半位元組。
- 如請求項1之資料緩衝器,其中:該資料緩衝器、第一記憶體、第二記憶體、及第三記憶體係在一記憶體模組上之積體電路上;及針對該等第一及第二資料選擇器之選擇控制信號係接收自在該記憶體模組上之一系統控制器。
- 一種藉一記憶體模組之一處理器用以使用在該記憶體模組上之一備用記憶體的一處理器可執行的指令編碼之機器可讀取儲存媒體,其中在該記憶體模組上之多個記憶體包含內設記憶體及該備用記憶體,該機器可讀取儲存媒體包含:指令以識別該等內設記憶體之一第一記憶體之一缺陷部分,其中當該缺陷部分為功能性時,選自於該第一記憶體之一資料半位元組係在該記憶體模組之一輸出中之一第一位置內;指令以針對在該記憶體模組上之資料選擇器決定選擇控制信號,使得一資料半位元組係選自該備用記憶體及非選自該第一記憶體,其中選自該備用記憶體之資 料半位元組係在該記憶體模組之該輸出中之一第二位置內;及指令以通知在該記憶體模組上之一系統控制器該等選擇控制信號。
- 如請求項4之機器可讀取儲存媒體,其進一步包含指令以從該系統控制器發射該等選擇控制信號至該等資料選擇器,其中應答於接收該等選擇控制信號,該等資料選擇器從該第一記憶體以外的內設記憶體選擇資料半位元組,使得在該記憶體模組之該輸出內之該第一位置與該第二位置間之資料半位元組係相對於當全部資料半位元組係選自內設記憶體時所產生的該記憶體模組之一輸出為移位。
- 如請求項4之機器可讀取儲存媒體,其進一步包含:指令以校正讀取自該缺陷部分之錯誤資料;指令以將已校正資料寫入該等內設記憶體之一第二記憶體;及指令以將資料從該等內設記憶體之一非缺陷者移轉至該備用記憶體。
- 如請求項4之機器可讀取儲存媒體,其進一步包含:指令以通知在該記憶體模組外部之一記憶體控制器一資料半位元組係選自於該備用記憶體而非該第一記憶體,其中該備用記憶體儲存已儲存在該第一記憶體之該缺陷部分之資料之一複本;及指令以校正於該備用記憶體中之錯誤資料。
- 一種用於記憶體備用之系統,該系統包含:多個記憶體包含內設記憶體及一第一備用記憶體;多個資料緩衝器以從該等多個記憶體選擇資料半位元組使得當該等內設記憶體之一第一內設記憶體係經識別為缺陷性時,一資料半位元組係選自該第一備用記憶體及不選自該第一內設記憶體,其中:當該第一內設記憶體為功能性時,選自該第一內設記憶體之一資料半位元組係在該系統之一輸出中之一第一位置;及選自該第一備用記憶體之該資料半位元組係在該系統之該輸出中之一第二位置;及一系統控制器以發射選擇控制信號至該等多個資料緩衝器。
- 如請求項8之系統,其中:該系統之該輸出包含於一特定順序之該等多個資料緩衝器之輸出;該等多個資料緩衝器之該等輸出包含選自於該等多個記憶體之資料半位元組;及該等多個資料緩衝器係進一步從該第一內設記憶體以外的內設記憶體選擇資料半位元組,使得在該系統之該輸出的該第一位置與該第二位置間之資料半位元組相對於當全部資料半位元組係選自內設記憶體時所產生的該系統之一輸出為移位。
- 如請求項8之系統,其中該等多個資料緩衝器各自係通 訊式耦接至該等多個記憶體中之三者,及其中該等多個資料緩衝器各自係進一步從兩個記憶體中選擇資料半位元組。
- 如請求項10之系統,其中:該等多個資料緩衝器之一第一資料緩衝器係通訊式耦接至該等內設記憶體之該第一內設記憶體及耦接至第二及第三內設記憶體;該等多個資料緩衝器之一第二資料緩衝器係通訊式耦接至該第一備用記憶體;該第一資料緩衝器係從該等第二及第三內設記憶體選擇資料半位元組;及該第二資料緩衝器係從該第一備用記憶體選擇一資料半位元組。
- 如請求項8之系統,其中該等多個記憶體為具有錯誤校正碼(ECC)功能性之依電性記憶體。
- 如請求項8之系統,其中一記憶體控制器係經通知一資料半位元組係選自該備用記憶體而非選自該第一記憶體。
- 如請求項8之系統,其中:該第一備用記憶體儲存已儲存在該第一內設記憶體中之資料之一複本;及在該第一內設記憶體中之錯誤資料係經校正。
- 如請求項8之系統,其中:該等多個記憶體進一步包含一第二備用記憶體; 當該等多個資料緩衝器之一第一資料緩衝器從該系統控制器接收相對應於該第一內設記憶體中之一位置的一第一位址,該等多個資料緩衝器係將從該第一備用記憶體而非從該第一內設記憶體選擇一資料半位元組;當該第一資料緩衝器從該系統控制器接收相對應於該等內設記憶體中之該第二內設記憶體中之一位置的一第二位址,該等多個資料緩衝器係將從該第二備用記憶體而非從該第二內設記憶體選擇一資料半位元組;及該系統控制器係進一步維持取而代之資料半位元組係從其中選擇的缺陷內設記憶體及個別備用記憶體之紀錄。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/062396 WO2015047332A1 (en) | 2013-09-27 | 2013-09-27 | Memory sparing on memory modules |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201524285A TW201524285A (zh) | 2015-06-16 |
TWI511158B true TWI511158B (zh) | 2015-12-01 |
Family
ID=52744229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103123461A TWI511158B (zh) | 2013-09-27 | 2014-07-08 | 記憶體模組上之記憶體備用技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10180888B2 (zh) |
EP (1) | EP3050057A1 (zh) |
CN (1) | CN105684086A (zh) |
TW (1) | TWI511158B (zh) |
WO (1) | WO2015047332A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904611B1 (en) | 2016-11-29 | 2018-02-27 | International Business Machines Corporation | Data buffer spare architectures for dual channel serial interface memories |
US10496584B2 (en) * | 2017-05-11 | 2019-12-03 | Samsung Electronics Co., Ltd. | Memory system for supporting internal DQ termination of data buffer |
KR102400102B1 (ko) * | 2017-05-11 | 2022-05-23 | 삼성전자주식회사 | 데이터 버퍼의 내부 데이터(dq) 터미네이션을 지원하는 메모리 시스템 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283581A1 (en) * | 2004-06-16 | 2005-12-22 | Chiang Chen M | Data reading structure |
US20080126876A1 (en) * | 2006-11-23 | 2008-05-29 | Sumsung Electronics Co., Ltd | Semiconductor memory device and redundancy method of the same |
US20110164450A1 (en) * | 2007-12-10 | 2011-07-07 | Unity Semiconductor Corporation | Integrated circuits and methods to compensate for defective non-volatile embedded memory in one or more layers of vertically stacked non-volatile embedded memory |
TW201225095A (en) * | 2010-10-27 | 2012-06-16 | Hynix Semiconductor Inc | Semiconductor memory device and method of operating the same |
US20130028035A1 (en) * | 2011-07-27 | 2013-01-31 | Fujitsu Semiconductor Limited | Memory device |
US20130069659A1 (en) * | 2010-08-05 | 2013-03-21 | Sanyo Electric Co., Ltd. | Power supplying system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69033262T2 (de) | 1989-04-13 | 2000-02-24 | Sandisk Corp | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher |
US5323353A (en) * | 1993-04-08 | 1994-06-21 | Sharp Microelectronics Technology Inc. | Method and apparatus for repair of memory by redundancy |
JP3673027B2 (ja) | 1996-09-05 | 2005-07-20 | 沖電気工業株式会社 | テスト対象の半導体記憶回路を備えた半導体記憶装置 |
KR100338776B1 (ko) | 2000-07-11 | 2002-05-31 | 윤종용 | 멀티 로우 어드레스 테스트 가능한 반도체 메모리 장치 및그 테스트 방법 |
US6373758B1 (en) | 2001-02-23 | 2002-04-16 | Hewlett-Packard Company | System and method of operating a programmable column fail counter for redundancy allocation |
US9171585B2 (en) * | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
KR100894809B1 (ko) | 2006-09-22 | 2009-04-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 프로그램 방법 |
US7589552B1 (en) | 2007-10-23 | 2009-09-15 | Altera Corporation | Integrated circuit with redundancy |
US20100005335A1 (en) | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Microprocessor interface with dynamic segment sparing and repair |
US7821830B2 (en) | 2008-07-23 | 2010-10-26 | Micron Technology, Inc. | Flash memory device with redundant columns |
US20100106904A1 (en) * | 2008-10-23 | 2010-04-29 | Dell Products L.P. | Shadow raid cache memory |
US8214685B2 (en) * | 2008-10-31 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Recovering from a backup copy of data in a multi-site storage system |
US8832464B2 (en) * | 2009-03-31 | 2014-09-09 | Oracle America, Inc. | Processor and method for implementing instruction support for hash algorithms |
US8495418B2 (en) * | 2010-07-23 | 2013-07-23 | Brocade Communications Systems, Inc. | Achieving ultra-high availability using a single CPU |
-
2013
- 2013-09-27 US US14/912,130 patent/US10180888B2/en active Active
- 2013-09-27 EP EP13894157.0A patent/EP3050057A1/en not_active Withdrawn
- 2013-09-27 CN CN201380079788.3A patent/CN105684086A/zh active Pending
- 2013-09-27 WO PCT/US2013/062396 patent/WO2015047332A1/en active Application Filing
-
2014
- 2014-07-08 TW TW103123461A patent/TWI511158B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283581A1 (en) * | 2004-06-16 | 2005-12-22 | Chiang Chen M | Data reading structure |
US20080126876A1 (en) * | 2006-11-23 | 2008-05-29 | Sumsung Electronics Co., Ltd | Semiconductor memory device and redundancy method of the same |
US20110164450A1 (en) * | 2007-12-10 | 2011-07-07 | Unity Semiconductor Corporation | Integrated circuits and methods to compensate for defective non-volatile embedded memory in one or more layers of vertically stacked non-volatile embedded memory |
US20130069659A1 (en) * | 2010-08-05 | 2013-03-21 | Sanyo Electric Co., Ltd. | Power supplying system |
TW201225095A (en) * | 2010-10-27 | 2012-06-16 | Hynix Semiconductor Inc | Semiconductor memory device and method of operating the same |
US20130028035A1 (en) * | 2011-07-27 | 2013-01-31 | Fujitsu Semiconductor Limited | Memory device |
Also Published As
Publication number | Publication date |
---|---|
EP3050057A1 (en) | 2016-08-03 |
TW201524285A (zh) | 2015-06-16 |
WO2015047332A1 (en) | 2015-04-02 |
US10180888B2 (en) | 2019-01-15 |
US20160203065A1 (en) | 2016-07-14 |
CN105684086A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101964207B1 (ko) | 데이터 메모리 디바이스 및 인터페이스 에러 검출 및 처리 논리를 갖는 제어기 | |
TWI605459B (zh) | 基於錯誤類型之錯誤檢查與校正(ecc)的動態應用程式 | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
TWI438776B (zh) | 修補高容量/高頻寬記憶體器件的方法及裝置 | |
TWI442407B (zh) | 在固態儲存系統中之資料回復 | |
TWI652685B (zh) | 自我識別記憶體錯誤 | |
US10248497B2 (en) | Error detection and correction utilizing locally stored parity information | |
WO2016022156A1 (en) | Error counters on a memory device | |
US20180074734A1 (en) | Bank-level fault management in a memory system | |
TWI808098B (zh) | 用於支持錯誤更正碼的裝置及其測試方法 | |
US9009548B2 (en) | Memory testing of three dimensional (3D) stacked memory | |
TWI511158B (zh) | 記憶體模組上之記憶體備用技術 | |
KR20160046225A (ko) | 고장 제어 기능을 구비한 캐시 메모리 | |
US20170186500A1 (en) | Memory circuit defect correction | |
US20180293130A1 (en) | Memory module with dedicated repair devices | |
TWI527049B (zh) | 操作記憶體之方法及記憶體裝置 | |
TWI514400B (zh) | 記憶體裝置修護技術 | |
US9037948B2 (en) | Error correction for memory systems | |
US10811116B2 (en) | Semiconductor systems | |
US11347608B2 (en) | Memory module with dedicated repair devices | |
KR102023121B1 (ko) | 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 | |
KR20180027656A (ko) | 반도체장치 및 반도체시스템 | |
US20240020194A1 (en) | Error detection, prediction and handling techniques for system-in-package memory architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |