CN110764948A - 数据存储装置、该数据存储装置的操作方法以及存储系统 - Google Patents
数据存储装置、该数据存储装置的操作方法以及存储系统 Download PDFInfo
- Publication number
- CN110764948A CN110764948A CN201811601819.8A CN201811601819A CN110764948A CN 110764948 A CN110764948 A CN 110764948A CN 201811601819 A CN201811601819 A CN 201811601819A CN 110764948 A CN110764948 A CN 110764948A
- Authority
- CN
- China
- Prior art keywords
- mode
- data
- code
- parity check
- check matrix
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims description 17
- 239000011159 matrix material Substances 0.000 claims abstract description 81
- 238000012937 correction Methods 0.000 claims abstract description 46
- 238000011017 operating method Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 71
- 238000012545 processing Methods 0.000 description 17
- 239000000872 buffer Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101000639461 Rattus norvegicus Small nuclear ribonucleoprotein-associated protein B Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种数据存储装置,该数据存储装置可以包括:储存器,存储用户数据、固件和启动代码;以及控制器,控制与储存器的数据交换,并且包括错误校正码(ECC)引擎,ECC引擎在数据交换期间执行错误校正,其中ECC引擎存储第一奇偶校验矩阵,在第一操作模式期间基于第一奇偶校验矩阵对与储存器交换的数据执行错误校正,并且在第二操作模式期间基于从固件提取的第二奇偶校验矩阵对与储存器交换的数据执行错误校正。
Description
相关申请的交叉引用
本申请要求于2018年7月25日向韩国知识产权局提交的申请号为10-2018-0086363的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体集成装置,并且更特别地,涉及一种数据存储装置、该数据存储装置的操作方法以及具有该数据存储装置的存储系统。
背景技术
存储装置与主机装置联接并且根据主机装置的请求访问数据。近来,随着便携式电子装置的使用快速增长,越来越多的便携式电子装置采用高容量存储介质,以便基于多媒体数据提供各种功能。能够满足这种要求的存储介质的示例可以包括基于闪速存储器的存储介质。
基于闪速存储器的存储介质具有许多优点,该存储介质具有高容量、非易失性、低单价和低功耗并且提供高数据处理速度。
闪速存储器制造技术的改进和用于在一个单元中存储多位数据的多层单元(MLC)技术的传播已经降低了存储介质的制造成本,但是可能使存储介质的可靠性和耐用性劣化。
发明内容
在实施例中,一种数据存储装置可以包括:储存器,被配置为存储用户数据、固件和启动代码;以及控制器,被配置为控制与储存器的数据交换,并且包括错误校正码(ECC)引擎,该ECC引擎被配置为在数据交换期间执行错误校正,其中ECC引擎存储第一奇偶校验矩阵,在第一操作模式期间基于第一奇偶校验矩阵对与储存器交换的数据执行错误校正,并且在第二操作模式期间基于从固件提取的第二奇偶校验矩阵对与储存器交换的数据执行错误校正。
在实施例中,提供一种数据存储装置的操作方法,该数据存储装置包括:储存器,存储用户数据、固件和启动代码;以及控制器,包括错误校正码(ECC)引擎,该ECC引擎在与储存器的数据交换期间执行错误校正,该操作方法包括:通过数据存储装置以第一操作模式操作;在数据存储装置的操作模式从第一操作模式改变为第二操作模式时,通过ECC引擎从固件提取奇偶校验矩阵,该奇偶校验矩阵对应于待在第二操作模式中使用的码率;以及通过ECC引擎使用从固件提取的奇偶校验矩阵对与储存器交换的数据执行错误校正。
在实施例中,一种存储系统可以包括:主机装置;以及数据存储装置,包括储存器和控制器,储存器被配置为存储用户数据、固件和启动代码,控制器被配置为控制与储存器的数据交换,其中控制器包括错误校正码(ECC)引擎,该ECC引擎存储第一奇偶校验矩阵,在第一操作模式期间基于第一奇偶校验矩阵对与储存器交换的数据执行错误校正,并且在第二操作模式期间基于从固件提取的第二奇偶校验矩阵对与储存器交换的数据执行错误校正。
在实施例中,一种数据存储装置可以包括:储存器,被配置为存储启动代码和固件;以及控制器,包括错误校正码(ECC)引擎,其中ECC引擎被配置为:基于与默认码率对应的第一矩阵,对待写入储存器或从储存器读取的用户数据执行错误校正操作;并且当启动代码的更新将被执行时,基于从固件提取的第二矩阵,对系统数据执行错误校正操作以更新启动代码,该第二矩阵对应于与默认码率不同的码率。
附图说明
图1是示出根据实施例的数据存储装置的示图。
图2A至图2C示出根据实施例的错误校正码(ECC)引擎的操作。
图3是示出根据实施例的控制器的示图。
图4示出根据实施例的固件储存器中存储的固件。
图5示出根据实施例的启动程序。
图6是示出根据实施例的数据存储装置的操作方法的流程图。
图7是示出根据实施例的数据存储系统的示图。
图8和图9是示出根据实施例的数据处理系统的示图。
图10是示出包括根据实施例的数据存储装置的网络系统的示图。
图11是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
下面将参照附图通过实施例描述根据本公开的数据存储装置、该数据存储装置的操作方法以及包括该数据存储装置的存储系统。
图1是示出根据实施例的数据存储装置10的示图。
参照图1,数据存储装置10可以包括控制器110和储存器120。尽管未示出,但是缓冲存储器可以设置在控制器110内部或外部。
控制器110可以响应于主机装置(未示出)的请求控制储存器120。例如,当从主机装置提供编程(或写入)命令、访问地址和数据时,控制器110可以将数据写入储存器120。此外,控制器110可以响应于主机装置的读取命令和访问地址从储存器120读取数据并将读取的数据提供给主机装置。
在实施例中,控制器110可以包括错误校正码或错误检查和校正(ECC)引擎20。
ECC引擎20可以被配置为检测从储存器120读取的数据的错误。当检测到的错误落在可校正范围内时,ECC引擎20可以校正检测到的错误。ECC引擎20可以包括用于错误校正的电路、系统或装置。
在实施例中,ECC引擎20可以通过对待存储在储存器120中的数据进行编码来生成具有奇偶校验位的数据。奇偶校验位以及待写入的数据可以存储在储存器120中。ECC引擎20可以使用奇偶校验矩阵来校正从储存器120读取的数据的错误位。可以根据ECC引擎20中使用的ECC代码的码率来不同地设置奇偶校验矩阵。
ECC引擎20可以使用诸如以下的编码调制来执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、turbo码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,本发明不限于任何特定码;任何特定码可以用于执行错误校正。
最近,使用LDPC码的编码方法已经受到很多关注。
LDPC码是在加性高斯白噪声(AWGN)通道处最接近香农极限的错误校正码。LDPC码比turbo码提供渐近更好的性能,并且实现可并行化的解码。
特别地,LDPC码是具有低密度的线性块码,因为奇偶校验矩阵H的大多数元素是“0”。
图2A至图2C示出根据实施例的错误校正码(ECC)引擎,例如图1的ECC引擎20的操作。
图2A示出ECC引擎20的编码操作和解码操作。
参照图2A,当接收到待编码的消息(即,输入数据或源数据)并确定码率时,ECC引擎20可以根据所确定的码率使用奇偶校验矩阵H对输入数据进行编码。因此,可以通过奇偶校验矩阵H将各输入数据编码为码字。在解码期间,ECC引擎20可以通过使用用于编码操作的奇偶校验矩阵H对码字进行解码来恢复原始消息。
图2B示出奇偶校验矩阵H。图2C示出包括多个子矩阵的奇偶校验矩阵H。
参照图2B和图2C,码率r可以表示输入数据的长度k与编码数据的长度,即码字的长度n的比(即,r=k/n)。奇偶校验矩阵H可以包括大小为[n×(n-k)]的对角矩阵。
奇偶校验矩阵H可以包括具有设定维度的多个子矩阵SM11至SMmn。可以根据码率r来确定奇偶校验矩阵H的大小和子矩阵的元素。
在实施例中,奇偶校验矩阵H可以包括(m×n)个子矩阵。
由于奇偶校验矩阵具有相当大的大小(例如,105位或更大),所以奇偶校验矩阵H的元素可以表示为具有设定大小的子矩阵(或子块),以便减小用于存储奇偶校验矩阵H所需的存储器的大小。
再次参照图1,储存器120可以根据控制器110的控制写入数据或输出写入的数据。在实施例中,储存器120可以被配置为易失性存储器装置或非易失性存储器装置。在实施例中,储存器120可以利用选自诸如以下的各种非易失性存储器装置中的存储器装置来实施:电可擦除可编程只读存储器(ROM)(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变随机存取存储器(RAM)(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。储存器120可以包括多个管芯、多个芯片或多个封装。另外,储存器120可以包括单层单元或多层单元,每个单层单元被配置为存储一位数据,每个多层单元被配置为存储多位数据。
在实施例中,储存器120可以包括固件(FW)储存器121。固件储存器121可以存储致动和操作数据存储装置10所需的各种固件。例如,固件储存器121可以存储存储介质固件、启动代码等。
存储介质固件可以表示通过其控制器110通过控制构成储存器120的硬件来操作数据存储装置10的固件。因此,控制器110可以通过驱动存储在固件储存器121中的固件控制对储存器120的数据输入和输出(I/O)操作,并且执行用于管理储存器120的各种操作,例如,垃圾收集、地址映射和损耗均衡等。
启动代码可以表示用于启动数据存储装置10的代码。
在实施例中,数据存储装置10可以具有找到启动数据存储装置10的程序并将程序加载到控制器110内的存储器中的启动程序,使得操作系统(OS)被初始化以控制数据存储装置10。启动代码可以被称为启动加载程序或启动程序代码。在数据存储装置10初始化之后,启动代码可以从储存器120复制到控制器110中并且然后执行。
存储介质固件可以简称为“固件”,并且被理解为是与“启动代码”不同的组件。
当启动代码中发生错误或将通过启动代码改进启动性能时,可以恢复或更新启动代码。
数据存储装置10可以以各种操作模式操作。例如,操作模式可以包括用户数据处理模式和系统数据处理模式。可以针对每个操作模式不同地设置ECC引擎20中使用的代码(下文中称为“ECC代码”)的码率。由于根据ECC代码的码率不同地设置奇偶校验矩阵,因此需要根据针对数据存储装置10的每个操作模式设置的ECC代码的码率来改变奇偶校验矩阵。
在实施例中,数据存储装置10可以具有用于处理用户数据的第一操作模式和用于更新诸如启动代码的系统数据的第二操作模式。
第一操作模式可以包括正常操作模式或主操作模式。在主操作模式中,数据存储装置将从主机装置提供的用户数据存储到储存器120中,以及从储存器120读取用户数据并将读取的用户数据提供给主机装置。第二操作模式可以包括用于当需要改变(恢复或升级)启动代码时,改变存储在储存器120中的启动代码的特殊操作模式。
用于处理第一操作模式的ECC引擎20的码率可以与用于处理第二操作模式的ECC引擎20的码率不同。如上所述,奇偶校验矩阵H可以根据码率不同地设置,并且具有相当大的大小。
在实施例中,用于数据存储装置10的主操作模式的奇偶校验矩阵可以安装在ECC引擎20或控制器110中。此外,用于除主操作模式(即,第一操作模式)之外的操作模式的奇偶校验矩阵可以与包括在固件二进制文件中的相应码率匹配,并存储在储存器120中。固件二进制文件可以通过将程序源文件转换为可执行机器语言文件并且然后从可执行机器语言文件中提取仅由机器语言代码组成的二进制信息的进程而生成。
从另一角度看,ECC引擎20或控制器110可以存储根据执行第一操作模式所需的码率的奇偶校验矩阵。储存器120可以存储固件。特别地,固件可以被配置为包括根据执行除第一操作模式之外的例如第二操作模式的操作模式所需的码率的奇偶校验矩阵。
在实施例中,根据用于处理系统数据的ECC引擎20的操作模式所需的码率的奇偶校验矩阵可以以机器语言格式生成,包括在固件中并存储在储存器120中。
当根据数据存储装置10的操作模式改变ECC引擎20的码率时,与改变的码率对应的奇偶校验矩阵可以被提取并用于ECC操作。
在实施例中,可以将储存器120内具有预设容量的特定区域分配给固件储存器121,并且可以不允许用户访问分配给固件储存器121的区域,从而可以保护固件或启动代码,以免被篡改或修改。
在实施例中,可以频繁地更新存储在固件储存器121中的固件,以便校正错误、提高数据存储装置10的性能或添加功能。
存储在储存器120内的特定区域中的启动代码也可以被更新以用于错误校正或性能提高。当更新启动代码时,可以使用根据预设码率的奇偶校验矩阵。用于更新操作的奇偶校验矩阵可以被生成以包括在固件中。固件内的奇偶校验矩阵也可以被改变或添加。由于可以通过更新固件来执行固件的改变或添加,因此可以保证ECC操作的可靠性。
图3是示出根据实施例的控制器,例如图1的控制器110的示图。
参照图3,控制器110可以包括中央处理单元(CPU)111、主机接口(IF)113、随机存取存储器(RAM)115、只读存储器(ROM)117、存储器接口(IF)119和ECC引擎20。
CPU 111可以读取存储在固件储存器121中的固件,并驱动读取的固件。由CPU 111驱动的固件可以处理主机装置的请求,并控制储存器120的整体操作。在实施例中,CPU 111可以被配置为将各种控制信息传送到主机IF 113、RAM 115和存储器IF 119,其中从储存器120读取数据或将数据写入储存器120需要该各种控制信息。在实施例中,CPU 111可以执行用于执行垃圾收集、地址映射、损耗均衡或错误检测和校正以管理储存器120的闪存转换层(FLT)的功能。
主机IF 113可以根据CPU 111的控制,从主机装置(或主机处理器)接收命令和时钟信号,并且提供用于控制数据输入/输出的通信通道。特别地,主机IF 113可以提供主机装置和数据存储装置10之间的物理连接。此外,主机IF 113可以响应于主机装置的总线格式提供与数据存储装置10的接口。主机装置的总线格式可以包括诸如以下的标准接口协议中的一个或多个:安全数字(SD)、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)和通用闪存(UFS)。
RAM 115可以存储诸如从储存器120读取的固件的程序代码和由程序代码使用的代码数据。RAM 115可以用作控制器110的工作存储器。
RAM 115可以利用能够存储诸如以下的程序代码的非暂时性机器可读介质代替:存储级存储器(SCM)、非易失性存储器(NVM)、闪速存储器或固态硬盘(SSD)。
ROM 117可以存储用于当数据存储装置10被激活时,控制数据存储装置10将启动代码复制到RAM 115中的程序代码或ROM代码。根据ROM代码,存储在储存器120中的启动代码可以被复制到控制器110中并且然后被执行。
存储器IF 119可以提供用于在控制器110和储存器120之间发送和接收信号的通信通道。存储器IF 119可以根据CPU 111的控制将数据写入储存器120。数据可以临时存储在缓冲存储器中。此外,存储器IF 119可以将从储存器120读取的数据传送到缓冲存储器以临时存储数据。
ECC引擎20可以包括存储器201、编码器203和解码器205。
在实施例中,存储器201可以存储与用于数据存储装置10的正常操作模式或主操作模式的码率对应的奇偶校验矩阵。因此,在用于处理用户数据的第一操作模式中,ECC引擎20可以使用存储在存储器201中的奇偶校验矩阵来执行ECC操作。
编码器203可以被配置为通过对传送以被写入储存器120的数据执行错误校正编码来生成具有奇偶校验位的数据,并将生成的数据写入储存器120。
解码器205可以被配置为使用根据预设码率的奇偶校验矩阵校正从储存器120读取的数据的错误。
在实施例中,在用于读取和写入用户数据的第一操作模式(即,正常操作模式或主操作模式)期间,解码器205可以使用与第一码率对应的第一奇偶校验矩阵来校正错误位。
当启动代码中发生错误时或在用于恢复或更新启动代码以提高启动性能的第二操作模式(即,特殊操作模式)期间,可以与第一操作模式不同的码率读取或写入启动代码。在第二操作模式中使用的码率可以与控制数据存储装置10复制启动代码的ROM代码的码率同步。因此,当数据存储装置10以第二操作模式操作时,所需的奇偶校验矩阵可以从固件中提取并且然后使用。换言之,在用于处理系统数据的第二操作模式期间,包括在固件储存器121中存储的固件中的奇偶校验矩阵可用于执行ECC操作。
图4示出根据实施例的固件储存器,例如图1的固件储存器121中存储的固件。
参照图4,固件可以包括子程序组,该子程序组包括Sub A和Sub B。
子程序Sub A和Sub B中的每一个可以包括标头部分和代码部分。标头部分可以包括处理器信息和相应子程序代码的开始位置、偏移、大小和链接信息。代码部分可以包括记录在其中的可执行代码。
针对每个码率设置的奇偶校验矩阵可以被编码并包括在固件的指定区域,例如固件的后端中。指定区域可以存储码率CR以及针对每个码率CR的奇偶校验矩阵PCM。
可以更新存储在固件储存器121中的固件,以便校正固件的错误、提高数据存储装置10的性能、或者添加功能。此外,当需要添加或改变奇偶校验矩阵时,可以更新固件。
图5示出根据实施例的启动程序。
参照图5,启动程序可以由如图3所示的包括CPU 111、RAM 115和ROM 117的控制器110执行。当向数据存储装置10供应电力时,可以首先执行ROM 117内的ROM代码。ROM代码可以执行命令①以访问储存器120的特定区域,并将存储在该区域中的启动代码复制到RAM115中。
在实施例中,启动代码可以存储在储存器120的固定区域,例如用作主启动区域MBR的启动块中。
当启动代码从启动块复制到RAM 115中(②)时,启动代码可以由CPU 111执行。
当执行启动代码时,存储在储存器120中的操作系统(OS)的程序代码可以被复制到RAM 115中(③),并由CPU 111执行。因此,数据存储装置10可以由OS控制。
当更新存储在储存器120中的启动代码时,可以提取存储在固件中的奇偶校验矩阵,以便通过与用于输入/输出启动代码的码率对应的奇偶校验矩阵执行错误校正。
图6是示出根据实施例的数据存储装置,例如图1和图3的数据存储装置10的操作方法的流程图。
参照图6,在步骤S101,数据存储装置10可以确定当前操作模式以处理数据。
当确定当前操作模式是用于以第一码率执行错误校正的第一操作模式时,在步骤S103,ECC引擎20可以从ECC引擎20内的存储器201中提取与第一码率对应的奇偶校验矩阵PCM。在步骤S105,ECC引擎20可以使用提取的奇偶校验矩阵在读取和/或写入操作中校正错误。
在实施例中,第一操作模式可以包括用于读取或写入用户数据的正常操作模式。
当在步骤S101确定当前操作模式是用于以第二码率执行错误校正的第二操作模式时,在步骤S107,ECC引擎20可以从固件储存器121内的固件中提取与第二码率对应的奇偶校验矩阵PCM。在步骤S109,ECC引擎20可以使用提取的奇偶校验矩阵在读取和/或写入操作中校正错误。
在实施例中,第二操作模式可以包括用于处理系统数据的特殊操作模式。例如,系统数据的处理可以包括恢复或更新启动代码,以便校正启动代码的错误或提高性能。
由于ECC引擎20中的存储器201的容量是有限的,因此与各码率对应的所有奇偶校验矩阵不能安装在ECC引擎20中。
然而,在实施例中,针对每个码率的奇偶校验矩阵可以包括在固件中并保留在储存器120中。因此,无论ECC引擎20中的存储器201的容量如何,都可以存储和提供各种奇偶校验矩阵。当操作模式改变的同时改变码率时,与改变的码率对应的奇偶校验矩阵可以被提取并用于错误校正。
图7是示出根据实施例的数据存储系统1000的示图。
参照图7,数据存储系统1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被实施为固态硬盘(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101以及电源连接器1103。
控制器1210可以控制数据存储装置1200的一般操作。控制器1210可以包括主机接口、控制组件、用作工作存储器的随机存取存储器、错误校正码(ECC)组件以及存储器接口。在实施例中,控制器1210可以配置为图1和图3所示的控制器110。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。信号可以包括命令、地址、数据等。
控制器1210可以分析并处理从主机装置1100接收的信号。控制器1210可以根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待被存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。此外,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。临时存储在缓冲存储器装置1230中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以被用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力提供给数据存储装置1200的内部。电源1240可以包括辅助电源。辅助电源可以在发生突然断电时供给电力以使数据存储装置1200能够正常地终止。辅助电源可以包括大容量电容器。
根据主机装置1100和数据存储装置1200之间的接口方案,信号连接器1101可以由各种类型的连接器来实施。
根据主机装置1100的电源方案,电源连接器1103可以由各种类型的连接器来实施。
图8是示出根据实施例的数据处理系统3000的示图。参照图8,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以被实施为诸如印刷电路板的板。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可以被安装到连接端子3110。
存储器系统3200可以被实施为诸如印刷电路板的板。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与如图1和图3所示的控制器110相同的方式来配置。
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供给存储器系统3200的内部。PMIC 3240可以根据控制器3210的控制来管理存储器系统3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,诸如命令、地址、数据等的信号和电力可以在主机装置3100和存储器系统3200之间传送。根据主机装置3100和存储器系统3200之间的接口方案,连接端子3250可以由各种类型的端子中的任意一种来实施。连接端子3250可以被设置在存储器系统3200的任意一侧。
图9是示出根据实施例的数据处理系统4000的示图。参照图9,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以被实施为诸如印刷电路板的板。虽然未示出,但是主机装置4100可以包括用于执行主机装置4100的功能的内部功能块。
存储器系统4200可以被实施为表面安装型封装。存储器系统4200可以通过焊球4250安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以与如图1和图3所示的控制器110相同的方式来配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图10是示出包括根据实施例的数据存储装置的网络系统5000的示图。参照图10,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410到5430提供的数据。又例如,服务器系统5300可以将数据提供给多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以被配置为图1所示的数据存储装置10、图7所示的数据存储装置1200、图8所示的存储器系统3200或图9所示的存储器系统4200。
图11是示出根据实施例的数据存储装置中包括的非易失性存储器装置300的框图。参照图11,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
存储器单元阵列310可以包括三维存储器阵列。三维存储器阵列具有垂直于半导体衬底的平坦表面的方向。此外,三维存储器阵列表示包括NAND串的结构,其中存储器单元以垂直堆叠的布置被设置。
然而,三维存储器阵列的结构不限于上述布置。而是,存储器阵列结构可以在水平和垂直方向上都以高度集成的方式配置。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以解码从外部装置(例如,图1的控制器110)提供的地址。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式而用作写入驱动器或读出放大器。例如,在写入操作期间,数据读取/写入块330可以用作写入驱动器,该写入驱动器将从外部装置提供的数据存储在存储器单元阵列310中。又例如,在读取操作期间,数据读取/写入块330可以用作读出放大器,该读出放大器从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以解码从外部装置提供的地址。列解码器340可以基于解码结果来将数据读取/写入块330的分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器350可以产生待用于非易失性存储器装置300的内部操作的电压。由电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作期间,编程电压可以被施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作期间,擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作期间,读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员根据本公开将理解,所描述的实施例仅是示例。因此,数据存储装置、该数据存储装置的操作方法和包括该数据存储装置的存储系统不限于所描述的实施例。而是,本发明包括落入权利要求的范围内的所有修改和变型。
Claims (19)
1.一种数据存储装置,包括:
储存器,存储用户数据、固件和启动代码;以及
控制器,控制与所述储存器的数据交换,并且包括错误校正码引擎,即ECC引擎,所述ECC引擎在所述数据交换期间执行错误校正,
其中所述ECC引擎存储第一奇偶校验矩阵,在第一操作模式期间基于所述第一奇偶校验矩阵对与所述储存器交换的数据执行错误校正,并且在第二操作模式期间基于从所述固件提取的第二奇偶校验矩阵对与所述储存器交换的数据执行错误校正。
2.根据权利要求1所述的数据存储装置,其中所述第一操作模式包括用户数据的输入和输出模式。
3.根据权利要求2所述的数据存储装置,其中在除所述第一操作模式之外的操作模式之中确定所述第二操作模式。
4.根据权利要求1所述的数据存储装置,其中所述第二操作模式包括所述启动代码的更新模式。
5.根据权利要求1所述的数据存储装置,其中所述固件包括针对所述ECC引擎中使用的ECC代码的各码率的奇偶校验矩阵代码组。
6.根据权利要求5所述的数据存储装置,其中所述储存器存储在奇偶校验矩阵代码中的任意一个被改变或另一奇偶校验矩阵代码被添加时更新的固件。
7.一种数据存储装置的操作方法,所述数据存储装置包括:储存器,存储用户数据、固件和启动代码;以及控制器,包括错误校正码引擎,即ECC引擎,所述ECC引擎在与所述储存器的数据交换期间执行错误校正,所述操作方法包括:
通过所述数据存储装置以第一操作模式操作;
在所述数据存储装置的操作模式从所述第一操作模式改变为第二操作模式时,通过所述ECC引擎从所述固件提取奇偶校验矩阵,所述奇偶校验矩阵对应于待在所述第二操作模式中使用的码率;以及
通过所述ECC引擎使用从所述固件提取的奇偶校验矩阵对与所述储存器交换的数据执行错误校正。
8.根据权利要求7所述的操作方法,其中所述ECC引擎存储第一奇偶校验矩阵,并且所述第一操作模式包括使用所述第一奇偶校验矩阵执行错误校正的模式。
9.根据权利要求7所述的操作方法,其中所述第一操作模式包括用户数据的输入和输出模式。
10.根据权利要求9所述的操作方法,其中在除所述第一操作模式之外的操作模式之中确定所述第二操作模式。
11.根据权利要求7所述的操作方法,其中所述第二操作模式包括所述启动代码的更新模式。
12.根据权利要求7所述的操作方法,其中所述固件包括针对所述ECC引擎中使用的ECC代码的各码率的奇偶校验矩阵代码组。
13.一种存储系统,包括:
主机装置;以及
数据存储装置,包括储存器和控制器,所述储存器存储用户数据、固件和启动代码,所述控制器控制与所述储存器的数据交换,
其中所述控制器包括错误校正码引擎,即ECC引擎,所述ECC引擎存储第一奇偶校验矩阵,在第一操作模式期间基于所述第一奇偶校验矩阵对与所述储存器交换的数据执行错误校正,并且在第二操作模式期间基于从所述固件提取的第二奇偶校验矩阵对与所述储存器交换的数据执行错误校正。
14.根据权利要求13所述的存储系统,其中所述第一操作模式包括用户数据的输入和输出模式。
15.根据权利要求14所述的存储系统,其中在除所述第一操作模式之外的操作模式之中确定所述第二操作模式。
16.根据权利要求13所述的存储系统,其中所述第二操作模式包括所述启动代码的更新模式。
17.根据权利要求13所述的存储系统,其中所述固件包括针对所述ECC引擎中使用的ECC代码的各码率的奇偶校验矩阵代码组。
18.根据权利要求17所述的存储系统,其中所述储存器存储在奇偶校验矩阵代码中的任意一个被改变或另一奇偶校验矩阵代码被添加时更新的固件。
19.一种数据存储装置,包括:
储存器,存储启动代码和固件;以及
控制器,包括错误校正码引擎,即ECC引擎,
其中所述ECC引擎:
基于与默认码率对应的第一矩阵,对待写入所述储存器或从所述储存器读取的用户数据执行错误校正操作;并且
当所述启动代码的更新将被执行时,基于从所述固件提取的第二矩阵,对系统数据执行错误校正操作以更新所述启动代码,所述第二矩阵对应于与所述默认码率不同的码率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0086363 | 2018-07-25 | ||
KR1020180086363A KR20200011655A (ko) | 2018-07-25 | 2018-07-25 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764948A true CN110764948A (zh) | 2020-02-07 |
CN110764948B CN110764948B (zh) | 2023-06-20 |
Family
ID=69178953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811601819.8A Active CN110764948B (zh) | 2018-07-25 | 2018-12-26 | 数据存储装置、该数据存储装置的操作方法以及存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10720943B2 (zh) |
KR (1) | KR20200011655A (zh) |
CN (1) | CN110764948B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102468737B1 (ko) * | 2017-12-19 | 2022-11-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US11340986B1 (en) * | 2020-12-08 | 2022-05-24 | Western Digital Technologies, Inc. | Host-assisted storage device error correction |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028273A1 (en) * | 2006-06-15 | 2008-01-31 | Samsung Electronics Co., Ltd. | Apparatus and method of encoding/decoding block low density parity check codes in a communication system |
CN102713855A (zh) * | 2009-12-23 | 2012-10-03 | 桑迪士克科技股份有限公司 | 在存储器设备处的控制数据的错误校正的系统和方法 |
US20170302299A1 (en) * | 2016-04-15 | 2017-10-19 | Phison Electronics Corp. | Data processing method, memory storage device and memory control circuit unit |
US20180019765A1 (en) * | 2016-07-13 | 2018-01-18 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
CN107608818A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
US20180034476A1 (en) * | 2016-07-29 | 2018-02-01 | Western Digital Technologies, Inc. | Hierarchical variable code rate error correction coding |
US20180088963A1 (en) * | 2016-09-29 | 2018-03-29 | Verizon Patent And Licensing Inc. | Software upgrade and disaster recovery on a computing device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392814B2 (en) | 2008-10-07 | 2013-03-05 | Qualcomm Incorporated | Method and apparatus for high speed structured multi rate low density parity check codes |
-
2018
- 2018-07-25 KR KR1020180086363A patent/KR20200011655A/ko not_active Application Discontinuation
- 2018-12-11 US US16/216,141 patent/US10720943B2/en active Active
- 2018-12-26 CN CN201811601819.8A patent/CN110764948B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028273A1 (en) * | 2006-06-15 | 2008-01-31 | Samsung Electronics Co., Ltd. | Apparatus and method of encoding/decoding block low density parity check codes in a communication system |
CN102713855A (zh) * | 2009-12-23 | 2012-10-03 | 桑迪士克科技股份有限公司 | 在存储器设备处的控制数据的错误校正的系统和方法 |
US20170302299A1 (en) * | 2016-04-15 | 2017-10-19 | Phison Electronics Corp. | Data processing method, memory storage device and memory control circuit unit |
CN107608818A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
US20180019765A1 (en) * | 2016-07-13 | 2018-01-18 | EpoStar Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
US20180034476A1 (en) * | 2016-07-29 | 2018-02-01 | Western Digital Technologies, Inc. | Hierarchical variable code rate error correction coding |
US20180088963A1 (en) * | 2016-09-29 | 2018-03-29 | Verizon Patent And Licensing Inc. | Software upgrade and disaster recovery on a computing device |
Also Published As
Publication number | Publication date |
---|---|
US10720943B2 (en) | 2020-07-21 |
KR20200011655A (ko) | 2020-02-04 |
CN110764948B (zh) | 2023-06-20 |
US20200036391A1 (en) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765035B (zh) | 存储器系统及其操作方法 | |
CN110347530B (zh) | 数据存储装置及其操作方法 | |
CN110275796B (zh) | 具有混合解码方案的存储器系统及其操作方法 | |
CN110556152B (zh) | 存储器装置、其操作方法以及包括其的存储器系统 | |
US20180373629A1 (en) | Memory system and operating method thereof | |
US20200210295A1 (en) | Memory system and operating method thereof | |
CN110727397A (zh) | 存储器系统以及用于操作该存储器系统的方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
KR20190000562A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US11373709B2 (en) | Memory system for performing a read operation and an operating method thereof | |
CN110765029A (zh) | 控制器及用于操作该控制器的方法 | |
CN112988054A (zh) | 存储器系统及其操作方法 | |
KR20170012006A (ko) | 메모리 컨트롤러와 이를 포함하는 메모리 시스템 | |
CN110277124B (zh) | 具有混合解码方案的存储器系统及其操作方法 | |
US10289328B2 (en) | Memory controller and method for handling host request based on data character | |
CN110764948B (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
CN109240949B (zh) | 数据存储装置及其操作方法 | |
US20220171564A1 (en) | Apparatus and method for maintaining data stored in a memory system | |
CN110795359A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN112687323A (zh) | 具有用于解码的错误减少方案的存储器系统及其操作方法 | |
TW202318211A (zh) | 用於編程資料的記憶體裝置和記憶體系統 | |
US11941289B2 (en) | Apparatus and method for checking an error of a non-volatile memory device in a memory system | |
CN112216328B (zh) | 具有低复杂度解码的存储器系统及其操作方法 | |
US11157210B2 (en) | Memory system performing dummy program operation during normal program operation | |
CN114373500A (zh) | 一种存储器系统和控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |
|
TR01 | Transfer of patent right |