CN106558332A - 数据处理器件及其操作方法 - Google Patents

数据处理器件及其操作方法 Download PDF

Info

Publication number
CN106558332A
CN106558332A CN201610237167.9A CN201610237167A CN106558332A CN 106558332 A CN106558332 A CN 106558332A CN 201610237167 A CN201610237167 A CN 201610237167A CN 106558332 A CN106558332 A CN 106558332A
Authority
CN
China
Prior art keywords
data block
decoder
decoding
data
normal decoder
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
Application number
CN201610237167.9A
Other languages
English (en)
Other versions
CN106558332B (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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN106558332A publication Critical patent/CN106558332A/zh
Application granted granted Critical
Publication of CN106558332B publication Critical patent/CN106558332B/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits

Landscapes

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

Abstract

本发明提供一种数据处理器件,其包括适用于对多个数据块执行正常解码或者快速解码的第一解码器,其中,第一解码器对多个数据块中的第一数据块执行正常解码,并且基于第一数据块的正常解码的结果对多个数据块中的第二数据块执行正常解码或快速解码。

Description

数据处理器件及其操作方法
相关申请的交叉引用
本申请要求2015年9月25日向韩国知识产权局提交的申请号为10-2015-0136362的韩国申请的优先权,其全部公开通过引用并入本文。
技术领域
各种实施例总体涉及一种数据处理器件,且更特别地,涉及一种具有提高的数据修正能力的数据处理器件。
背景技术
数据储存器件响应于写入请求储存由外部器件提供的数据。数据储存器件还可以响应于读取请求向外部器件提供储存的数据。采用一个以上数据储存器件的外部器件的实例包括计算机、数码相机、移动电话等。数据储存器件可以嵌入外部器件中或者可以分离的形式制造并连接到外部器件以操作。
数据储存器件可以包括用于执行解码操作的数据处理器件,以修正从存储器件读取的数据中的错误。
发明内容
在一个实施例中,数据处理器件可以包括适用于对多个数据块执行正常或者快速解码的第一解码器,其中,第一解码器对多个数据块中的第一数据块执行正常解码,并且基于第一数据块的正常解码的结果对多个数据块中的第二数据块执行正常解码或快速解码。
在一个实施例中,数据处理器件的操作方法可以包括:接收多个数据块;对多个数据块中的第一数据块执行正常解码;以及基于第一数据块的正常解码的结果,对多个数据块中的第二数据块执行正常解码或快速解码。
在一个实施例中,数据处理器件可以包括:第一解码器,其适用于对多个数据块中的第一数据块执行正常解码,并且基于第一数据块的正常解码的结果对多个数据块中的第二数据块执行正常解码或快速解码;以及第二解码器,其适用于基于第一数据块的正常解码的结果对第一数据块或第二数据块执行追加解码。
附图说明
图1是示出根据本发明的一个实施例的包括数据处理块的数据储存器件的框图。
图2A和图2B是示出根据本发明的一个实施例的用于解码多个数据块的方法的简图。
图3是示出根据本发明的一个实施例的数据储存器件的操作方法的流程图。
图4是示出根据本发明的一个实施例的用于通过数据处理器件的第一解码器执行的解码顺序地读取的一个以上数据块的方法的流程图。
图5A至图5C是示出根据本发明的一个实施例的通过数据处理器件的第一解码器执行的用于基于前一个数据块的正常解码的结果判定是否对后续数据块执行快速解码的方法的流程图。
图6是示出根据本发明的一个实施例的固态驱动器(SSD)的框图。
图7是示出根据本发明的一个实施例的包括数据储存器件的数据处理系统的框图。
具体实施方式
以下,将参照附图描述本发明的各种实施例。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,这些实施例被提供使得本发明所述领域的技术人员能够实施本发明。
另外,应理解,本发明的实施例不限于附图中所示的细节,附图不一定按比例且在一些情况下,为了更清楚地描述本发明的一些特征,比例可能已经被扩大。并且,虽然使用了特定的术语,但是应理解为使用的术语仅用于描述特定的实施例,而不意在限制本发明的范围。
现在参照图1,根据本发明的一个实施例,提供了数据储存器件10。数据储存器件可以是任何合适的数据储存器件。例如,数据储存器件10可以是或者包括个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、多媒体卡(MMC)、内嵌式MMC(eMMC)、缩小尺寸的多媒体卡(RS-MMC)、微型版本的MMC(MMC-微型)、安全数字(SD)卡、小型安全数字(小型-SD)卡、微型安全数字(微型-SD)卡、通用闪速储存器(UFS)、固态驱动器(SSD)等。数据储存器件10可以包括控制器100和非易失性存储器件200。
控制器100可以包括处理器110、数据处理块120和存储器130。数据处理块120可以包括第一解码器121和第二解码器122。
处理器110可以控制数据储存器件10的一般操作。例如,处理器110可响应于从外部器件(未示出)传送的写入请求将数据储存在非易失性存储器件200中。处理器110可以响应于从外部器件(未示出)传送的读取请求读取储存在非易失性存储器件200中的数据并且将读取的数据输出到外部器件。
处理器110可以控制数据处理块120以编码将被储存在非易失性存储器件200中的数据并且解码从非易失性存储器件200读取的数据。处理器110可以控制数据处理块120的第一解码器121以对从非易失性存储器件200顺序地读取的多个数据块执行第一解码操作。处理器110可以控制数据处理块120的第二解码器122以响应于从第一解码器121传送的解码失败报告对在多个数据块中选定的第一解码操作失败的一个以上数据块执行追加第二解码操作。以下将更详细地描述第一和第二解码操作。
数据处理块120可以判定从非易失性存储器件200读取的数据是否包括误码,并且可以修正误码。
根据一个实施例,第一解码器121可以根据迭代解码算法执行第一解码操作。根据所述第一解码操作,第一解码器121可以迭代解码运算,直至包括在数据中的所有误码被修正或直到已经到达迭代的最大次数。解码运算可以重复,直到由最大迭代计数限定的最大预设次数。因此,在数据包括太多误码的情况下,即使解码运算迭代到最大迭代计数,第一解码器121也有可能解码数据失败。根据一个实施例,第二解码器122也可以根据迭代解码算法执行第二解码操作。
第一解码器121和第二解码器122可以分段方式执行解码。例如,第一解码器121可以对从非易失性存储器件200读取的数据执行第一解码操作,并且随后,第二解码器122可以对第一解码操作失败的数据执行追加的第二解码操作。仅对第一解码操作失败的那些数据执行第二解码操作可以减少读取数据中的错误数,同时可以减少迭代的次数,因此提高数据处理块120与关联的数据控制器100和储存器件10的整体效率。
第一解码器121和第二解码器122可以根据相同或不同的解码算法执行解码。第一解码器121和第二解码器122可以根据不同的解码算法或不同的解码方案执行解码。例如,第一解码器121可以根据LDPC算法以硬判决解码方案执行解码,并且第二解码器122可以根据低密度奇偶校验(LDPC)算法以软判决解码方案执行解码。第一解码器121和第二解码器122可以通过对数据应用不同的解码算法而具有彼此互补的错误修正能力。因此,可以提高数据处理块120的错误修正能力。
第一解码器121和第二解码器122可以对预定的解码数据单元执行解码。例如,第一解码器121和第二解码器122可以数据块为基础执行解码。每个数据块的大小可以是相同的或可相异。
第一解码器121和第二解码器122可以对具有相同大小的数据块分别进行其第一和第二解码操作。第一解码器121和第二解码器122可以对不同大小的数据块分别进行其第一和第二解码操作。在一个实施例中,控制器100可以接收从非易失性存储器件200顺序地读取的多个数据块,并且第一解码器121和第二解码器122可以对多个数据块中的一个或多个分别进行其第一和第二解码操作。
在一个实施例中,第一解码器121可以对从非易失性存储器件200顺序地读取的多个数据块中的一个以上数据块执行正常解码。然后,基于对一个以上数据块正常解码的一个以上结果,第一解码器可以执行相同的或修改的解码,例如,对一个以上后续数据块执行快速解码操作。根据一个实施例,一个以上后续数据块可以是多个数据块中未通过第一解码器执行正常解码的剩余数据块。在对多个数据块顺序地执行正常解码的同时,第一解码器121可以判定是继续执行正常解码还是替代地基于在前执行的正常解码的结果执行修改的解码,例如,对一个以上的剩余数据块执行快速解码。正常解码的结果可以包括关于正常解码已经成功还是失败的信息、关于成功的正常解码的迭代计数的信息和/或关于正常解码中修正的错误数的信息。正常解码中的术语“正常”用于使正常解码区别于例如快速解码的修改的解码。正常解码可以根据任何合适的常规方法执行。
在一个实施例中,第一解码器121可以执行快速解码以更快地结束对后续数据块的解码。例如,在基于在先执行的正常解码的结果可以预期对后续数据块的低效解码时,可以使用快速解码。例如,当预期解码可能失败或即使解码可能成功但是可能需要很长时间时,第一解码器121可以对后续一个以上数据块执行快速解码。
根据一个实施例,当前一个数据块的正常解码已经失败时,第一解码器121可以对后续数据块执行快速解码。根据一个实施例,当前一个数据块的正常解码中修正的误码数超过误码数阈值时,第一解码器121可以对后续数据块执行快速解码。根据一个实施例,当对前一个数据块的成功正常解码的迭代计数即成功迭代计数超过阈值迭代计数时,第一解码器121可以对后续数据块执行快速解码。根据一个实施例,基于两个以上上述情形的组合,第一解码器121可以对后续数据块执行快速解码。
第一解码器121可以各种方式执行快速解码。根据一个实施例,第一解码器121可以通过以旁路模式处理后续数据块执行快速解码。当第一解码器121设定为旁路模式时,输入到第一解码器121的后续数据块可以原样输出。根据一个实施例,第一解码器121可以通过在后续数据块中插入误码以及对插入错误的数据块执行正常解码执行快速解码。根据一个实施例,当第一解码器121根据迭代解码方案在第一最大迭代计数的限值内执行正常解码时,第一解码器121可以在小于第一最大迭代计数的第二最大迭代计数的限值内执行快速解码。第二最大迭代计数可以设定为例如“0”或“1”。
根据一个实施例,当通过上述方式对后续数据块执行快速解码时,第一解码器121可以连同其输入数据块即后续数据块一起输出执行快速解码的结果。例如,当以误码插入后续数据块中并且随后执行正常解码的方式执行快速解码时,第一解码器121可以单独留存原始后续数据块并连同快速解码结果一起输出单独留存的原始后续数据块。这可以允许第二解码器122利用从第一解码器121传送的数据块执行追加解码。稍后将详细地进行描述。
根据一个实施例,当顺序地读取的多个数据块的数量小于阈值块数时,第一解码器121可以不对多个数据块执行快速解码,而是第一解码器121可以连续地仅执行正常解码。
根据一个实施例,相对于执行快速解码的数据块,第一解码器121可以向处理器110传送解码失败报告。根据一个实施例,第一解码器121可以传输识别信息以用于允许处理器110识别多个数据块中的执行快速解码的数据块。响应于来自第一解码器121的报告,处理器110可以控制第二解码器122以不仅对在第一解码器121中已经正常解码失败的数据块而且对在第一解码器121中已经执行快速解码的数据块执行追加解码。稍后将详细地进行描述。
第二解码器122可以对在顺序地读取的多个数据块中选定的数据块执行追加解码。选定的数据块可以包括在第一解码器121中已经正常解码失败的数据块和在第一解码器121中已经执行快速解码的数据块。为了执行追加解码,第一解码器121可以留存原始数据块并将它们传送至第二解码器122。
虽然图1的数据处理块120包括两个解码器121和122,但应当注意的是,根据一个实施例,数据处理块120可以包括多个解码器,即,三个以上解码器。如上所述,包括在数据处理块120中的多个解码器中的一个或多个可以基于顺序地读取的多个数据块的正常解码的结果执行快速解码。多个解码器可根据互不相同的各自的解码算法以分段方式执行解码,并且可以对在在先解码器中已经解码失败的数据块执行追加解码。
存储器130可以用作处理器110的工作存储器、缓存存储器或者缓冲存储器。作为工作存储器的存储器130可以储存软件程序和待被处理器110驱动的各种程序数据。作为缓存存储器的存储器130可以暂时地储存缓存数据。作为缓冲存储器的存储器130可以暂时地储存在外部器件和非易失性存储器件200之间传送的数据。
非易失性存储器件200可以包括诸如NAND闪存或NOR闪存的闪速存储器件、铁电随机存取存储器(FeRAM))、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)或电阻式随机存取存储器(ReRAM)。在控制器100的控制下,非易失性存储器件200可以储存从控制器100传送的数据并且可以读取储存的数据并将读取的数据传输到控制器100。
虽然图1的数据储存器件10包括一个非易失性存储器件200,但是应注意的是,数据储存器件10中包括的非易失性存储器件的数量不特别限定。
图2A和图2B是示出图1的数据处理块120解码多个数据块的方法的简图。在图2A和图2B中,数据处理块120可以对例如顺序地读取的4个数据块DC0至DC3执行第一解码。
参照图2A,第一解码器121可以顺序地处理数据块DC0至DC3。第一解码器121可以基于前一个数据块的正常解码是成功还是失败来判定是否对后续数据块执行快速解码。
首先,第一解码器121可以对第一数据块DC0执行正常解码。当第一数据块DC0的正常解码成功时,第一解码器121可以对第二数据块DC1执行正常解码。然后,当第二数据块DC1的正常解码失败时,第一解码器121可以对后续数据块DC2和DC3执行快速解码。对于正常解码已经失败的第二数据块DC1和已经执行快速解码的第三数据块DC2和第四数据块DC3,第一解码器121可以向处理器110传送解码失败报告。同时,根据一个实施例,代替解码失败报告,第一解码器121可以向处理器110传送识别信息,该识别信息能够识别已经执行快速解码的第三数据块DC2和第四数据块DC3。
第二解码器122可以对在第一解码器121中已经正常解码失败的第二数据块DC1和在第一解码器121中已经执行快速解码的第三数据块DC2和第四数据块DC3执行追加解码。
参照图2B,基于前一个数据块的正常解码中修正的误码数,第一解码器121可以判定是否对后续数据块执行快速解码。
首先,第一解码器121可以对第一数据块DC0执行正常解码。当在第一数据块DC0的正常解码中修正的误码数不超过误码数阈值时,第一解码器121也可以对第二数据块DC1执行正常解码。然后,当在第二数据块DC1的正常解码中修正的误码数超过误码数阈值时,第一解码器121可以对后续数据块DC2和DC3执行快速解码。对于已经执行快速解码的第三数据块DC2和第四数据块DC3,第一解码器121可以向处理器110传送解码失败报告。同时,根据一个实施例,代替解码失败报告,第一解码器121可以向处理器110传送识别信息,该识别信息能够识别已经执行快速解码的第三数据块DC2和第四数据块DC3。
第二解码器122可以对在第一解码器121中已经执行快速解码的第三数据块DC2和第四数据块DC3执行追加解码。
根据一个实施例,基于前一个数据块的正常解码的成功迭代计数,第一解码器121可以判定是否对后续数据块执行快速解码。
图3是示出图1的数据储存器件10的操作方法的流程图。
在步骤S110中,控制器100可以接收从非易失性存储器件200顺序地读取的多个数据块。
在步骤S120中,第一解码器121可以对多个数据块顺序地执行解码。如上所述,基于前一个数据块的正常解码的结果,第一解码器121可以对后续数据块执行正常解码或者快速解码。对于已经正常解码失败的数据块和已经执行快速解码的数据块,第一解码器121可以向处理器110传送解码失败报告。
在步骤S130中,第二解码器122可以对在多个数据块中选定的数据块执行追加解码。例如,第二解码器122可以对在第一解码器121中已经正常解码失败的数据块和/或在第一解码器121中已经执行快速解码的数据块执行追加解码。第二解码器122可以根据不同于第一解码器121采用的解码算法的解码算法执行解码。在一个实施例中,第二解码器122可以根据与第一解码器121使用的解码算法相同的解码算法执行解码。第二解码器122采用的解码算法可以与第一解码器采用的解码算法互补以允许不同的数据误差被修正。
图4是示出从非易失性存储器件200顺序地读取的多个数据块的解码方法的流程图。该方法可以通过图1中所示的数据处理块的第一解码器121执行。例如,图4中所示的变址i可以是“0”并且m可以是任意正整数。
在步骤S210中,第一解码器121可以对第i个数据块执行正常解码。变址i可以增加“1”。
在步骤S220中,基于第i个数据块的正常解码的结果,第一解码器121可以判定是否执行快速解码。在判定不执行快速解码的情况下,处理可以进行到步骤S210。例如,第一解码器121可以对后续数据块执行正常解码。在判定执行快速解码的情况下,处理可以进行到步骤S230。稍后将参照图5A至图5C详细地描述判定是否执行快速解码的方法。
在步骤S230中,第一解码器121可以对第i个数据块执行快速解码。例如,第一解码器121可以通过以旁路模式处理第i个数据块执行快速解码。例如,第一解码器121可以通过在第i个数据块中插入误码并且对插入错误的数据块执行正常解码来执行快速解码。例如,当第一解码器121根据迭代解码方案在第一最大迭代计数的限值内执行正常解码时,第一解码器121可以在小于第一最大迭代计数的第二最大迭代计数的限值内执行快速解码。变址i可以增加“1”。
在步骤S240中,第一解码器121可以判定是否对m个数据块已经完成解码。在m个数据块的解码未完成的情况下,处理可以进行到步骤S230。因此,第一解码器121可以对后续数据块连续地执行快速解码。在m个数据块的解码完成的情况下,处理可以结束。
图5A至图5C是示出通过图1的第一解码器121执行的用于基于对前一个数据块的正常解码的结果判定是否对后续数据块执行快速解码的方法的流程图。步骤S221至S223可以是图4的步骤S220的详细实施例。步骤S221至S223可以在图4的步骤S210和步骤S230之间执行。
参照图5A,在步骤S221中,第一解码器121可以判定对数据块的正常解码是失败还是成功。当对数据块的正常解码成功时,第一解码器121可以判定对后续数据块执行正常解码,并且处理可以进行到步骤S210。当对数据块的正常解码失败时,第一解码器121可以判定对后续数据块执行快速解码,并且处理可以进行到步骤S230。
参照图5B,在步骤S222中,第一解码器121可以判定对数据块的成功正常解码的迭代计数即成功迭代计数是否超过阈值迭代计数。当成功迭代计数未超过阈值迭代计数时,第一解码器121可以判定对后续数据块执行正常解码,并且处理可以进行到步骤S210。当成功迭代计数超过阈值迭代计数时,第一解码器121可以判定对后续数据块执行快速解码且处理可以进行到步骤S230。
参照图5C,在步骤S223中,第一解码器121可以判定在对数据块的正常解码中修正的误码数是否超过误码数阈值。当修正的误码数未超过误码数阈值时,第一解码器121可以判定对后续数据块执行正常解码并且处理可以进行到步骤S210。当修正的误码数超过误码数阈值时,第一解码器121可以判定对后续数据块执行快速解码并且处理可以进行到步骤S230。
图6是示出根据本发明的一个实施例的固态驱动器(SSD)1000的框图,SSD 1000包括控制器1100和储存介质1200。
控制器1100可以控制主机器件1500和储存介质1200之间的数据交换。控制器1100可以包括处理器1110、RAM 1120、ROM 1130、ECC单元1140、主机接口1150、以及储存介质接口1160。
处理器1110可以控制控制器1100的一般操作。响应于来自主机器件1500的数据处理请求,处理器1110可以将数据储存在储存介质1200中并且从储存介质1200读取储存的数据。为了有效地管理储存介质1200,处理器1110可以控制SSD 1000的内部操作,诸如合并操作、磨损均衡操作等。处理器1110可以大致类似于图1中所示的处理器110的方式操作。
RAM 1120可以储存待被处理器1110使用的程序和程序数据。在将从主机接口1150传送的数据传送至储存介质1200之前,RAM 1120可以暂时地储存该数据。在将从储存介质1200传送的数据传送至主机器件1500之前,RAM 1120可以暂时地储存该数据。
ROM 1130可以储存待被处理器1110读取的程序代码。程序代码可以包括待被处理器1110处理的指令,以使处理器1110控制控制器1100的内部单元。
ECC单元1140可以解码从储存介质1200读取的数据。ECC单元1140可以大致类似于图1中所示的数据处理块120的方式操作。当解码从储存介质1200顺序地读取的多个数据块时,ECC单元1140可以基于前一个数据块的正常解码的结果执行后续数据块的正常解码或者快速解码。ECC单元1140可以包括以分段方式执行解码的多个解码器。多个解码器可以对其在先解码器已经解码失败的数据块执行追加解码。
主机接口1150可以与主机器件1500交换数据处理请求、数据等。
储存介质接口1160可以将控制信号和数据传送至储存介质1200。储存介质接口1160可以从储存介质1200接收数据。储存介质接口1160可以通过多个通道CH0至CHn与储存介质1200联接。
储存介质1200可以包括多个非易失性存储器件NVM0至NVMn。多个非易失性存储器件NVM0至NVMn中的每一个可以在控制器1100的控制下执行写入操作和读取操作。
图7是示出根据本发明的一个实施例的包括数据储存器件的数据处理系统2000的框图。
数据处理系统2000可以是或者包括计算机、便携式电脑、上网本、智能电话、数字电视、数码相机、导航仪等。例如,数据处理系统2000可以包括主处理器2100、主存储器件2200、数据储存器件2300以及输入/输出器件2400。数据处理系统2000的内部单元可以通过系统总线2500交换数据、控制信号等。
主处理器2100可以控制数据处理系统2000的一般操作。主处理器2100可以是例如诸如微处理器的中央处理单元。主处理器2100可以执行主存储器件2200上的操作系统的软件、应用、设备驱动程序等。
主存储器件2200可以储存待被主处理器2100使用的程序和程序数据。主存储器件2200可以暂时地储存待被传送至数据储存器件2300和输入/输出器件2400的数据。
数据储存器件2300可以包括存储器控制器2310和储存介质2320。数据储存器件2300可以与图1中所示的数据储存器件10大致类似的方式构造和操作。
输入/输出器件2400可以包括能够与用户交换数据的键盘、扫描仪、触摸屏、鼠标等。输入/输出器件2400可以从用户接收用于控制数据处理系统2000的命令或将处理结果提供给用户。
根据一个实施例,数据处理系统2000可以通过诸如LAN(局域网)、WAN(广域网)、无线网络等的网络2600与至少一个服务器2700通信。数据处理系统2000可以包括访问网络2600的网络接口(未示出)。
尽管上文已经描述了各种实施例,但是本领域技术人员将理解的是,实施例仅为本发明的示例,并且本发明不意在限制于这些实施例。在不脱离如所附权利要求限定的本发明的精神和范围的情况下,本发明的许多其它实施例和变型对本发明所属领域的技术人员来说是可以预期的。

Claims (20)

1.一种数据处理器件,其包括:
第一解码器,其适用于对多个数据块执行正常解码或快速解码,
其中所述第一解码器对所述多个数据块中的第一数据块执行所述正常解码,并且基于对所述第一数据块的正常解码的结果对所述多个数据块中的第二数据块执行所述正常解码或所述快速解码。
2.根据权利要求1所述的数据处理器件,其中所述正常解码的结果包括关于对所述第一数据块的所述正常解码是成功还是失败的信息。
3.根据权利要求1所述的数据处理器件,其中所述正常解码的结果包括关于在对所述第一数据块的所述正常解码中修正的误码数是否超过阈值数量的信息。
4.根据权利要求1所述的数据处理器件,其中所述正常解码的结果包括关于根据迭代解码算法成功的对所述第一数据块的所述正常解码的迭代计数是否超过阈值计数的信息。
5.根据权利要求1所述的数据处理器件,其中所述第一解码器通过以旁路模式处理所述第二数据块对所述第二数据块执行所述快速解码。
6.根据权利要求1所述的数据处理器件,其中所述第一解码器通过在所述第二数据块中插入误码并且对插入错误的数据块执行所述正常解码来对所述第二数据块执行所述快速解码。
7.根据权利要求1所述的数据处理器件,其中根据迭代解码方案,所述第一解码器基于第一最大迭代计数对所述第二数据块执行所述正常解码,并且基于小于所述第一最大迭代计数的第二最大迭代计数对所述第二数据块执行所述快速解码。
8.根据权利要求1所述的数据处理器件,其进一步包括:
第二解码器,其适用于对所述多个数据块中的所述第一解码器执行所述正常解码失败或执行所述快速解码的第三数据块执行追加解码。
9.根据权利要求8所述的数据处理器件,
其中,所述第二数据块包括所述第一数据块的一个以上后续数据块,以及
其中,当对所述第一数据块的所述正常解码失败时,所述第三数据块包括所述第一数据块和所述第二数据块。
10.一种数据处理器件的操作方法,其包括:
接收多个数据块;
对所述多个数据块中的第一数据块执行正常解码;以及
基于所述第一数据块的正常解码的结果,对所述多个数据块中的第二数据块执行所述正常解码或者所述快速解码。
11.根据权利要求10所述的方法,其中所述正常解码的结果包括关于对所述第一数据块的所述正常解码是成功还是失败的信息。
12.根据权利要求10所述的方法,其中所述正常解码的结果包括关于在对所述第一数据块的所述正常解码中修正的误码数是否超过阈值数量的信息。
13.根据权利要求10所述的方法,其中所述正常解码的结果包括关于根据迭代解码算法成功的对所述第一数据块的所述正常解码的迭代计数是否超过阈值计数的信息。
14.根据权利要求10所述的方法,其中对所述第二数据块的所述快速解码的执行包括:
以旁路模式处理所述第二数据块。
15.根据权利要求10所述的方法,其中对所述第二数据块的所述快速解码的执行包括:
在所述第二数据块中插入误码并且对插入错误的数据块执行所述正常解码。
16.根据权利要求10所述的方法,其中,当所述多个数据块的数量小于阈值数量时,无论对所述第一数据块的所述正常解码的结果如何,对所述第二数据块执行所述正常解码。
17.根据权利要求10所述的方法,其进一步包括:
对所述多个数据块中的所述正常解码执行失败或执行所述快速解码的第三数据块执行追加解码,
其中,基于互不相同的各自解码算法执行所述正常解码和所述追加解码。
18.一种数据处理器件,其包括:
第一解码器,其适用于对多个数据块中的第一数据块执行正常解码,并且基于对所述第一数据块的所述正常解码的结果对所述多个数据块中的第二数据块执行所述正常解码或所述快速解码;以及
第二解码器,其适用于基于对所述第一数据块的所述正常解码的结果对所述第一数据块或所述第二数据块执行追加解码。
19.根据权利要求18所述的数据处理器件,其中当所述正常解码的结果失败时,所述第一解码器对所述第二数据块执行所述快速解码,并且所述第二解码器对所述第一数据块和所述第二数据块执行所述追加解码。
20.根据权利要求18所述的数据处理器件,其中当所述正常解码的结果成功但是所述正常解码的修正误码计数或迭代计数超过阈值时,所述第一解码器对所述第二数据块执行所述快速解码,并且所述第二解码器对所述第二数据块执行所述追加解码。
CN201610237167.9A 2015-09-25 2016-04-15 数据处理器件及其操作方法 Active CN106558332B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150136362A KR102347418B1 (ko) 2015-09-25 2015-09-25 데이터 처리 장치 및 그것의 동작 방법
KR10-2015-0136362 2015-09-25

Publications (2)

Publication Number Publication Date
CN106558332A true CN106558332A (zh) 2017-04-05
CN106558332B CN106558332B (zh) 2021-02-19

Family

ID=58409452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610237167.9A Active CN106558332B (zh) 2015-09-25 2016-04-15 数据处理器件及其操作方法

Country Status (4)

Country Link
US (1) US10102066B2 (zh)
KR (1) KR102347418B1 (zh)
CN (1) CN106558332B (zh)
TW (1) TWI691965B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714062A (zh) * 2017-10-26 2019-05-03 三星电子株式会社 执行迭代解码的解码器和使用该解码器的存储设备
CN111989746A (zh) * 2018-04-20 2020-11-24 美光科技公司 使用阶层式解码器的误差校正

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US10700706B2 (en) * 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
KR102618692B1 (ko) 2018-06-15 2024-01-02 삼성전자주식회사 노이즈 또는 디서의 영향을 감소시키기 위한 디스플레이 구동 회로 및 방법
US10607712B1 (en) * 2018-09-28 2020-03-31 Toshiba Memory Corporation Media error reporting improvements for storage drives
US20240202859A1 (en) * 2022-12-20 2024-06-20 Tencent America LLC Apparatus and method for a framework for gpu-driven data loading

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757478A (en) * 1985-12-17 1988-07-12 U.S. Philips Corporation Decoder circuit for a static random access memory
CN1622137A (zh) * 2005-01-07 2005-06-01 北京北大方正电子有限公司 一种对图像进行快速压缩和解压缩的方法
CN101308706A (zh) * 2007-05-18 2008-11-19 瑞昱半导体股份有限公司 适用于闪存的数据写入方法及错误修正编解码方法
CN101527844A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 分块化执行解码数据的方法
CN104768061A (zh) * 2014-01-03 2015-07-08 三星电子株式会社 操作图像数据处理装置的显示驱动器和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534910B2 (ja) * 2005-08-26 2010-09-01 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
US7716166B2 (en) * 2007-01-07 2010-05-11 Apple Inc. Method and apparatus for simplifying the decoding of data
US8179976B2 (en) * 2008-01-11 2012-05-15 Apple Inc. Control of video decoder for reverse playback operation
EP2294510B1 (en) * 2008-06-24 2011-12-28 SanDisk IL Ltd. Method and apparatus for error correction according to erase counts of a solid-state memory
WO2010021483A2 (en) * 2008-08-19 2010-02-25 Lg Electronics Inc. Transmitting/receiving system and method of processing data in the transmitting/receiving system
JP2011065599A (ja) * 2009-09-18 2011-03-31 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
US8954816B2 (en) * 2011-11-28 2015-02-10 Sandisk Technologies Inc. Error correction coding (ECC) decode operation scheduling
JP5632418B2 (ja) * 2012-04-12 2014-11-26 株式会社東芝 ビデオサーバ、およびその映像信号出力制御方法
KR102081588B1 (ko) 2013-08-08 2020-02-26 삼성전자 주식회사 Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757478A (en) * 1985-12-17 1988-07-12 U.S. Philips Corporation Decoder circuit for a static random access memory
CN1622137A (zh) * 2005-01-07 2005-06-01 北京北大方正电子有限公司 一种对图像进行快速压缩和解压缩的方法
CN101308706A (zh) * 2007-05-18 2008-11-19 瑞昱半导体股份有限公司 适用于闪存的数据写入方法及错误修正编解码方法
CN101527844A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 分块化执行解码数据的方法
CN104768061A (zh) * 2014-01-03 2015-07-08 三星电子株式会社 操作图像数据处理装置的显示驱动器和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714062A (zh) * 2017-10-26 2019-05-03 三星电子株式会社 执行迭代解码的解码器和使用该解码器的存储设备
CN109714062B (zh) * 2017-10-26 2024-05-14 三星电子株式会社 执行迭代解码的解码器和使用该解码器的存储设备
CN111989746A (zh) * 2018-04-20 2020-11-24 美光科技公司 使用阶层式解码器的误差校正

Also Published As

Publication number Publication date
KR102347418B1 (ko) 2022-01-06
US10102066B2 (en) 2018-10-16
CN106558332B (zh) 2021-02-19
US20170091029A1 (en) 2017-03-30
TW201712689A (zh) 2017-04-01
TWI691965B (zh) 2020-04-21
KR20170037163A (ko) 2017-04-04

Similar Documents

Publication Publication Date Title
CN106558332A (zh) 数据处理器件及其操作方法
CN106169308B (zh) 存储器控制器及其操作方法
CN108073466B (zh) 用于减少数据访问延迟的介质质量感知ecc解码方法选择
CN109616148B (zh) 具有解码器的存储器系统、其操作方法和解码器
US8862967B2 (en) Statistical distribution based variable-bit error correction coding
CN106169312B (zh) 用于快闪存储的广义乘积码
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
CN107135006B (zh) 错误校正电路和错误校正方法
JP5658128B2 (ja) Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム
CN105989890B (zh) 用于快闪存储器的增量llr产生
CN109801669A (zh) 具有软读取挂起方案的存储器系统及其操作方法
US11184033B2 (en) Data storage device
CN109671465A (zh) 具有自适应读取阈值方案的存储器系统及其操作方法
CN107977283B (zh) 具有ldpc解码器的存储器系统及其操作方法
CN108073467A (zh) 具有硬信道信息的位翻转ldpc解码算法
WO2013126182A1 (en) Erasure correction using single error detection parity
CN109428606A (zh) 具有ldpc解码器的存储器系统及其操作方法
US20170123694A1 (en) Memory controller and memory device
CN110750380B (zh) 具有奇偶校验高速缓存方案的存储器系统以及操作方法
CN109783005B (zh) 控制记忆装置的方法、记忆装置、及其控制器和电子装置
US10938419B2 (en) Encoding method and system for memory device including QLC cells
CN109918315B (zh) 存储器系统及存储器系统的操作方法
US11342027B1 (en) Systems for adaptively determining read threshold voltage using meta information
CN105915234B (zh) 避免对涡轮乘积码误校正的方案
US12093562B2 (en) Controller with smart scheduling and method of operating the controller

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