CN111352765B - 控制器及存储器系统 - Google Patents

控制器及存储器系统 Download PDF

Info

Publication number
CN111352765B
CN111352765B CN201910930413.2A CN201910930413A CN111352765B CN 111352765 B CN111352765 B CN 111352765B CN 201910930413 A CN201910930413 A CN 201910930413A CN 111352765 B CN111352765 B CN 111352765B
Authority
CN
China
Prior art keywords
data set
parity
controller
data
ldpc
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.)
Active
Application number
CN201910930413.2A
Other languages
English (en)
Other versions
CN111352765A (zh
Inventor
金到训
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111352765A publication Critical patent/CN111352765A/zh
Application granted granted Critical
Publication of CN111352765B publication Critical patent/CN111352765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/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
    • 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
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • G06F3/0656Data buffering arrangements
    • 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
    • G06F3/0658Controller construction arrangements
    • 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
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with 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/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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种控制器。该控制器包括:错误校正码(ECC)编码器,将第一奇偶校验添加到数据中以生成数据集,并且对数据集进行编码以生成第一奇偶校验数据集;缓冲器,临时存储第一奇偶校验数据集;ECC解码器,对从缓冲器接收的第一奇偶校验数据集进行解码,以生成经解码数据集;第一校验器,对经解码数据集执行低密度奇偶校验(LDPC)编码,以生成添加第二奇偶校验的LDPC数据集;以及第二校验器,对包括第一奇偶校验和第二奇偶校验的LDCP数据集执行校正子校验操作。

Description

控制器及存储器系统
相关申请的交叉引用
本申请要求于2018年12月24日提交的申请号为10-2018-0168761的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种控制器和包括控制器的存储器系统,且更特别地,涉及一种控制器的数据路径保护技术。
背景技术
存储器系统包括存储数据的存储器装置和在存储器装置与主机之间通信的控制器。
存储器装置通常分为易失性存储器装置或非易失性存储器装置。易失性存储器装置在电源被阻断时可能丢失其中存储的数据,非易失性存储器装置即使在没有电源的情况下也可保留所存储的数据。
近来,随着便携式电子装置的使用增加,非易失性存储器装置的使用也越来越多。
控制器可控制非易失性存储器装置的操作,并且在主机与非易失性存储器装置之间传送数据。可执行数据路径保护(DPP)操作来增加待传送的数据的可靠性。
例如,可在DPP操作期间执行加密操作、编码操作、解码操作和/或错误校验操作。存在在减少全部操作时间的同时,提高DPP操作期间执行的每个操作的可靠性的需求。
发明内容
各个实施例涉及一种控制器和包括控制器的存储器系统,其中该控制器能够在减少写入操作期间传送数据所需的时间的同时提高数据的可靠性。
根据实施例,一种控制器可包括:错误校正码(ECC)编码器,将第一奇偶校验添加到数据中以生成数据集,并且对数据集进行编码以生成第一奇偶校验数据集;缓冲器,临时存储第一奇偶校验数据集;ECC解码器,对从缓冲器接收的第一奇偶校验数据集进行解码,以生成经解码数据集;第一校验器,对经解码数据集执行低密度奇偶校验(LDPC)编码,以生成添加第二奇偶校验的LDPC数据集;以及第二校验器,对包括第一奇偶校验和第二奇偶校验的LDCP数据集执行校正子校验操作。
根据实施例,一种控制器可包括:主机控制器,对从主机接收的第一数据进行加密,向经加密数据添加奇偶校验,并对经加密数据进行编码;第一缓冲器,临时存储从主机控制器输出的经加密数据;以及存储器控制器,将附加奇偶校验添加到从第一缓冲器输出的经加密数据,以执行错误校验操作,其中当未发现错误时,存储器控制器将经错误校验的数据作为第二数据而输出。
根据实施例,一种存储器系统可包括:控制器,在写入操作期间,该控制器将第一和第二奇偶校验添加到从主机接收的原始数据中,将LDPC奇偶校验添加到包括第一和第二奇偶校验的第一数据集,执行LDPC编码,并对包括第一奇偶校验、第二奇偶校验以及LDPC奇偶校验的第二数据集执行校正子校验操作;以及存储器装置,存储从控制器输出的第二数据集,其中,在读取操作期间,控制器从存储器装置接收第二数据集,对该第二数据集执行错误校正操作,然后将原始数据输出到主机。
根据实施例,提供一种控制器的数据路径保护方法,该方法包括:对从主机接收的原始数据进行编码,以生成其中添加第一奇偶校验和第二奇偶校验的经加密数据;将经加密数据临时存储在缓冲器中;对从缓冲器接收的经加密数据执行LDPC编码,以添加LDPC奇偶校验,从而生成添加LDPC奇偶校验的数据;对包括第一奇偶校验、第二奇偶校验和LDPC奇偶校验的添加LDPC奇偶校验的数据执行校正子校验操作;并且将添加LDPC奇偶校验的数据存储在存储器装置中。
附图说明
图1是示出根据本公开的实施例的存储器系统的框图;
图2是图1所示的存储器系统中包括的控制器的详细示图;
图3是图2所示的控制器的数据传送路径的详细示图;
图4是描述图3所示的控制器中包括的主机控制器中的数据传送方法的示图;
图5是描述图3所示的控制器中包括的存储器控制器中的数据传送方法的示图;
图6是图1所示的存储器系统中包括的存储器装置的详细示图;
图7至图10是示出根据本公开的各个实施例的包括存储器装置和控制器的存储器系统的框图。
具体实施方式
本发明的优点和特征以及实现这些优点和特征的方法将通过下面参照附图详细描述的实施例而变得清晰。然而,这些优点和特征可以不同的形式实现,并且不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以便使本公开将是彻底的且完整的,并且将示例性实施例的范围全面地传达给本领域的技术人员。
将理解的是,当元件被称为“联接”或“连接”到特定元件时,该元件可“直接联接或连接”到特定元件,或者可在其间存在中间元件的情况下间接联接或连接到特定元件。
注意的是,对“实施例”、“另一实施例”等的参考不一定仅意味着一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语限制。这些术语用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们表明阐述元件的存在而不排除一个或多个其它元件的存在或增加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
如本文所使用的,除非上下文另有明确指示,否则单数形式也可包括复数形式,反之亦然。除非另有说明或上下文清楚地指向单数形式,否则本说明书和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”。
图1是示出根据本公开的实施例的存储器系统1000的框图。
参照图1,存储器系统1000可包括存储器装置1100和控制器1200。
存储器装置1100可包括单个存储装置或多个存储装置。每个存储装置可包括在其中存储数据的多个存储器单元。存储器装置1100可在控制器1200的控制下执行数据的写入操作、读取操作和擦除操作。存储器装置1100可包括至少一个非易失性存储器装置,例如NAND闪速存储器。
控制器1200可响应于主机2000的请求来控制存储器装置1100,并且在没有来自主机2000的请求的情况下,通过内部操作来控制存储器装置1100。例如,当控制器1200从主机2000接收写入请求和数据时,控制器1200可将所接收的数据传送到存储器装置1100。控制器1200可不直接将从主机2000接收的数据传送到存储器装置1100,而是可在执行错误校验操作以增加数据的可靠性之后将数据传送到存储器装置1100。下面将描述在控制器1200中执行的错误校验操作。
主机2000可经由控制器1200并通过使用诸如以下的接口协议来与存储器装置1100通信:高速外围组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串列SCSI(SAS)。主机2000与存储器系统1000之间使用的接口协议可不限于以上示例,并且可包括通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
图2是图1所示的存储器系统1000中包括的控制器1200的详细示图。
参照图2,控制器1200可将从图1所示的主机2000接收的数据传送到图1所示的存储器装置1100,并将从存储器装置1100读取的数据传送到主机2000。控制器1200包括主机控制器210、缓冲器220和存储器控制器230。主机控制器210可被称为主机接口(I/F),存储器控制器230可被称为存储器接口(I/F)。
在下文中,从主机2000传送到控制器1200的数据可被称为“第一数据DATA1”,并且从控制器1200传送到存储器装置1100的数据可被称为“第二数据DATA2”。换言之,第一数据DATA1可以是原始数据,第二数据DATA2可以是由第一数据DATA1转换的数据。
主机控制器210、缓冲器220和存储器控制器230可将第一数据DATA1转换成第二数据DATA2,并且沿输入路径IP将第二数据DATA2传送到存储器装置1100。主机控制器210、缓冲器220和存储器控制器230可将第二数据DATA2恢复成第一数据DATA1,并且沿输出路径OP将第一数据DATA1输出到主机2000。换言之,主机控制器210、缓冲器220和存储器控制器230可包括输入路径IP和输出路径OP中的每一个中使用的装置,在写入操作期间使用输入路径IP中包括的装置,并且在读取操作期间使用输出路径OP中包括的装置。
主机控制器210可在写入操作期间对第一数据DATA1执行加密操作和奇偶校验添加操作。主机控制器210可在读取操作期间执行奇偶校验去除操作,将经加密数据恢复成第一数据DATA1,并将第一数据DATA1传送到主机2000。
缓冲器220可临时存储在写入操作和读取操作期间从主机控制器210或存储器控制器230传送的数据。
在写入操作期间,存储器控制器230可对从缓冲器220接收的数据执行错误校验操作,并且将对其执行错误校验操作的第二数据DATA2传送到存储器装置1100。在读取操作期间,存储器控制器230可对从存储器装置1100接收的第二数据DATA2执行错误校验操作,并将经错误校验的数据传送到缓冲器220。
换言之,输入路径IP中包括的装置可用于校验在写入操作期间是否存在通过控制器1200传送到存储器装置1100的数据的通信失败。此外,输出路径OP中包括的装置可用于校验在读取操作期间是否存在通过控制器1200输出到主机2000的数据的通信失败。
下面将更详细地描述如上所述的主机控制器210、缓冲器220和存储器控制器230。
图3是图2所示的控制器的数据传送路径的详细示图。
参照图3,输入路径IP可包括外部循环冗余校验(CRC)编码器11、加密编码器12、第一错误校正码(ECC)编码器13、第一缓冲器14、第一错误校正码(ECC)解码器15、第一校验器16和第二校验器17。输出路径OP可包括第三校验器18、第二ECC编码器19、第二缓冲器20、第二ECC解码器21、解密解码器22和外部循环冗余校验(CRC)解码器23。
外部CRC(ECRC)编码器11、加密编码器12、第一ECC编码器13、第二ECC解码器21、解密解码器22和外部CRC(ECRC)解码器23可包括在主机控制器210中。第一缓冲器14和第二缓冲器20可包括在缓冲器220中。第一ECC解码器15、第一校验器16、第二校验器17、第三校验器18和第二ECC编码器19可包括在存储器控制器230中。
因此,主机控制器210的输入路径IP中包括的外部CRC编码器11、加密编码器12和第一ECC编码器13,缓冲器220的输入路径IP中包括的第一缓冲器14,存储器控制器230的输入路径IP中包括的第一ECC解码器15、第一校验器16和第二校验器17可在写入操作期间进行操作。存储器控制器230的输出路径OP中包括的第三校验器18和第二ECC编码器19,缓冲器220的输出路径OP中包括的第二缓冲器20,主机控制器210的输出路径OP中包括的第二ECC解码器21、解密解码器22和外部CRC解码器23可在读取操作期间进行操作。
下面将更详细地描述如上所述的主机控制器210、缓冲器220和存储器控制器230中包括的装置中的每一个。
图4是描述图3所示的控制器1200中包括的主机控制器210中的数据传送方法的示图。图5是描述图3所示的控制器1200中包括的存储器控制器230中的数据传送方法的示图。图6是图1所示的存储器系统1000中包括的存储器装置1100的详细示图。
下面将参照图4、图5和图6描述写入操作和读取操作中的每一个。
写入操作
参照图4,写入操作可指当从主机2000提供写入请求时,将从主机2000接收的第一数据DATA1转换成第二数据DATA2并将该第二数据DATA2传送到存储器装置1100的操作。该写入操作可在控制器1200中执行。
在写入操作期间,当从主机2000接收第一数据DATA1时,ECRC编码器11可输出第一奇偶校验数据集1P_DATA,即添加了第一奇偶校验1st Parity的第一数据DATA1。可将第一奇偶校验1st Parity添加到第一数据DATA1中以加密第一数据DATA1。例如,可假设第一数据DATA1的大小“S1”为“A1字节”,并且包括A2字节的第一奇偶校验1st Parity的第一奇偶校验数据集1P_DATA的大小“S2”为“A1+A2字节”。例如,奇偶校验的大小可以是约10%的数据大小。
加密编码器12可加密第一奇偶校验数据集1P_DATA,以输出经加密数据集EDATA。加密编码器12可通过使用数据加密标准(DES)算法或高级加密标准(AES)算法来加密第一奇偶校验数据集1P_DATA。与DES算法相比,AES算法具有提高的加密性能。即使在第一奇偶校验数据集1P_DATA被加密时,整个位的数量也不会改变。因此,经加密数据集EDATA的大小S3可与第一奇偶校验数据集1P_DATA的大小S2相同。在某些情况下,经加密数据集EDATA的大小S3可能不同于第一奇偶校验数据集1P_DATA的大小S2。因为第一奇偶校验数据集1P_DATA中包括的第一数据DATA1和第一奇偶校验1st Parity由加密编码器12加密,所以在经加密数据集EDATA中可能无法将第一数据DATA1和第一奇偶校验1st Parity彼此区分开。
第一ECC编码器13可将第二奇偶校验2nd Parity添加到经加密数据集EDATA,对该经加密数据集EDATA和第二奇偶校验2nd Parity进行编码,以输出第二奇偶校验数据集P2_EDATA。第二奇偶校验2nd Parity可具有A3字节的大小。因此,可将第二奇偶校验2ndParity的大小添加到经加密数据集EDATA的大小S3,使得第二奇偶校验数据集P2_EDATA的大小S4可以是A1+A2+A3字节。
在执行低密度奇偶校验(LDPC)编码之前,第二奇偶校验数据集P2_EDATA可暂时存储在第一缓冲器14中。
第一缓冲器14可临时存储第二奇偶校验数据集P2_EDATA,直到完成写入操作。可将第一缓冲器14设置为易失性存储器或非易失性存储器。例如,可将第一缓冲器14实现为动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或非易失性存储器。
参照图5,第一ECC解码器15可对临时存储在第一缓冲器14中的第二奇偶校验数据集P2_EDATA进行解码,以输出经解码数据集D_DATA。输入到第一ECC解码器15的第二奇偶校验数据集P2_EDATA的大小S5可与输入到第一缓冲器14的第二奇偶校验数据集P2_EDATA的大小S4相同。
经解码数据集D_DATA可与输入到第一ECC编码器13的经加密数据集EDATA相同。例如,因为在第一ECC编码器13中编码的第二奇偶校验数据集P2_EDATA被第一ECC解码器15解码,所以从第一ECC解码器15输出的经解码数据集D_DATA的值可与被第一ECC编码器13编码之前的经加密数据集EDATA的值相同。因此,经解码数据集D_DATA的大小S6可与第二奇偶校验数据集P2_EDATA的大小S5相同。
第一校验器16可通过低密度奇偶校验(LDPC)编码对经解码数据集D_DATA进行编码,以输出LDPC数据集L_DATA。例如,第一校验器16可通过将经解码数据集D_DATA乘以生成矩阵来执行LDPC编码操作,并且输出由该操作的结果所生成的LDPC数据集L_DATA。
[等式1]
参考“等式1”,生成矩阵可包括“K”个位(或字节)的行和“N”个位(或字节)的列,并且可根据LDPC性能而被不同地设计。换言之,单个行可包括“N”个位(或字节)。此处,“K”和“N”两者都是正整数,并且“N”大于“K”。“K”可与经解码数据集D_DATA的大小S6相同。
因此,由LDPC编码操作生成的LDPC数据集L_DATA的大小S7可以是“N”个位(或字节),并且可添加与“K”和“N”之间的差相同的LDPC奇偶校验LDPC_Parity。换言之,可将(N-K)个位(或字节)的LDPC奇偶校验LDPC_Parity添加到经解码数据集D_DATA的大小S6中,以产生LDPC数据集L_DATA的大小S7。例如,当“K”为A1+A2+A3个字节,“N”为A1+A2+A3+A4个字节时,添加到LDPC数据集L_DATA的LDPC奇偶校验LDPC_Parity可以是A4个字节。LDPC奇偶校验LDPC_Parity的大小可根据在第一校验器16中设置的生成矩阵集来改变。LDPC数据集L_DATA可以是由LDPC编码的结果所生成的码字。A2、A3和A4可彼此相同或不同。
第二校验器17可对LDPC数据集L_DATA执行校正子校验操作。例如,第二校验器17可通过将奇偶校验矩阵乘以LDPC数据集L_DATA来计算(N-K)个位(或字节)的校正子向量(S<(N-K):1>)。第二校验器17可根据校正子向量(S<(N-K):1>)来确定校正子校验操作是通过还是失败。
[等式2]
参考“等式2”,奇偶校验矩阵可包括(N-K)个位(或字节)的行和N个位(或字节)的列。换言之,单个行可包括N个位(或字节)。通过将奇偶校验矩阵乘以LDPC数据集L_DATA所计算的校正子向量(S<(N-K):1>)的大小S7可以是(N-K)个位(或字节)。当校正子向量(S<(N-K):1>)中包括的所有位都为“0”时,校正子校验操作通过。当校正子向量(S<(N-K):1>)中包括的位中包括“1”时,校正子校验操作失败。
第二校验器17可通过改变校验节点来执行LDPC数据集L_DATA的校正子校验操作,直到校正子向量(S<(N-K):1>)中包括的所有位变为“0”。换言之,第二校验器17可对包括第一数据DATA1、第一奇偶校验1st Parity、第二奇偶校验2nd Parity和LDPC奇偶校验LDPC_Parity的经修改数据集执行校正子校验操作。
当校正子校验操作通过时,第二校验器17可输出第二数据DATA2。第二数据DATA2可以是校正子校验操作通过的LDPC数据集L_DATA。可将从第二校验器17输出的第二数据DATA2传送到存储器装置1100,并且存储器装置1100可将所接收的第二数据DATA2编程到所选择的存储器区域中。
当校正子校验操作失败时,第二校验器17可搜索校验节点值,以使校正子向量(S<(N-K):1>)中包括的所有位变为“0”。
下面将参照图6详细描述存储器装置1100的实施例。
参照图6,存储器装置1100可包括用于存储数据的存储器单元阵列110,用于执行编程操作、读取操作或擦除操作的外围电路以及用于基于命令CMD和地址ADD控制外围电路的控制逻辑170。例如,外围电路可包括电压生成器120、行解码器130、页面缓冲器组140、列解码器150和输入/输出电路160。
存储器单元阵列110可包括多个存储块B1至Bk,其中k为正整数。存储块B1至Bk包括多个存储器单元,并且具有二维或三维结构。例如,在二维结构的存储块B1至Bk中,可在衬底的水平方向上布置存储器单元。在三维结构的存储块B1至Bk中,可在垂直于衬底的方向上堆叠存储器单元。
电压生成器120可响应于操作信号OP_SIG而生成和输出各个操作所需的操作电压Vop。例如,当提供用于编程操作的操作信号OP_SIG时,电压生成器120可生成编程电压、通过电压、编程验证电压等。当提供用于读取操作的操作信号OP_SIG时,电压生成器120可生成读取电压、通过电压等。当提供用于擦除操作的操作信号OP_SIG时,电压生成器120可生成擦除电压、通过电压、擦除验证电压等。
行解码器130可根据行地址RADD并通过局部线LL将操作电压Vop传送到所选择的存储块。
页面缓冲器组140可通过位线BL联接到存储块B1至Bk,并且包括分别联接到位线BL的页面缓冲器。页面缓冲器组140可响应于页面缓冲器控制信号PBSIG来控制位线BL的电压或感测位线BL的电压或电流。
列解码器150可响应于列地址CADD与页面缓冲器组140交换数据或者与输入/输出电路160交换数据。例如,列解码器150可通过列线CL与页面缓冲器组140交换数据,或者可通过数据线DL与输入/输出电路160交换数据。
输入/输出电路160可在写入操作期间从控制器1200接收命令CMD、地址ADD和第二数据DATA2,并且在读取操作期间将第二数据DATA2输出到控制器1200。例如,输入/输出电路160可将所接收的命令CMD和地址ADD传送到控制逻辑170,并将第二数据DATA2传送到列解码器150。此外,输入/输出电路160可将从存储块B1至Bk读取的第二数据DATA2输出到控制器1200。
控制逻辑170可基于命令CMD和地址ADD输出用于控制外围电路的控制信号。控制信号可包括操作信号OP_SIG和页面缓冲器控制信号PBSIG。另外,控制逻辑170可响应于地址ADD而输出行地址RADD和列地址CADD。
如上所述,对数据集,即对在写入操作期间从主机2000提供的、添加第一奇偶校验1st Parity和第二奇偶校验2nd Parity以及LDPC奇偶校验LDPC_Parity的第一数据DATA1执行数据校验操作。因此,当与使用比上述奇偶校验更多的奇偶校验的传统方法相比时,可简化用于传送数据的逻辑。另外,可提高数据传送方法的可靠性,而不增加控制器1200中用于传送数据的缓冲器的数量。
读取操作
参照图5,读取操作可指当从主机2000提供读取请求时,将从存储器装置1100读取的第二数据DATA2转换成第一数据DATA1并将该第一数据DATA1输出到主机2000的操作。该读取操作可在控制器1200中执行。
当接收到从存储器装置1100读取的第二数据DATA2时,第三校验器18可对第二数据DATA2执行错误校正操作,去除第二数据DATA2中包括的LDPC奇偶校验LDPC_Parity,以输出数据集D_DATA'。
第二ECC编码器19可对从第三校验器18输出的数据集D_DATA'进行编码,以输出经编码数据集P2_EDATA'。从第二ECC编码器19输出的经编码数据集P2_EDATA'可临时存储在缓冲器220中包括的第二缓冲器20中。
第二缓冲器20可临时存储经编码数据集P2_EDATA',直到完成读取操作。可将第二缓冲器20设置为易失性存储器或非易失性存储器。例如,可将第二缓冲器20实现为动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或闪速存储器。
重新参照图4,第二ECC解码器21可对第二缓冲器20中存储的经编码数据集P2_EDATA'进行解码,以输出经解码数据集EDATA'。从第二ECC解码器21输出的经解码数据集EDATA'可以是与从加密编码器12输出的经加密数据集EDATA相同的数据。第二ECC解码器21可在解码的同时从经编码数据集P2_EDATA'中去除第二奇偶校验2nd Parity,并输出经解码数据集EDATA'。
解密解码器22可对经解码数据集EDATA'进行解密以输出被解密的经解码数据集1P_DATA'。
ECRC解码器23可对经解码数据集1P_DATA'进行解码,从该经解码数据集1P_DATA'中去除第一奇偶校验1st Parity,以输出第一数据DATA1'。换言之,从ECRC解码器23输出的第一数据DATA1'可被输出到主机2000。
图7是示出根据本公开的实施例的包括存储器装置和控制器的存储器系统30000的示图。
参照图7,存储器系统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独立的芯片。
图8是示出根据本公开的实施例的包括存储器装置和控制器的存储器系统40000的示图。
参照图8,存储器系统40000可被实现到个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可包括存储数据的存储器装置1100和控制存储器装置1100的数据处理操作的控制器1200。
处理器4100可根据通过输入装置4200输入的数据,通过显示器4300输出存储器装置1100中存储的数据。输入装置4200的示例包括诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可控制存储器系统40000的一般操作,并且控制控制器1200的操作。根据实施例,用于控制存储器装置1100的操作的控制器1200可被形成为处理器4100的一部分,或者被形成为与处理器4100独立的芯片。
图9是示出根据本公开的实施例的包括存储器装置和控制器的存储器系统50000的示图。
参照图9,存储器系统50000可被实现为图像处理器,例如,数码相机、附设有数码相机的智能手机或附设有数码相机的平板PC。
存储器系统50000可包括存储器装置1100和控制器1200,控制器1200控制存储器装置1100的数据处理操作,例如,编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可将光学图像转换为数字信号,并且转换后的数字信号可被传送到处理器5100或控制器1200。响应于处理器5100的控制,数字信号可通过显示器5300输出,或通过控制器1200存储在存储器装置1100中。另外,根据处理器5100或控制器1200的控制,存储在存储器装置1100中的数据可通过显示器5300输出。
根据实施例,用于控制存储器装置1100的操作的控制器1200可被形成为处理器5100的一部分,或者被形成为与处理器5100独立的芯片。
图10是示出根据本公开的实施例的包括存储器装置和控制器的存储器系统70000的示图。
参照图10,存储器系统70000可被实现到存储卡(或智能卡)中。存储器系统70000可包括存储器装置1100、控制器1200和卡接口7100。
控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。根据实施例,卡接口7100可以是但不限于是安全数字(SD)卡接口或多媒体卡(MMC)接口。
卡接口7100可根据主机60000的协议来接口连接主机60000和控制器1200之间的数据交换。根据实施例,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可指支持主机60000使用的协议的硬件、安装在硬件中的软件或者信号传送方法。
当存储器系统70000连接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可响应于微处理器(μP)6100的控制而通过卡接口7100和控制器1200来执行与存储器装置1100的数据通信。
如上所述,根据本公开的实施例,在数据的写入操作期间,可简化在控制器内传送数据的逻辑,并且可提高数据传送操作的可靠性,而不增加用于传送数据的缓冲器的数量。
本文已公开了实施例的示例,虽然采用了特定术语,但可在不偏离本发明的精神和范围的情况下对上述实施例的示例进行形式和细节上的各种改变。因此,本领域技术人员将理解的是,本发明的范围不应限于上述实施例的示例,并且可涵盖所附权利要求及其等同方案的范围。

Claims (17)

1.一种控制器,包括:
错误校正码编码器,即ECC编码器,将第一奇偶校验添加到数据中以生成数据集,并且对所述数据集进行编码以生成第一奇偶校验数据集;
缓冲器,临时存储所述第一奇偶校验数据集;
ECC解码器,对从所述缓冲器接收的所述第一奇偶校验数据集进行解码,以生成经解码数据集;
第一校验器,对所述经解码数据集执行低密度奇偶校验编码,即LDPC编码,以生成添加第二奇偶校验的LDPC数据集;以及
第二校验器,对包括所述第一奇偶校验和所述第二奇偶校验的所述LDCP数据集执行校正子校验操作。
2.根据权利要求1所述的控制器,其中所述缓冲器包括易失性存储器或非易失性存储器。
3.根据权利要求1所述的控制器,其中所述第一校验器通过将所述经解码数据集乘以生成矩阵来执行所述LDPC编码。
4.根据权利要求1所述的控制器,其中所述第二校验器根据所述校正子校验操作的结果来确定所述校正子校验操作是通过还是失败。
5.根据权利要求4所述的控制器,其中所述第二校验器通过将奇偶校验矩阵乘以所述LDPC数据集来计算校正子向量来执行所述校正子校验操作。
6.根据权利要求5所述的控制器,其中所述第二校验器确定当所述校正子向量的所有位为“0”时所述校正子校验操作通过,并且当所述校正子向量中包括至少一个位“1”时所述校正子校验操作失败。
7.根据权利要求6所述的控制器,其中所述第二校验器:
当所述校正子校验操作通过时,将所述LDPC数据集传送到存储器装置;并且
当所述校正子校验操作失败时,搜索校验节点值,使所述校正子向量的所有位变为“0”。
8.一种控制器,包括:
主机控制器,对从主机接收的第一数据进行加密,向经加密数据添加奇偶校验,并对所述经加密数据进行编码;
第一缓冲器,临时存储从所述主机控制器输出的所述经加密数据;以及
存储器控制器,将附加奇偶校验添加到从所述第一缓冲器输出的所述经加密数据中,以执行错误校验操作,
其中当未发现错误时,所述存储器控制器将经错误校验的数据作为第二数据而输出,
其中所述主机控制器包括:
外部循环冗余校验编码器,即CRC编码器,将第一奇偶校验添加到所述第一数据以生成第一奇偶校验数据集;
加密编码器,对所述第一奇偶校验数据集进行加密以输出经加密数据集;以及
第一ECC编码器,向所述经加密数据集添加第二奇偶校验,对添加了奇偶校验的所述经加密数据集进行编码以生成第二奇偶校验数据集,并且将所述第二奇偶校验数据集作为所述经加密数据而输出到所述第一缓冲器,其中所述第一缓冲器包括易失性存储器或非易失性存储器。
9.根据权利要求8所述的控制器,其中所述存储器控制器包括:
第一ECC解码器,对从所述第一缓冲器接收的所述第二奇偶校验数据集进行解码;
第一校验器,对所述经解码数据集执行LDPC编码,以生成添加LDPC奇偶校验的LDPC数据集;以及
第二校验器,对包括所述第一奇偶校验、所述第二奇偶校验和所述LDPC奇偶校验的LDPC数据集执行校正子校验操作。
10.根据权利要求9所述的控制器,其中所述第二校验器:
当所述校正子校验操作通过时,输出所述LDPC数据集作为所述第二数据;并且
当所述校正子校验操作失败时,改变校验节点值,直到所述校正子校验操作通过。
11.根据权利要求10所述的控制器,其中所述存储器控制器进一步包括:
第三校验器,对从存储器装置读取的第三数据执行错误校正操作,并生成去除所述LDPC奇偶校验的所述经解码数据集;以及
第二ECC编码器,对从所述第三校验器输出的所述经解码数据集进行编码。
12.根据权利要求11所述的控制器,进一步包括第二缓冲器,临时存储从所述第二ECC编码器输出的所述经编码数据集。
13.根据权利要求12所述的控制器,其中所述第二缓冲器包括易失性存储器或非易失性存储器。
14.根据权利要求12所述的控制器,其中所述主机控制器进一步包括:
第二ECC解码器,对从所述第二缓冲器接收的所述经编码数据集进行解码,以生成去除所述第二奇偶校验的数据集;
解密解码器,对从所述第二ECC解码器输出的所述数据集进行解密以及
外部CRC解码器,从所述解密解码器输出的所述数据集中去除所述第一奇偶校验,以将去除所述第一奇偶校验的数据集输出到主机。
15.一种存储器系统,包括:
控制器,在写入操作期间,所述控制器将第一奇偶校验和第二奇偶校验添加到从主机接收的原始数据中,将LDPC奇偶校验添加到包括所述第一奇偶校验和所述第二奇偶校验的第一数据集,执行LDPC编码,并对包括所述第一奇偶校验、所述第二奇偶校验以及所述LDPC奇偶校验的第二数据集执行校正子校验操作;以及
存储器装置,存储从所述控制器输出的所述第二数据集,
其中,在读取操作期间,所述控制器从所述存储器装置接收所述第二数据集,对所述第二数据集执行错误校正操作,然后将所述原始数据输出到所述主机。
16.根据权利要求15所述的存储器系统,其中所述控制器:
将所述第一奇偶校验添加到所述原始数据,然后执行加密操作;
将所述第二奇偶校验添加到执行所述加密操作的数据中,并执行ECC编码操作;
将经ECC编码的数据临时存储在缓冲器中,然后对包括所述第二奇偶校验的数据集进行解码以生成所述第一数据集;
将所述LDPC奇偶校验添加到所述第一数据集并执行所述LDPC编码操作;并且
对包括所述第一奇偶校验、所述第二奇偶校验和所述LDPC奇偶校验的所述第二数据集执行所述校正子校验操作,然后将所述第二数据集传送到所述存储器装置。
17.根据权利要求15所述的存储器系统,其中所述控制器:
当对所述第二数据集的所述校正子校验操作通过时,将所述第二数据集传送到所述存储器装置;并且
当对所述第二数据集的所述校正子校验操作失败时,搜索校验节点值以使所述校正子校验操作通过,然后将所述第二数据集传送到所述存储器装置。
CN201910930413.2A 2018-12-24 2019-09-29 控制器及存储器系统 Active CN111352765B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0168761 2018-12-24
KR1020180168761A KR20200079134A (ko) 2018-12-24 2018-12-24 컨트롤러 및 이를 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
CN111352765A CN111352765A (zh) 2020-06-30
CN111352765B true CN111352765B (zh) 2023-11-03

Family

ID=71096880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910930413.2A Active CN111352765B (zh) 2018-12-24 2019-09-29 控制器及存储器系统

Country Status (3)

Country Link
US (5) US11099932B2 (zh)
KR (1) KR20200079134A (zh)
CN (1) CN111352765B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200079134A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
US11720715B2 (en) * 2021-03-21 2023-08-08 Western Digital Technologies, Inc. Secure data storage device and method of encryption
JP2023044544A (ja) * 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステム
US11775381B2 (en) * 2021-09-17 2023-10-03 Micron Technology, Inc. Redundancy metadata schemes for RAIN protection of large codewords
US11815997B2 (en) 2021-11-10 2023-11-14 Samsung Electronics Co., Ltd. Memory controllers, memory systems, and memory modules
US11687405B2 (en) * 2021-12-01 2023-06-27 Western Digital Technologies, Inc. Centralized SRAM error location detection and recovery mechanism
CN116318622A (zh) * 2021-12-21 2023-06-23 慧荣科技股份有限公司 数据加密的错误侦测装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104067233A (zh) * 2011-11-18 2014-09-24 桑迪士克企业知识产权有限责任公司 用于多分层错误校正的系统、方法和设备
CN104081358A (zh) * 2011-11-18 2014-10-01 桑迪士克企业知识产权有限责任公司 用于解码具有多个奇偶校验段的码字的系统、方法和设备
CN105529049A (zh) * 2014-10-21 2016-04-27 爱思开海力士有限公司 控制器、半导体存储系统、数据储存系统及其操作方法
CN107045462A (zh) * 2015-12-14 2017-08-15 三星电子株式会社 存储装置
CN108121617A (zh) * 2016-11-30 2018-06-05 三星电子株式会社 存储器模块、存储器系统和操作存储器系统的方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155372A1 (en) * 2006-12-21 2008-06-26 Radiospire Networks, Inc. Methods and apparatus for improving error indication performance in systems with low-density parity check codes
KR20090014828A (ko) 2007-08-07 2009-02-11 삼성전자주식회사 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법
US20110202817A1 (en) 2008-06-18 2011-08-18 Nxp B.V. Node information storage method and system for a low-density parity-check decoder
TW201030526A (en) * 2009-02-09 2010-08-16 Prolific Technology Inc Bridge, data compressing mthod thereof and computer system applying the same
TW201034421A (en) 2009-03-02 2010-09-16 Chang Jung Christian University Encoding device, decoding device and encrypted multimedia system
KR101599834B1 (ko) * 2009-05-28 2016-03-04 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템
KR101607307B1 (ko) * 2009-07-09 2016-03-30 삼성전자주식회사 정보 부호화 방법, 정보 복호화 방법, 기록/재생 장치 및 정보 저장 매체
KR20120063329A (ko) 2010-12-07 2012-06-15 삼성전자주식회사 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템
KR102254102B1 (ko) 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10367528B2 (en) * 2016-03-04 2019-07-30 Sandisk Technologies Llc Convolutional low-density parity-check coding
US20170271030A1 (en) * 2016-03-18 2017-09-21 Alibaba Group Holding Limited Method and system for using downgraded flash die for cache applications
KR102616481B1 (ko) * 2016-04-04 2023-12-21 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
US10445190B2 (en) * 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
KR20200079134A (ko) 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104067233A (zh) * 2011-11-18 2014-09-24 桑迪士克企业知识产权有限责任公司 用于多分层错误校正的系统、方法和设备
CN104081358A (zh) * 2011-11-18 2014-10-01 桑迪士克企业知识产权有限责任公司 用于解码具有多个奇偶校验段的码字的系统、方法和设备
CN105529049A (zh) * 2014-10-21 2016-04-27 爱思开海力士有限公司 控制器、半导体存储系统、数据储存系统及其操作方法
CN107045462A (zh) * 2015-12-14 2017-08-15 三星电子株式会社 存储装置
CN108121617A (zh) * 2016-11-30 2018-06-05 三星电子株式会社 存储器模块、存储器系统和操作存储器系统的方法

Also Published As

Publication number Publication date
US11403174B2 (en) 2022-08-02
US20210157675A1 (en) 2021-05-27
CN111352765A (zh) 2020-06-30
US20220334922A1 (en) 2022-10-20
US11099932B2 (en) 2021-08-24
US20240220363A1 (en) 2024-07-04
KR20200079134A (ko) 2020-07-02
US20200201711A1 (en) 2020-06-25
US11953990B2 (en) 2024-04-09
US20210255923A1 (en) 2021-08-19
US11550659B2 (en) 2023-01-10

Similar Documents

Publication Publication Date Title
CN111352765B (zh) 控制器及存储器系统
JP5776107B2 (ja) メモリコントローラ及び方法におけるデータ完全性
US8949687B2 (en) Memory device and memory system
US20080075279A1 (en) Encryption processor of memory card and method for writing and reading data using the same
US8935589B2 (en) Controller and data access method for flash memories
KR20180019791A (ko) 반도체장치 및 반도체시스템
US8171378B2 (en) Flash memory system having encrypted error correction code and encryption method for flash memory system
WO2017160488A1 (en) Error correction code processing and data shaping
US10693503B2 (en) Polar code decoding apparatus and method
KR20180000593A (ko) 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치
US20190377634A1 (en) Memory controller and memory system including the same
US11082068B2 (en) Error correction circuit, memory controller having error correction circuit, and memory system having memory controller
JP6491482B2 (ja) 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
US10261860B2 (en) Semiconductor systems
TWI732642B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
JP2009157515A (ja) 半導体メモリコントローラおよび半導体メモリ
CN111796774B (zh) 存储器控制方法、存储器存储装置及存储器控制器
US10951238B1 (en) Memory system and method for controlling non-volatile memory
KR20210023317A (ko) 반도체장치
US11693729B2 (en) Controller and operating method thereof
CN114077515A (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
KR20230077606A (ko) 에러 정정 코드 회로, 에러 정정 코드 회로를 포함하는 메모리 장치, 및 에러 정정 코드 회로의 동작 방법
CN118136083A (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