TWI717335B - 資料儲存元件 - Google Patents

資料儲存元件 Download PDF

Info

Publication number
TWI717335B
TWI717335B TW105104518A TW105104518A TWI717335B TW I717335 B TWI717335 B TW I717335B TW 105104518 A TW105104518 A TW 105104518A TW 105104518 A TW105104518 A TW 105104518A TW I717335 B TWI717335 B TW I717335B
Authority
TW
Taiwan
Prior art keywords
data
block
data group
blocks
pages
Prior art date
Application number
TW105104518A
Other languages
English (en)
Other versions
TW201705002A (zh
Inventor
白承傑
金承煥
韓鍾熙
具德會
孫翊竣
Original Assignee
韓商愛思開海力士有限公司
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 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Publication of TW201705002A publication Critical patent/TW201705002A/zh
Application granted granted Critical
Publication of TWI717335B publication Critical patent/TWI717335B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/1012Adding 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
    • 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
    • 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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

一種資料儲存元件可以包括複數個非揮發性記憶體元件和控制器,該等非揮發性記憶體元件包括複數個區塊,該控制器適用於針對由該等區塊中的一個或多個形成的超級區塊產生超級區塊同位資料。

Description

資料儲存元件
本申請要求2015年7月31日提交給韓國智慧財產權局的申請號為10-2015-0108642的韓國專利申請的優先權,其通過引用整體合併於此。
本發明關於一種資料儲存元件,且更具體而言,關於一種能夠校正錯誤位元的資料儲存元件。
資料儲存元件回應於來自外部元件的輸入請求來儲存從外部元件提供的資料。資料儲存元件也回應於來自外部元件的讀取請求將儲存的資料提供給外部元件。外部元件是能夠處理資料的電子元件,且可以包括電腦、數位相機、行動電話等。資料儲存元件可以嵌入在外部元件中,或者可以被單獨地製造,然後耦接到外部元件。
在一個實施例中,一種資料儲存元件可以包括:複數個非揮發性記憶體元件,該等非揮發性記憶體元件包括複數個區塊;以及控制器,適用於針對超級區塊產生超級區塊同位資料,該超級區塊由該等區塊中的一個或多個區塊形成。
在一個實施例中,一種資料儲存元件可以包括:複數個非揮發性 記憶體元件,該等非揮發性記憶體元件包括複數個區塊;以及控制器,適用於將複數個資料組區塊儲存在超級區塊中以及針對該等資料組區塊產生超級區塊同位資料,該超級區塊包括該等區塊之中的相同區塊偏移量(block offset)的區塊。
在一個實施例中,一種操作資料儲存元件的方法,該資料儲存元件包括複數個非揮發性記憶體元件,該方法可以包括:將複數個資料組區塊儲存在超級區塊中,該超級區塊包括該等非揮發性記憶體元件中包括的複數個區塊之中的相同區塊偏移量的區塊;以及針對該等資料組區塊產生超級區塊同位資料。
10:資料儲存元件
100:控制器
111:儲存部
1110:處理器
1120:RAM
1130:ROM
1140:ECC單元
1150:主機介面單元
1160:儲存介面單元
112:儲存部
1000:SSD
1100:SSD控制器
1200:儲存媒介
1500:主機元件
200:儲存媒介
210:非揮發性記憶體元件
210_0:非揮發性記憶體元件
210_1:非揮發性記憶體元件
210_2:非揮發性記憶體元件
210_3:非揮發性記憶體元件
211:非揮發性記憶體元件
211_0:非揮發性記憶體元件
211_1:非揮發性記憶體元件
211_2:非揮發性記憶體元件
211_3:非揮發性記憶體元件
2000:資料處理系統
2100:主處理器
2200:主記憶體元件
2300:儲存元件
2310:記憶體控制器
2320:儲存媒介
2400:輸入/輸出元件
2500:系統匯流排
2600:網路
2700:伺服器
A1~A2:資料組
B1~B2:資料組
BK0_0:區塊
BK0_1:區塊
BK1_0:區塊
BK1_1:區塊
BK2_0:區塊
BK3_0:區塊
BK40_0:區塊
BK40_1:區塊
BK41_0:區塊
BK50_0:區塊
BK51_0:區塊
C1~C4:資料組
CH0:通道
CHn:通道
D1~D2:資料組
DC0~DC7:資料組區塊
E1~E4:資料組
F1~F4:資料組
G1~G8:資料組
LP2_0:頁
LP2_2:頁
LP2_4:頁
LP2_6:頁
LP3_0:頁
LP3_2:頁
LP3_4:頁
LP3_6:頁
LP60_0:頁
LP60_2:頁
LP60_4:頁
LP60_6:頁
LP61_0:頁
LP61_2:頁
LP61_4:頁
LP61_6:頁
LP70_0:頁
LP71_0:頁
MP2_1:頁
MP2_3:頁
MP2_5:頁
MP2_7:頁
MP3_1:頁
MP3_3:頁
MP3_5:頁
MP3_7:頁
MP60_1:頁
MP60_3:頁
MP60_5:頁
MP60_7:頁
MP61_1:頁
MP61_3:頁
MP61_5:頁
MP61_7:頁
NVM0:非揮發性記憶體元件
NVMn:非揮發性記憶體元件
P0_0~P0_3:頁
P1_0~P1_3:頁
P40_0~P40_3:頁
P41_0~P41_3:頁
PLN4_0~PLN4_1:平面
PLN5_0~PLN5_1:平面
PT_A1~PT_A2:超級區塊同位資料
PT_B1~PT_B2:超級區塊同位資料
PT_C1~PT_C4:超級區塊同位資料
PT_D1~PT_D2:超級區塊同位資料
PT_E1~PT_E4:超級區塊同位資料
PT_F1~PT_F4:超級區塊同位資料
PT_G1~PT_G8:超級區塊同位資料
SB0_0~SB0_1:超級區塊
SB1_0~SB1_1:超級區塊
SB2_0~SB2_1:超級區塊
SB3_0~SB3_1:超級區塊
ST0_0~ST0_3:條帶
ST1_0~ST1_7:條帶
STP0~STP3:條帶同位資料
STP00:條帶同位資料
STP01:條帶同位資料
STP10:條帶同位資料
STP11:條帶同位資料
STP20:條帶同位資料
STP21:條帶同位資料
STP30:條帶同位資料
STP31:條帶同位資料
STP40:條帶同位資料
STP41:條帶同位資料
STP50:條帶同位資料
STP51:條帶同位資料
STP60:條帶同位資料
STP61:條帶同位資料
STP70:條帶同位資料
STP71:條帶同位資料
WLO:字元線偏移量
〔圖1〕係圖示根據一個實施例的資料儲存元件的區塊圖。
〔圖2〕係圖示圖1所示的非揮發性記憶體元件的記憶體區的示意圖。
〔圖3〕係圖示資料儲存元件用於產生針對圖2所示的記憶體區的超級區塊同位資料的方法。
〔圖4〕係圖示圖1所示的非揮發性記憶體元件的記憶體區的示意圖。
〔圖5〕係圖示資料儲存元件用於產生針對圖4所示的記憶體區的超級區塊同位資料的方法的示意圖。
〔圖6〕係圖示資料儲存元件用於產生針對圖4所示的記憶體區的超級區塊同位資料的方法的示意圖。
〔圖7〕係圖示圖1所示的非揮發性記憶體元件的記憶體區的圖。
〔圖8〕係圖示資料儲存元件用於產生針對圖7所示的記憶體區的超級區塊 同位資料的方法的示意圖。
〔圖9〕係圖示資料儲存元件用於產生針對圖7所示的記憶體區的超級區塊同位資料的方法的示意圖。
〔圖10〕係圖示圖1所示的非揮發性記憶體元件的記憶體區的示意圖。
〔圖11〕係圖示資料儲存元件用於產生針對圖10所示的記憶體區的超級區塊同位資料的方法的示意圖。
〔圖12〕係圖示資料儲存元件用於產生針對圖10所示的記憶體區的超級區塊同位資料的方法的示意圖。
〔圖13〕係圖示資料儲存元件用於產生條帶同位資料和超級區塊同位資料的方法的示意圖。
〔圖14〕係圖示資料儲存元件用於產生條帶同位資料和超級區塊同位資料的方法的示意圖。
〔圖15a〕係圖示控制器用於產生超級區塊同位資料的方法的示意圖。
〔圖15b〕係圖示控制器用於產生超級區塊同位資料的方法的示意圖。
〔圖15c〕係圖示控制器用於產生超級區塊同位資料的方法的示意圖。
〔圖15d〕係圖示控制器用於產生超級區塊同位資料的方法的示意圖。
〔圖16〕係圖示根據一個實施例的操作資料儲存元件的方法的流程圖。
〔圖17〕係圖示根據一個實施例的操作資料儲存元件的方法的流程圖。
〔圖18〕係圖示根據一個實施例的固態硬碟的區塊圖。
〔圖19〕係圖示包括資料儲存元件的資料處理系統的區塊圖。
在下文,將通過本發明的示例性實施例參照附圖來描述根據本 發明的資料儲存元件及其操作方法。然而,本申請可以採用不同的形式來實施且不應理解為限於本文所闡述的實施例。確切地說,提供這些實施例以將本申請詳細描述到本發明所屬技術領域人員能夠執行本發明的技術概念的程度。
要理解,本發明的實施例不限於圖中所示的細節,附圖不一定按比例繪製,且在一些實例中,比例可能已經誇大,以便更清楚地描繪本發明的某些特徵。儘管使用了特定的術語,但要理解的是,使用的術語僅僅是為了描述特定的實施例,而並非意圖限制本發明的範圍。
圖1是圖示根據一個實施例的資料儲存元件10的區塊圖。
資料儲存元件10可以包括控制器100和儲存媒介200。
資料儲存元件10可以由國際個人電腦記憶卡協會(PCMCIA)卡、緊湊型快閃記憶體(CF)卡、智慧媒體卡、記憶棒、多媒體卡(MMC)、嵌入式MMC(eMMC)、尺寸減小的多媒體卡(RS-MMC)和微尺寸版的MMC(MMC-micro)、安全數位(SD)卡、迷你安全數位(mini-SD)卡和微型安全數位(micro-SD)、通用快閃記憶體(UFS)和/或固態硬碟(SSD)來配置。
控制器100可以控制資料儲存元件10的一般操作。控制器100可以回應從外部元件傳送來的輸入請求來將資料儲存在儲存媒介200中,以及可以回應從外部元件傳送來的讀取請求來讀取儲存在儲存媒介200中的資料並將讀取的資料輸出到外部元件。為了儲存/讀取資料,控制器100可以根據交叉存取方案來存取包括於儲存媒介200中的非揮發性記憶體元件210和211。
控制器100可以將複數個資料組區塊儲存在超級區塊中且可以將針對複數個資料組區塊產生的超級區塊同位資料儲存在包括於儲存媒介200中的同位區域,該超級區塊包括非揮發性記憶體元件210和211中包括的複數 個區塊之中的具有相同區塊偏移量的區塊。
根據一個實施例,控制器100可以根據要儲存複數個資料組區塊的目標區域的屬性來將超級區塊的複數個資料組區塊分類為複數個資料組。控制器100可以針對複數個相應資料組產生超級區塊同位資料。控制器100可以針對形成在非揮發性記憶體元件210和211中的每一個超級區塊產生超級區塊同位資料。因為控制器100針對每一個超級區塊產生超級區塊同位資料,所以相較於比超級區塊小的記憶體區域(例如,包括超級區塊中的相同頁偏移量(page offset)的頁的條帶(stripe))的同位資料,超級區塊同位資料佔用更小的儲存空間。因此,可以改善空間利用效率。
根據一個實施例,當讀取儲存在超級區塊中的複數個資料組區塊之中的第一資料組的第一資料組區塊且確定在第一資料組區塊中已經出現錯誤或者確定第一資料組區塊的錯誤不能被錯誤校正碼(ECC)單元(未示出)的錯誤校正碼(ECC)演算法校正時,控制器100可以從儲存媒介200讀取第一資料組中除了第一資料組區塊之外的所有資料組區塊和針對第一資料組產生的超級區塊同位資料。控制器100可以基於第一資料組的其它資料組區塊和超級區塊同位資料來校正具有錯誤的第一資料組區塊。換言之,經由超級區塊同位資料,控制器100可以校正儲存的資料的錯誤。因此,可以改善資料的可靠性。
根據一個實施例,控制器100可以將複數個資料組區塊儲存在條帶(其包括每一個超級區塊中包括的複數個頁之中具有相同頁偏移量的頁)中,以及可以將針對條帶產生的條帶同位資料儲存在儲存媒介200中包括的同位區域中。
儲存媒介200可以包括非揮發性記憶體元件210和211。
非揮發性記憶體裝置可以包括快閃記憶體件,諸如NAND快閃記憶體或NOR快閃記憶體、鐵電隨機存取記憶體(FeRAM)、相變隨機存取記憶體(PCRAM)、磁阻隨機存取記憶體(MRAM)、電阻式隨機存取記憶體(ReRAM)等。
每一個非揮發性記憶體元件210和211可以在控制器100的控制下儲存從控制器100傳送來的資料組區塊,可以讀取儲存在其中的資料組區塊,以及將讀取的資料組區區塊轉送到控制器100。
儘管圖1示出包括兩個非揮發性記憶體元件210和211的儲存媒介200,但是要注意,儲存媒介200中包括的非揮發性記憶體元件的數量不限於此。
圖2是圖示圖1所示的非揮發性記憶體元件210和211的實施例210_0和211_0的記憶體區的示意圖。
非揮發性記憶體元件210_0和211_0中的每一個可以包括複數個區塊。例如,非揮發性記憶體元件210_0可以包括區塊BK0_0和BK0_1。在非揮發性記憶體元件210_0和211_0中,每一個區塊可以具有預定的區塊偏移量。例如,在非揮發性記憶體元件210_0中,區塊BK0_0的區塊偏移量可以是“0”,區塊BK0_1的區塊偏移量可以是“1”。
每一個區塊可以包括複數個頁。例如,區塊BK0_0可以包括頁P0_0至P0_3。在每一個區塊中,每一個頁可以具有預定的頁偏移量。例如,在區塊BK0_0中,頁P0_0的頁偏移量可以是“0”,頁P0_1的頁偏移量可以是“1”,頁P0_2的頁偏移量可以是“2”,頁P0_3的頁偏移量可以是“3”。在本實施例中,資料組區塊是指要儲存在頁中的資料的單位。各個資料組區塊可以 儲存在不同的頁中。
每一個頁能以對應的字元線被存取。當電耦接到字元線的記憶胞是單層式儲存(SLC)時,單個頁可以對應於單個字元線。例如,在區塊BK0_0中,頁P0_0可以對應於具有“0”的字元線偏移量(world line offset)WLO的字元線,頁P0_1可以對應於具有“1”的字元線偏移量WLO的字元線,頁P0_2可以對應於具有“2”的字元線偏移量WLO的字元線,以及頁P0_3可以對應於具有“3”的字元線偏移量WLO的字元線。在每一個區塊中,雖然各個字元線可以根據它們配置的順序而具有字元線偏移量WLO,但是要注意的是,實施例不局限於此。
超級區塊SB0_0和SB0_1可以在非揮發性記憶體元件210_0和211_0中形成。超級區塊SB0_0和SB0_1中的每一個可以包括非揮發性記憶體元件210_0和211_0中的具有相同區塊偏移量的區塊。例如,超級區塊SB0_0可以包括在相應的非揮發性記憶體元件210_0和211_0中具有區塊偏移量“0”的區塊BK0_0和BK1_0。超級區塊SB0_1可以包括在相應的非揮發性記憶體元件210_0和211_0中具有區塊偏移量“1”的區塊BK0_1和BK1_1。
在圖2所示的記憶體結構中,各個頁可以具有與彼此不同的屬性。頁的屬性可以包括例如,區塊偏移量、頁偏移量和字元線偏移量。例如,頁P0_0的屬性可以包括區塊BK0_0的區塊偏移量“0”,頁P0_0的頁偏移量“0”以及與頁P0_0相對應的字元線的字元線偏移量“0”。頁的屬性可以當作用於將複數個資料組區塊分類為複數個資料組的參考。
根據一個實施例,為了將複數個資料組區塊分類為複數個資料組,可以參考除了上述區塊偏移量、頁偏移量和字元線偏移量之外的其它參考。
圖2所示的區塊的數量、字元線的數量和頁的數量僅僅是出於圖示說明的目的,要注意的是,實施例不局限於此。
圖3是圖示資料儲存元件10用於針對圖2所示的記憶體區產生超級區塊同位資料的方法的示意圖。圖3示出針對要儲存在圖2的超級區塊SB0_0中的資料組區塊而產生的超級區塊同位資料PT_A1和PT_A2。
例如,控制器100可以根據與要儲存資料組區塊的頁相對應的字元線偏移量來將超級區塊SB0_0的資料組區塊分類為資料組A1和A2。控制器100可以將要儲存在與偶數或奇數字元線偏移量的字元線相對應的頁中的資料組區塊分類為超級區塊SB0_0中的相同資料組。例如,在各個區塊BK0_0和BK1_0中,控制器100可以將要儲存在與具有偶數字元線偏移量的字元線(即,偶數編號的字元線)相對應的頁P0_0、P0_2、P1_0和P1_2中的資料組區塊分類為資料組A1,以及可以將要儲存在與具有奇數字元線偏移量的字元線(即,奇數編號的字元線)相對應的頁P0_1、P0_3、P1_1和P1_3中的資料組區塊分類為資料組A2。在本文,零(0)被定義為偶數。下面的表1示意性地示出一種參考,通過該參考,根據與要儲存資料組區塊的頁相對應的字元線偏移量,資料組區塊在超級區塊SB0_0中被分類為資料組A1和A2。
Figure 105104518-A0305-02-0010-1
控制器100可以分別針對資料組A1和A2產生超級區塊同位資 料PT_A1和PT_A2。例如,控制器100可以針對分類為資料組A1的資料組區塊產生超級區塊同位資料PT_A1。控制器100可以將資料組區塊儲存在超級區塊SB0_0中,以及可以將超級區塊同位資料PT_A1和PT_A2儲存在儲存媒介200中所預定的同位區中。
根據一個實施例,在儲存媒介200中,要儲存超級區塊同位資料PT_A1和PT_A2的同位區可以與超級區塊SB0_0分離。同位區可以被包括在儲存媒介200中的除了非揮發性記憶體元件210_0和211_0之外的另一個非揮發性記憶體元件(未示出)中。在一個實施例中,同位區可以被包括在超級區塊SB0_0中。同位區可以是超級區塊SB0_0中的最後頁P0_3和P1_3。在此情況下,可以針對要儲存在頁P0_0、P0_2、P1_0和P1_2中的資料組區塊產生超級區塊同位資料PT_A1,以及可以針對要儲存在頁P0_1和P1_1中的資料組區塊產生超級區塊同位資料PT_A2。
在資料組區塊被儲存在超級區塊SB0_0之後,在儲存於例如,頁P0_0中的資料組區塊中出現錯誤位元的情況下,由於非揮發性記憶體元件的結構特性,很有可能甚至在儲存於頁P0_1中的資料組區塊中出現錯誤位元。換言之,儲存在與相鄰字元線相對應的頁P0_0和P0_1中的資料組區塊可能相互影響且可能同時包括錯誤位元。然而,如圖3所示,當存在針對各個資料組A1和A2的超級區塊同位資料PT_A1和PT_A2時,儲存在頁P0_0中的資料組區塊中出現的錯誤位元可以通過使用包括在資料組A1中的其餘資料組區塊和超級區塊同位資料PT_A1來校正,以及,儲存在頁P0_1中的資料組區塊中所出現的錯誤位元可以通過使用包括在資料組A2中的其餘資料組區塊和超級區塊同位資料PT_A2來校正。
總之,為了校正在與相鄰字元線相對應的頁出現中的錯誤位元,要儲存在與相鄰字元線相對應的頁中的資料組區塊可以被分類為不同的資料組。根據一個實施例,在每一個區塊中,控制器100可以將資料組區塊分類為複數個資料組,使得要儲存在與相鄰字元線相對應的頁中的資料組區塊被分類為不同的資料組。在每一個區塊中,控制器100可以將與偶數編號的字元線或奇數編號的字元線相對應的資料組區塊分類為相同資料組。例如,在每一個區塊中,當控制器100將與由“k”個字元線(k是自然數)分離的字元線相對應的資料組區塊分類為相同的資料組時,控制器100可以將要儲存在單個超級區塊中的資料組區塊分類為“k+1”個資料組,且可以產生分別對應於資料組的“k+1”個超級區塊同位資料。
圖4是圖示意圖1所示的非揮發性記憶體元件210和211的實施例210_1和211_1的記憶體區的示意圖。
除了每一個記憶胞是儲存兩個位的多層式儲存(MLC)之外,非揮發性記憶體元件210_1和211_1可以與圖2所示的非揮發性記憶體元件210_0和211_0實質相似地配置。
參見圖4,當每一個記憶胞是MLC時,兩個頁可以對應於單個字元線。例如,在區塊BK2_0中,頁LP2_0和MP2_1可以對應於具有“0”的字元線偏移量WLO的字元線,頁LP2_2和MP2_3可以對應於具有“1”的字元線偏移量WLO的字元線,頁LP2_4和MP2_5可以對應於具有“2”的字元線偏移量WLO的字元線,以及頁LP2_6和MP2_7可以對應於具有“3”的字元線偏移量WLO的字元線。
一起對應於單個字元線的頁可以根據位元之中的哪個位元要儲 存在頁中而分成不同類型的頁(例如,最低有效位(LSB)頁和最高有效位(MSB)頁)。詳細地,要儲存LSB資料的頁可以是LSB頁,要儲存MSB資料的頁可以是MSB頁。在一起對應於單個字元線的兩個頁之中,偶數頁偏移量的頁可以是LSB頁,奇數頁偏移量的頁可以是MSB頁。例如,在區塊BK2_0中,頁LP2_0可以是LSB頁,頁MP2_1可以是MSB頁。
根據一個實施例,可以在每一個記憶胞中儲存至少3個位的資料。在每一個記憶胞儲存複數個位(例如“n”個位)的情況下,可以存在“n”個不同的頁類型。
圖5和圖6是圖示資料儲存元件10用於針對圖4所示的記憶體區產生超級區塊同位資料的方法的示意圖。圖5圖示針對要儲存在圖4的超級區塊SB1_0中的資料組區塊所產生的超級區塊同位資料PT_B1和PT_B2,圖6圖示超級區塊同位資料PT_C1至PT_C4。
參見圖5,控制器100可以根據要儲存資料組區塊的頁的頁類型而將超級區塊SB1_0的資料組區塊分類為資料組B1和B2。例如,在區塊BK2_0中,控制器100可以將要儲存在LSB頁LP2_0、LP2_2、LP2_4和LP2_6中的資料組區塊分類為資料組B1,以及可以將要儲存在MSB頁MP2_1、MP2_3、MP2_5和MP2_7中的資料組區塊分類為資料組B2。即使對於區塊BK3_0,控制器100也可以以與區塊BK2_0相同的方式來將資料組區塊分類為資料組B1和B2。表2.1示意性地示出一種參考,通過該參考,根據要儲存資料組區塊的頁的頁類型,資料組區塊在超級區塊SB1_0中被分類為資料組B1和B2。
Figure 105104518-A0305-02-0014-2
控制器100可以分別針對資料組B1和B2產生超級區塊同位資料PT_B1和PT_B2。控制器100可以將資料組區塊儲存在超級區塊SB1_0中,以及可以將超級區塊同位資料PT_B1和PT_B2儲存在儲存媒介200中所預定的同位區中。
在資料組區塊儲存在超級區塊SB1_0之後,當儲存在例如,頁LP2_0中的資料組區塊中出現錯誤位元時,由於非揮發性記憶體元件的結構特性,很有可能在儲存於頁MP2_1中的資料組區塊中出現錯誤位元。也就是說,儲存在與相同字元線相對應的頁LP2_0和MP2_1中的資料組區塊可能彼此影響且可能同時包括錯誤位元。然而,如圖5所示,當存在針對各個資料組B1和B2的超級區塊同位資料PT_B1和PT_B2時,儲存在頁LP2_0中的資料組區塊中出現的錯誤位元可以通過使用包括在資料組B1中的其餘資料組區塊和超級區塊同位資料PT_B1來校正,以及儲存在頁MP2_1中的資料組區塊中出現的錯誤位元可以通過使用包括在資料組B2中的其餘資料組區塊和超級區塊同位資料PT_B2來校正。
根據一個實施例,當在每一個記憶胞中儲存“m”個位且存在“m”個頁類型時,控制器100可以根據“m”個頁類型而將資料組區塊分類為m個資料組,並且可以產生分別對應於“m”個資料組的“m”個超級區塊同位 資料。
參見圖6,控制器100可以根據與要儲存資料組區塊的頁相對應的字元線偏移量和頁類型,來將超級區塊SB1_0的資料組區塊分類為資料組C1至C4。例如,在區塊BK2_0中,控制器100可以將要儲存在與偶數字元線偏移量相對應的LSB頁LP2_0和LP2_4中的資料組區塊分類為資料組C1。此外,在區塊BK2_0中,控制器100可以將要儲存在與偶數字元線偏移量相對應的MSB頁MP2_1和MP2_5中的資料組區塊分類為資料組C2。此外,在區塊BK2_0中,控制器100可以將要儲存在與奇數字元線偏移量相對應的LSB頁LP2_2和LP2_6中的資料組區塊分類為資料組C3。另外,在區塊BK2_0中,控制器100可以將要儲存在與奇數字元線偏移量相對應的MSB頁MP2_3和MP2_7中的資料組區塊分類為資料組C4。即使對於區塊BK3_0,控制器100也可以以與區塊BK2_0相同的方式來將資料組區塊分類為資料組C1至C4。表2.2示意性地示出一種參考,通過該參考,根據要儲存資料組區塊的頁的頁類型和字元線偏移量,資料組區塊在超級區塊SB1_0中被分類為資料組C1至C4。
Figure 105104518-A0305-02-0015-3
控制器100可以分別針對資料組C1至C4產生超級區塊同位資 料PT_C1至PT_C4。控制器100可以將資料組區塊儲存在超級區塊SB1_0中,以及可以將超級區塊同位資料PT_C1至PT_C4儲存在儲存媒介200中所預定的同位區中。
如圖6所示,當存在針對各個資料組C1至C4的超級區塊同位資料PT_C1至PT_C4時,可以校正同時出現在與相鄰字元線相對應的各個頁中的錯誤位元以及同時出現在與相同字元線相對應的各個頁中的錯誤位元。
根據一個實施例,如參照圖3描述的,控制器100可以根據與要儲存資料組區塊的頁相對應的字元線偏移量而將超級區塊SB1_0的資料組區塊分類為複數個資料組,且可以產生複數個超級區塊同位資料。
圖7是圖示意圖1所示的非揮發性記憶體元件210和211的實施例210_2和211_2的記憶體區的示意圖。
非揮發性記憶體元件210_2和211_2可以包括兩個平面。例如,非揮發性記憶體元件210_2可以包括平面PLN4_0和PLN4_1。在非揮發性記憶體元件210_2和211_2中的每一個中,每一個平面可以具有預定的平面偏移量(plane offset)。例如,在非揮發性記憶體元件210_2中,平面PLN4_0的平面偏移量可以是“0”,平面PLN4_1的平面偏移量可以是“1”。
每一個平面可以包括複數個區塊。例如,平面PLN4_0可以包括區塊BK40_0和BK40_1。在平面PLN4_0、PLN4_1、PLN5_0和PLN5_1中的每一個中,每一個區塊可以具有預定的區塊偏移量。每一個區塊的詳細配置可以與上面參照圖2描述的區塊BK0_0的配置實質相同。
超級區塊SB2_0和SB2_1中的每一個可以包括非揮發性記憶體元件210_2和211_2中的具有相同區塊偏移量的區塊。例如,超級區塊SB2_0 可以包括在非揮發性記憶體元件210_2的各個平面PLN4_0和PLN4_1中具有區塊偏移量“0”的區塊BK40_0和BK41_0,以及可以包括在非揮發性記憶體元件211_2的各個平面PLN5_0和PLN5_1中具有區塊偏移量“0”的區塊BK50_0和BK51_0。
根據一個實施例,非揮發性記憶體元件210_2和211_2中的每一個可以包括至少三個平面。
圖8和圖9是圖示資料儲存元件10用於針對圖7所示的記憶體區產生超級區塊同位資料的方法的示意圖。圖8圖示針對要儲存在圖7的超級區塊SB2_0中的資料組區塊所產生的超級區塊同位資料PT_D1和PT_D2,圖9圖示超級區塊同位資料PT_E1至PT_E4。
參見圖8,控制器100可以根據與要儲存資料組區塊的頁相對應的平面偏移量來將超級區塊SB2_0的資料組區塊分類為資料組D1和D2。例如,在非揮發性記憶體元件210_2中,控制器100可以將要儲存在與平面偏移量“0”相對應的頁P40_0至P40_3中的資料組區塊分類為資料組D1,以及可以將要儲存在與平面偏移量“1”相對應的頁P41_0至P41_3中的資料組區塊分類為資料組D2。此外,對於非揮發性記憶體元件211_2,控制器100可以以與非揮發性記憶體元件210_2相同的方式來將資料組區塊分類為資料組D1和D2。表格3.1示意性地示出一種參考,通過該參考,根據與要儲存資料組區塊的頁相對應的平面偏移量,資料組區塊在超級區塊SB2_0中被分類為資料組D1和D2。
Figure 105104518-A0305-02-0018-4
控制器100可以分別針對資料組D1和D2產生超級區塊同位資料PT_D1和PT_D2。控制器100可以將資料組區塊儲存在超級區塊SB2_0中,以及可以將超級區塊同位資料PT_D1和PT_D2儲存在儲存媒介200中所預定的同位區中。
在資料組區塊儲存在超級區塊SB2_0中之後,當儲存在例如,頁P40_0中的資料組區塊中出現錯誤位元時,由於非揮發性記憶體元件的結構特性,很有可能在儲存於頁P41_0中的資料組區塊中出現錯誤位元。換言之,在各個平面PLN4_0和PLN4_1中的與相同字元線偏移量相對應的頁P40_0和P41_0中儲存的資料組區塊可以分別同時包括錯誤位元。然而,如圖8所示,當存在針對各個資料組D1和D2的超級區塊同位資料PT_D1和PT_D2時,可以通過使用資料組D1中包括的其餘資料組區塊和超級區塊同位資料PT_D1來校正儲存在頁P40_0中的資料組區塊中出現的錯誤位元,以及可以通過使用資料組D2中包括的其餘資料組區塊和超級區塊同位資料PT_D2來校正儲存在頁P41_0中的資料組區塊中出現的錯誤位元。
根據一個實施例,當非揮發性記憶體元件包括“n”個平面時,控制器100可以根據平面偏移量而將資料組區塊分類為“n”個資料組,並且可以產生分別對應於“n”個資料組的“n”個超級區塊同位資料。
參見圖9,控制器100可以根據與要儲存資料組區塊的頁相對應的平面偏移量和字元線偏移量來將超級區塊SB2_0的資料組區塊分類為資料組E1至E4。例如,在非揮發性記憶體元件210_2中,控制器100可以將要儲存在與平面偏移量“0”相對應且與偶數字元線偏移量相對應的頁P40_0和P40_2中的資料組區塊分類為資料組E1。此外,在非揮發性記憶體元件210_2中,控制器100可以將要儲存在與平面偏移量“0”相對應且與奇數字元線偏移量相對應的頁P40_1和P40_3中的資料組區塊分類為資料組E2。此外,在非揮發性記憶體元件210_2中,控制器100可以將要儲存在與平面偏移量“1”相對應且與偶數字元線偏移量相對應的頁P41_0和P41_2中的資料組區塊分類為資料組E3。另外,在非揮發性記憶體元件210_2中,控制器100可以將要儲存在與平面偏移量“1”相對應且與奇數字元線偏移量相對應的頁P41_1和P41_3中的資料組區塊分類為資料組E4。此外,對於非揮發性記憶體元件211_2,控制器100可以以與非揮發性記憶體元件210_2相同的方式來將資料組區塊分類為資料組E1至E4。表3.2示意性地示出一種參考,通過該參考,根據與要儲存資料組區塊的頁相對應的平面偏移量和字元線偏移量,資料組區塊在超級區塊SB2_0中被分類為資料組E1至E4。
Figure 105104518-A0305-02-0019-5
控制器100可以分別針對資料組E1至E4產生超級區塊同位資料PT_E1至PT_E4。控制器100可以將資料組區塊儲存在超級區塊SB2_0中,以及可以將超級區塊同位資料PT_E1至PT_E4儲存在儲存媒介200中所預定的同位區中。
如圖9所示,當針對各個資料組E1至E4存在超級區塊同位資料PT_E1至PT_E4時,可以校正在與相同字元線偏移量相對應的各個頁中同時出現的錯誤位元和在與相鄰字元線相對應的各個頁中同時出現的錯誤位元。
根據一個實施例,如上面參照圖3描述的,控制器100可以根據要儲存資料組區塊的頁的字元線偏移量來將超級區塊SB2_0的資料組區塊分類為複數個資料組,以及可以產生複數個超級區塊同位資料。
圖10是圖示圖1所示的非揮發性記憶體元件210和211的實施例210_3和211_3的記憶體區的示意圖。
除了每一個記憶胞是MLC之外,非揮發性記憶體元件210_3和211_3可以與圖7所示的非揮發性記憶體元件210_2和211_2實質上相似地配置。
超級區塊SB3_0和SB3_1中的每一個可以包括在非揮發性記憶體元件210_3和211_3中具有相同區塊偏移量的區塊。
圖11和圖12是圖示資料儲存元件10用於針對圖10所示的記憶體區產生超級區塊同位資料的方法的示意圖。圖11圖示針對要儲存在圖10的超級區塊SB3_0中的資料組區塊所產生的超級區塊同位資料PT_F1至PT_F4,以及圖12圖示超級區塊同位資料PT_G1至PT_G8。
參見圖11,控制器100可以根據與要儲存資料組區塊的頁相對 應的平面偏移量和頁類型來將超級區塊SB3_0的資料組區塊分類為資料組F1至F4。例如,在非揮發性記憶體元件210_3中,控制器100可以將要儲存在與平面偏移量“0”相對應的LSB頁LP60_0、LP60_2、LP60_4和LP60_6中的資料組區塊分類為資料組F1。此外,在非揮發性記憶體元件210_3中,控制器100可以將要儲存在與平面偏移量“0”相對應的MSB頁MP60_1、MP60_3、MP60_5和MP60_7中的資料組區塊分類為資料組F2。進一步地,在非揮發性記憶體元件210_3中,控制器100可以將要儲存在與平面偏移量“1相對應的LSB頁LP61_0、LP61_2、LP61_4和LP61_6中的資料組區塊分類為資料組F3。另外,在非揮發性記憶體元件210_3中,控制器100可以將要儲存在與平面偏移量“1”相對應的MSB頁MP61_1、MP61_3、MP61_5和MP61_7中的資料組區塊分類為資料組F4。此外,對於非揮發性記憶體元件211_3,控制器100可以以相同的方式來將資料組區塊分類為資料組F1至F4。表4.1示意性地示出一種參考,通過該參考,根據與要儲存資料組區塊的頁相對應的平面偏移量和頁類型,資料組區塊在超級區塊SB3_0中被分類為資料組F1至F4。
Figure 105104518-A0305-02-0021-6
控制器100可以分別針對資料組F1至F4產生超級區塊同位資料PT_F1至PT_F4。控制器100可以將資料組區塊儲存在超級區塊SB3_0中, 以及可以將超級區塊同位資料PT_F1至PT_F4儲存在儲存媒介200中所預定的同位區中。
如圖11所示,當針對各個資料組F1至F4存在超級區塊同位資料PT_F1至PT_F4時,可以校正在與相同字元線偏移量相對應的各個頁中同時出現的錯誤位元和在與相同字元線相對應的各個頁中同時出現的錯誤位元。
參見圖12,控制器100可以根據與要儲存資料組區塊的頁相對應的平面偏移量、字元線偏移量和頁類型來將超級區塊SB3_0的資料組區塊分類為資料組G1至G8。例如,在非揮發性記憶體元件210_3中,控制器100可以將要儲存在與平面偏移量“0”相對應的、與偶數字元線偏移量相對應的LSB頁LP60_0和LP60_4中的資料組區塊分類為資料組G1。表4.2示意性地示出一種參考,通過該參考,根據與要儲存資料組區塊的頁相對應的平面偏移量、字元線偏移量和頁類型,資料組區塊在超級區塊SB3_0中被分類為資料組G1至G8。
Figure 105104518-A0305-02-0022-7
控制器100可以分別針對資料組G1至G8產生超級區塊同位資料PT_G1至PT_G8。控制器100可以將資料組區塊儲存在超級區塊SB3_0中,以及可以將超級區塊同位資料PT_G1至PT_G8儲存在儲存媒介200中所預定的同位區中。
如圖12所示,當針對各個資料組G1至G8存在超級區塊同位資料PT_G1至PT_G8時,可以校正在與相同字元線偏移量相對應的各個頁中同時出現的錯誤位元、在與相鄰字元線相對應的各個頁中同時出現的錯誤位元、以及在與相同字元線相對應的各個頁中同時出現的錯誤位元。
根據一個實施例,控制器100可以根據與要儲存資料組區塊的頁相對應的平面偏移量、字元線偏移量和頁類型中的至少一個來將超級區塊SB3_0的資料組區塊分類為複數個資料組,以及可以產生複數個超級區塊同位資料。
圖13是圖示資料儲存元件10用於產生條帶同位資料和超級區塊同位資料的方法的示意圖。圖13圖示針對要儲存在圖2的超級區塊SB0_0中的資料組區塊所產生的條帶同位資料STP0至STP3以及超級區塊同位資料PT_A1和PT_A2。
條帶ST0_0至ST0_3中的每一個可以包括超級區塊SB0_0中的具有相同頁偏移量的頁。例如,條帶ST0_0可以包括在超級區塊SB0_0中具有頁偏移量“0”的頁P0_0和P1_0。當將資料組區塊儲存在超級區塊SB0_0中時,控制器100可以例如從條帶ST0_0開始以條帶為單位順序地儲存資料組區塊。
控制器100可以分別針對要儲存在條帶ST0_0至ST0_3中的資 料組區塊產生條帶同位資料STP0至STP3。條帶同位資料STP0至STP3可以針對條帶ST0_0至ST0_3而產生。例如,控制器100可以針對要儲存在條帶ST0_0中的資料組區塊產生條帶同位資料STP0。控制器100可以將資料組區塊儲存在條帶ST0_0中,以及可以將條帶同位資料STP0儲存在預定的同位區中。
與超級區塊同位資料相似,條帶同位資料可以用來校正資料組區塊中的錯誤位元。例如,當在儲存在頁P0_0中的資料組區塊中出現錯誤位元時,控制器100可以從儲存媒介200讀取包括在條帶ST0_0中的頁P0_0和P1_0中儲存的資料組區塊,以及與條帶ST0_0相對應的條帶同位資料STP0,並且可以基於讀取的資料組區塊和讀取的條帶同位資料STP0來校正錯誤位元。
根據一個實施例,控制器100可以通過使用條帶同位資料STP0至STP3代替要儲存在超級區塊SB0_0中的資料組區塊,來產生超級區塊同位資料PT_A1和PT_A2。換言之,通過對針對相同資料組中包括的資料組區塊所產生的複數個條帶同位資料執行邏輯操作,控制器100可以針對相應的資料組產生超級區塊同位資料。例如,通過對針對資料組A1中包括的資料組區塊所產生的條帶同位資料STP0和STP2執行邏輯操作,控制器100可以針對資料組A1產生超級區塊同位資料PT_A1。
根據一個實施例,當針對各個條帶ST0_0至ST0_3順序地產生條帶同位資料STP0至STP3時,僅最近輸入的針對預定數量的條帶的條帶同位資料可以被保留。這是因為連續地管理針對各個條帶ST0_0至ST0_3的所有條帶同位資料STP0至STP3會是相當繁重的。因此,僅最近輸入的且易受後續輸入操作影響而出現錯誤的一些條帶的條帶同位資料可以保留在控制器100或儲存媒介200的同位區中。
根據實施例,由於超級區塊同位資料具有比條帶同位資料小的尺寸,因此會需要更小的同位區。因此,可以減少儲存管理方面的負擔,且可以改善空間利用效率。此外,即使條帶同位資料未被保留,由於在儲存於儲存媒介200中的資料組區塊中出現的錯誤位元可以經由超級區塊同位資料來校正,因此仍可以改善資料的可靠性。
圖14是圖示資料儲存元件10用於產生條帶同位資料和超級區塊同位資料的方法的示意圖。圖14圖示針對要儲存在圖10的超級區塊SB3_0中的資料組區塊所產生的條帶同位資料SPT00至SPT71和超級區塊同位資料PT_G1至PT_G8。
參見圖14,超級區塊SB3_0可以包括條帶ST1_0至ST1_7。控制器100可以針對條帶ST1_0至ST1_7中的每一個產生兩個條帶同位資料。根據與包括在條帶中的資料組區塊相對應的平面偏移量,控制器100可以將要儲存在條帶中的資料組區塊進行分類,並且可以產生條帶同位資料。例如,在條帶ST1_0中,控制器100可以針對要儲存在與平面偏移量“0”相對應的頁LP60_0和LP70_0中的資料組區塊產生條帶同位資料STP00,以及可以針對要儲存在與平面偏移量“1”相對應的頁LP61_0和LP71_0中的資料組區塊產生條帶同位資料STP01。以此方式,當針對條帶ST1_0的條帶同位資料STP00和STP01兩者都存在時,可以校正在與相同字元線偏移量相對應的頁(例如,頁LP60_0和LP61_0)中儲存的各個資料組區塊中同時出現的錯誤位元。
根據一個實施例,控制器100可以通過使用條帶同位資料STP00至STP71代替要儲存在超級區塊SB3_0中的資料組區塊來產生超級區塊同位資料PT_G1至PT_G8。例如,通過對針對資料組G1中包括的資料組區塊所產生 的條帶同位資料STP00和STP40執行邏輯操作,控制器100可以針對資料組G1產生超級區塊同位資料PT_G1。
圖15a至15d是圖示控制器100用於產生超級區塊同位資料的方法的示意圖。在圖15a至15d中,如上面參照圖3描述的,控制器100可以根據與要儲存資料組區塊的頁相對應的字元線偏移量WLO來將超級區塊SB0_0的資料組區塊分類為資料組A1和A2,以及可以產生超級區塊同位資料PT_A1和PT_A2。
為了針對資料組A1產生超級區塊同位資料PT_A1,控制器100可以包括儲存部111,儲存部111用於儲存對資料組A1中包括的資料組區塊執行邏輯操作(例如,互斥或(XOR)邏輯操作)的結果。此外,為了針對資料組A2產生超級區塊同位資料PT_A2,控制器100可以包括儲存部112,儲存部112用於儲存對資料組A2中包括的資料組區塊執行邏輯操作(例如,互斥或(XOR)邏輯操作)的結果。
根據一個實施例,控制器100中要包括的儲存部的數量可以取決於要產生的超級區塊同位資料的數量。
參見圖15a,控制器100可以根據與要儲存資料組區塊DC0的頁相對應的字元線偏移量WLO來將要儲存在超級區塊SB0_0中的資料組區塊DC0分類為資料組A1。控制器100可以將資料組區塊DC0儲存在儲存部111中。控制器100可以將資料組區塊DC0儲存在超級區塊SB0_0中。
參見圖15b,控制器100可以根據與要儲存資料組區塊DC1的頁相對應的字元線偏移量WLO來將要儲存在超級區塊SB0_0中的資料組區塊DC1分類為資料組A1。控制器100可以對資料組區塊DC0和資料組區塊DC1 執行邏輯操作,以及可以將邏輯操作的結果儲存在儲存部111中。控制器100可以將資料組區塊DC1儲存在超級區塊SB0_0中。
參見圖15c,控制器100可以根據與要儲存資料組區塊DC2的頁相對應的字元線偏移量WLO來將要儲存在超級區塊SB0_0中的資料組區塊DC2分類為資料組A2。控制器100可以將資料組區塊DC2儲存在儲存部112中。控制器100可以將資料組區塊DC2儲存在超級區塊SB0_0中。
參見圖15d,控制器100可以將資料組區塊DC3至DC7分類為資料組A1和A2,可以根據這種分類來執行邏輯操作,以及可以將邏輯操作的結果儲存在儲存部111和112中。當超級區塊SB0_0充滿資料組區塊時,控制器100可以將儲存在儲存部111和112中的邏輯操作結果作為超級區塊同位資料PT_A1和PT_A2儲存在儲存媒介200的預定同位區中。
雖然未示出,但是控制器100也可以以與上面參照圖15a至15d描述的方式實質相同方式來產生條帶同位資料。控制器100還可以包括與條帶同位資料相對應的儲存部。
圖16是圖示根據一個實施例的操作資料儲存元件10的方法的流程圖。圖16示出資料儲存元件10用於產生超級區塊同位資料的方法。
在步驟S110,控制器100可以根據要儲存複數個資料組區塊的超級區塊的目標區域的屬性,來將超級區塊的複數個資料組區塊分類為複數個資料組。目標區域的屬性可以是平面偏移量、字元線偏移量、頁偏移量和頁類型之中的至少一個。
在步驟S120,控制器100可以針對複數個相應的資料組來產生超級區塊同位資料。控制器100可以通過對分類為相同資料組的資料組區塊執 行邏輯操作來產生對應的超級區塊同位資料。
在步驟S130,控制器100可以將複數個資料組區塊儲存在超級區塊中。控制器100可以將已被執行了用於產生超級區塊同位資料的邏輯操作的資料組區塊儲存在超級區塊中。
在步驟S140,控制器100可以將超級區塊同位資料儲存在儲存媒介200的同位區中。
圖17是圖示根據一個實施例的操作資料儲存元件10的方法的流程圖。圖17示出資料儲存元件10用於經由超級區塊同位資料來校正儲存的資料組區塊的錯誤位元的方法。
在步驟S210,控制器100可以檢測分類為複數個資料組之中的第一資料組的資料組區塊中的錯誤位元。例如,控制器100可以在讀取儲存在儲存媒介200中的資料組區塊時檢測資料組區塊中的錯誤位元。
在步驟S220,控制器100可以從儲存媒介200讀取分類為第一資料組的資料組區塊和針對第一資料組產生的超級區塊同位資料。控制器100可以從儲存媒介200讀取除具有錯誤位元的資料組區塊之外的其餘資料組區塊。
在步驟S230,控制器100可以基於讀取的第一資料組和讀取的超級區塊同位資料來校正錯誤位元。
圖18是圖示根據一個實施例的固態硬碟(SSD)1000的區塊圖。
SSD 1000可以包括SSD控制器1100和儲存媒介1200。
SSD控制器1100可以控制主機元件1500與儲存媒介1200之間的資料交換。SSD控制器1100可以以與圖1的控制器100實質相似的方式來操作。SSD控制器1100可以包括處理器1110、RAM 1120、ROM 1130、ECC單元 1140、主機介面單元1150和儲存介面單元1160。
處理器可以控制SSD控制器1100的一般操作。處理器1110可以根據來自主機元件1500的請求來將資料儲存在儲存媒介1200中以及從儲存媒介1200讀取儲存的資料。為了有效管理儲存媒介1200,處理器1110可以控制SSD 1000的內部操作,諸如合併操作、磨損均衡操作等。
RAM 1120可以儲存要由處理器1110使用的程式和程式資料。RAM 1120可以在將從主機介面單元1150傳送來的資料傳送到儲存媒介1200之前,暫時儲存該資料,以及可以在將從儲存媒介1200傳送來的資料傳送到主機元件1500之前,暫時儲存該資料。
ROM 1130可以儲存要由處理器1110讀取的程式碼。程式碼可以包括要由處理器1110處理的命令,用於處理器1110控制SSD控制器1100的內部單元。
ECC單元1140可以對要儲存在儲存媒介1200中的資料進行編碼,且可以對從儲存媒介1200讀取的資料進行解碼。ECC單元1140可以根據ECC演算法來檢測和校正資料中出現的錯誤。
主機介面單元1150可以與主機元件1500交換請求、資料等。
儲存介面單元1160可以將控制信號和資料傳送到儲存媒介1200。可以從儲存媒介1200傳送資料給儲存介面單元1160。儲存介面單元1160可以經由複數個通道CH0至CHn與儲存媒介1200電耦接。
儲存媒介1200可以包括複數個非揮發性記憶體元件NVM0至NVMn。與圖1所示的非揮發性記憶體元件210和211類似,複數個非揮發性記憶體元件NVM0至NVMn中的每一個可以根據SSD控制器1100的控制來儲存 資料組區塊和超級區塊同位資料。
圖19是圖示包括資料儲存元件10的資料處理系統2000的區塊圖。
資料處理系統2000可以包括電腦、筆記本型電腦、小筆電、智慧型手機、數位電視、數位相機、導航器等。資料處理系統2000可以包括主處理器2100、主記憶體元件2200、儲存元件2300和輸入/輸出元件2400。資料處理系統2000的內部單元可以經由系統匯流排2500交換資料、控制信號等。
主處理器2100可以控制資料處理系統2000的一般操作。例如,主處理器2100可以是中央處理單元,諸如微處理器。主處理器2100可以在主記憶體元件2200上執行作業系統、應用程式、元件驅動程式等的軟體。
主記憶體元件2200可以儲存要由主處理器2100使用的程式和程式資料。主記憶體元件2200可以暫時儲存要傳送給儲存元件2300和輸入/輸出元件2400的資料。
儲存元件2300可以包括記憶體控制器2310和儲存媒介2320。儲存元件2300可以以與圖1所示的資料儲存元件10實質相同的方式來配置和操作。
輸入/輸出元件2400可以包括能夠與使用者交換資料(諸如從使用者接收用於控制資料處理系統2000的命令或者向用戶提供處理過的結果)的鍵盤、掃描器、觸控式螢幕、滑鼠等。
根據一個實施例,資料處理系統2000可以經由網路2600(諸如區域網路(LAN)、廣域網路(WAN)、無線網路等)與至少一個伺服器2700通信。資料處理系統2000可以包括網路介面單元(未示出)以存取網路2600。
儘管上面已經描述了各種實施例,但是本領域技術人員將理解,描述的實施例僅僅是示例。因此,不應基於描述的實施例來限制本文描述的資料儲存元件及其操作方法。
10:資料儲存元件
100:控制器
200:儲存媒介
210:非揮發性記憶體元件
211:非揮發性記憶體元件

Claims (14)

  1. 一種資料儲存元件,包括:複數個非揮發性記憶體元件,包括複數個區塊,該等區塊包括藉由複數個字元線存取的複數個頁,該等字元線中的每一個至少對應於最低有效位頁以及最高有效位頁;以及控制器,適用於將複數個資料組區塊儲存在在該等頁中,適用於產生儲存於最低有效位頁的資料組區塊的第一超級區塊同位資料,且該等最低有效位頁對應於該等字元線中的偶數字元線,適用於產生儲存於最高有效位頁的資料組區塊的第二超級區塊同位資料,且該等最高有效位頁對應於該等偶數字元線,適用於產生儲存於最低有效位頁的資料組區塊的第三超級區塊同位資料,且該等最低有效位頁對應於該等字元線中的奇數字元線,以及適用於產生儲存於最高有效位頁的資料組區塊的第四超級區塊同位資料,且該等最高有效位頁對應於該等奇數字元線,其中該控制器包括對應於該等頁的不同屬性的記憶體,並根據該等資料組區塊中的資料組區塊所儲存的頁的屬性來將該資料組區塊分類為複數個屬性中的一屬性,該控制器以該資料組區塊以及預儲存於對應至該資料組區塊的屬性的記憶體的超級區塊同位資料來計算新超級區塊同位資料,並將該新超級區塊同位資料儲存於該記憶體中來產生與該資料組區塊相關聯的超級區塊同位資料。
  2. 如申請專利範圍第1項所述之資料儲存元件,其中,控制器根據該等頁的屬性來將該等資料組區塊分類為複數個資料組,以及針對相應的該等資料組產生該超級區塊同位資料。
  3. 如申請專利範圍第1項所述之資料儲存元件,其中,控制器產生與該等條帶相對應的條帶同位資料,該等條帶中的每一個包括該等頁中具有相同頁偏移量的頁,且該等資料組區塊儲存於該等頁中。
  4. 如申請專利範圍第3項所述之資料儲存元件,其中,控制器基於該條帶同位資料來產生該第一至該第四超級區塊同位資料。
  5. 一種資料儲存元件,其包括:複數個非揮發性記憶體元件,包括複數個區塊,該等區塊包括藉由複數個字元線存取的複數個頁,該等字元線中的每一個至少對應於最低有效位頁以及最高有效位頁,該等非揮發性記憶體元件包括第一平面以及第二平面,該第一平面包括該等區塊中的第一區塊,該第二平面包括該等區塊中的第二區塊;以及控制器,適用於將複數個資料組區塊儲存在該等頁中,適用於產生該等資料組區塊的第一超級區塊同位資料,且該等資料組區塊儲存於該等第一平面的最低有效位頁,適用於產生該等資料組區塊的第二超級區塊同位資料,且該等資料組區塊儲存於該等第一平面的最高有效位頁,適用於產生該等資料組區塊的第三超級區塊同位資料,且該等資料組區塊儲存於該等第二平面的最低有效位頁,適用於產生該等資料組區塊的第四超級區塊同位資料,且該等資料組區塊儲存於該等第二平面的最高有效位頁,其中該控制器包括對應於該等頁的不同屬性的記憶體,並根據該等資料組區塊中的資料組區塊所儲存的頁的屬性來將該資料組區塊分類為複數個屬性中的一屬性,該控制器以該資料組區塊以及預儲存於對應至該資料組區塊的屬性的記憶體的超級區塊同位資料來計算新超級區塊同位資料,並將該新 超級區塊同位資料儲存於該記憶體中來產生與該資料組區塊相關聯的超級區塊同位資料。
  6. 如申請專利範圍第5項所述之資料儲存元件,其中,該控制器根據該等頁的屬性來將該等資料組區塊分類為複數個資料組,以及針對相應的該等資料組產生超級區塊同位資料。
  7. 如申請專利範圍第6項所述之資料儲存元件,其中,該控制器基於分類為該等資料組中的第一資料組的其它資料組區塊以及基於針對第一資料組的超級區塊同位資料中的一個,來校正分類為第一資料組的資料組區塊中的一個資料組區塊的錯誤位元。
  8. 如申請專利範圍第5項所述之資料儲存元件,其中,該控制器產生與複數個條帶相對應的條帶同位資料,該等條帶中的每一個包括該等頁中具有相同頁偏移量的頁,且該等資料組區塊儲存於該等頁中。
  9. 如申請專利範圍第8項所述之資料儲存元件,其中,該控制器基於該條帶同位資料來產生該第一至該第四超級區塊同位資料。
  10. 一種資料儲存元件,其包括:複數個非揮發性記憶體元件,包括複數個區塊,該等區塊包括藉由複數個字元線存取的複數個頁,該等字元線中的每一個至少對應於最低有效位頁以及最高有效位頁,該等非揮發性記憶體元件包括第一平面以及第二平面,該第一平面包括該等區塊中的第一區塊,該第二平面包括該等區塊中的第二區塊;以及控制器,適用於將複數個資料組區塊儲存在該等頁中,適用於產生該等資料組區塊的第一超級區塊同位資料,且該等資料組區塊儲存於對應該等第 一平面的偶數字元線的頁中,適用於產生該等資料組區塊的第二超級區塊同位資料,且該等資料組區塊儲存於對應該等第一平面的奇數字元線的頁中,適用於產生該等資料組區塊的第三超級區塊同位資料,且該等資料組區塊儲存於對應該等第二平面的偶數字元線的頁,適用於產生該等資料組區塊的第四超級區塊同位資料,且該等資料組區塊儲存於對應於該等第二平面的奇數字元線的頁,其中該控制器包括對應於該等頁的不同屬性的記憶體,並根據該等資料組區塊中的資料組區塊所儲存的頁的屬性來將該資料組區塊分類為複數個屬性中的一屬性,該控制器以該資料組區塊以及預儲存於對應至該資料組區塊的屬性的記憶體的超級區塊同位資料來計算新超級區塊同位資料,並將該新超級區塊同位資料儲存於該記憶體中來產生與該資料組區塊相關聯的超級區塊同位資料。
  11. 如申請專利範圍第10項所述之資料儲存元件,其中,該控制器根據該等頁的屬性來將該等資料組區塊分類為複數個資料組,以及針對相應的該等資料組產生超級區塊同位資料。
  12. 如申請專利範圍第11項所述之資料儲存元件,其中,該控制器基於分類為該等資料組中的第一資料組的其它資料組區塊以及基於該第一資料組的超級區塊同位資料中的一個,來校正分類為第一資料組的資料組區塊中的一個資料組區塊的錯誤位元。
  13. 如申請專利範圍第10項所述之資料儲存元件,其中,該控制器產生與複數個條帶相對應的條帶同位資料,該等條帶中的每一個包括該等頁中具有相同頁偏移量的頁,且該等資料組區塊儲存於該等頁中。
  14. 如申請專利範圍第13項所述之資料儲存元件,其中,該控制器基於該條帶同位資料來產生該第一至該第四超級區塊同位資料。
TW105104518A 2015-07-31 2016-02-16 資料儲存元件 TWI717335B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150108642A KR102372825B1 (ko) 2015-07-31 2015-07-31 데이터 저장 장치 및 그것의 동작 방법
KR10-2015-0108642 2015-07-31

Publications (2)

Publication Number Publication Date
TW201705002A TW201705002A (zh) 2017-02-01
TWI717335B true TWI717335B (zh) 2021-02-01

Family

ID=57883561

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105104518A TWI717335B (zh) 2015-07-31 2016-02-16 資料儲存元件

Country Status (4)

Country Link
US (1) US10127997B2 (zh)
KR (1) KR102372825B1 (zh)
CN (1) CN106409344B (zh)
TW (1) TWI717335B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391296B (zh) * 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
US10110255B2 (en) 2016-04-27 2018-10-23 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US9910772B2 (en) 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10025662B2 (en) 2016-04-27 2018-07-17 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10705911B2 (en) * 2017-04-24 2020-07-07 Hewlett Packard Enterprise Development Lp Storing data in a distributed storage system
KR20190000662A (ko) * 2017-06-23 2019-01-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10691540B2 (en) 2017-11-21 2020-06-23 SK Hynix Inc. Soft chip-kill recovery for multiple wordlines failure
US10372355B2 (en) 2017-12-29 2019-08-06 Micron Technology, Inc. Managing partial superblocks in a NAND device
KR102520412B1 (ko) * 2018-09-19 2023-04-12 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20210028335A (ko) * 2019-09-04 2021-03-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11321173B2 (en) 2019-12-31 2022-05-03 Micron Technology, Inc. Managing storage of multiple plane parity data in a memory sub-system
US11442808B2 (en) 2020-03-12 2022-09-13 Kioxia Corporation Memory system
JP2022023584A (ja) 2020-07-27 2022-02-08 キオクシア株式会社 メモリシステム及び制御方法
US11568938B2 (en) * 2020-11-03 2023-01-31 Western Digital Technologies, Inc. QLC data programming
CN113168866A (zh) * 2021-03-05 2021-07-23 长江存储科技有限责任公司 用于独立磁盘冗余阵列条带化以防止编程故障的方法及其装置
CN115329399B (zh) * 2022-10-13 2023-01-31 江苏华存电子科技有限公司 基于nand的垂直水平raid4数据保护管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201230057A (en) * 2010-08-31 2012-07-16 Apple Inc Handling errors during device bootup from a non-volatile memory
CN103383610A (zh) * 2012-05-02 2013-11-06 北京通世舟数字科技有限责任公司 一种液晶屏多点触摸方法
TW201428754A (zh) * 2012-10-10 2014-07-16 Apple Inc 用於非揮發性記憶體效能節流之系統及方法
US20150019933A1 (en) * 2013-07-11 2015-01-15 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
CN104461926A (zh) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 一种基于二维raid的固态硬盘数据保护方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US6351838B1 (en) * 1999-03-12 2002-02-26 Aurora Communications, Inc Multidimensional parity protection system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7400549B2 (en) * 2005-04-28 2008-07-15 Micron Technology, Inc. Memory block reallocation in a flash memory device
US8285919B2 (en) * 2008-05-27 2012-10-09 Initio Corporation SSD with improved bad block management
US8572311B1 (en) * 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8984241B2 (en) * 2010-07-07 2015-03-17 Nexenta Systems, Inc. Heterogeneous redundant storage array
US8578208B2 (en) * 2011-01-13 2013-11-05 Micron Technology, Inc. Determining location of error detection data
US8902653B2 (en) 2011-08-12 2014-12-02 Micron Technology, Inc. Memory devices and configuration methods for a memory device
KR101826051B1 (ko) * 2012-02-27 2018-02-07 삼성전자주식회사 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템
US9396062B1 (en) * 2014-04-04 2016-07-19 Seagate Technology Llc Group based codes for multi-dimensional recording (MDR)
US10162700B2 (en) * 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
US9489260B1 (en) * 2015-05-26 2016-11-08 Seagate Technology Llc Flexible super block sizing for failed sector recovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201230057A (en) * 2010-08-31 2012-07-16 Apple Inc Handling errors during device bootup from a non-volatile memory
CN103383610A (zh) * 2012-05-02 2013-11-06 北京通世舟数字科技有限责任公司 一种液晶屏多点触摸方法
TW201428754A (zh) * 2012-10-10 2014-07-16 Apple Inc 用於非揮發性記憶體效能節流之系統及方法
US20150019933A1 (en) * 2013-07-11 2015-01-15 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
CN104461926A (zh) * 2014-11-27 2015-03-25 记忆科技(深圳)有限公司 一种基于二维raid的固态硬盘数据保护方法

Also Published As

Publication number Publication date
US20170031751A1 (en) 2017-02-02
KR20170015757A (ko) 2017-02-09
US10127997B2 (en) 2018-11-13
TW201705002A (zh) 2017-02-01
CN106409344B (zh) 2021-03-02
KR102372825B1 (ko) 2022-03-14
CN106409344A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
TWI717335B (zh) 資料儲存元件
CN105045525B (zh) 存储控制器、存储系统及操作存储控制器的方法
US8935459B2 (en) Heuristics for programming data in a non-volatile memory
US9898363B2 (en) Data storage device and operating method thereof
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
US10347349B2 (en) Method and device for fail-safe erase of flash memory
US10170201B2 (en) Data storage device and operating method thereof
US20160048342A1 (en) Reducing read/write overhead in a storage array
US10268540B2 (en) Data storage device and operating method thereof
CN107678976B (zh) 数据存储装置及其操作方法
US10282123B2 (en) Data storage device and operating method thereof
US9436397B2 (en) Validating the status of memory operations
US9472300B2 (en) Data storage device and operating method thereof
US9977735B2 (en) Data storage device and operating method thereof
US20130179647A1 (en) Storage device and data management method thereof
US11899966B2 (en) Implementing fault tolerant page stripes on low density memory systems
US20120233382A1 (en) Data storage apparatus and method for table management
US10133645B2 (en) Data recovery in three dimensional non-volatile memory array after word line short
US10133764B2 (en) Reduction of write amplification in object store
KR20170009554A (ko) 테스트 시스템 및 테스트 방법
US10152372B2 (en) Data storage device and operating method thereof
CN110968473B (zh) 存储器控制器和包括存储器控制器的存储装置
CN113302582A (zh) 每光标逻辑单元号定序
US20180217785A1 (en) Data storage device
US11182290B2 (en) Data storage device and operating method thereof for performing a garbage collection operation in consideration of a lifetime of a nonvolatile memory device