TWI446353B - 在堆疊式記憶體中之錯誤校正 - Google Patents

在堆疊式記憶體中之錯誤校正 Download PDF

Info

Publication number
TWI446353B
TWI446353B TW100100080A TW100100080A TWI446353B TW I446353 B TWI446353 B TW I446353B TW 100100080 A TW100100080 A TW 100100080A TW 100100080 A TW100100080 A TW 100100080A TW I446353 B TWI446353 B TW I446353B
Authority
TW
Taiwan
Prior art keywords
error correction
data
repository
stack
level error
Prior art date
Application number
TW100100080A
Other languages
English (en)
Other versions
TW201203270A (en
Inventor
Joe M Jeddeloh
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201203270A publication Critical patent/TW201203270A/zh
Application granted granted Critical
Publication of TWI446353B publication Critical patent/TWI446353B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity

Description

在堆疊式記憶體中之錯誤校正
電子設備及系統之市場正將行業推動至更高處理器操作速度及與此等處理器一起操作之裝置中之經增強記憶體容量。與此經增強功能性同時發生的事情係經增強複雜性及功率消耗。隨著記憶體容量的增加,儲存或再呼叫之機會亦增加。
電腦記憶體中存在若干種組態以保護資料免受記憶體裝置故障。存在錯誤校正方案(諸如ChipkillTM 記憶體架構)以保護電腦記憶體系統免受單個記憶體晶片故障以及來自一單個記憶體晶片之任一部分之多位元錯誤。在ChipkillTM 架構中,錯誤校正碼(ECC)資料之多個字之位元係跨越多個記憶體晶片分散,以使得任何一個記憶體晶片之故障將影響每一ECC值以致使多個可校正錯誤的發生相似。此組態允許重新構造記憶體內容,雖然一個晶片完全故障。很少實施更複雜的錯誤校正方案,此乃因需要額外記憶體及晶片區域。
以下實施方式參照藉由圖解方式顯示、且不限制本發明之各種實施例之隨附圖式。足夠詳細地闡述此等實施例以使熟習此項技術者能夠實踐此等及其他實施例。可利用其他實施例,且可對此等實施例作出結構、邏輯及電改變。各種實施例未必相互排斥,此乃因某些實施例可與一個或多個其他實施例組合以形成新的實施例。因此,不應將以下實施方式視為具有一限制性意義。
圖1根據各種實例性實施例顯示一記憶體裝置100之一方塊圖。記憶體裝置100操作以在一個或多個發起裝置及/或目標裝置與一記憶體「儲存庫」110組之間大致同時傳送複數個傳出及/或傳入命令、位址及/或資料串流。一儲存庫係穿過含有每一記憶體晶粒之記憶體區段之一部分之一記憶體晶粒堆疊之一垂直分區。該部分可係該記憶體晶粒之一個或多個記憶體陣列。該記憶體裝置堆疊可劃分成任一數目個儲存庫。目標裝置之實例包含一個或多個處理器。
在先前設計中,多晶粒記憶體陣列實施例可聚集通常位於每一個別記憶體陣列晶粒上之控制邏輯。一經堆疊之晶粒群組之子區段(本文中稱為記憶體儲存庫)係顯示為圖1中之實例性儲存庫110且顯示為圖2中之實例性儲存庫230。
所圖解說明之實例中所示之記憶體儲存庫可共享共同控制邏輯。該記憶體儲存庫架構在策略上對記憶體控制邏輯進行分區以增加能量效率,同時參照通電記憶體庫提供粒度。在各種實施例中,記憶體裝置100可使用至記憶體介面之一標準化主機處理器進行操作。隨著記憶體技術的演進,該標準化介面可減小重新設計循環時間。
圖2係根據各種實例性實施例之與一邏輯晶粒202堆疊在一起以形成一記憶體裝置100之個別記憶體晶粒之一3D堆疊200之一概念圖。記憶體裝置100併入有形成3D堆疊200之一部分之記憶體陣列203之一個或多個堆疊。多個記憶體陣列(諸如記憶體陣列203)可製造至複數個晶粒中之每一者(諸如晶粒204)上。然後堆疊該等晶粒以形成3D堆疊200。
將堆疊200中之每一晶粒劃分成多個「拼塊」,例如,與堆疊200之晶粒204相關聯之拼塊205A、205B及205C。每一拼塊可包含一個或多個記憶體陣列203。記憶體陣列203並不限於任一特定記憶體技術且可包含動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、快閃記憶體、其他記憶體技術或其組合。
一經堆疊之記憶體陣列拼塊組208A可包含來自該等經堆疊之晶粒中之每一者之一單個拼塊,諸如拼塊212B、212C及212D,其中基礎拼塊在圖1中之視圖被擋住。拼塊212B、212C及212D係不同晶粒之一部分,該等不同晶粒未全部顯示於圖1中以避免模糊各種實施例且促進對該等經堆疊之拼塊之論述。使用「貫穿晶圓互連(TWI)」,功率、位址及/或資料(及類似共同信號)可沿傳導路徑(諸如傳導路徑224)橫穿「Z」維度220中之經堆疊之拼塊組208A。應注意,一TWI未必需要完全穿過一特定晶圓或晶粒。
將一實例性組態中之3D堆疊200分區成一記憶體儲存庫(諸如記憶體儲存庫230)組。每一記憶體儲存庫包含一經堆疊之拼塊組(諸如,拼塊組208A),包括來自複數個經堆疊之晶粒中之每一者之一個拼塊,連同一TWI組一起電互連拼塊組208A。另一儲存庫208B顯示於圖2中。出於論述目的,未顯示3D堆疊200之所有儲存庫。該儲存庫中之每一拼塊包含一個或多個記憶體陣列,諸如記憶體陣列240。雖然闡述分區成個別儲存庫230,但3D堆疊200亦可以若干其他方式進行分區。其他實例性分區包含按晶粒、拼塊及其他分區配置進行分區。為便於論述,圖2指示位於邏輯晶粒202上方之四個晶粒之一堆疊,每一晶粒分區成可形成十六個儲存庫之十六個拼塊,雖然僅顯示兩個儲存庫。然而,堆疊200並不限於四個晶粒且每一晶粒並不限於十六個分區。堆疊200可包含三十二個或更多個儲存庫。端視應用,可使用任一合理數目個晶粒及分區。
如圖2中所示,堆疊200包含一記憶體晶粒堆疊,其中每一記憶體晶粒可分區成複數個記憶體陣列203。每一記憶體陣列203可安置於該堆疊之一儲存庫之一部分中,其中該堆疊具有複數個儲存庫230。記憶體裝置100可經組態以使得堆疊200可經配置以將使用者資料及/或第一級錯誤校正資料儲存於跨越堆疊200之儲存庫230之一條帶240中以使得可跨越多個儲存庫230條帶化欲儲存於堆疊200中之資料。對每一條帶而言,一儲存庫230可用於一第二級之錯誤偵測/校正,其中此一儲存庫230可(例如)稱為一奇偶性儲存庫。一第一級之錯誤偵測/校正包含一單位元錯誤校正。出於下文論述之目的,儲存該使用者資料及/或該第一級之錯誤校正資料之該等儲存庫通常稱為「資料儲存庫」。在一非限制性實例中,可跨越四個儲存庫(其中每儲存庫16個位元組)條帶化使用者資料及/或第一級錯誤校 正資料之六十四個位元組。可針對來自該片段中之每一位元之一互斥性或(XOR)操作之每一位元產生奇偶性資料。針對來自該四個儲存庫中之每一者之位元零,可執行XOR操作以使得針對在位元零時間寫入以儲存於堆疊200中之每一位元零,可寫入一位元零奇偶性位元。針對三十二個位元,可針對每一位元位址一上至位元三十一執行此程序。每一奇偶性位元可寫入至該奇偶性儲存庫中。在此實例中,一資料片段係在一位元時間在一起之四個儲存庫230。對此實例而言,該程序可視為將六十四個位元組切割成四個儲存庫。一資料片段有效地構成一奇偶方程式以使得在第一位元時間,該四個儲存庫及其奇偶性形成一資料片段。四個資料片段及該奇偶性儲存庫可用於回應於一讀取請求重新構造該資料。
條帶240在圖2中顯示為沿Y方向中之一線自一晶粒之一端至相對端包含每一儲存庫230之拼塊212C。然而,條帶240可由多個儲存庫230之若干個部分形成,其中該等部分可分佈於一晶粒及/或各種晶粒上之各個位置處。因此,條帶240可係由經選擇以儲存資料之儲存庫界定之一垂直條帶。一奇偶性儲存庫可安置為該堆疊之該等儲存庫中之一者以使得條帶240包含該奇偶性儲存庫之一部分。該奇偶性儲存庫以可操作方式將對應於使用者資料及/或第一級錯誤校正資料之奇偶性資料儲存於該條帶中。如圖2中所示,條帶240包含用於使用者資料及/或第一級錯誤校正資料之三個儲存庫及一個奇偶性儲存庫。在用於使用者資料及/或第一級錯誤校正資料之四個儲存庫沿方向Y中之線之情況下,條帶240包含係未沿Y方向中之線自一晶粒之一端至相對端安置(且未顯示於圖2中)之一儲存庫之一奇偶性儲存庫。另一選擇為,該奇偶性儲存庫可係位於堆疊200之前端處之儲存庫230,其中用於使用者資料及/或第一級錯誤校正資料之儲存庫中之一者並未與使用者資料及/或第一級錯誤校正資料之其他三個儲存庫一起沿Y方向中之線。可在邏輯晶粒202中控制對將儲存庫分配至一條帶之管理。對邏輯晶粒202中之此分配之控制允許相對於一使用者實體(諸如一主機處理器)之透明記憶體儲存庫操作,且允許實施具有一主機處理器之記憶體裝置100之一標準化介面。
奇偶性資料可在將使用者資料及/或第一級錯誤校正資料寫入至堆疊200中時寫入至奇偶性儲存庫中。該奇偶性儲存庫及每一資料儲存庫可具有一相同數目個位元組。指派至資料儲存之若干個儲存庫230連同一奇偶性儲存庫之組態可藉由一使用者實體(諸如圖1之主機處理器114)可程式化。記憶體裝置100可實施多個條帶化方案。舉例而言,堆疊200可包含經配置以使每記憶體晶粒具有三個條帶之十六個儲存庫。另一選擇為,堆疊200可包含經配置以使每記憶體晶粒具有四個條帶之十六個儲存庫。對每晶粒之條帶數目或每條帶之資料儲存庫數目之選擇係若干個可程式化特徵中之一者。該等可程式化特徵可包含關於至記憶體裝置100之資料之傳送大小之一選擇。舉例而言,一使用者實體可將該傳送設定為每傳送六十四個位元組或256個位元組。亦可使用其他傳送大小。該選擇可與一特定主機系統或處理器正使用何種大小作為一記憶體系統之一傳送大小相關。一旦使用者實體識別了用於使用者資料及/或第一級錯誤校正資料之該等儲存庫及用於奇偶性資料之該(等)儲存庫,記憶體裝置100即針對正常記憶體操作及錯誤校正控制堆疊200之該等儲存庫之操作。
可使用儲存庫230之各種配置。舉例而言,可使用每一個奇偶性儲存庫七個資料儲存庫替代每一個奇偶性儲存庫四個資料儲存庫。跨越多個儲存庫條帶化使用者資料及/或第一級錯誤校正資料為多於一單位元校正提供校正已失敗資料之一方法。然而,隨著儲存庫數目的增加,記憶體技術操作之效率可能減少。若資料之傳送包含一更長資料傳送,則該等儲存庫更有效地操作。舉例而言,將六十四個位元組傳送至一個儲存庫可能比將該六十四位元組中之八個位元組中之每一者傳送至八個不同儲存庫中之一者更有效。
在位於記憶體裝置100內之背景下,在圖1中圖解說明類似於來自圖2之記憶體儲存庫230之一記憶體儲存庫組102。記憶體裝置100亦包含複數個記憶體儲存庫控制器(MVC)104,例如MVC 106。每一MVC係以一對一之關係以通信方式耦合至一對應記憶體儲存庫(諸如組102之記憶體儲存庫110)。因此,每一MVC能夠獨立於其他MVC與其各別記憶體儲存庫之間的通信而與一對應記憶體儲存庫通信。
記憶體裝置100亦包含複數個可組態串列通信鏈路介面(SCLI)112。SCLI 112劃分成SCLI之一傳出群組113及SCLI之一傳入群組115,其中「傳出」及「傳入」方向係自處理器114之觀點界定。複數個SCLI 112中之每一SCLI能夠與其他SCLI同時操作。SCLI 112一起將複數個MVC 104以通信方式耦合至一個或多個主機處理器114。因此,記憶體裝置100呈現通向主機處理器114之一多鏈路高通量介面。
記憶體裝置100亦可包含一開關116。在各種實施例中,開關116可包括一矩陣開關,其亦可稱為一交叉連接開關。開關116係以通信方式耦合至複數個SCLI 112且耦合至至複數個MVC 104。開關116能夠將每一SCLI交叉連接至一選定MVC。因此,主機處理器114可以一大致同時方式跨越複數個SCLI 112存取複數個記憶體儲存庫102。此架構可提供高處理器至記憶體頻寬操作以支援現代處理器技術,包含多核心技術。
記憶體裝置100亦可包含耦合至開關116之一記憶體組構控制暫存器117。記憶體組構控制暫存器117自一組態源接受記憶體組構組態參數並組態記憶體裝置100之一個或多個組件以根據一可選擇模式操作。舉例而言,開關116及複數個記憶體儲存庫102與複數個MVC 104中之每一者可經組態以回應於單獨記憶體請求而彼此獨立地操作。此一組態可因SCLI 112與記憶體儲存庫102之間的並行性而增強記憶體系統頻寬。
另一選擇為,記憶體裝置100可經由記憶體組構控制暫存器117重新組態以致使複數個記憶體儲存庫102中之兩者或更多者之一子組及一對應MVC子組回應於一單個請求同步操作。後一組態可用於存取比與一單個儲存庫相關聯之一資料字之寬度寬的之一資料字。此一字在本文中稱為一寬資料字。此技術可減少一讀取操作中之延時。可藉由將一選定位元型樣載入至記憶體組構控制暫存器117中來實現其他組態。
在一實例中,傳出SCLI 113可包含複數個傳出差分對串列路徑(DPSP)128。DPSP 128以通信方式耦合至主機處理器114且可操作以共同傳輸一傳出封包。傳出SCLI 113亦可包含耦合至複數個傳出DPSP 128之一解串列化器130。傳出SCLI 113亦可包含以通信方式耦合至解串列化器130之一解多工器138。在各種實施例中,DSPS、解串列化器及解多工器之組態促進資料包及子封包之有效傳出傳送。類似於傳出SLCI,在各種實施例中,傳入SCLI及DSPS、串列化器及多工器之一類似組態促進資料包及子封包之有效傳入傳送。
圖3係根據各種實例性實施例之一記憶體儲存庫控制器106及相關聯模組之一方塊圖。MVC 106可包含一可程式化儲存庫控制邏輯(PVCL)組件310。PVCL 310將MVC 106介接至一對應記憶體儲存庫,例如記憶體儲存庫110。
PVCL 310產生與對應記憶體儲存庫110相關聯之一個或多個控制信號及/或定時信號。
PVCL 310可經組態以使MVC 106適於一選定組態或一選定技術之一記憶體儲存庫110。因此,舉例而言,記憶體裝置100可首先使用當前可用DDR2 DRAM進行組態。記憶體裝置100可隨後經調適以藉由重新組態PVCL 310以包含DDR 3庫控制及定時邏輯來容納基於DDR3之記憶體儲存庫技術。
MVC 106包含以通信方式耦合至PVCL 310之一記憶體定序器314。記憶體定序器314基於用於實施相關聯記憶體儲存庫110之技術來執行一記憶體技術相關操作組。舉例而言,記憶體定序器314可執行與對應記憶體儲存庫110相關聯之命令解碼操作、記憶體位址多工操作、記憶體位址解多工操作、記憶體再新操作、記憶體儲存庫訓練操作及/或記憶體儲存庫預提取操作。在各種實施例中,記憶體定序器314可包括一DRAM定序器。在各種實施例中,記憶體再新操作可發生於一單獨再新控制器(未顯示)中。
記憶體定序器314可經組態以使記憶體裝置100適於一選定組態或技術之一記憶體儲存庫110。舉例而言,記憶體定序器314可經組態以與與記憶體裝置100相關聯之其他記憶體定序器一起同步操作。此一組態可用於回應於一單個快取線請求而將來自多個記憶體儲存庫之一寬資料字遞送至與主機處理器114相關聯之一快取線(未顯示)。
MVC 106亦可包含一寫入緩衝器316。寫入緩衝器316可耦合至PVCL 310以緩衝自主機處理器114到達MVC 106之資料。MVC 106可進一步包含一讀取緩衝器317。讀取緩衝器317可耦合至PVCL 310以緩衝自對應記憶體儲存庫110到達MVC 106之資料。
MVC 106亦可包含一無序請求佇列318。無序請求佇列318建立自包含於記憶體儲存庫110中之複數個記憶體庫之讀取操作及/或至該複數個記憶體庫之寫入操作之一有序序列。選擇該有序序列以避免對任一單個記憶體庫之順序操作以便減小庫衝突且減少讀取至寫入轉迴時間。
MVC 106亦可包含一記憶體映射邏輯(MML)組件324。MML 324可管理若干個操作,諸如使用TWI修復邏輯328之TWI修復操作以及其他修復操作。在一實例中,MML 324針對3D堆疊200之若干個部分追蹤多個錯誤資料。可使用MML 324追蹤若干個不同部分。在一實例中,針對每一晶粒204追蹤錯誤資料。其他實例包含針對每一拼塊205、每一陣列203及堆疊200之分區記憶體之其他形式追蹤錯誤資料。
MVC 106可包含一直接記憶體存取(DMA)引擎326,該直接記憶體存取引擎讀取包含一奇偶性儲存庫之一條帶中之儲存庫且在可行時在一備用儲存庫中重建一壞儲存庫。舉例而言,考量配置有十六個儲存庫之使用四個資料儲存庫+一個奇偶性儲存庫條帶化之堆疊200,此界定五個儲存庫之一條帶。在每條帶五個儲存庫之情況下,堆疊200之十六個儲存庫中之十五個儲存庫用於使用者資料及/或第一級錯誤校正資料及奇偶性資料。十六個儲存庫中之一個儲存庫保持未分配且可用作一備用儲存庫。注意,若配置有十六個儲存庫之堆疊200使用4個條帶(其中三個資料儲存庫+一個奇偶性儲存庫條帶化),則將分配所有該十六個儲存庫而無備用儲存庫。使用四個資料儲存庫+一個奇偶性儲存庫條帶化,若一儲存庫失敗,則可在該備用庫中重建該使用者資料及/或第一級錯誤校正資料。有故障儲存庫中之使用者資料及/或第一級錯誤校正資料至備用儲存庫中之重建可對使用者實體(諸如主機處理器114)透明,此乃因在記憶體裝置100內控制對有故障儲存庫之確定及重建。DMA引擎326使用奇偶性儲存庫中之資料可讀取五個儲存庫、確定哪一個是有故障儲存庫,且在該備用儲存庫中重建該有故障儲存庫。一旦DMA引擎326將有故障儲存庫中之使用者資料及/或第一級錯誤校正資料重建至該備用儲存庫中,即可停用該有故障儲存庫。一通知可發送至使用者實體。DMA引擎326可分佈於邏輯晶粒202之MVC中間。DMA引擎326可結構化為與邏輯晶粒202之MVC分離之邏輯晶粒202上之一單獨組件。DMA引擎326可耦合至邏輯晶粒202之單獨MVC。
在各種實施例中,奇偶性資料可在將使用者資料及/或第一級錯誤校正資料寫入至記憶體裝置100之堆疊200中時產生且可儲存於堆疊200之一奇偶性儲存庫中。在各種實施例中,僅在對條帶240之資料之讀取失敗時方可應用奇偶性校正。對資料之單位元校正而言,一第一級錯誤校正儲存庫(其係一資料儲存庫)可用於在不使用奇偶性資料之情況下進行單位元校正。然而,亦可或另一選擇為藉助相對於正讀取資料之儲存於該奇偶性儲存庫中之奇偶性資料進行資料之單位元校正。若一讀取失敗超出第一級之錯誤校正可校正之範圍,則第二級之錯誤校正(例如奇偶性校正)可用於校正該讀取操作中之壞資料。此外,若一儲存庫失敗,則可讀取該等經條帶化之儲存庫(包含該奇偶性儲存庫)以校正該有故障儲存庫中之所有資料。可進行此校正程序以使得該校正對一使用者實體(諸如主機處理器114)透明,此乃因在記憶體裝置100內控制對該有故障儲存庫之確定及重建。
亦可藉由一擦洗常式來檢查類似於或相同於具有堆疊200之記憶體裝置100之一記憶體結構中之資料。一擦洗常式可操作以週期性地檢查資料記憶體之有效性並校正自對該資料之檢查所發現之故障。替代存取堆疊200中之資料之一主機或一處理器,位於邏輯晶粒202上之MDA引擎326或一機載處理器可用於週期性地讀取每一位置以確定是否存在資料故障及/或儲存庫故障。如存在故障,則可校正該資料並將其寫入至該備用儲存庫中之一位置中以使得將該資料維持在堆疊200之一良好(無故障)區域中。
圖4根據各種實例性實施例顯示將資料寫入至一記憶體堆疊中之一方法之一實施例之特徵。在410處,將資料寫入至跨越一記憶體晶粒堆疊中之複數個儲存庫之一條帶中。可將每一記憶體晶粒分區成複數個記憶體陣列以使得將每一記憶體陣列安置於該堆疊之一儲存庫之一部分中。連同使用者資料一起,可將用於該使用者資料之第一級之錯誤校正資料(例如,一錯誤校正碼)儲存為記憶體晶粒堆疊中之資料。將資料寫入至該條帶中可包含跨越該記憶體晶粒堆疊中之無故障儲存庫分佈資料以使得一備用分區可用於重建一有故障儲存庫。該等儲存庫無需係相對於該條帶中之其他分區之連續分區。在420處,在將使用者資料及/或第一級錯誤校正資料寫入至記憶體晶粒堆疊中時產生奇偶性資料。在步驟430處,將該奇偶性資料儲存於一奇偶性儲存庫中。可將該奇偶性儲存庫安置為該堆疊之該等儲存庫中之一者以使得該條帶包含該奇偶性儲存庫之一部分,該奇偶性對應於該條帶中之該使用者資料及/或第一級錯誤校正資料。
圖5根據各種實例性實施例顯示校正一記憶體裝置中之資料之一方法之一實施例之特徵。在510處,確定對使用者資料及/或第一級錯誤校正資料之一讀取已失敗。該確定可包含確定該已失敗資料係來自跨越一記憶體晶粒堆疊之複數個儲存庫之一條帶。可將每一記憶體晶粒分區成複數個記憶體陣列以使得將每一記憶體陣列安置於該堆疊之一儲存庫之一部分中。該堆疊可具有複數個儲存庫。
在520處,確定藉以校正使用者資料及/或第一級錯誤校正資料之方式。確定方式可包含一試錯過程。校正方式可包含將一第一級之錯誤校正應用於該有故障資料。可在安置於該記憶體晶粒堆疊中作為一錯誤校正碼分區之一儲存庫中存取第一級錯誤校正資料。可使用一錯誤校正碼來進行單位元校正。若該錯誤校正碼之應用並未校正該有故障資料,則可應用奇偶性校正。另一選擇為,奇偶性校正可應用於進行單位元校正。
在530處,在確定使用奇偶性校正後,立即使用關於該使用者資料及/或第一級錯誤校正資料之奇偶性資料來校正已失敗資料。該奇偶性資料可與含有該使用者資料及/或第一級錯誤校正資料及相關聯奇偶性資料之該條帶相關。可將該奇偶性資料儲存於可安置為該堆疊中之該等儲存庫中之一者之一奇偶性儲存庫中以使得該條帶包含該奇偶性儲存庫之一部分。為校正一有故障儲存庫,可讀取複數個經條帶化之儲存庫,連同在確定一故障失敗後立即讀取該奇偶性儲存庫。可將一儲存庫中之多個錯誤視為該儲存庫之一完全故障。可在不與該記憶體晶粒堆疊中之一使用者實體互動之情況下校正資料故障及/或儲存庫故障。在校正一儲存庫故障後,可通知該記憶體晶粒堆疊中之一使用者實體一儲存庫已失敗。該通知可包含對在一備用儲存庫中重建之資料之校正之通知。
圖6根據各種實例性實施例顯示操作具有一記憶體晶粒堆疊之一記憶體裝置之一方法之一實施例之特徵。在步驟610處,管理一記憶體晶粒堆疊中之資料儲存。可將每一記憶體晶粒分區成複數個記憶體陣列以使得將每一記憶體陣列安置於該堆疊之一儲存庫之一部分中。該堆疊可具有複數個儲存庫。
在步驟620處,將一儲存庫組組態成一條帶。該條帶可具有若干個儲存庫用於使用者資料及/或第一級錯誤校正資料且一儲存庫用於奇偶性資料之一配置。該奇偶性資料係與該使用者資料及/或第一級錯誤校正資料相關。該複數個儲存庫可經組態以包含一資料儲存庫作為一第一級錯誤校正儲存庫。在一實施例中,該堆疊中儲存庫之總數目可包含十六個儲存庫,該等儲存庫經組態以用於在四個儲存庫用於使用者資料及/或第一級錯誤校正資料且一個儲存庫用於奇偶性資料之情況下進行資料條帶化。在其他實施例中,儲存庫之總數目可不同於十六個,該等儲存庫經組態以用於在四個儲存庫用於使用者資料及/或第一級錯誤校正資料且一個儲存庫用於奇偶性資料之情況下進行資料條帶化或經組態以用於藉助用於使用者資料及/或第一級錯誤校正資料及奇偶性資料之一不同儲存庫配置進行資料條帶化。在各種實施例中,該堆疊中儲存庫之總數目可係三十二個或更多。在各種實施例中,該堆疊可藉助包含一個或多個儲存庫作為備用儲存庫之一組態進行配置。
在各種實施例中,一機器可讀儲存媒體儲存當由一機器執行時致使該機器執行包括管理一記憶體晶粒堆疊中之資料儲存之操作之指令。該等所儲存之指令可由一使用者實體(諸如一個或多個處理器)執行。可將每一記憶體晶粒分區成複數個記憶體陣列以使得將每一記憶體陣列安置於該堆疊之一儲存庫之一部分中。該堆疊可具有複數個儲存庫。為管理該堆疊,該機器可讀儲存媒體可包含將一儲存庫組組態成一條帶之指令,該條帶具有若干個儲存庫用於使用者資料及/或第一級錯誤校正資料且一儲存庫用於第二級錯誤校正資料(諸如奇偶性資料)之一配置。可組態該條帶中之該儲存庫組,其中一資料儲存庫儲存第一級錯誤校正資料。在一實施例中,該等指令包含針對資料及奇偶性組態十五個儲存庫。該等指令可包含組態十六個儲存庫以用於在四個儲存庫用於使用者資料及/或第一級錯誤校正資料且一個儲存庫用於奇偶性資料之情況下進行資料條帶化。一儲存庫可分配為一備用分區。在各種實施例中,堆疊中儲存庫之總數目可係三十二個或更多。在各種實施例中,該堆疊可藉助包含一個或多個儲存庫作為備用分區之一組態進行配置。
可實施用於資料及奇偶性之儲存庫之其他組態。該等所儲存之指令允許該儲存庫組在一使用者實體之可程式化控制下進行組態。該機器可讀儲存媒體可藉由任一形式之儲存技術實現且並不限於任何一個技術。舉例而言,該等指令可儲存於包含記憶體之一處理器晶片中。
在各種實施例中,針對寫入至一專用儲存庫中之使用者資料及/或第一級錯誤校正資料,具有一記憶體晶粒堆疊之一記憶體結構可配置有儲存庫以使得可跨越具有第二級錯誤校正資料(諸如奇偶性資料)之複數個儲存庫條帶化寫入至該記憶體結構中之使用者資料及/或第一級錯誤校正資料。隨著一晶粒上之資料儲存之密度的增加及/或記憶體存取速度的增加,每一晶粒之儲存庫數目亦可增加,從而為當資料故障在操作中發生時可有效定址該等資料故障之奇偶性儲存庫及備用儲存庫提供額外儲存庫,而不會招致與傳送小資料群組相關聯之低效率。可相對於一使用者實體通透地進行對一晶粒之有故障資料或有故障區之校正。記憶體結構之每一晶粒可使用習用技術製造且然後垂直安裝。可相對於一邏輯晶片進行垂直安裝。另一選擇為,用於控制對記憶體晶粒堆疊之存取之邏輯晶片可不以垂直安裝方式耦合至該堆疊。記憶體晶粒及邏輯晶粒堆疊可形成於其他設備中且可形成作為一系統之部分。
圖7根據本發明之各種實施例顯示一電子系統700之各種特徵之一方塊圖。系統700可包含一控制器702、具有包含耦合至一記憶體晶粒堆疊720之一邏輯晶片705之記憶體裝置710之一設備725。可以類似於或相同於參照圖1至圖6所論述之實施例之一方式結構化並操作包含耦合至記憶體晶粒堆疊720之邏輯晶片705之記憶體裝置710。可以各種方式形成系統700,諸如使用習用技術將系統700之個別組件耦合在一起或將該等組件整合至一個或若干個基於晶片之單元中。在一實施例中,系統700亦包含一電子設備745及一匯流排735,其中匯流排735在控制器702與電子設備745之間且在控制器702與設備725之間提供導電性。在一實施例中,匯流排735包含一位址匯流排、一資料匯流排及一控制匯流排,每一者獨立組態。在一替代實施例中,匯流排735使用共同傳導線來提供位址、資料或控制中之一者或多者,其使用係由控制器702調整。在一實施例中,電子設備745可包含用於電子系統700之既定功能性應用之記憶體。
在記憶體710配置為一記憶體晶粒堆疊720之情況下,記憶體晶粒之類型可包含(但不限於)根據如本文中所教示之各種實施例配置之動態隨機存取記憶體、靜態隨機存取記憶體、同步動態隨機存取記憶體(SDRAM)、同步圖形隨機存取記憶體(SGRAM)、雙倍資料速率動態隨機存取記憶體(DDR)及雙倍資料速率SDRAM。根據如圖1至圖6中所圖解說明之各種實施例,具有包含與記憶體晶粒堆疊720耦合在一起之邏輯晶片705之記憶體裝置710之設備725之各種實施例之結構可以可配置為軟體、硬體或軟體與硬體之一組合封包之模擬封包實現以模擬各種實施例及/或各種實施例之操作。
在各種實施例中,(一個或多個)周邊裝置755係耦合至匯流排735。周邊裝置755可包含可結合控制器702操作之顯示器、成像裝置、列印裝置、無線裝置、無線介面(例如,無線收發器)、額外儲存記憶體、控制裝置。在一實施例中,控制器702可包含一處理器。在各種實施例中,系統700包含(但不限於)光纖系統或裝置、光電系統或裝置、光學系統或裝置、成像系統或裝置及資訊處置系統或裝置(諸如無線系統或裝置)、電信系統或裝置以及電腦。
雖然本文中已圖解說明且闡述了具體實施例,但熟習此項技術者將瞭解,經計算以達成相同目的之任一配置皆可代替所顯示之具體實施例。各種實施例使用本文中所闡述之實施例之排列及/或組合。應理解,以上說明意欲具有說明性、而非限制性,且本文中所採用之措詞或術語係出於說明目的。
100...記憶體裝置
102...記憶體儲存庫組
104...記憶體儲存庫控制器
106...記憶體儲存庫控制器
110...記憶體儲存庫組
112...串列通信鏈路介面
113...傳出群組
114...處理器
115...傳入群組
116...開關
117...記憶體組構控制暫存器
128...傳出差分對串列路徑
130...解串列化器
138...解多工器
200...3D個別記憶體晶粒堆疊
202...邏輯晶粒
203...記憶體陣列
204...晶粒
205A...拼塊
205B...拼塊
205C...拼塊
208A...記憶體陣列拼塊組
208B...記憶體陣列拼塊組
212B...拼塊
212C...拼塊
212D...拼塊
224...傳導路徑
230...儲存庫
240...記憶體陣列
310...可程式化儲存庫控制邏輯組件
314...記憶體定序器
316...寫入緩衝器
317...讀取緩衝器
318...無序請求佇列
324...記憶體映射邏輯
326...直接記憶體存取引擎
328...貫穿晶圓互連修復邏輯
700...電子系統
702...控制器
705...邏輯晶片
710...記憶體裝置
720...記憶體晶粒堆疊
725...設備
735...匯流排
745...電子設備
755...周邊裝置
本發明之實施例係藉由實例方式圖解說明且並不限於隨附圖式中之圖,其中:
圖1根據各種實例性實施例顯示一記憶體裝置之一方塊圖。
圖2根據各種實例性實施例圖解說明與一邏輯晶粒堆疊在一起以形成一記憶體裝置之個別記憶體晶粒之一3維堆疊之一概念圖。
圖3根據各種實例性實施例顯示一記憶體儲存庫控制器及相關聯模組之一方塊圖。
圖4顯示將資料寫入至一記憶體堆疊中之一方法之一實施例之特徵。
圖5顯示校正一記憶體裝置中之資料之一方法之一實施例之特徵。
圖6顯示操作具有一記憶體晶粒堆疊之一記憶體裝置之一方法之一實施例之特徵。
圖7根據本發明之各種實施例顯示一電子系統之各種特徵之一方塊圖。
100...記憶體裝置
200...個別記憶體晶粒3D堆疊
202...邏輯晶粒
203...記憶體陣列
204...晶粒
205A...拼塊
205B...拼塊
205C...拼塊
208A...記憶體陣列拼塊組
208B...記憶體陣列拼塊組
212B...拼塊
212C...拼塊
212D...拼塊
224...傳導路徑
230...儲存庫
240...記憶體陣列

Claims (35)

  1. 一種記憶體晶粒堆疊,其包括:複數個資料儲存庫,該堆疊經配置以將使用者資料及/或第一級錯誤校正資料儲存於跨越該等資料儲存庫之一條帶中;及一儲存庫,其用以以可操作方式將對應於該使用者資料及/或該第一級錯誤校正資料之第二級錯誤校正資料儲存於該條帶中。
  2. 如請求項1之堆疊,其中用於儲存該第二級錯誤校正資料之該儲存庫包含一奇偶性儲存庫。
  3. 如請求項1之堆疊,其中該複數個資料儲存庫包含含有該第一級錯誤校正資料之一儲存庫。
  4. 如請求項1之堆疊,其中用於儲存該第二級錯誤校正資料之該儲存庫及該等資料儲存庫中之每一者經配置以儲存一相同數目個位元組。
  5. 如請求項1之堆疊,其中該條帶及用於儲存該第二級錯誤校正資料之該儲存庫之組態可程式化。
  6. 如請求項1之堆疊,其中該堆疊包含經配置以使每記憶體晶粒具有三個條帶之十六個儲存庫。
  7. 如請求項1之堆疊,其中該堆疊係安置於一邏輯晶粒上,該邏輯晶粒包含一直接記憶體存取引擎或一機載處理器以週期性地讀取該記憶體晶粒堆疊之每一記憶體位置從而確定是否存在任何使用者資料及/或第一級錯誤校正資料故障及/或儲存庫故障。
  8. 一種記憶體晶粒堆疊,其包括:複數個資料儲存庫,該堆疊經配置以將使用者資料及/或第一級錯誤校正資料儲存於跨越該等資料儲存庫之一條帶中;一第二級錯誤校正儲存庫,其用以以可操作方式將對應於該使用者資料及/或該第一級錯誤校正之第二級錯誤校正資料儲存於該條帶中;一備用儲存庫,其可用於在確定該等資料儲存庫中之一者已變得有故障後立即儲存該使用者資料及/或該第一級錯誤校正資料;及一控制器,其用以校正自該條帶讀取之該使用者資料及/或該第一級錯誤校正資料。
  9. 如請求項8之堆疊,其中該條帶包含一第一級錯誤校正儲存庫且該控制器可操作以使用該第一級錯誤校正儲存庫來對自該條帶讀取之使用者資料進行一單位元校正。
  10. 如請求項8之堆疊,其中該控制器可操作以自該條帶讀取該使用者資料及/或該第一級錯誤校正資料及奇偶性資料以校正該使用者資料及/或該第一級錯誤校正資料。
  11. 如請求項8之堆疊,其中該控制器包含可操作以在該備用儲存庫中重建一有故障儲存庫之一直接記憶體存取引擎。
  12. 如請求項8之堆疊,其中所分配之該若干個資料儲存庫可程式化。
  13. 如請求項8之堆疊,其中該堆疊係安置於一邏輯晶粒 上,該邏輯晶粒包含一直接記憶體存取引擎。
  14. 如請求項13之堆疊,其中該直接記憶體存取引擎經組態以將一有故障儲存庫中之使用者資料及/或第一級錯誤校正資料重建至該備用儲存庫中。
  15. 如請求項8之堆疊,其中該直接記憶體存取引擎係分佈於該邏輯晶粒之記憶體儲存庫控制器中間。
  16. 如請求項8之堆疊,其中該直接記憶體存取引擎係結構化為該邏輯晶粒上之一組件,與該邏輯晶粒之複數個記憶體儲存庫控制器分離,該直接記憶體存取引擎耦合至該等記憶體儲存庫控制器中之每一者。
  17. 一種用於操作一記憶體之方法,其包括:將使用者資料及/或第一級錯誤校正資料寫入至跨越一記憶體晶粒堆疊中之複數個儲存庫之一條帶中;產生對應於該使用者資料及/或該第一級錯誤校正資料之第二級錯誤校正資料;及將該第二級錯誤校正資料儲存於該堆疊中之一第二級錯誤校正儲存庫中。
  18. 如請求項17之方法,其中產生該第二級錯誤校正資料包含在將該使用者資料及/或該第一級錯誤校正資料寫入至該記憶體晶粒堆疊中時產生該第二級錯誤校正資料。
  19. 如請求項17之方法,其中儲存該第二級錯誤校正資料包含將該第二級錯誤校正資料儲存於該堆疊中之該第二級錯誤校正儲存庫中以使得該條帶包含該第二級錯誤校正儲存庫之一部分,該第二級錯誤校正資料對應於該條帶 中之該使用者資料及/或該第一級錯誤校正資料。
  20. 如請求項17之方法,其中寫入使用者資料及/或該第一級錯誤校正資料包括將第一級錯誤校正資料儲存於該複數個儲存庫中之一者中。
  21. 如請求項17之方法,其中將資料寫入至跨越該記憶體晶粒堆疊之該複數個儲存庫之該條帶中包含跨越該記憶體晶粒堆疊之無故障儲存庫分佈該使用者資料及/或該第一級錯誤校正資料以使得一備用儲存庫可用於重建一有故障儲存庫。
  22. 一種用於操作一記憶體之方法,其包括:確定使用者資料及/或第一級錯誤校正資料自跨越一記憶體晶粒堆疊之複數個儲存庫之一條帶之一讀取是否已失敗;若該讀取已失敗,則確定藉以校正該使用者資料及/或該第一級錯誤校正資料之方式;及在確定使用第二級錯誤校正後,立即使用儲存於一第二級錯誤校正儲存庫中之第二級錯誤校正來校正該使用者資料及/或該第一級錯誤校正資料。
  23. 如請求項22之方法,其中該方法包含作出在一第一級之錯誤校正並未校正該故障時使用該第二級錯誤校正之一確定。
  24. 如請求項22之方法,其中確定藉以校正該資料之該方式包含確定是否使用該第一級錯誤校正資料。
  25. 如請求項24之方法,其中該方法包含存取該條帶中儲存 該第一級錯誤校正資料之一儲存庫。
  26. 如請求項22之方法,其中該方法包含讀取該複數個經條帶化之儲存庫連同在確定一儲存庫已失去作用後立即讀取該第二級錯誤校正儲存庫。
  27. 如請求項26之方法,其中該方法包含通知該記憶體晶粒堆疊之一使用者實體一儲存庫已失去作用。
  28. 如請求項22之方法,其中該方法包含在不與該記憶體晶粒堆疊之一使用者實體互動之情況下校正該使用者資料及/或該第一級錯誤校正資料。
  29. 一種用於操作一記憶體之方法,其包括:管理一記憶體晶粒堆疊中之資料儲存,該堆疊具有複數個儲存庫,該管理包含將一儲存庫組組態至一條帶中,該條帶具有若干個儲存庫用於使用者資料及/或第一級錯誤校正資料且一儲存庫用於第二級錯誤校正資料之一配置。
  30. 如請求項29之方法,其中組態該儲存庫組包含將該複數個儲存庫中之一者組態為一第一級錯誤校正儲存庫。
  31. 如請求項29之方法,其中該方法包含組態該複數個儲存庫中之十六個儲存庫以用於進行資料條帶化,其中每一條帶具有用於該使用者資料及/或該第一級錯誤校正資料的四個儲存庫及用於第二級錯誤校正資料的一個儲存庫。
  32. 如請求項29之方法,其中該方法包含將一儲存庫組態為一備用儲存庫。
  33. 一種機器可讀儲存裝置,其儲存當由一機器執行時致使該機器執行如下操作之指令,該等操作包括:管理使用者資料及/或第一級錯誤校正資料至跨越一記憶體晶粒堆疊之一條帶中之儲存,該管理包含將第二級錯誤校正資料應用於校正在自該條帶讀取該使用者資料及/或該第一級錯誤校正資料中之一故障,若該讀取失敗超出該第一級錯誤校正資料可校正之範圍,則應用該第二級錯誤校正資料。
  34. 如請求項33之機器可讀儲存裝置,其中該等指令包含週期性地讀取該記憶體晶粒堆疊中之每一記憶體位置以確定是否存在任何資料故障及/或儲存庫故障。
  35. 如請求項33之機器可讀儲存裝置,其中應用該第二級錯誤校正資料包含應用奇偶性校正,若該使用者資料及/或該第一級錯誤校正資料自該條帶之一讀取失敗,則使用該奇偶性校正。
TW100100080A 2010-01-04 2011-01-03 在堆疊式記憶體中之錯誤校正 TWI446353B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/651,910 US8327225B2 (en) 2010-01-04 2010-01-04 Error correction in a stacked memory

Publications (2)

Publication Number Publication Date
TW201203270A TW201203270A (en) 2012-01-16
TWI446353B true TWI446353B (zh) 2014-07-21

Family

ID=44225421

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100100080A TWI446353B (zh) 2010-01-04 2011-01-03 在堆疊式記憶體中之錯誤校正

Country Status (6)

Country Link
US (2) US8327225B2 (zh)
EP (1) EP2521972B1 (zh)
KR (1) KR101644917B1 (zh)
CN (2) CN102687121B (zh)
TW (1) TWI446353B (zh)
WO (1) WO2011082070A2 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929368B2 (en) * 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory
US8539303B2 (en) * 2010-12-20 2013-09-17 Intel Corporation Low overhead error correcting code protection for stored information
US8635514B2 (en) 2011-02-28 2014-01-21 Micron Technology, Inc. Error control in memory storage systems
KR101751506B1 (ko) * 2011-03-28 2017-06-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 배드 영역 관리 방법
US9406346B2 (en) 2011-06-30 2016-08-02 Sandisk Technologies Llc Smart bridge for memory core
US8661320B2 (en) * 2011-10-07 2014-02-25 Aeroflex Colorado Springs Inc. Independent orthogonal error correction and detection
JP2013093012A (ja) * 2011-10-07 2013-05-16 Panasonic Corp メモリコントローラ、記憶装置
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US8782485B2 (en) 2012-01-19 2014-07-15 International Business Machines Corporation Hierarchical channel marking in a memory system
US20130191685A1 (en) 2012-01-19 2013-07-25 International Business Machines Corporation Per-rank channel marking in a memory system
US8843806B2 (en) * 2012-01-19 2014-09-23 International Business Machines Corporation Dynamic graduated memory device protection in redundant array of independent memory (RAIM) systems
US20150085555A1 (en) * 2012-05-01 2015-03-26 David G. Carpenter Packaged memory dies that share a chip select line
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9021336B1 (en) * 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8984368B2 (en) * 2012-10-11 2015-03-17 Advanced Micro Devices, Inc. High reliability memory controller
US9037943B2 (en) * 2012-10-26 2015-05-19 Intel Corporation Identification of non-volatile memory die for use in remedial action
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9208018B1 (en) * 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
KR101508836B1 (ko) * 2013-08-06 2015-04-07 한양대학교 산학협력단 3 차원 적층 구조의 반도체 장치 및 그 동작 방법
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
US10691531B2 (en) 2014-12-04 2020-06-23 Western Digital Technologies, Inc. Systems and methods for multi-zone data tiering for endurance extension in solid state drives
US10067823B2 (en) * 2014-12-04 2018-09-04 Western Digital Technologies, Inc. Systems and methods for adaptive error corrective code mechanisms
KR102261817B1 (ko) * 2014-12-15 2021-06-07 삼성전자주식회사 다수의 레이어들을 포함하는 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작방법
US9685219B2 (en) 2015-05-13 2017-06-20 Samsung Electronics Co., Ltd. Semiconductor memory device for deconcentrating refresh commands and system including the same
US9760437B2 (en) 2015-07-01 2017-09-12 International Business Machines Corporation Error correction based on thermal profile of flash memory device
KR102417183B1 (ko) 2016-02-25 2022-07-05 삼성전자주식회사 적층형 메모리 장치, opc 검증 방법, 적층형 메모리 장치의 레이아웃 디자인 방법, 및 적층형 메모리 장치의 제조 방법
US10636767B2 (en) * 2016-02-29 2020-04-28 Invensas Corporation Correction die for wafer/die stack
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
US10042702B2 (en) 2016-11-07 2018-08-07 SK Hynix Inc. Memory device transferring data between master and slave device and semiconductor package including the same
US9996285B2 (en) * 2016-11-08 2018-06-12 SK Hynix Inc. Cyclically interleaved XOR array for error recovery
US20180137005A1 (en) * 2016-11-15 2018-05-17 Intel Corporation Increased redundancy in multi-device memory package to improve reliability
US10459809B2 (en) * 2017-06-30 2019-10-29 Intel Corporation Stacked memory chip device with enhanced data protection capability
US10585749B2 (en) * 2017-08-10 2020-03-10 Samsung Electronics Co., Ltd. System and method for distributed erasure coding
US10365325B2 (en) * 2017-08-22 2019-07-30 Micron Technology, Inc. Semiconductor memory device
CN108647152A (zh) * 2018-04-27 2018-10-12 江苏华存电子科技有限公司 一种提升闪存存储装置中以数据数组保护数据的管理方法
US11409600B2 (en) * 2019-12-30 2022-08-09 Micron Technology, Inc. Increased memory access parallelism using parity
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058115A (en) 1989-03-10 1991-10-15 International Business Machines Corp. Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature
US6125466A (en) * 1992-01-10 2000-09-26 Cabletron Systems, Inc. DRAM parity protection scheme
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
WO2000041182A1 (en) * 1998-12-30 2000-07-13 Intel Corporation Memory array organization
US8037234B2 (en) * 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US6591394B2 (en) * 2000-12-22 2003-07-08 Matrix Semiconductor, Inc. Three-dimensional memory array and method for storing data bits and ECC bits therein
US6687872B2 (en) * 2001-03-14 2004-02-03 Hewlett-Packard Development Company, L.P. Methods and systems of using result buffers in parity operations
US6904556B2 (en) * 2001-08-09 2005-06-07 Emc Corporation Systems and methods which utilize parity sets
US6973613B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
JP4595342B2 (ja) 2004-02-19 2010-12-08 日本電気株式会社 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP2006004560A (ja) * 2004-06-18 2006-01-05 Elpida Memory Inc 半導体記憶装置及びその誤り訂正方法
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
US7200021B2 (en) * 2004-12-10 2007-04-03 Infineon Technologies Ag Stacked DRAM memory chip for a dual inline memory module (DIMM)
US7327600B2 (en) * 2004-12-23 2008-02-05 Unity Semiconductor Corporation Storage controller for multiple configurations of vertical memory
US7765454B2 (en) * 2005-05-24 2010-07-27 Sgi International, Inc. Fault tolerant memory system
US7519894B2 (en) * 2005-06-14 2009-04-14 Infineon Technologies Ag Memory device with error correction code module
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US7327592B2 (en) * 2005-08-30 2008-02-05 Micron Technology, Inc. Self-identifying stacked die semiconductor components
WO2007028109A2 (en) * 2005-09-02 2007-03-08 Metaram, Inc. Methods and apparatus of stacking drams
US7414280B2 (en) * 2005-10-21 2008-08-19 Macronix International Co., Ltd. Systems and methods for memory structure comprising embedded flash memory
JP4790386B2 (ja) * 2005-11-18 2011-10-12 エルピーダメモリ株式会社 積層メモリ
JP4828251B2 (ja) * 2006-02-22 2011-11-30 エルピーダメモリ株式会社 積層型半導体記憶装置及びその制御方法
US7779334B2 (en) * 2006-06-26 2010-08-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory having an ECC system
US7477535B2 (en) * 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
JP4245180B2 (ja) * 2006-10-30 2009-03-25 エルピーダメモリ株式会社 積層メモリ
US8019938B2 (en) * 2006-12-06 2011-09-13 Fusion-I0, Inc. Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory

Also Published As

Publication number Publication date
WO2011082070A2 (en) 2011-07-07
CN102687121B (zh) 2015-09-09
KR101644917B1 (ko) 2016-08-03
WO2011082070A3 (en) 2011-10-13
US20130097471A1 (en) 2013-04-18
CN105005512B (zh) 2018-06-26
KR20120105045A (ko) 2012-09-24
CN102687121A (zh) 2012-09-19
US8327225B2 (en) 2012-12-04
US20110167319A1 (en) 2011-07-07
EP2521972A2 (en) 2012-11-14
TW201203270A (en) 2012-01-16
CN105005512A (zh) 2015-10-28
EP2521972B1 (en) 2018-01-24
EP2521972A4 (en) 2014-02-19
US8869005B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
TWI446353B (zh) 在堆疊式記憶體中之錯誤校正
US10929285B2 (en) Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer
CN108376120B (zh) 用于管理在非易失性存储器系统中写入块的系统和方法
US8560772B1 (en) System and method for data migration between high-performance computing architectures and data storage devices
US9176810B2 (en) Bit error reduction through varied data positioning
KR101528659B1 (ko) 가변 메모리 리프레시 장치들 및 방법들
CN110073322A (zh) 用于快速执行封装体内命令的系统和方法
KR20160143744A (ko) 로컬 메모리를 갖는 제어기를 가진 메모리 디바이스
WO2013046463A1 (ja) 不揮発半導体記憶システム
KR20190024957A (ko) 메모리 버스 상의 스토리지 및 멀티 레벨 데이터 캐시
US10346325B2 (en) Ring bus architecture for use in a memory module
US9678684B2 (en) Systems and methods for performing an adaptive sustain write in a memory system
US20240013851A1 (en) Data line (dq) sparing with adaptive error correction coding (ecc) mode switching
US11086786B2 (en) Storage system and method for caching a single mapping entry for a random read command
KR102133316B1 (ko) 메모리 시스템 관리
US11379117B2 (en) Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning
US11403163B2 (en) Storage system and method for crash analysis
KR20230121611A (ko) 시스템 메모리 신뢰성, 가용성 및 서비스 가능성(ras)을개선하기 위한 적응형 오류 정정
US11829647B1 (en) Storage system and method for using a queue monitor in a block allocation process
CN116992814A (zh) 一种芯片和电子设备