TWI775879B - 記憶體系統及其操作方法 - Google Patents

記憶體系統及其操作方法 Download PDF

Info

Publication number
TWI775879B
TWI775879B TW107121147A TW107121147A TWI775879B TW I775879 B TWI775879 B TW I775879B TW 107121147 A TW107121147 A TW 107121147A TW 107121147 A TW107121147 A TW 107121147A TW I775879 B TWI775879 B TW I775879B
Authority
TW
Taiwan
Prior art keywords
error correction
data
memory
correction operation
read
Prior art date
Application number
TW107121147A
Other languages
English (en)
Other versions
TW201919069A (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 TW201919069A publication Critical patent/TW201919069A/zh
Application granted granted Critical
Publication of TWI775879B publication Critical patent/TWI775879B/zh

Links

Images

Classifications

    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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
    • 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
    • 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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Electrotherapy Devices (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本發明係關於一種記憶體系統的操作方法,其包括:透過控制器從第一記憶塊讀取第一資料;使用第一ECC電路對第一資料執行第一錯誤校正操作;當第一錯誤校正操作的結果指示失敗時,使用第二ECC電路對第一資料執行第二錯誤校正操作;以及當第一錯誤校正操作的結果指示失敗時,透過控制器對第一記憶塊執行讀取回收操作。

Description

記憶體系統及其操作方法
本發明的各個實施例係關於一種記憶體系統及其操作方法,並且更特別地,係關於一種當第一ECC電路的錯誤校正操作失敗時使用第二ECC電路對資料執行錯誤校正操作並且對儲存資料的記憶塊執行讀取回收操作的記憶體系統及其操作方法。
記憶體裝置可以包括多個記憶塊,每個記憶塊包括多個記憶體單元。通常對包括在單個記憶塊中的所有記憶體單元同時執行擦除操作。
通常,當對記憶塊執行多個讀取操作時,儲存在記憶塊中的資料會由於“讀取干擾”現象而劣化。具體地,記憶體單元的閾值電壓可以透過施加到記憶塊的電壓生成的電場而增加,因而導致記憶體單元的閾值電壓分佈變寬。當讀取干擾使記憶體裝置的記憶體單元的閾值電壓分佈變寬時,資料錯誤率會大幅增加。另外,如果記憶體單元的閾值電壓分佈過寬,則在讀取操作期間用於校正資料錯誤的操作可能失敗。為了解決這個問題,記憶體系統可以執行讀取回收操作,該讀取回收操作包括在錯誤校正操作失敗之前,將儲存在記憶塊中的資料複製編程到另一記憶塊。
本專利申請請求於2017年11月7日向韓國智慧財產權局提交的申請號為10-2017-0147391的韓國專利申請的優先權,其全部內容透過引用合併於此。
本發明的各個實施例係關於一種執行改進的讀取回收操作的記憶體系統及其操作方法。
根據實施例,一種記憶體系統的操作方法可以包括:透過控制器從第一記憶塊讀取第一資料;使用第一錯誤校正(ECC)電路對第一資料執行第一錯誤校正;當第一錯誤校正結果指示失敗時,使用第二ECC電路對第一資料執行第二錯誤校正;並且當第一錯誤校正的結果指示失敗時,透過控制器對第一記憶塊執行讀取回收操作。
根據實施例,一種記憶體系統可以包括:第一記憶塊和第二記憶塊;第一ECC電路,其對從第一記憶塊讀取的資料執行第一錯誤校正操作;第二ECC電路,其當第一錯誤校正操作失敗時,對資料執行第二錯誤校正操作;以及讀取回收控制部分,其當第一錯誤校正操作失敗時,執行讀取回收操作,以將儲存在第一記憶塊中的資料複製編程到第二記憶塊,其中第二ECC電路的錯誤校正能力比第一ECC電路的錯誤校正能力更高。
根據實施例,一種記憶體系統的操作方法可以包括:從記憶塊讀取數據;基於第一錯誤校正序列對資料執行第一錯誤校正操作;當第一錯誤校正操作失敗時,基於第二錯誤校正序列對資料執行第二錯誤校正操作;回應於第一錯誤校正操作的失敗,將記憶塊的資訊添加到回收清單;並且基於回收列表執行讀取回收操作。
根據實施例,一種記憶體系統的操作方法可以包括:對從記憶塊讀出的資料執行第一ECC操作;當第一ECC操作失敗時,對記憶塊執行讀取回收操作;以及當第一ECC操作失敗時,對從記憶塊讀出的資料執行第二ECC操作,第二ECC操作的錯誤校正能力比第一ECC操作的錯誤校正能力更高。
從結合附圖的以下描述,本發明的這些和其它特徵及優點對於本發明所屬領域中具有通常知識者將變得顯而易見。
100:記憶體單元陣列
110:記憶塊
200:週邊電路
210:電壓生成電路
220:列解碼器
230:頁面緩衝器組
231:頁面緩衝器
240:行解碼器
250:輸入/輸出電路
260:讀出電路
300:控制邏輯
710:處理器
711:讀取回收控制部分
720:記憶體緩衝器
730:錯誤校正碼(ECC)塊
731:第一ECC電路
732:第二ECC電路
733:錯誤校正結果儲存裝置
740:主機介面
750:緩衝器控制電路
760:記憶體介面
770:資料隨機發生器
780:匯流排
1000:記憶體系統
1100:記憶體裝置
1200:記憶體控制器
2000:主機
3100:處理器
3200:顯示器
3300:無線電收發器
3400:輸入裝置
4100:處理器
4200:輸入裝置
4300:顯示器
5100:處理器
5200:圖像感測器
5300:顯示器
6100:微處理器
6200:主機介面
7100:卡介面
30000:記憶體系統
40000:記憶體系統
50000:記憶體系統
60000:主機
70000:記憶體系統
S801:步驟
S802:步驟
S803:步驟
S804:步驟
S805:步驟
S806:步驟
S807:步驟
S808:步驟
S809:步驟
S810:步驟
S811:步驟
S812:步驟
S813:步驟
S901:步驟
S902:步驟
S903:步驟
S904:步驟
S905:步驟
S906:步驟
S907:步驟
S908:步驟
S909:步驟
S910:步驟
S911:步驟
S912:步驟
S913:步驟
S1101:步驟
S1102:步驟
S1103:步驟
S1104:步驟
S1105:步驟
S1106:步驟
S1107:步驟
S1108:步驟
S1109:步驟
S1110:步驟
S1111:步驟
S1112:步驟
S1113:步驟
S1114:步驟
S1115:步驟
Vop:操作電壓
VPB:讀出電壓
CMD:命令
ADD:位址
DATA:數據
OP_CMD:操作信號
CADD:行位址
RADD:列位址
LL:局部線
BL:位線
CL:行線
DL:數據線
SL:源極線
ST:串
MC:記憶體單元
PB:頁面緩衝器
PPG:實體頁面
LPG:邏輯頁面
PBSIGNALS:頁面緩衝器控制信號
VRY_BIT<#>:可允許位
PASS:通過信號
FAIL:失敗信號
F:記憶體單元
DST:汲極選擇電晶體
DSL:汲極選擇線
SSL:源極選擇線
Vpass:通過電壓
Vread:讀取電壓
E:擦除閾值電壓分佈
P:編程閾值電壓分佈
Vsd2_left:左軟讀取電壓
Vsd2_right:右軟讀取電壓
ANT:天線
〔圖1〕是示出根據實施例的記憶體系統的簡化方塊圖;〔圖2〕是示出圖1所示的記憶體裝置的簡化方塊圖;〔圖3〕是示出圖2所示的記憶塊的簡化電路圖;〔圖4〕是示出讀取操作的簡化電路圖;〔圖5〕是示出記憶體單元的閾值電壓分佈的示圖;〔圖6〕是示出根據實施例的記憶體控制器的簡化方塊圖;〔圖7〕是示出根據實施例的執行錯誤校正操作的記憶體單元的閾值電壓分佈的示圖;〔圖8〕是示出根據實施例的讀取回收操作的流程圖;〔圖9〕是示出根據另一實施例的讀取回收操作的流程圖;〔圖10〕是示出根據實施例的記憶體控制器的簡化方塊圖;〔圖11〕是示出根據實施例的讀取回收操作的流程圖; 〔圖12〕是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖;〔圖13〕是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖;〔圖14〕是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖;以及〔圖15〕是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖。
在下文中,將參照所附圖式詳細地描述本發明的各個示例性實施例。在附圖中,為了便於說明,諸如部件的厚度和長度的各種尺寸可能被誇大。在下面的描述中,為了簡單和簡潔,可以省略相關功能和構造的詳細描述。相同的元件符號在整個說明書和圖式中表示相同的元件。
還應注意的是,在本說明書中,“連接/聯接”是指一個部件不僅直接聯接另一部件,而且還透過中間部件間接聯接另一部件。另外,在整個說明書中,術語“包括”和“包含”及其各種形式可互換使用。因此,當說元件A包括某個元件B時,這並不排除包括其它元件,並且因此元件A除了元件B之外還可以包括另一元件或多個元件。
圖1是示出根據本發明實施例的記憶體系統的簡化方塊圖。
參照圖1,記憶體系統1000可以包括儲存資料的記憶體裝置1100和控制記憶體裝置1100的記憶體控制器1200。記憶體系統1000可以可操作地聯接到主機2000。記憶體系統1000可以回應於從主機2000接收的控制命令和/或資料來執行一個或多個操作。
主機2000可以使用諸如以下的各種通信方法中的至少一種與記憶體系統1000通信:通用序列匯流排(USB)、串列AT附件(SATA)、串列SCSI(SAS)、高速片間(HSIC)、小型電腦系統介面(SCSI)、週邊元件互聯(PCI)、高速PCI(PCI-e)、高速非揮發性記憶體(NVM-e)、通用快閃記憶體(UFS)、安全數位(SD)、多媒體卡(MMC)、嵌入式MMC(e-MMC)、雙列直插式記憶體模組(DIMM)、寄存式DIMM(RDIMM)和負載減少的DIMM(LRDIMM)。
記憶體控制器1200可以控制記憶體系統1000的整體操作,並且控制主機2000和記憶體裝置1100之間的資料交換。例如,記憶體控制器1200可以回應於從主機2000接收的請求(命令)控制記憶體裝置1100編程或讀取資料。另外,記憶體控制器1200可以儲存關於記憶體裝置1100中包括的主記憶塊和子記憶塊的資訊。記憶體控制器1200可以控制記憶體裝置1100,使得可以根據編程操作載入的資料量在記憶體裝置1100的主記憶塊或子記憶塊中執行編程操作。根據實施例,記憶體裝置1100可以是或包括快閃記憶體。
記憶體控制器1200可以將從主機2000接收的資料傳輸到記憶體裝置1100並且將資料儲存在記憶體裝置1100中。除了從主機2000接收的資料之外,記憶體控制器可以從主機2000接收邏輯位址。控制器1200可以將邏輯位址 轉換為實體位址,該實體位址指示接收的資料應當儲存的記憶體裝置1100的區域。
雖然圖1僅示出一個記憶體裝置1100,但是注意的是,本發明不限於這種方式。例如,在另一示例中,記憶體系統1000可以包括經由一個公共通道或多個專用通道聯接到控制器的多個記憶體裝置1100。記憶體控制器1200可以透過一個通道或多個通道來控制多個記憶體裝置1100。
圖2是示出圖1中所示的記憶體裝置1100的示例性配置的簡化方塊圖。
參照圖2,記憶體裝置1100可以包括記憶體單元陣列100,用於將資料儲存在其中。記憶體裝置1100可以包括週邊電路200,該週邊電路200被配置為執行用於將資料儲存在記憶體單元陣列100中的編程操作、用於輸出儲存的資料的讀取操作以及用於擦除儲存的資料的擦除操作。記憶體裝置1100可以包括回應於記憶體控制器1200的控制來控制週邊電路200的控制邏輯300。
記憶體單元陣列100可以包括多個記憶塊BLK1至BLKm 110,其中m是正整數。局部線LL和位元線BL1至BLn可以聯接到記憶塊BLK1至BLKm 110中的每一個,其中n是正整數。例如,局部線LL可以包括第一選擇線、第二選擇線以及佈置在第一選擇線和第二選擇線之間的多個字線。另外,局部線(local line)LL可以包括佈置在第一選擇線和字線之間和/或第二選擇線和字線之間的虛擬線。第一選擇線可以是源極選擇線,並且第二選擇線可以是汲極選擇線。例如,局部線LL可以包括字線、汲極選擇線和源極選擇線以及源極線。例如,局部線LL可以進一步包括虛擬線。例如,局部線LL可以進一步包括管線。一組專用局部線LL可以聯接到記憶塊BLK1至BLKm 110中的每一個,而位 線BL1至BLn可以共同聯接到記憶塊BLK1到BLKm 110。記憶塊BLK1至BLKm 110可以具有二維(2D)結構或三維(3D)結構。例如,在二維記憶塊110中,記憶體單元可以與基材平行排列。例如,在三維記憶塊110中,記憶體單元可以在與基材垂直的方向上堆疊。
週邊電路200可以被配置為回應於控制邏輯300的控制對選擇的記憶塊110執行編程操作、讀取操作和擦除操作。例如,控制邏輯300可以控制週邊電路200將驗證電壓和通過電壓供應到第一選擇線、第二選擇線和字線,對第一選擇線、第二選擇線和字線選擇性放電,並且驗證聯接到字線中選擇的字線的記憶體單元。例如,週邊電路200可以包括電壓生成電路210、列解碼器220、頁面緩衝器組230、行解碼器240、輸入/輸出電路250和讀出電路260。
電壓生成電路210可以回應於操作信號OP_CMD生成各種操作電壓Vop以執行編程操作、讀取操作及擦除操作。另外,電壓生成電路210可以響應於操作信號OP_CMD對局部線LL選擇性放電。例如,控制邏輯300可以控制電壓生成電路210生成編程電壓、驗證電壓、通過電壓、導通電壓、讀取電壓、擦除電壓、源極線電壓。
列解碼器220可以回應於列位址RADD將操作電壓Vop傳遞到聯接到選擇的記憶塊110的局部線LL。
頁面緩衝器組230可以包括聯接到位線BL1至BLn的多個頁面緩衝器PB1至PBn 231。頁面緩衝器PB1至PBn 231可以回應於頁面緩衝器控制信號PBSIGNALS操作。例如,頁面緩衝器PB1至PBn 231可以臨時儲存透過位元線BL1至BLn接收的資料,或者可以在讀取操作或驗證操作中讀出位線BL1至BLn的電壓或電流。
行解碼器240可以回應於行位址CADD在輸入/輸出電路250和頁面緩衝器組230之間傳輸資料。例如,行解碼器240可以透過資料線DL與頁面緩衝器231交換資料,或者可以透過行線CL與輸入/輸出電路250交換資料。
輸入/輸出電路250可以將來自如圖1所示的記憶體控制器1200的命令CMD或位址ADD傳輸到控制邏輯300,或者可以與行解碼器240交換資料DATA。
在讀取操作或驗證操作期間,讀出電路260可以響應於可允許位VRY_BIT<#>生成參考電流,並且可以將從頁面緩衝器組230接收的讀出電壓VPB與由參考電流生成的參考電壓比較以輸出通過信號PASS或失敗信號FAIL。
控制邏輯300可以回應於命令CMD和位址ADD,輸出操作信號OP_CMD、列位址RADD、頁面緩衝器控制信號PBSIGNALS和允許位元VRY_BIT<#>以控制週邊電路200。另外,控制邏輯300可以回應於通過信號PASS或失敗信號FAIL來確定驗證操作是通過還是失敗。
在記憶體裝置1100的操作中,每個記憶塊110可以是擦除操作的單元。換言之,包括在單個記憶塊110中的多個記憶體單元可以被同時擦除,而不會被選擇性擦除。
圖3是示出圖2中所示的記憶塊的簡化電路圖。
參照圖3,記憶塊110可以被配置為使得彼此並聯佈置的多個字線可以聯接在第一選擇線和第二選擇線之間。第一選擇線可以是源極選擇線SSL,並且第二選擇線可以是汲極選擇線DSL。更具體地,記憶塊110可以包括聯接在位線BL1至BLn與源極線SL之間的多個串ST。位線BL1至BLn中的每一 個可以聯接串ST中的每一個,並且源極線SL可以共同聯接到串ST。由於串ST可以具有彼此相似的配置,因此作為示例將詳細描述聯接到第一位線BL1的串ST。
串ST可以包括在源極線SL和第一位線BL1之間串聯聯接的源極選擇電晶體SST、多個記憶體單元F1至F16以及汲極選擇電晶體DST。如圖3所示,單個串ST可以包括至少一個源極選擇電晶體SST和至少一個汲極選擇電晶體DST,並且可以包括比記憶體單元F1至F16更多的記憶體單元。
源極選擇電晶體SST的源極可以聯接到源極線SL,並且汲極選擇電晶體DST的汲極可以聯接到第一位線BL1。記憶體單元F1至F16可以串聯地聯接在源極選擇電晶體SST和汲極選擇電晶體DST之間。包括在不同串ST中的源極選擇電晶體SST的閘極可以聯接到源極選擇線SSL,汲極選擇電晶體DST的閘極可以聯接到汲極選擇線DSL,並且記憶體單元F1至F16的閘極可以聯接到多個字線WL1至WL16。聯接到包括在不同串ST中的記憶體單元中的相同字線的一組記憶體單元可以被稱為實體頁面PPG。因此,記憶塊110可以包括與字線WL1至WL16的數量一樣多的實體頁面PPG。
單個記憶體單元可以儲存一位元資料。該記憶體單元通常被稱為單層單元SLC。單個實體頁面(PPG)可以儲存對應於單個邏輯頁面LPG的資料。對應於單個邏輯頁面LPG的資料可以包括與包括在單個實體頁面PPG中的單元的數量一樣多的資料位元。此外,單個記憶體單元(MC)可以儲存兩位元或更多位元的資料。該單元通常被稱為“多層單元(MLC)”。單個實體頁面PPG可以儲存對應於兩個或更多個邏輯頁面LPG的資料。
包括在單個實體頁面PPG中的多個記憶體單元可以被同時編程。換言之,記憶體裝置1100可以對每個實體頁面PPG執行編程操作。包括在單個記憶塊中的多個記憶體單元可以被同時擦除。換言之,記憶體裝置1100可以對每個記憶塊110執行擦除操作。例如,為了更新儲存在單個記憶塊110中的資料的一部分,儲存在記憶塊110中的全部資料可以被讀取,待被更新的資料的一部分可以被改變,並且可以利用整個資料對另一記憶塊110編程。當記憶塊110是擦除操作的單元時,由於不可以僅擦除儲存在記憶塊110中的一部分資料並且利用新資料對記憶塊110編程,因此可以執行該更新進程。
圖4是示出讀取操作的簡化電路圖。
參照圖4,記憶體裝置1100可以讀取儲存在記憶塊110中的資料。例如,當記憶體裝置1100讀取儲存在聯接到第八字線WL8的記憶體單元中的資料時,記憶體裝置1100可以將讀取電壓Vread施加到選擇的第八字線WL8,並且將通過電壓Vpass施加到未選擇的字線WL1至WL7和WL9至WL16。通過電壓Vpass可以被施加以使記憶體單元導通。例如,通過電壓Vpass可以是5V或更高的電壓。
當對記憶塊110執行讀取操作時,儲存在記憶塊110中的資料可能被劣化。例如,可以增加聯接到未選擇的字線的記憶體單元的閾值電壓,在讀取操作期間通過電壓Vpass被施加到未選擇的字線。換言之,由通過電壓Vpass產生的電場會使更多電子被捕獲在記憶體單元的浮閘或電荷捕獲層中。因此,記憶體單元的閾值電壓可以增加。該現象可以被稱為“讀取干擾”。
隨著執行讀取操作的次數增加,記憶體單元的閾值電壓會隨讀取操作而增加。因此,在讀取操作期間資料的錯誤率可能增加。例如,當記憶 塊110中儲存的資料的錯誤率過度增加時,對資料的錯誤校正操作會失敗。記憶體系統1000可以在錯誤校正操作失敗之前將儲存在記憶塊110中的資料複製編程到另一記憶塊110。該操作可以被稱為讀取回收操作。換言之,在讀取回收操作期間,當儲存在記憶塊110中的資料的錯誤率大於或等於預定水準時,儲存在記憶塊110中的資料可以被複製編程到另一記憶塊110中。
圖5是示出記憶體單元的閾值電壓分佈的簡化方塊圖。
參照圖5,聯接到單個字線WL的記憶體單元,即,包括在一個實體頁面PPG中的記憶體單元的閾值電壓分佈可能由於多個讀取操作被劣化。
例如,包括在實體頁面PPG中的記憶體單元中的每一個可以儲存2位元資料。換言之,一個實體頁面PPG可以儲存兩個頁面資料。包括在一個實體頁面PPG中的記憶體單元的閾值電壓分佈可以包括擦除閾值電壓分佈E、第一編程閾值電壓分佈P1、第二編程閾值電壓分佈P2和第三編程閾值電壓分佈P3。擦除閾值電壓分佈E、第一編程閾值電壓分佈P1、第二編程閾值電壓分佈P2和第三編程閾值電壓分佈P3可以分別對應於資料值‘11’、‘10’、‘00’和‘01’。換言之,當記憶體單元儲存2位元資料時,包括在一個實體頁面PPG中的記憶體單元中的每一個的閾值電壓可以屬於擦除閾值電壓分佈E、第一編程閾值電壓分佈P1、第二編程閾值電壓分佈P2和第三編程閾值電壓分佈P3中的一個。
例如,包括在實體頁面PPG中的記憶體單元中的每一個儲存2位元資料,即,最低有效位元(LSB)資料和最高有效位元(MSB)資料。例如,當記憶體裝置1100讀取儲存在記憶體單元中的LSB資料時,記憶體裝置1100可以將第二讀取電壓Vread2施加到選擇的字線,並且將通過電壓Vpass施加到未選擇的字線。在另一示例中,當記憶體裝置1100讀取儲存在記憶體單元中 的MSB資料時,記憶體裝置1100可將第一讀取電壓Vread1和第三讀取電壓Vread3施加到選擇的字線,並且將通過電壓Vpass施加到未選擇的字線。
如以上參照圖4所述,當執行多個讀取操作時,儲存在記憶塊110中的資料可能被劣化。換言之,當對記憶塊110執行多個讀取操作時,記憶體單元的閾值電壓會因由通過電壓Vpass產生的電場而增加。因此,記憶體單元的閾值電壓分佈可以比初始閾值電壓分佈更寬。該現象可以被稱為“讀取干擾”。
當讀取干擾使記憶體單元的閾值電壓分佈變寬時,在讀取操作期間可能增加資料的錯誤率。另外,當記憶體單元的閾值電壓分佈過度變寬時,在讀取操作期間資料的錯誤校正操作可能失敗。
記憶體系統1000可以在錯誤校正操作失敗之前將儲存在記憶塊110中的資料複製到另一記憶塊110中。該操作可以被稱為讀取回收操作。換言之,在讀取回收操作期間,當儲存在記憶塊110中的資料的錯誤率大於或等於預定水準時,儲存在記憶塊110中的資料可以被複製到另一記憶塊110中。上述讀取回收操作可以在被儲存在記憶塊110中的資料的錯誤率過高之前執行。讀取回收的記憶塊110可以在對其執行擦除操作之後被重新使用。
記憶體系統1000的讀取回收操作可以增加記憶塊110的編程-擦除迴圈的次數。當編程-擦除迴圈的次數增加時,記憶塊110的特性可能被劣化。換言之,增加對記憶塊110執行的編程-擦除迴圈的次數會導致儲存在記憶塊110中的資料的錯誤率增加。換言之,不必要的讀取回收操作可能使記憶體系統1000的可靠性劣化。
記憶體系統1000可以控制記憶體裝置1100,使得上述讀取回收操作可以在記憶塊110中儲存的資料的錯誤率過度增加之前執行。另外,記憶體系統1000可以控制記憶體裝置1100以避免執行不必要的讀取回收操作。
圖6是示出根據本發明實施例的記憶體控制器1200的簡化方塊圖。
參照圖6,記憶體控制器1200可以包括處理器710、記憶體緩衝器720、錯誤校正碼(ECC)塊730、主機介面740、緩衝器控制電路750、記憶體介面760、資料隨機發生器和匯流排780。處理器710可以包括讀取回收控制部分711。另外,ECC塊730可以包括第一ECC電路731、第二ECC電路732和錯誤校正結果儲存裝置733。
匯流排780可以提供記憶體控制器1200的各種部件之間的通信通道。
處理器710可以控制記憶體控制器1200的全部操作並且可以執行邏輯操作。處理器710可以分別透過主機介面740和記憶體介面760與外部的主機2000和記憶體裝置1100通信。並且,處理器710可以透過緩衝器控制電路750與記憶體緩衝器720通信。處理器710可以透過使用作為操作記憶體、高速緩衝記憶體或緩衝記憶體的記憶體緩衝器720控制儲存系統1000的操作。
記憶體緩衝器720可以用作處理器710的操作記憶體、高速緩衝記憶體或緩衝記憶體。記憶體緩衝器720可以儲存由處理器710執行的代碼和命令。記憶體緩衝器720可以儲存由處理器710處理的資料。記憶體緩衝器720可以包括靜態RAM(SRAM)或動態RAM(DRAM)。
ECC塊730可以執行錯誤校正。ECC塊730可以透過記憶體介面760基於待被寫入到記憶體裝置1100的資料來執行ECC編碼。ECC編碼的資料可以透過記憶體介面760被傳輸到記憶體裝置1100。
ECC塊730可以基於透過記憶體介面760從記憶體裝置1100接收的資料來執行ECC解碼。例如,ECC塊730可以被包括在記憶體介面760中作為記憶體介面760的部件中的一個。
另外,ECC塊730可以包括第一ECC電路731、第二ECC電路732和錯誤校正結果儲存裝置733。
第一ECC電路731可以對從記憶體裝置1100讀取並且透過記憶體介面760接收的資料執行第一錯誤校正操作。例如,第一ECC電路731可以基於博斯-查德胡裡-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)碼來執行第一錯誤校正操作。在另一示例中,第一ECC電路731可以基於1位元博斯-查德胡裡-霍昆格姆(BCH)碼來執行第一錯誤校正操作。
當第一ECC電路731的第一錯誤校正操作失敗時,即,當第一ECC電路731對透過記憶體介面760接收的資料的錯誤校正失敗時,錯誤校正結果儲存裝置733可以儲存第一錯誤校正操作的結果。另外,記憶體緩衝器720可以儲存第一ECC電路731對其的錯誤校正失敗的資料。
當第一ECC電路731不能校正透過記憶體介面760接收的資料中的錯誤時,第二ECC電路732可以對第一錯誤校正操作失敗的資料執行第二錯誤校正操作。例如,第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行第二錯誤校正操作。在另一示例中,第二ECC電路732可以基於2位元低密度奇偶校驗(LDPC)碼來執行第二錯誤校正操作。
第二ECC電路732可以對儲存在記憶體緩衝器720中的資料執行第二錯誤校正操作,其中第一ECC電路731對該資料的錯誤校正失敗。第二ECC電路732可以基於儲存在錯誤校正結果儲存裝置733中的第一錯誤校正操作的結果來執行第二錯誤校正操作。
第二ECC電路732的錯誤校正能力可以比第一ECC電路731的錯誤校正能力更高。上述“錯誤校正能力”可以指可糾正錯誤位元的最大數量。換言之,第二ECC電路732可以成功校正第一ECC電路731對其的錯誤校正失敗的資料中的錯誤。
第二ECC電路732執行第二錯誤校正操作的操作時間可以比第一ECC電路731執行第一錯誤校正操作期間的操作時間更長。例如,第一ECC電路731可以基於博斯-查德胡裡-霍昆格姆(BCH)碼來執行錯誤校正操作,而第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。在另一示例中,第一ECC電路731可以基於1位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作,而第二ECC電路732可以基於2位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼透過多個校正迴圈反覆運算執行第二錯誤校正操作。因此,第二錯誤校正操作可能比第一錯誤校正操作花費更長的時間。
第二ECC電路732在第二錯誤校正操作期間消耗的功率可能大於第一ECC電路731在第一錯誤校正操作期間消耗的功率。例如,第一ECC電路731可以基於博斯-查德胡裡-霍昆格姆(BCH)碼來執行錯誤校正操作,而第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼透過多個校正迴圈反覆運算 執行第二錯誤校正操作。第二錯誤校正操作可能比第一錯誤校正操作消耗更多的功率。在記憶體控制器1200中,第二ECC電路732佔據的區域,即第二ECC電路732的佔用面積(footprint)可以大於第一ECC電路731的佔用面積。這是由於第二ECC電路732包括的電晶體可以比第一ECC電路731包括的電晶體多。
第一ECC電路731可以在第一錯誤校正操作期間執行預定次數的校正迴圈反覆運算。例如,當第一ECC電路731的錯誤校正操作在預定次數的校正迴圈反覆運算失敗時,錯誤校正結果儲存裝置733可以儲存失敗的錯誤校正操作的結果。換言之,錯誤校正結果儲存裝置733可以儲存指示第一ECC電路731的錯誤校正操作在預定次數的校正迴圈反覆運算失敗的結果。隨後,第二ECC電路732可以執行第二錯誤校正操作以對錯誤校正失敗的資料執行另外的校正迴圈反覆運算。第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行第二錯誤校正操作。
在另一示例中,當第一ECC電路731的錯誤校正操作在預定時間內失敗時,錯誤校正結果儲存裝置733可以儲存錯誤校正操作的結果。換言之,錯誤校正結果儲存裝置733可以儲存表示第一ECC電路731的錯誤校正操作在預定次數的校正迴圈反覆運算失敗的結果。隨後,第二ECC電路732對失敗的資料執行第二錯誤校正操作的時間比第一錯誤校正操作的時間更長。第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行第二錯誤校正操作。
處理器710可以對從主機2000輸入的多個命令排隊。該操作在本文中被稱為“多佇列”操作或簡單地被稱為“多佇列”。處理器710可以將多個排隊標籤順序地傳輸到記憶體裝置1100。
處理器710可以包括用於控制記憶體系統1000的讀取回收操作的讀取回收控制部分711。另外,讀取回收控制部分711可以管理記憶塊110的回收列表,即對其執行讀取回收操作的記憶塊110的列表。讀取回收控制部分711可以基於回收清單執行讀取回收操作。
當第一ECC電路731的錯誤校正操作失敗時,ECC塊730可以將失敗的錯誤校正操作的結果儲存在錯誤校正結果儲存裝置733中。另外,ECC塊730可以將儲存在錯誤校正結果儲存裝置733中的錯誤校正操作的結果傳輸到處理器710。讀取回收控制部分711可以基於第一ECC電路731執行的錯誤校正操作的結果來更新回收清單,第一ECC電路731執行的錯誤校正操作的結果從錯誤校正控制塊730接收並儲存在錯誤校正結果儲存裝置733中。換言之,當儲存在錯誤校正結果儲存裝置733中的第一ECC電路731的錯誤校正操作的結果對應於錯誤校正失敗時,處理器710,更特別地,處理器710的讀取回收控制部分711可以將儲存第一ECC電路731對其的錯誤校正失敗的資料的記憶塊110添加到回收列表。隨後,讀取回收控制部分711可以基於回收清單對儲存錯誤校正失敗的資料的記憶塊110執行讀取回收操作。例如,當預定數量的記憶塊被包括在回收列表中時,可以執行讀取回收操作。
在另一示例中,當第一ECC電路731的錯誤校正操作在預定次數的反覆運算內失敗時,ECC塊730可以將錯誤校正操作的結果儲存在錯誤校正結果儲存裝置733中。另外,ECC塊730可以將儲存在錯誤校正儲存裝置733中的第一ECC電路731的錯誤校正操作的結果傳輸到處理器710。讀取回收控制部分711可以基於從ECC塊730接收的錯誤校正操作的結果更新回收列表。換言之,當儲存在錯誤校正結果儲存裝置733中的第一ECC電路731執行的預定反覆 運算次數的錯誤校正操作的結果對應於錯誤校正失敗時,處理器710,更具體地,處理器710的讀取回收控制部分711可以將儲存第一ECC電路的錯誤校正失敗的資料的記憶塊110包括在回收列表中。隨後,讀取回收控制部分711可以基於回收清單對記憶塊110執行讀取回收操作。
在另一示例中,當第一ECC電路731的錯誤校正操作在預定時間內失敗時,ECC塊730可以將錯誤校正操作的結果儲存在錯誤校正結果儲存裝置733中。另外,ECC塊730可以將儲存在錯誤校正儲存裝置733中的失敗的錯誤校正操作的結果傳輸到處理器710。讀取回收控制部分711可以基於從ECC塊730接收的錯誤校正操作的結果來更新回收列表。換言之,讀取回收控制部分711可以將儲存在預定時間內第一ECC電路731對其的錯誤校正失敗的資料的記憶塊110包括在回收列表中。隨後,讀取回收控制部分711可以基於回收清單對儲存在預定時間內對其的錯誤校正失敗的資料的記憶塊110執行讀取回收操作。
第一ECC電路731的ECC失敗的資料可能具有非常高的錯誤率。換言之,儲存對其的第一錯誤校正操作失敗的資料的記憶塊110可能被完全劣化,並且儲存在記憶塊110中的全部資料可能具有高錯誤率。如上所述,因讀取干擾使記憶體單元的閾值電壓分佈劣化可能由通過電壓Vpass引起。當第一ECC電路731對包括在記憶塊110中的預定頁面的資料的錯誤校正失敗時,可以對儲存在相應的記憶塊110中的全部資料執行讀取回收操作。換言之,當由第一ECC電路731對記憶塊110的預定頁面的第一錯誤校正操作失敗時,讀取回收控制部分711可以對記憶塊110執行讀取回收操作。即,可以在儲存在記憶塊 110中的資料被進一步劣化並且不可能進行第二錯誤校正操作之前執行讀取回收操作。
主機介面740可以被配置為回應於處理器710的控制與外部的主機2000通信。主機介面740可以使用諸如以下的各種通信方法中的至少一種執行通信:通用序列匯流排(USB)、串列AT附件(SATA)、串列SCSI(SAS)、高速晶片間(HSIC)、小型電腦系統介面(SCSI)、週邊元件互聯(PCI)、高速PCI(PCIe)、高速非揮發性記憶體(NVMe)、通用快閃記憶體(UFS)、安全數位(SD)、多媒體卡(MMC)、嵌入式MMC(eMMC)、雙列直插式記憶體模組(DIMM)、寄存式DIMM(RDIMM)和負載減少的DIMM(LRDIMM)。
緩衝器控制電路750可以在處理器710的控制下控制記憶體緩衝器720。
記憶體介面760可以在處理器710的控制下與記憶體裝置1100通信。記憶體介面760可以透過通道將命令、位址和資料傳輸到記憶體裝置1100/從記憶體裝置1100接收命令、位址和資料。
在實施例中,記憶體控制器1200可以不包括記憶體緩衝器720和緩衝器控制電路750。
在實施例中,處理器710可以使用代碼來控制記憶體控制器1200的操作。處理器710可以從設置在記憶體控制器1200中的非揮發性記憶體裝置(例如,ROM)載入代碼。在另一實施例中,處理器710可以透過記憶體介面760從記憶體裝置1100載入代碼。
資料隨機發生器770可以使資料隨機化或者使隨機化的資料去隨機化。資料隨機發生器770可以透過記憶體介面760對待被寫入記憶體裝置1100中的資料執行資料隨機化。隨機化的資料可以透過記憶體介面760被傳輸到記憶體裝置1100。資料隨機發生器770可以對透過記憶體介面760從記憶體裝置1100接收的資料執行資料去隨機化。作為示例,資料隨機發生器770可以被包括在記憶體介面760中作為記憶體介面760的部件中的一個。
在實施例中,記憶體控制器1200的匯流排780可以被劃分成控制匯流排和資料匯流排。在記憶體控制器1200中,資料匯流排可以被配置為傳輸資料,並且在記憶體控制器1200中,控制匯流排可以被配置為傳輸諸如命令或位址的控制資訊。資料匯流排和控制匯流排可以彼此隔離,並且可以既不彼干擾也不彼此影響。資料匯流排可以聯接到主機介面740、緩衝器控制電路750、ECC塊730和記憶體介面760。控制匯流排可以聯接到主機介面740、處理器710、緩衝器控制電路750和記憶體介面760。
圖7是示出根據本發明實施例的執行錯誤校正操作的記憶體單元的閾值電壓分佈的示圖。
參照圖7,ECC塊730可以基於多個讀取電壓來執行錯誤校正操作。
例如,第一ECC電路731可以對透過基於第二可變讀取電壓Vread2'執行讀取操作被讀取的資料執行錯誤校正操作。由基於第二可變讀取電壓Vread2'執行的讀取操作讀取的資料可以被稱為“硬資料”。第二可變讀取電壓Vread2'可以是基於劣化的閾值電壓分佈,從圖5的第二讀取電壓Vread2變化的 第二可變讀取電壓。第一ECC電路731可以基於博斯-查德胡裡-霍昆格姆(BCH)碼來執行錯誤校正操作。
例如,當第一ECC電路731對透過基於第二可變讀取電壓Vread2'執行讀取操作而讀取的硬資料的錯誤校正操作失敗時,第二ECC電路732可以使用第一軟資料來對硬資料執行錯誤校正操作,該第一軟資料透過基於第一左軟讀取電壓Vsd2_left1和第一右軟讀取電壓Vsd2_right1執行讀取操作而被讀取。另外,第二ECC電路732可以使用第二軟資料來對硬資料執行錯誤校正操作,該第二軟資料透過基於第二左軟讀取電壓Vsd2_left2和第二右軟讀取電壓Vsd2_right2執行讀取操作被讀取。第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。
在另一示例中,當第一ECC電路731對透過基於第二可變讀取電壓Vread2'執行讀取操作而讀取的硬資料的錯誤校正操作失敗時,第一ECC電路731可以使用第一軟資料來對硬資料執行錯誤校正操作,該第一軟資料透過基於第一左軟讀取電壓Vsd2_left1和第一右軟讀取電壓Vsd2_right1執行讀取操作被讀取。第一ECC電路731可以基於1位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。
例如,當第一ECC電路731對透過基於第二可變讀取電壓Vread2'執行讀取操作而讀取的硬資料的錯誤校正操作失敗時,第二ECC電路732可以使用第一軟資料以及第二軟資料來對硬資料執行錯誤校正操作,該第一軟資料透過基於第一左軟讀取電壓Vsd2_left1和第一右軟讀取電壓Vsd2_right1執行讀取操作被讀取,該第二軟資料透過基於第二左軟讀取電壓Vsd2_left2和第二右 軟讀取電壓Vsd2_right2執行讀取操作被讀取。第二ECC電路732可以基於2位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。
圖8是示出根據本發明實施例的讀取回收操作的流程圖。
參照圖8,在步驟S801處,記憶體控制器1200可以將讀取命令傳輸到記憶體裝置1100。
在步驟S802處,記憶體裝置1100可以回應於讀取命令對記憶塊110執行讀取操作,並且在步驟S803處,記憶體控制器1200可以從記憶體裝置1100接收透過執行讀取操作而讀取的資料。
在步驟S804處,記憶體控制器1200可以透過使用第一ECC電路731對從記憶體裝置1100接收的資料執行錯誤校正操作。
當第一ECC電路731的錯誤校正操作失敗時(在步驟S805處為“否”),在步驟S806處,記憶體控制器1200的錯誤校正結果儲存裝置733可以儲存第一ECC電路731的錯誤校正結果,並且記憶體緩衝器720可以儲存第一ECC電路731對其的錯誤校正失敗的資料。
隨後,在步驟S807處,記憶體控制器1200可以透過使用第二ECC電路732對從記憶體裝置1100接收的資料執行錯誤校正操作。在另一示例中,第二ECC電路732可以對儲存在記憶體緩衝器720中的第一ECC電路731的對其的錯誤校正失敗的資料執行錯誤校正操作。
當第二ECC電路732對第一ECC電路731的錯誤校正失敗的資料的錯誤校正操作成功(在步驟S808處為“是”)時,在步驟S809處,處理器710的讀取回收控制部分711可以基於第一ECC電路731的錯誤校正操作失敗將儲存第一ECC電路731對其的錯誤校正失敗的資料的記憶塊110添加到回收列表。
在另一示例中,步驟S809可以在步驟S805和步驟S807之間執行。換言之,當第一ECC電路731對資料的錯誤校正操作失敗時(在步驟S805處為“否”),在步驟S809處,記憶塊110可以被添加到回收列表。在另一示例中,步驟S809可以與步驟S806或S807並存執行。
隨後,在步驟S810處,讀取回收控制部分711可以使用回收清單對記憶塊110執行讀取回收操作。
在步驟S811處,在讀取回收操作之後,記憶體控制器1200可以更新關於記憶塊110的邏輯-實體位址映射資訊。
當第二ECC電路732的錯誤校正操作失敗時(在步驟S808處為“否”),在步驟S812處,記憶體控制器1200可以將記憶塊110設置為壞塊。
當第一ECC電路731的錯誤校正操作成功時(在步驟S805處為“是”),在步驟S813處,可以將錯誤校正成功的資料輸出到主機2000。
例如,第一ECC電路731可以基於博斯-查德胡裡-霍昆格姆(BBCH)碼來執行錯誤校正操作。另外,第二ECC電路732可以基於低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。在另一示例中,第一ECC電路731可以基於1位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。另外,第二ECC電路732可以基於2位元低密度奇偶校驗(LDPC)碼來執行錯誤校正操作。
圖9是示出根據實施例的讀取回收操作的流程圖。
參照圖9,在步驟S901處,記憶體控制器1200可以將讀取命令傳輸到記憶體裝置1100。
在步驟S902處,記憶體裝置1100可以回應於讀取命令對記憶塊110執行讀取操作,並且在步驟S903處,記憶體控制器1200可以從記憶體裝置1100接收透過讀取操作被讀取的資料。
在步驟S904處,記憶體控制器1200可以基於第一錯誤校正序列對從記憶體裝置1100接收的資料執行錯誤校正操作。例如,第一錯誤校正序列可以包括基於博斯-查德胡裡-霍昆格姆(BCH)碼的錯誤校正操作。在另一示例中,第一錯誤校正序列可以包括基於低密度奇偶校驗(LDPC)碼使用1位元軟資料執行的錯誤校正操作。在另一示例中,第一錯誤校正序列可以包括預定次數的校正迴圈反覆運算。另外,根據第一錯誤校正序列,錯誤校正操作可以執行預定時間。
當基於第一錯誤校正序列的錯誤校正操作失敗時(在步驟S905處為“否”),在步驟S906處,記憶體控制器1200的錯誤校正結果儲存裝置733可以儲存第一錯誤校正序列的錯誤校正結果,並且記憶體緩衝器720可以儲存對其的第一錯誤校正序列失敗的資料。
隨後,在步驟S907處,記憶體控制器1200可以基於第二錯誤校正序列對從記憶體裝置1100接收的資料執行錯誤校正操作。在另一示例中,記憶體控制器1200可以基於第二錯誤校正序列對基於第一錯誤校正序列對其的錯誤校正失敗且被儲存在記憶體緩衝器720中的資料執行錯誤校正操作。例如,第二錯誤校正序列可以包括基於低密度奇偶校驗(LDPC)碼執行的錯誤校正操作。在另一示例中,第二錯誤校正序列可以包括基於低密度奇偶校驗(LDPC)碼使用2位元軟資料執行的錯誤校正操作。
當基於第二錯誤校正序列對基於第一錯誤校正序列對其的錯誤校正操作失敗的資料的錯誤校正操作成功時(在步驟S908處為“是”),在步驟S909處,處理器710的讀取回收控制部分711可以根據基於第一錯誤校正序列的錯誤校正操作失敗將儲存對其的第一錯誤校正序列失敗的資料的記憶塊110添加到回收列表。
在另一示例中,步驟S909可以在步驟S905和步驟S907之間執行。換言之,當基於第一錯誤校正序列的錯誤校正操作失敗時(在步驟S905處為“否”),在步驟S909處,記憶塊110可以被添加到回收列表。在另一示例中,步驟S909可以與步驟S906或S907並存執行。
隨後,在步驟S910處,讀取回收控制部分711可以基於回收清單對記憶塊110執行讀取回收操作。
在步驟S911處,在讀取回收操作之後,記憶體控制器1200可以更新關於記憶塊110的邏輯-實體位址映射資訊。
當基於第二錯誤校正序列的錯誤校正操作失敗時(在步驟S908處為“否”),在步驟S912處,記憶體控制器1200可以將記憶塊110設置為壞塊。
當基於第一錯誤校正序列的錯誤校正操作成功時(在步驟S905處為“是”),在步驟S913處,可以將錯誤校正成功的資料輸出到主機2000。
圖10是示出根據另一實施例的記憶體控制器的簡化方塊圖。
參照圖10,與上面結合圖6描述的記憶體控制器相比,記憶體控制器1200可以進一步包括功耗管理器790。功耗管理器790可以管理記憶體系統1000的全部功耗。例如,功耗管理器790可以將預定量的功率預算分配給非揮 發性記憶體裝置1100。非揮發性記憶體裝置1100可以利用分配的功率預算來操作。例如,功耗管理器790可以將預定量的功率預算分配給記憶體控制器1200中的各種部件中的每一個,例如,處理器710、記憶體緩衝器720、ECC塊730、主機介面740、緩衝器控制電路750、記憶體介面760和資料隨機化器770。這些部件中的每一個都可以在其分配的功率預算內操作。
在另一示例中,功耗管理器790可以監視記憶體系統1000當前正在消耗的全部功率量。例如,當記憶體系統1000的功耗較大時,功耗管理器790可以臨時推遲記憶體控制器1200中的下列各種部件的每一個開始新的操作:例如,處理器710、記憶體緩衝器720、ECC塊730、主機介面740、緩衝器控制電路750、記憶體介面760和資料隨機化器770。當記憶體系統1000的全部功率消耗降低到預定水準或更低時,功率消耗管理器790可以控制記憶體控制器1200中的各種部件開始等待操作。
例如,記憶體控制器1200的處理器710可在讀取操作期間從非揮發性記憶體裝置1100接收讀取資料,向功耗管理器790請求指示可用功率預算是否大於或等於參考值的資訊,並且當可用功率預算大於或等於參考值時,透過使用第二ECC電路732直接對讀取的資料執行錯誤校正操作而無需第一ECC電路731的錯誤校正操作。
在另一示例中,記憶體控制器1200的處理器710可以在讀取操作期間從非揮發性記憶體裝置1100接收讀取資料,並且透過使用第一ECC電路731對讀取的資料執行錯誤校正操作。當透過使用第一ECC電路731對讀取的資料的錯誤校正失敗時,處理器710可以在透過使用第二ECC電路732對讀取的資料執行錯誤校正操作之前,請求功耗管理器790分配用於透過使用第二ECC電 路732對讀取的資料的錯誤校正操作的功率預算。處理器710可以接收功耗管理器790分配的用於透過第二ECC電路732對讀取的資料的錯誤校正操作的功率預算,並且可以透過使用第二ECC電路732對讀取的資料執行錯誤校正操作。
圖11是示出根據另一實施例的讀取回收操作的流程圖。
參照圖11,在步驟S1101處,記憶體控制器1200可以將讀取命令傳輸到記憶體裝置1100。在步驟S1102處,記憶體裝置1100可以回應於讀取命令對記憶塊110執行讀取操作,並且在步驟S1103處,記憶體控制器1200可以透過讀取操作接收從記憶體裝置1100讀取的資料。
在步驟S1104處,功耗管理器790可以回應於來自處理器710的請求檢查可用功率預算是否大於或等於參考值。當可用功率預算不大於或等於參考值(在步驟S1104處為“否”)時,在步驟S1105處,記憶體控制器1200可以透過使用第一ECC電路731對資料執行錯誤校正操作。
當第一ECC電路731的錯誤校正操作失敗時(在步驟S1106處為“否”),記憶體控制器1200的錯誤校正結果儲存裝置733可以儲存錯誤校正結果,並且記憶體緩衝器720可以儲存對其的錯誤校正失敗的資料。另外,在步驟S1107處,處理器710可以向功耗管理器790請求針對透過使用第二ECC電路732對資料的錯誤校正操作的功率預算。
當功耗管理器790完成分配用於透過使用第二ECC電路732對資料的錯誤校正操作的功率預算時(在步驟S1108處為“是”),在步驟S1109處,記憶體控制器1200可以透過使用第二ECC電路732對從記憶體裝置1100接收的資料執行錯誤校正操作。在另一示例中,記憶體控制器1200可以透過使用第二 ECC電路732對儲存在記憶體緩衝器720中的資料執行錯誤校正操作,其中透過第一ECC電路731對該資料的錯誤校正操作失敗。
當第二ECC電路732的錯誤校正操作成功時(在步驟S1110處為“是”),在步驟S1111處,處理器710的讀取回收控制部分711可以基於第一ECC電路731的錯誤校正操作失敗將儲存資料的記憶塊110添加到回收列表。在另一示例中,當透過使用第一ECC電路731對資料的錯誤校正操作失敗時(在步驟S1106處為“否”),記憶塊可以被添加到回收列表。
隨後,在步驟S1112處,讀取回收控制部分711可以基於回收清單對記憶塊110執行讀取回收操作。在步驟1113處,在讀取回收操作之後,記憶體控制器1200可以更新關於記憶塊110的邏輯-實體位址映射資訊。隨後,在步驟S1114處,記憶體控制器1200可以將錯誤校正成功的資料輸出到主機2000。
當透過第二ECC電路732的錯誤校正操作失敗時(在步驟S1110處為“否”),在步驟S1115處,記憶體控制器1200可以將記憶塊110設置為壞塊。
當可用功率預算等於或大於參考值時(在S1104處為“是”),在步驟S1109處,記憶體控制器1200可以透過使用第二ECC電路732直接對資料執行錯誤校正操作,而無需使用第一ECC電路731執行錯誤校正操作。
例如,當透過第二ECC電路732的錯誤校正操作成功時(在S1110中為“是”)並且資料的錯誤率為預定水準或更高時,可以執行步驟S1111至S1113。例如,當在步驟S1104處的可用功率預算大於或等於參考值時(在步驟S1104處為“是”),在步驟S1109處,記憶體控制器1200可以跳過使用第一 ECC電路731對資料的錯誤校正操作,並透過使用第二ECC電路732對資料執行錯誤校正操作。在該示例中,當由第二ECC電路732執行的錯誤校正操作檢查的資料的錯誤率是預定水準或更高時,可以執行步驟S1111至S1113。
當功耗管理器790未完成分配透過使用第二ECC電路732對資料的錯誤校正操作的功率預算時(在步驟S1108處為“否”),處理器710可以推遲執行步驟S1109,直到功率預算被分配為止。
圖12是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖。
參照圖12,記憶體系統30000可以被實施為行動電話、智慧型電話、平板PC、個人數位助理(PDA)或無線通訊裝置。記憶體系統30000可以包括記憶體裝置1100和控制記憶體裝置1100的操作的記憶體控制器1200。記憶體控制器1200可以回應於處理器3100的控制,控制記憶體裝置1100的資料訪問操作,例如,編程操作、擦除操作或讀取操作。
記憶體控制器1200可以控制被編程到記憶體裝置1100中的資料以透過顯示器3200輸出。
無線電收發器3300可以透過天線ANT交換無線電信號。例如,無線電收發器3300可以將透過天線ANT接收的無線電信號改變為處理器3100可以處理的信號。因此,處理器3100可以處理從無線電收發器3300輸出的信號並且將處理的信號傳輸到記憶體控制器1200或顯示器3200。記憶體控制器1200可以將由處理器3100處理的信號編程到記憶體裝置1100中。另外,無線電收發器3300可以將從處理器3100輸出的信號改變為無線電信號,並且透過天線ANT將無線電信號輸出到外部裝置。用於控制處理器3100的操作或待由處理器3100處 理的資料的控制信號可以透過輸入裝置3400輸入,並且輸入裝置3400可以包括諸如觸控板和電腦滑鼠、小鍵盤,鍵盤或其組合的指示裝置。處理器3100可以控制顯示器3200的操作,使得從記憶體控制器1200輸出的資料、從無線電收發器3300輸出的資料或從輸入裝置3400輸出的資料透過顯示器3200被輸出。
根據實施例,控制記憶體裝置1100的操作的記憶體控制器1200可以形成處理器3100的部分,或者可以形成為與處理器3100分開的晶片。進一步地,記憶體控制器1200可以透過圖6中示出的記憶體控制器的示例來實施。
圖13是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖。
參照圖13,記憶體系統40000可以被實施為個人電腦(PC)、平板PC、電子書、電子閱讀器、個人數位助理(PDA)、可擕式多媒體播放機(PMP)、MP3播放機或MP4播放機。
記憶體系統40000可以包括記憶體裝置1100和控制記憶體裝置1100的資料處理操作的記憶體控制器1200。
處理器4100可以根據透過輸入裝置4200輸入的資料透過顯示器4300輸出儲存在記憶體裝置1100中的資料。輸入裝置4200的示例可以包括諸如觸控板或電腦滑鼠、小鍵盤、鍵盤或其組合的指示裝置。
處理器4100可以控制記憶體系統40000的整體操作並且控制記憶體控制器1200的操作。根據實施例,控制記憶體裝置1100的操作的記憶體控制器1200可以是處理器4100的部分,或者可以形成為與處理器4100分開的晶片。進一步地,記憶體控制器1200可以透過圖6中示出的記憶體控制器的示例來實施。
圖14是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖。
參照圖14,記憶體系統50000可以被實施為影像處理器,例如,數位相機,附接有數位相機的可擕式電話、附接有數位相機的智慧型電話或附接有數位照相機的桌上型PC。
記憶體系統50000可以包括記憶體裝置1100和記憶體控制器1200,該記憶體控制器1200控制記憶體裝置1100的資料處理操作,例如編程操作、擦除操作或讀取操作。
記憶體系統50000的圖像感測器5200可以將光學圖像轉換成數位信號,並且轉換的數位信號可以被傳輸到處理器5100或記憶體控制器1200。轉換的數位信號可以回應於處理器5100的控制,透過顯示器5300被輸出或透過記憶體控制器1200被儲存在記憶體裝置1100中。另外,儲存在記憶體裝置1100中的資料可以根據處理器5100或記憶體控制器1200的控制透過顯示器5300被輸出。
根據實施例,控制記憶體裝置1100的操作的記憶體控制器1200可以是處理器5100的部分,或者可以形成為與處理器5100單獨的晶片。進一步地,記憶體控制器1200可以透過圖6中示出的記憶體控制器的示例來實施。
圖15是示出包括圖6所示的記憶體控制器的記憶體系統的另一實施例的簡化方塊圖。
參照圖15,記憶體系統70000可以包括記憶卡或智慧卡。記憶體系統70000可以包括記憶體裝置1100、記憶體控制器1200和卡介面7100。
記憶體控制器1200可以控制半導體記憶體裝置1100和卡介面7100之間的資料交換。在實施例中,卡介面7100可以是安全數位(SD)卡介面或多媒體卡(MMC)介面,但是不限於此。進一步地,記憶體控制器1200可以透過圖6中示出的記憶體控制器的示例來實施。
卡介面7100可以根據主機60000的協定來介面連接主機60000和記憶體控制器1200之間的資料交換。根據實施例,卡介面7100可以支援通用序列匯流排(USB)協定和晶片間(IC)-USB協議。卡介面可以指能夠支援由主機60000使用的協定的硬體、安裝在硬體中的軟體或者信號傳輸方法。
當記憶體系統70000連接到諸如PC、平板PC、數位相機、數位音訊播放機、行動電話、控制台視頻遊戲硬體或數位機上盒的主機60000的主機介面6200時,主機介面6200可以在微處理器6100的控制下透過卡介面7100和記憶體控制器1200執行與儲存裝置1100的資料通信。
根據本公開,結合記憶體系統的操作,可以使用具有更優異的錯誤校正能力的第一ECC電路和第二ECC電路來有效地執行記憶體系統的讀取回收操作。
對於本領域技術人員顯而易見的是,在不脫離本發明的精神或範圍的情況下,可以對本發明的上述示例性實施例進行各種變型。因此,旨在本發明涵蓋所有這樣的變型,只要它們落入所附請求項及其等同物的範圍內。
710:處理器
711:讀取回收控制部分
720:記憶體緩衝器
730:錯誤校正碼(ECC)塊
731:第一ECC電路
732:第二ECC電路
733:錯誤校正結果儲存裝置
740:主機介面
750:緩衝器控制電路
760:記憶體介面
770:資料隨機發生器
780:匯流排
1200:記憶體控制器

Claims (20)

  1. 一種記憶體系統的操作方法,所述方法包括:透過控制器從第一記憶塊讀取第一資料;使用第一錯誤校正(error correction,ECC)電路,對所述第一資料執行第一錯誤校正操作,以回應一可用功率預算小於一參考值;使用第二ECC電路對所述第一資料執行第二錯誤校正操作,以回應所述第一錯誤校正操作的失敗,及所述可用功率預算的分配大於或等於所述參考值;以及透過所述控制器對所述第一記憶塊執行讀取回收操作,以回應所述第二錯誤校正操作的成功。
  2. 根據請求項1所述的方法,其中所述讀取回收操作包括:從所述第一記憶塊讀取第二資料;使用所述第一ECC電路或所述第二ECC電路對所述第二資料執行錯誤校正操作;以及利用對其執行錯誤校正操作的所述第一資料和所述第二資料對第二記憶塊編程。
  3. 根據請求項1所述的方法,其中所述第二ECC電路的錯誤校正能力比所述第一ECC電路的錯誤校正能力更高。
  4. 根據請求項3所述的方法,其中所述第二錯誤校正操作的操作時間比所述第一錯誤校正操作的操作時間更長。
  5. 根據請求項1所述的方法,其中所述第二ECC電路在所述第二錯誤校正操作期間消耗的功率大於所述第一ECC電路在所述第一錯誤校正操作期間消耗的功率。
  6. 根據請求項1所述的方法,進一步包括將所述第一資料儲存在記憶體緩衝器中,其中透過所述第一ECC電路對所述第一資料的所述第一錯誤校正操作失敗,以及其中對儲存在所述記憶體緩衝器中的所述第一資料執行所述第二錯誤校正操作。
  7. 根據請求項1所述的方法,進一步包括將所述第一記憶塊添加到回收列表,其中基於所述回收列表執行所述讀取回收操作。
  8. 根據請求項1所述的方法,進一步包括在執行第一錯誤校正操作之前檢查所述可用功率預算是否大於或等於所述參考值。
  9. 根據請求項1所述的方法,其中當在所述第一錯誤校正操作期間對所述第一資料的所述第一錯誤校正操作在預定次數的反覆運算失敗時執行所述第二錯誤校正操作。
  10. 根據請求項1所述的方法,進一步包括用於從所述第一記憶塊讀取軟資料的第二讀取操作,以及其中使用所述軟資料執行所述第二錯誤校正操作。
  11. 根據請求項1所述的方法,其進一步包括:基於第一讀取條件從所述第一記憶塊讀取第一軟資料;以及基於第二讀取條件從所述第一記憶塊讀取第二軟資料,其中基於所述第一軟資料執行所述第一錯誤校正操作,以及 其中基於所述第一軟資料和所述第二軟資料來執行所述第二錯誤校正操作。
  12. 一種記憶體系統,其包括:第一記憶塊和第二記憶塊;第一ECC電路,其對從所述第一記憶塊讀取的資料執行第一錯誤校正操作,以回應一功率預算小於一預定值時;第二ECC電路,其對所述資料執行第二錯誤校正操作,以回應所述第一錯誤校正操作的失敗,及所述功率預算的分配大於或小於所述預定值;以及讀取回收控制部分,其執行讀取回收操作,以將儲存在所述第一記憶塊中的資料複製編程到所述第二記憶塊,以回應所述第二錯誤校正操作的成功,其中所述第二ECC電路的錯誤校正能力比所述第一ECC電路的錯誤校正能力更高。
  13. 根據請求項12所述的記憶體系統,進一步包括管理功耗的功耗管理器,其中,當所述功耗管理器分配大於或等於所述預定值的所述功率預算時,所述第二ECC電路執行所述第二錯誤校正操作。
  14. 根據請求項12所述的記憶體系統,其中所述第二ECC電路在所述第二錯誤校正操作期間消耗的功率大於所述第一ECC電路在所述第一錯誤校正操作期間消耗的功率。
  15. 根據請求項12所述的記憶體系統, 進一步包括儲存所述第一錯誤校正對其操作失敗的資料的記憶體緩衝器,其中所述第二ECC電路對儲存在所述記憶體緩衝器中的資料執行所述第二錯誤校正操作。
  16. 根據請求項12所述的記憶體系統,其中所述第一ECC電路基於博斯-查德胡裡-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)碼,來執行所述第一錯誤校正操作,以及其中所述第二ECC電路基於低密度奇偶校驗(low-density parity-check,LDPC)碼,來執行所述第二錯誤校正操作。
  17. 根據請求項12所述的記憶體系統,進一步包括儲存所述第一錯誤校正操作的結果並將所述結果傳輸到所述讀取回收控制部分的錯誤校正結果儲存裝置,其中所述讀取回收控制部分基於所述結果執行所述讀取回收操作。
  18. 一種記憶體系統的操作方法,其包括:從記憶塊讀取數據;基於第一錯誤校正序列對所述資料執行第一錯誤校正操作,以回應一可用功率預算小於一參考值;向功耗管理器請求所述功率預算大於或等於所述參考值,以回應所述第一錯誤校正操作的失敗;當所述可用功率預算被分配大於或等於所述參考值之後,基於第二錯誤校正序列對所述資料執行第二錯誤校正操作; 回應於所述第一錯誤校正操作的失敗將所述記憶塊的資訊添加到回收清單;以及基於所述回收列表執行讀取回收操作。
  19. 根據請求項18所述的方法,其中當所述回收列表中包括的記憶塊的數量大於或等於預定水準時,執行所述讀取回收操作。
  20. 根據請求項18所述的方法,進一步包括從所述記憶塊讀取軟資料,其中使用所述軟資料執行所述第二錯誤校正操作。
TW107121147A 2017-11-07 2018-06-20 記憶體系統及其操作方法 TWI775879B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??10-2017-0147391 2017-11-07
KR10-2017-0147391 2017-11-07
KR1020170147391A KR20190051570A (ko) 2017-11-07 2017-11-07 메모리 시스템 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
TW201919069A TW201919069A (zh) 2019-05-16
TWI775879B true TWI775879B (zh) 2022-09-01

Family

ID=66327715

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107121147A TWI775879B (zh) 2017-11-07 2018-06-20 記憶體系統及其操作方法

Country Status (4)

Country Link
US (1) US10778256B2 (zh)
KR (1) KR20190051570A (zh)
CN (1) CN109753375B (zh)
TW (1) TWI775879B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200028255A (ko) * 2018-09-06 2020-03-16 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
US11373726B2 (en) 2019-04-03 2022-06-28 Texas Instruments Incorporated Management of multiple memory in-field self-repair options
DE102020133713A1 (de) * 2020-02-27 2021-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Speicheraktualisierung
CN113227959A (zh) * 2021-03-30 2021-08-06 长江存储科技有限责任公司 具有读取错误处理的存储器控制器
KR102641756B1 (ko) 2021-11-11 2024-02-29 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150309872A1 (en) * 2014-04-29 2015-10-29 Lsi Corporation Data recovery once ecc fails to correct the data
US20160103735A1 (en) * 2014-10-13 2016-04-14 Samsung Electronics Co., Ltd. Error correction decoder and operation method of the error correction decoder
US20170177259A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Techniques to Use Open Bit Line Information for a Memory System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090066691A (ko) 2007-12-20 2009-06-24 삼성전자주식회사 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
US9189322B2 (en) * 2012-08-31 2015-11-17 Kabushiki Kaisha Toshiba Memory system
KR102262909B1 (ko) * 2014-12-18 2021-06-10 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
KR102265220B1 (ko) * 2015-03-09 2021-06-16 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
TWI600024B (zh) * 2016-07-05 2017-09-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10579471B2 (en) * 2017-03-02 2020-03-03 Toshiba Memory Corporation Storage device and error correction method for storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150309872A1 (en) * 2014-04-29 2015-10-29 Lsi Corporation Data recovery once ecc fails to correct the data
US20160103735A1 (en) * 2014-10-13 2016-04-14 Samsung Electronics Co., Ltd. Error correction decoder and operation method of the error correction decoder
US20170177259A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Techniques to Use Open Bit Line Information for a Memory System

Also Published As

Publication number Publication date
TW201919069A (zh) 2019-05-16
US20190140666A1 (en) 2019-05-09
KR20190051570A (ko) 2019-05-15
US10778256B2 (en) 2020-09-15
CN109753375B (zh) 2023-06-13
CN109753375A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
TWI775879B (zh) 記憶體系統及其操作方法
US20230333932A1 (en) Memory system and operating method thereof
KR20210077230A (ko) 메모리 시스템의 동작 방법 및 장치
CN113806254B (zh) 存储器***、存储器控制器及存储器***的操作方法
CN114968856B (zh) 存储器***及其操作方法
US20220156144A1 (en) Memory system and operating method thereof
CN116136738A (zh) 使用外部装置执行后台操作的存储器***及其操作方法
CN112037837B (zh) 存储器***、存储器控制器和存储器设备
CN114090473A (zh) 存储器***、存储器控制器及操作存储器***的方法
CN112783435A (zh) 存储设备和操作存储设备的方法
CN111883198A (zh) 存储器控制器及其操作方法
US11636007B2 (en) Memory system and operating method thereof for flushing data in data cache with parity
US11404137B1 (en) Memory system and operating method of memory system
US11704050B2 (en) Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks
US11275524B2 (en) Memory system, memory controller, and operation method of memory system
CN112083874B (zh) 存储器***、存储器控制器和操作存储器控制器的方法
KR20230161676A (ko) 이퓨즈 메모리를 제어하는 컨트롤러 및 그 동작 방법
KR20230075645A (ko) 반도체 장치 내 신호 간섭을 줄이기 위한 장치 및 방법
KR20220118011A (ko) 메모리 장치 및 메모리 장치의 동작 방법
KR20220163661A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN115223635A (zh) 存储器***及存储器***的操作方法
KR20230163847A (ko) 신드롬 가중치를 기초로 신뢰성 데이터를 결정하는 컨트롤러 및 그 동작 방법
KR20230135334A (ko) 가비지 컬렉션을 제어하는 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
KR20220107733A (ko) 보호모드를 지원하는 비휘발성 메모리 장치 및 그를 포함하는 메모리 시스템
KR20220101264A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent