CN106920575B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN106920575B CN106920575B CN201610586796.2A CN201610586796A CN106920575B CN 106920575 B CN106920575 B CN 106920575B CN 201610586796 A CN201610586796 A CN 201610586796A CN 106920575 B CN106920575 B CN 106920575B
- Authority
- CN
- China
- Prior art keywords
- decoder
- type
- decoding
- power consumption
- information
- 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
Links
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2948—Iterative decoding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/83—Masking faults in memories by using spares or by reconfiguring using programmable devices with reduced power consumption
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Microelectronics & Electronic Packaging (AREA)
Abstract
本发明提供一种包括非易失性存储器装置以及第一类型解码器和第二类型解码器的数据存储装置的操作方法,其包括:分别基于第一类型解码器的解码性能信息的多个条目值获得第一类型解码器和第二类型解码器的总功耗值的多个条目值;选择总功耗值的多个条目值中的最小值;根据最小值产生第一解码控制信息和第二解码控制信息以便控制第一类型解码器和第二类型解码器;更新在第一类型解码器和第二类型解码器的解码操作的每一个时的解码性能信息;以及基于更新的解码性能信息重复总功耗值的获得、最小值的选择以及第一解码控制信息和第二解码控制信息的产生。
Description
相关申请的交叉引用
本申请要求于2015年12月24日向韩国知识产权局提交的申请号为10-2015-0186488的韩国申请的优先权,其全文通过引用并入本文。
技术领域
各种实施例总体涉及一种数据存储技术,且更特别地,涉及一种能够有效地执行ECC解码操作的数据存储装置及其操作方法。
背景技术
最近,计算机环境范例已变为可在任何地方任何时候使用的普适计算系统。因此,便携式电子装置诸如移动电话、数码相机和笔记本电脑的使用已快速增加。通常,这些便携式电子装置使用包括用于存储数据的存储器装置的数据存储装置。
因为使用存储器装置的数据存储装置没有活动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
能够播放诸如音乐文件或视频文件的大型文件的便携式电子装置需要具有大存储容量的数据存储装置。数据存储装置使用针对存储单元具有高集成化程度的存储器装置作为存储介质以用于获得大存储容量。熟知的大容量存储器装置的示例是闪速存储器装置,其是非易失性存储器装置。
存储器装置通常包括用于校正从存储器装置读取的错误数据的错误校正码(ECC)。随着对较大容量的需求,较高集成化存储器装置继续增加对改进的ECC的需要,且相关的ECC解码方法也已经增加。
发明内容
本发明的各个实施例涉及一种能够更有效地执行ECC解码操作的数据存储装置及其操作方法。
在实施例中,数据存储装置可包括:非易失性存储器装置;以及错误校正码(ECC)单元,其包括具有第一类型解码器的第一解码器组、具有第二类型解码器的第二解码器组以及控制第一解码器组和第二解码器组对从非易失性存储器装置读出的数据的解码操作的解码控制块,其中解码控制块产生与总功耗量中的最小值相对应的第一类型解码器的迭代计数和时钟作为第一解码控制信息,并且产生第二类型解码器的迭代计数和时钟作为第二解码控制信息,其中总功耗量通过将基于基准信息针对各自解码失败率计算的第一解码器组的功耗量和第二解码器组的功耗量求和获得,其中基准信息包括存储读出的数据的非易失性存储器装置的存储器区域的状态信息、第一类型解码器的特征信息和第二类型解码器的特征信息。
在实施例中,一种数据存储装置的操作方法,其包括:限定与第一迭代计数相对应的第一类型解码器的第一解码失败率、与第二迭代计数相对应的第一类型解码器的第二解码失败率以及第二类型解码器的性能最大的饱和状态的迭代计数;通过将保持基于目标吞吐量和第一解码失败率计算的第一类型解码器的第一吞吐量所消耗的第一功耗量和保持作为目标吞吐量和第一类型解码器的第一吞吐量之差的第二类型解码器的第一吞吐量所消耗的第二功耗量求和计算第一总功耗量;通过将保持基于目标吞吐量和第二解码失败率计算的第一类型解码器的第二吞吐量所消耗的第三功耗量和保持作为目标吞吐量和第一类型解码器的第二吞吐量之差的第二类型解码器的第二吞吐量所消耗的第四功耗量求和计算第二总功耗量;以及在确定第一总功耗量小于第二总功耗量的情况下,提供与第一总功耗量相对应的第一迭代计数作为用于控制第一类型解码器的第一解码控制信息,并提供饱和状态的迭代计数作为用于控制第二类型解码器的第二解码控制信息。
在实施例中,数据存储装置可包括:非易失性存储器装置;一个或多个第一类型解码器,每一个第一类型解码器适于对从非易失性存储器装置读出的数据执行解码操作;一个或多个第二类型解码器,每一个第二类型解码器适于对第一类型解码器中的一个或多个的解码操作失败的数据执行解码操作;以及解码控制块,其适于:分别基于第一类型解码器的解码性能信息(例如,解码失败率)的多个条目值获得第一类型解码器和第二类型解码器的总功耗量的多个条目值;选择总功耗量的多个条目值中的最小值;根据最小值产生第一解码控制信息和第二解码控制信息以便控制第一类型解码器和第二类型解码器;在第一类型解码器和第二类型解码器的解码操作中的每一个时更新解码性能信息;以及基于更新的解码性能信息重复总功耗量的获得、最小值的选择以及第一解码控制信息和第二解码控制信息的产生。
第一类型解码器和第二类型解码器中的每一个可迭代地执行解码操作,且解码性能信息的多个条目值可分别对应于第一类型解码器和第二类型解码器中的一个或多个的迭代计数信息的多个条目值。
解码性能信息的多个条目值可分别对应于第一类型解码器中的一个的迭代计数信息的多个条目值,第二解码器组的迭代计数信息可包括进入第二类型解码器中的一个的饱和状态的条目值并且可对应于第一类型解码器中的一个的迭代计数信息的多个条目值。
总功耗量可以是第一类型解码器和第二类型解码器的功耗的总和,解码控制块可基于解码性能信息的多个条目值获得第一类型解码器和第二类型解码器的功耗中的每一个。
解码控制块可进一步从第一类型解码器和第二类型解码器接收根据第一解码控制信息和第二解码控制信息执行的解码操作的结果。
解码控制块可基于第一类型解码器的解码操作的结果更新解码性能信息。
解码操作的结果可包括:指示解码操作是已经成功还是已经失败的解码通过/失败信息,指示解码操作被迭代的计数的迭代性能计数信息以及指示在解码数据中包括的错误的计数的错误计数信息。
解码控制块可基于解码性能信息的条目值中的至少一部分获得总功耗量的多个条目值。
第一解码控制信息可包括与最小值相对应的第一类型解码器中的一个的迭代计数信息的多个条目值中的一个,其中第二解码控制信息包括进入第二类型解码器中的一个的饱和状态的条目值。
在实施例中,包括非易失性存储器装置以及第一类型解码器和第二类型解码器的数据存储装置的操作方法可包括:分别基于第一类型解码器的解码性能信息(例如,解码失败率)的多个条目值获得第一类型解码器和第二类型解码器的总功耗量的多个条目值;选择总功耗量的多个条目值中的最小值;根据最小值产生第一解码控制信息和第二解码控制信息以便控制第一类型解码器和第二类型解码器;在第一类型解码器和第二类型解码器的解码操作中的每一个时更新解码性能信息;以及基于更新的解码性能信息重复总功耗量的获得、最小值的选择以及第一解码控制信息和第二解码控制信息的产生。
一个或多个第一类型解码器中的每一个可对从非易失性存储器装置读出的数据迭代地执行解码操作,一个或多个第二类型解码器中的每一个可对第一类型解码器中的一个或多个的解码操作失败的数据迭代地执行解码操作,解码性能信息的多个条目值可分别对应于第一类型解码器和第二类型解码器中的一个或多个的迭代计数信息的多个条目值。
解码性能信息的多个条目值可分别对应于第一类型解码器中的一个的迭代计数信息的多个条目值,第二解码器组的迭代计数信息可包括进入第二类型解码器中的一个的饱和状态的条目值并且可对应于第一类型解码器中的一个的迭代计数信息的多个条目值。
总功耗量可以是第一类型解码器和第二类型解码器的功耗的总和,总功耗量的获得可通过基于解码性能信息的多个条目值获得第一类型解码器和第二类型解码器的功耗中的每一个来执行。
方法可进一步包括从第一类型解码器和第二类型解码器接收根据第一解码控制信息和第二解码控制信息执行的解码操作的结果。
解码性能信息的更新可在第一类型解码器的解码操作的结果的基础上执行。
解码操作的结果可包括:指示解码操作是已经成功还是已经失败的解码通过/失败信息,指示解码操作被迭代的计数的迭代性能计数信息以及指示在解码数据中包括的错误的计数的错误计数信息。
总功耗量的多个条目值的获得可在解码性能信息的条目值的至少一部分的基础上执行。
第一解码控制信息包括与最小值相对应的第一类型解码器中的一个的迭代计数信息的多个条目值中的一个,第二解码控制信息包括进入第二类型解码器中的一个的饱和状态的条目值。
根据本发明的实施例,用于ECC解码操作的功耗可在不折中ECC解码操作的速度的情况下被优化。
附图说明
图1是说明根据本发明的实施例的包括错误校正单元的数据存储装置的框图。
图2-图4是说明图1中示出的错误校正码(ECC)单元的示例的框图。
图5是说明根据本发明的实施例的在特定状态下非易失性存储器装置的错误率的示例的曲线图。
图6是说明根据本发明的实施例的作为错误校正解码操作的迭代次数的函数的第一解码器组的第一类型解码器的解码失败率的曲线图。
图7是说明根据本发明的实施例的第一类型解码器和第二类型解码器的错误校正解码操作的饱和特性的曲线图。
图8是根据本发明的实施例的用于产生解码控制信息的查找表。
图9是说明根据本发明的实施例的作为针对非易失性存储器装置的两个特定状态的第一解码器的错误解码操作的迭代次数的函数的第一解码器和第二解码器两者的总功耗值的曲线图。
图10和图11是说明针对解码控制块产生第一解码控制信息和第二解码控制信息的过程的表。
图12是说明根据本发明的实施例的包括数据存储装置的数据处理系统的框图。
图13是说明根据本发明的实施例的包括固态驱动器(SSD)的数据处理系统的框图。
图14是说明图13的SSD控制器的示例配置的框图。
图15是说明根据本发明的实施例的包括数据存储装置的计算机系统的框图。
图16是说明根据本发明的实施例的可包括在数据存储装置中的非易失性存储器装置的示例的框图。
具体实施方式
在本发明中,在结合附图阅读下列示例性实施例后,优点、特征和相关方法将变得更显而易见。但是,本发明可以体现为不同的形式且不应被解释为限于本文所阐述的实施例。而是,提供这些实施例以足够详细地描述本发明以使本发明所属领域的技术人员实践本发明。
此处将理解的是,本发明的实施例不限于在附图中示出的细节,附图不一定按比例绘制,并且在一些情况下,为了更清楚地描绘本发明的一些特征,比例可能已经放大。虽然本文中使用具体术语,但是将理解的是,使用的术语仅用于描述特殊实施例的目的而并不旨在限制本发明的范围。
如本文使用的,术语“和/或”包括相关所列项目中的一个或多个的任何一个和所有组合。将理解的是,当元件被称为在另一元件“上”、“连接至”或“联接至”另一元件时,它可直接在其它元件上、直接连接或联接至其它元件或可存在中间元件。除非上下文另有明确说明,否则如本文使用的,单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包含”、“包含有”或“包括”和/或“包括有”时,它们指定至少一个陈述的特征、步骤、操作和/或元件的存在,但不排除一个或多个其它非陈述的特征、步骤、操作和/或其元件的存在或添加。
在下文中,下面将参照附图描述包括数据存储装置及其操作方法的本发明的各自实施例。
图1是说明根据本发明的实施例的数据存储装置100的框图。
数据存储装置100可存储待被主机装置(未示出)访问的数据。主机装置可以是移动电话、MP3播放器、膝上型电脑、台式电脑、游戏机、TV、车载娱乐系统等。数据存储装置100也可被称为存储器系统。
数据存储装置100可根据可与主机装置电联接的接口的协议被制造为各种存储装置中的任何一种。例如,数据存储装置100可被配置为诸如下列的各种存储装置中的任何一种:固态驱动器,MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、迷你-SD及微型-SD形式的安全数码卡,通用串行总线(USB)存储装置,通用闪速存储(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外设组件互连(PCI)卡型存储装置,快速PCI(PCI-E)卡型存储装置,标准闪存(CF)卡,智能媒体卡,存储棒等。
数据存储装置100可被制造为各种封装类型中的任何一种。例如,数据存储装置100可被制造为诸如下列的各种封装类型中的任何一种:封装叠加(POP)、系统级封装(SIP)、系统级芯片(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶片级制造封装(WFP)、晶片级堆叠封装(WSP)等。
数据存储装置100可包括非易失性存储器装置300。非易失性存储器装置300可作为数据存储装置100的存储介质操作。非易失性存储器装置300可通过诸如下列的各种类型的非易失性存储器装置中的任何一种配置:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)、使用过渡金属氧化物的电阻随机存取存储器(RERAM)等。
数据存储装置100可包括控制器200。控制器200可通过通道与非易失性存储器装置300联接。可使用任何合适的通道。例如,通道可包括用于控制器200、传输用于控制非易失性存储器装置300的控制信号(例如,芯片选择信号、命令、地址等)的信号线。并且,例如,通道可包括用于在控制器200和非易失性存储器装置300之间传输数据的信号线。
控制器200可包括控制单元210、随机存取存储器220、数据缓冲存储器230和错误校正码(ECC)单元240。
控制单元210可控制控制器200的一般操作。控制单元210可分析和处理从主机装置接收的信号、命令或请求。例如,控制单元210可解码和驱动装载在随机存取存储器220上的固件或软件。控制单元210可以硬件的形式来实现。控制单元210可以硬件和软件的组合形式来实现。
随机存取存储器220可存储待由控制单元210驱动的固件或软件。并且,随机存取存储器220可存储用于驱动固件或软件所必需的数据,例如,诸如地址映射信息的管理数据。例如,随机存取存储器220可作为控制单元210的工作存储器操作。
数据缓冲存储器230可临时存储待在主机装置和非易失性存储器装置300之间传输的数据。数据缓冲存储器230也可被称为数据缓存存储器。例如,数据缓冲存储器230可临时存储待从非易失性存储器装置300传输至主机装置的数据。例如,从非易失性存储器装置300读出的数据RDT可被错误校正码(ECC)单元240误差校正以成为解码数据DDT,然后,解码数据DDT可被临时存储在数据缓冲存储器230中。存储在数据缓冲存储器230中的解码数据DDT可被提供至主机装置。
错误校正码(ECC)单元240可校正从非易失性存储器装置300读出的数据RDT中包括的错误。为了校正在读出的数据RDT中包括的错误,ECC单元240可包括解码控制块241、第一解码器组245和第二解码器组247。第一解码器组245可包括多个第一类型解码器245a-245m。第二解码器组247可包括多个第二类型解码器247a-247n。
虽然未被示出,但是ECC单元240可包括用于编码从主机装置传输的数据的块。
解码控制块241可基于在数据存储装置100中包括的非易失性存储器装置300的特性、第一解码器组245和第二解码器组247的特性以及第一解码器组245和第二解码器组247的解码操作的结果管理查找表LUT。
解码控制块241可根据查找表LUT控制第一解码器组245和第二解码器组247的解码操作。例如,解码控制块241可根据查找表LUT控制针对第一解码器组245和第二解码器组247中的每一个的功耗和单位时间的处理量(下文中被称为吞吐量)。解码操作可通过查找表LUT的管理和根据查找表LUT对第一解码器组245和第二解码器组247的功耗和吞吐量的控制被优化。
解码控制块241可控制从用于解码读出的数据RDT的第一解码器组245的多个第一类型解码器245a-245m选择的可用解码器。虽然未被示出,但是在读出的数据RDT通过一些通道并行传输的情况下,解码控制块241可控制一个或多个第一类型解码器解码读出的数据RDT,其中一个或多个第一类型解码器可用于解码操作或具有用于解码操作的较高优先权。
当第一解码器组245对读出的数据RDT的解码操作失败时,解码控制块241可控制第二解码器组247对读出的数据RDT执行解码操作。换言之,当第一解码器组245的一个或多个第一类型解码器245a-245m校正读出的数据RDT中的错误失败时,解码控制块241可控制第二解码器组247的一个或多个第二类型解码器247a-247n来校正读出的数据RDT中的错误。
第一解码器组245的第一类型解码器245a-245m和第二解码器组247的第二类型解码器247a-247n中的每一个可以是采用迭代错误校正方案的ECC解码器。例如,第一类型解码器245a-245m和第二类型解码器247a-247n中的每一个可对读出的数据RDT迭代地执行预定迭代次数的解码操作或迭代地执行解码操作直到解码操作成功。
第一类型解码器245a-245m和第二类型解码器247a-247n可具有不同的特性。例如,第二解码器组247的集成程度可小于第一解码器组245的集成程度。也就是说,每一个第二类型解码器的尺寸可大于每一个第一类型解码器的尺寸。
对于另一示例,第二解码器组247的错误校正能力可大于第一解码器组245的错误校正能力。换言之,每一个第二类型解码器可比每一个第一类型解码器校正更大数量的错误。
对于另一示例,第二解码器组247的功耗可大于第一解码器组245的功耗。即,每一个第二类型解码器每时钟消耗的功率可大于每一个第一类型解码器每时钟消耗的功率。在以下描述中,解码器的功耗将被描述为归一化值。例如,一个第一类型解码器每时钟消耗的功率将被归一为“1”,一个第二类型解码器每时钟消耗的功率将被归一为“4”,这意味着第二类型解码器的功耗是第一类型解码器的功耗的4倍。
图2-图4是说明在图1中示出的ECC单元240的示例的框图。
参照图2,信息(或信号)DCI1、DCI2、DRI1和DRI2以及数据RDT和DDT可通过总线BUS在ECC单元240中的内部块241、245、247和249之间传输。
解码控制块241可分别为第一解码器组245和第二解码器组247提供解码控制信息DCI1和DCI2。控制信息DCI1可用于控制第一解码器组245的第一类型解码器245a-245m。控制信息DCI2可用于控制第二解码器组247的第二类型解码器247a-247n。
当解码读出的数据RDT时或当第一解码器组245校正读出的数据RDT中的错误失败时,第一解码器组245可将读出的数据RDT传输至ECC缓冲存储器249。当第一解码器组245成功地校正读出的数据RDT中的错误时,第一解码器组245可通过总线BUS将解码的数据DDT传输至数据缓冲存储器230。第一解码器组245可将关于其解码操作的结果的解码结果信息DRI1传输至解码控制块241。
第二解码器组247可对存储在ECC缓冲存储器249中的读出的数据RDT执行解码操作。当第二解码器组247成功地校正读出的数据RDT中的错误时,第二解码器组247可通过总线BUS将解码的数据DDT传输至数据缓冲存储器230。第二解码器组247可将关于其解码操作的结果的解码结果信息DRI2传输至解码控制块241。
现在参照图3,ECC单元240可被配置为使得信息(或信号)DCI1、DCI2、DRI1和DRI2通过为传输这种信息(或信号)而配置的信号线在内部块241、245和247之间传输。ECC单元240也可被配置为使得数据RDT和DDT通过为传输这种数据而配置的数据线在内部块245、247和249之间传输。
ECC缓冲存储器249可缓冲来自非易失性存储器装置300的读出的数据RDT。
解码控制块241可将解码控制信息DCI1和DCI2分别传输至第一解码器组245和第二解码器组247。
第一个解码器组245可对存储在ECC缓冲存储器249中的读出的数据RDT执行解码操作。当第一解码器组245成功地校正读出的数据RDT中的错误时,第一解码器组245可将解码的数据DDT传输至数据缓冲存储器230。第一解码器组245可将解码结果信息DRI1传输至解码控制块241。
当第一解码器组245校正读出的数据RDT中的错误失败时,第二解码器组247可对存储在ECC缓冲存储器249中的读出的数据RDT的错误执行解码操作。当第二解码器组247成功地校正读出的数据RDT中的错误时,第二解码器组247可将解码的数据DDT传输至数据缓冲存储器230。第二解码器组247可将解码结果信息DRI2传输至解码控制块241。
现在参照图4,ECC单元240可被配置为使得信息(或信号)DCI1、DCI2、DRI1和DRI2通过为传输这种信息(或信号)而配置的信号线在内部块241、245和247之间传输。ECC单元240也可被配置为使得数据RDT和DDT通过为传输这种数据而配置的数据线在内部块245、247和249之间传输。
解码控制块241可将解码控制信息DCI1和DCI2分别传输至第一解码器组245和第二解码器组247。
当解码读出的数据RDT时或当第一解码器组245校正读出的数据RDT中的错误失败时,第一解码器组245可将读出的数据RDT传输至ECC缓冲存储器249。当第一解码器组245成功地校正读出的数据RDT中的错误时,第一解码器组245可将解码的数据DDT传输至数据缓冲存储器230。第一解码器组245可将解码结果信息DRI1传输至解码控制块241。
当第一解码器组245校正读出的数据RDT中的错误失败时,第二解码器组247可对存储在ECC缓冲存储器249中的读出的数据RDT的错误执行解码操作。当第二解码器组247成功地校正读出的数据RDT中的错误时,第二解码器组247可将解码的数据DDT传输至数据缓冲存储器230。第二解码器组247可将解码结果信息DRI2传输至解码控制块241。
在以下的描述中,为简单起见,在图4中示出的ECC单元240的框图将被描述为表示在图2和图3中示出的ECC单元240的框图的框图。但是,ECC单元240的内部块的配置、操作和功能可相同。
现在参照图4,第一解码器组245可将第一解码结果信息DRI1传输至解码控制块241。第一解码结果信息DRI1可包括第一类型解码器245a-245m中的一个或多个的分别完成的解码操作的结果。例如,第一解码结果信息DRI1可包括第一类型解码器245a-245m中的一个或多个的单独完成的解码操作的结果。
第二解码器组247可将第二解码结果信息DRI2传输至解码控制块241。第二解码结果信息DRI2可包括第二类型解码器247a-247n中的一个或多个的分别完成的解码操作的结果。例如,第二解码结果信息DRI2可包括第二类型解码器247a-247n中的一个或多个的单独完成的解码操作的结果。
解码结果信息DRI1或DRI2可包括指示各自解码操作是已经成功还是已经失败的解码通过/失败信息。
解码结果信息DRI1或DRI2可包括表示已经对相同的读出的数据RDT执行各自解码操作的迭代次数的迭代性能计数信息ITRCNT。
解码结果信息DRI1或DRI2可包括表示在解码的数据中包括的错误的数量的错误计数信息ERRCNT。
解码结果信息DRI1或DRI2可用于管理查找表LUT。例如,解码结果信息DRI1或DRI2可用于更新在查找表LUT中包括的解码失败率FR使得非易失性存储器装置300的当前状态可被反映至解码失败率FR。
解码控制块241可通过参照查找表LUT产生第一解码控制信息DCI1和第二解码控制信息DCI2。例如,第一解码控制信息DCI1可包括用于控制第一解码器组245的第一类型解码器245a-245m中的至少一个的信息。在实施例中,第一解码控制信息DCI1可包括用于控制第一解码器组245的全部第一类型解码器245a-245m的信息。
第二解码控制信息DCI2可包括用于控制第二解码器组247的第二类型解码器247a-247n中的至少一个的信息。在实施例中,第二解码控制信息DCI2可包括用于控制第二解码器组247的全部第二类型解码器247a-247n的信息。
解码控制信息DCI1或DCI2可各自包括表示可对读出的数据RDT执行的各自解码操作的最大迭代次数的迭代计数信息ITR。
解码控制信息DCI1或DCI2可包括用于解码操作的时钟信息CLK1和CLK2。时钟发生器243可通过参照解码控制信息DCI1或DCI2产生用于解码操作的时钟信号。
注意的是,非易失性存储器装置300的特性可在使用不同制造技术的不同制造商之间存在差异。并且,即使当非易失性存储器装置300使用相同的制造技术来制造时,非易失性存储器装置300的特性可根据单独非易失性存储器装置300的制造环境和使用情况而不同。
图5是说明在非易失性存储器装置的特定状态下非易失性存储器装置300的错误率的示例的曲线图。图5通过测试特定的非易失性存储器装置示例性地示出非易失性存储器装置300的错误率。
如图5中例示,非易失性存储器装置300的错误率可根据编程/擦除计数PE和编程后保持时间R变化。
参照图5,当在数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年(记为“PE100/R0Y”)时,50位的错误可以1%的概率被包括在编程的数据中。并且,当在数据被编程在被编程/擦除200次的非易失性存储器装置中之后经过1年(记为“PE200/R1Y”)时,100位的错误可以1%的概率被包括在编程的数据中。
非易失性存储器装置的错误率可被获得或限定以用于查找表LUT的初始产生。
图6是说明第一解码器组245的第一类型解码器245a-245m的解码失败率FR的示例的曲线图。图6通过解码包括100位错误的数据示例性地示出非易失性存储器装置300的解码失败率FR。
应当理解的是,ECC解码器(即,第一解码器组245的第一类型解码器245a-245m)可根据它们被如何设计而在包括解码失败率FR的它们的特性方面不同。此外,ECC解码器(即,第一解码器组245的第一类型解码器245a-245m)可根据执行的其解码操作的迭代次数而在解码失败率FR方面不同。
如图6中例示,随着解码操作被迭代,第一类型解码器245a-245m的解码失败率FR可减小。
参照图6,当对包括100-位错误的数据的解码操作的迭代次数从5次增大至10次时,解码失败率FR减小。可看出,当对包括100-位错误的数据的解码操作的迭代次数从5次增大至10次时,连续解码操作的解码失败率FR之间的差G1-G5逐渐减小。
第一解码器组245的第一类型解码器245a-245m的解码失败率FR可被获得或限定以用于查找表LUT的初始产生。如上所述,解码失败率FR可基于解码结果信息DRI1或DRI2被更新使得非易失性存储器装置300的当前状态被反映至解码失败率FR。
图7是分别说明作为迭代次数的函数的第一类型解码器245a-245m和第二类型解码器247a-247n的解码操作的饱和特性的曲线图。
注意的是,根据其具体设计,ECC解码器(即,第一解码器组245的第一类型解码器245a-245m和第二解码器组247的第二类型解码器247a-247n)可在包括它们的解码饱和特性的它们的具体特性方面不同。当具有区别的迭代次数的ECC解码器的解码操作成功时,解码饱和特性可被证明处于解码饱和状态,而不管在读出的数据RDT中包括的错误位的数量。不受ECC解码器的功耗和操作时间的限制,具有区别的迭代次数的解码操作可成功,而不管错误位的数量。
在图7的示例中,当其解码操作被迭代15次时,第一解码器组245的第一类型解码器245a-245m中的每一个可进入它自己的解码饱和状态。此外,当其解码操作被迭代10次时,第二解码器组247的第二类型解码器247a-247n中的每一个可进入它自己的解码饱和状态。
如上所述,当第一解码器组245的第一类型解码器245a-245m的解码操作失败时,第二解码器组247的第二类型解码器247a-247n的解码操作可被执行。根据本公开的实施例,第二解码器组247是执行ECC解码操作的最后解码器组,因此,第二解码器组247优选需要可成功校正读出的数据RDT中的错误。因此,当第一解码器组245的迭代计数信息ITR的值可通过解码控制块241动态变化时,第二解码器组247的迭代计数信息ITR的值可被固定至用于达到第二类型解码器247a-247n的饱和状态所需的迭代计数(即,在图7中说明的示例中的10次),用于确保第二解码器组247可成功校正读出的数据RDT中的错误。
用于达到第二解码器组247的第二类型解码器247a-247n的饱和状态所需的迭代计数可被获得或限定以用于查找表LUT的初始产生。
图8是可被参照以产生解码控制信息DCI1和DCI2的查找表LUT的示例。
图8示例性示出在如参照图5描述的具体状态下非易失性存储器装置300的错误率、如参照图6描述的第一解码器组245的解码失败率FR以及如参照图7描述的第二解码器组247的饱和特性的基础上产生的查找表LUT。
如图8中所示,当在图6中示出的具有解码失败率FR的第一解码器组245在与图5中示出的错误率相对应的特定状态(即PE100/R0Y和PE200/R1Y)下对非易失性存储器装置300执行其解码操作时,查找表LUT可包括根据第一类型解码器245a-245m的迭代计数信息ITR1的解码失败率FR。
同样,如图8中例示,查找表LUT可包括第二解码器组247的第二类型解码器247a-247n的迭代计数信息ITR2,其反映如参照图7描述的第二解码器组247的饱和特性。如上所述,当第一解码器组245的迭代计数信息ITR1的值可动态变化时,第二解码器组247的迭代计数信息ITR2的值可被固定至用于达到第二类型解码器247a-247n的饱和状态所需的迭代计数(即,图7中说明的示例中的10次迭代),用于确保第二解码器组247可成功校正读出的数据RDT中的错误。
查找表LUT可根据在数据存储装置100中包括的非易失性存储器装置300和ECC单元240的特性初步确定。因为各种信息被图解,所以使用术语查找表LUT。然而,包括各种信息即关于非易失性存储器装置的错误率、第一解码器组的解码失败率和第二解码器组的饱和特性的信息的查找表LUT可被称为基准信息。
图9是针对第一解码器组245和第二解码器组247两者、用于说明基于解码控制信息(DCI)控制第一解码器组245的第一类型解码器245a-245m和第二解码器组247的第二类型解码器247a-247n的错误解码操作的总功耗值TPWR(图10的表最后一栏中示出)的曲线图的示例。图9示例性地示出当第一解码器组245和第二解码器组247根据图8的查找表LUT执行解码操作时第一解码器组245和第二解码器组247的归一化总功耗值TPWR。
如从图9中可看出,在第一解码器组245和第二解码器组247的归一化目标吞吐量TT被保持在“100”的条件下,由如参照图5描述的编程/擦除计数PE和编程后经过时间R表示的非易失性存储器装置300的特定状态以及第一解码器组245的迭代计数ITR1可影响第一解码器组245和第二解码器组两者的总功耗值TPWR。
同样,如从图9中可看出,在第一解码器组245和第二解码器组247的归一化目标吞吐量TT被保持在“100”的条件下,总功耗值TPWR没有在迭代计数ITR1的最低值或最高值处达到最小值。
参照图9,针对非易失性存储器装置的“PE100/R0Y”特定状态,即当在数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年时,当第一解码器组245迭代地执行其解码操作7次,即在第一迭代计数ITR1为7时,归一化总功耗值TPWR获得最小值“48.75”。同样,当在数据被编程在被编程/擦除200次的非易失性存储器装置中之后经过1年(表示为“PE200/R1Y”)时,当第一解码器组245迭代地执行其解码操作8次,即在第一迭代计数ITR1为8时,归一化总功耗值TPWR达到最小值“58”。
根据本发明的实施例,解码控制块241可以第一解码器组245和第二解码器组247消耗最小(或最佳)功率同时目标吞吐量TT被保持至预定值这样的方式控制第一解码器组245和第二解码器组247的解码操作。解码控制块241可实时或动态地控制第一解码器组245和第二解码器组247的解码操作。
例如,解码控制块241可将第一解码控制信息DCI1和第二解码控制信息DCI2分别传输至第一解码器组245和第二解码器组247。
如上所述,解码控制信息DCI1或DCI2可包括表示可对读出的数据RDT执行各自解码操作的最大迭代次数的迭代计数信息ITR并可分别包括用于第一解码器组245和第二解码器组247的解码操作的时钟信息CLK1和CLK2。第一解码器组245和第二解码器组247可根据在第一解码控制信息DCI1和第二解码控制信息DCI2中包括的迭代计数信息ITR和时钟信号执行它们的解码操作。
图10和图11是协助解释用于解码控制块241产生第一解码控制信息DCI1和第二解码控制信息DCI2的过程的表的示例。
假设第一解码器组245和第二解码器组247的目标吞吐量TT被保持至归一化值“100”。
进一步假设第一解码器组245包括单个第一类型解码器(m=1)。此外,假设单个第一类型解码器的单位处理量“i”被设定为“16”。
假设第二解码器组247包括单个第二类型解码器(n=1)。此外,假设单个第二类型解码器的单位处理量“j”被设定为“8”。
假设单个第一类型解码器每时钟消耗的功率被设定为归一化值“1”(Pn1=1)。另外,假设单个第二类型解码器每时钟消耗的功率被设定为归一化值“4”(Pn2=4)。
上述假设可根据非易失性存储器装置300的具体特性和ECC单元240的设计而变化。
方法1:利用总功耗值信息的所有可能值产生解码控制信息(DCI)。
参照图10,第一类型解码器的吞吐量TH1、时钟信息CLK1和功耗PWR1以及第二类型解码器的吞吐量TH2、时钟信息CLK2和功耗PWR2可在包括第一类型解码器的初始或更新的解码失败率FR以及第一和第二类型解码器的迭代计数信息ITR1和ITR2的初始或更新的查找表LUT(如图5中例示)的基础上获得。如上所述,查找表LUT可在与如参照图5描述的特定状态相对应的非易失性存储器装置300的错误率、如参照图6描述的第一解码器组245的解码失败率FR和如参照图7描述的第二解码器组247的饱和特性的基础上产生。
作为示例,图10示出在数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年(表示为“PE100/R0Y”)和在数据被编程在被编程/擦除200次的非易失性存储器装置中之后经过1年(表示为“PE200/R1Y”)的情况。然而,将注意的是,在图10中例示的信息可针对非易失性存储器装置的每一种状态(即,每一种编程/擦除计数PE和每一个编程后经过时间R)获得。
解码控制块241可通过下列等式获得第一类型解码器的吞吐量TH1、时钟信息CLK1和功耗PWR1;第二类型解码器的吞吐量TH2、时钟信息CLK2和功耗PWR2;以及针对非易失性存储器装置的每一种状态的总功耗量TPWR。等式中的符号如上所述。
[等式1]TH1=TT*(1-FR)
[等式2]CLK1=TT*ITR1/i
[等式3]PWR1=(CLK1*Pn1)*m
[等式4]TH2=TT-TH1
[等式5]CLK2=TH2*ITR2/j
[等式6]PWR2=(CLK2*Pn2)*n
[等式7]TPWR=PWR1+PWR2
等式4表示包括第一和第二类型解码器的ECC单元240可保持目标吞吐量TT。当第一类型解码器的吞吐量TH1未达到目标吞吐量TT时,第二类型解码器的吞吐量TH2可以是剩余的吞吐量(例如,“TT-TH1”)。
如上所述,第一类型解码器的解码失败率FR可在解码结果信息DRI1或DRI2的基础上被更新,因此,解码控制块241还可根据第一类型解码器的更新的解码失败率FR通过上述等式更新第一类型解码器的吞吐量TH1;第二类型解码器的吞吐量TH2、时钟信息CLK2和功耗PWR2;以及针对非易失性存储器装置的每一种状态的总功耗值TPWR。
例如,在当数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年(表示为“PE100/R0Y”)时解码从非易失性存储器装置读出的读出数据RDT的情况下,解码失败率FR为7%(对应于5个迭代计数)的第一类型解码器可根据等式1被确定为具有“93”的吞吐量TH1、根据等式2被确定为具有“31.25”的时钟信息CLK1并且根据等式3被确定为具有“31.25”的功耗PWR1。
同样地,第二类型解码器可根据等式4-6被确定为具有“7”的吞吐量TH2、“8.75”的时钟信息CLK2以及“35”的功耗PWR2。通过等式7,可获得“66.25”的总功耗量TPWR。如上所述,第二类型解码器的迭代计数信息ITR2的条目值可被固定至用于达到第二类型解码器的饱和状态所需的迭代计数“10”,用于确保第二类型解码器可成功校正读出的数据RDT中的错误。
以这种方式,如图10中所例示的,解码控制块241可获得与针对非易失性存储器装置的每种状态的第一类型解码器的迭代计数信息ITR1相对应的总功耗信息TPWR的所有可能各自值。
在与针对非易失性存储器装置的每种状态的第一类型解码器的迭代计数信息ITR1相对应的总功耗信息TPWR的所有可能值中,解码控制块241可选择非易失性存储器装置的总功耗量TPWR的最小值。
解码控制块241可产生分别包括第一类型解码器和第二类型解码器的迭代计数信息TR1和ITR2以及时钟信息CLK1和CLK2的解码控制信息DCI1和DCI2,其对应于具有最小值的选择的总功耗量TPWR。
例如,解码控制块241可将总功耗值TPWR“48.75”选为最小值。解码控制块241可产生包括与选择的总功耗值TPWR“48.75”相对应的第一类型解码器的迭代计数信息ITR1“7”和时钟信息CLK1“43.75”的解码控制信息DCI1。解码控制块241可产生包括与选择的总功耗值TPWR“48.75”相对应的第二类型解码器的迭代计数信息ITR2“10”和时钟信息CLK2“1.25”的解码控制信息DCI2。
对于另一示例,在当数据被编程在被编程/擦除200次的非易失性存储器装置中之后经过1年(表示为“PE200/R1Y”)时解码从非易失性存储器装置读出的读出数据RDT的情况下,解码控制块241可将总功耗值TPWR“58”选为最小值。解码控制块241可产生包括与选择的总功耗值TPWR“58”相对应的第一类型解码器的迭代计数信息ITR1“8”和时钟信息CLK1“50”的解码控制信息DCI1。解码控制块241可产生包括与选择的总功耗值TPWR“58”相对应的第二类型解码器的迭代计数信息ITR2“10”和时钟信息CLK2“2”的解码控制信息DCI2。
[方法2:只用总功耗值信息的所有可能值的一部分产生解码控制信息(DCI)]
参照图11,解码控制块241可在初始阶段通过所有可能的总功耗量TPWR的一部分暂时获得总功耗值TPWR的当前最小值并且在第一解码器和第二解码器的每个解码操作中在“一步一步(step-by-step)”的基础上通过所有可能的总功耗值TPWR的另一部分搜索总功耗值TPWR的实质最小值。因为解码控制信息DCI1和DCI2仅通过总功耗值TPWR的所有可能值的一部分产生,所以解码控制块241可不需要获得如参照图10描述的总功耗值TPWR的所有可能值以及相关信息。
类似地,如以上参照图10所述,解码控制块241可基于包括第一类型解码器的初始或更新的解码失败率FR以及第一类型解码器和第二类型解码器的迭代计数信息ITR1和ITR2的初始或更新的查找表LUT(如图5中所例示)获得总功耗值TPWR的当前或实质最小值。
作为示例,图11示出当数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年(表示为“PE100/R0Y”)时的情况。假设解码失败率FR在第一解码器和第二解码器的每个解码操作中的更新后被保持为先前值。
在图11的第一步骤①中,解码控制块241可从第一类型解码器的迭代计数ITR1的条目值随机选择初始条目值。迭代计数ITR1的初始条目值在初始阶段被随机选择。
然后,当数据被编程在被编程/擦除100次的非易失性存储器装置中之后经过0年(表示为“PE100/R0Y”)时,解码控制块241可通过等式1-7获得与第一迭代计数ITR1的随机选择的初始条目值相对应的第一类型解码器的吞吐量TH1、时钟信息CLK1和功耗PWR1;第二类型解码器的吞吐量TH2、时钟信息CLK2和功耗PWR2;以及总功耗值TPWR。
例如,解码控制块241可随机选择第一类型解码器的迭代计数ITR1的条目值“8”。条目值“8”也可被称为当前最小总功耗值的条目值。
然后,解码控制块241可通过等式1-7获得与当前最小总功耗值的条目值“8”相对应的第一类型解码器的吞吐量TH1“99.5”、时钟信息CLK1“31.25”和功耗PWR1“31.25”;第二类型解码器的吞吐量TH2“0.5”、时钟信息CLK2“0.625”和功耗PWR2“2.5”;以及总功耗值TPWR“52.5”。如上所述,第二类型解码器的迭代计数信息ITR2的条目值可被固定至用于达到第二类型解码器的饱和状态所需的迭代计数“10”,用于确保第二类型解码器可成功校正读出的数据RDT中的错误。
然后,解码控制块241可产生解码控制信息DCI1和DCI2。例如,解码控制块241可产生包括与对应于当前最小总功耗值的条目值“8”的总功耗值TPWR“52.5”相对应的第一类型解码器的迭代计数信息ITR1“8”和时钟信息CLK1“31.25”的解码控制信息DCI1。同样地,解码控制块241可产生包括与对应于当前最小总功耗值的条目值“8”的总功耗值TPWR“52.5”相对应的第二类型解码器的迭代计数信息ITR2“10”和时钟信息CLK2“0.625”的解码控制信息DCI2。
在下一解码操作被执行的情况下,解码控制块241可控制第一类型解码器和第二类型解码器,用于确保总功耗被优化至最小值同时满足目标吞吐量TT。为了此目的,解码控制块241可执行用于搜索与当前最小总功耗值的条目值“8”以及大于和小于当前最小总功耗值的条目值“8”的相邻条目值相对应的总功耗量TPWR的最小值的操作。
在图11中第二步骤②中,解码控制块241可通过等式1-7获得与大于和小于当前最小总功耗值的条目值“8”的相邻条目值“7”和“9”相对应的第一类型解码器的吞吐量TH1“99”和“99.6”、时钟信息CLK1“43.75”和“50”以及功耗PWR1“43.75”和“50”;第二类型解码器的吞吐量TH2“1”和“0.4”、时钟信息CLK2“1.25”和“0.5”以及功耗PWR2“5”和“2”;以及总功耗值TPWR“48.75”和“58.25”。
从针对与当前最小总功耗值的条目值“8”和当前最小总功耗值的条目值“8”的相邻条目值“7”和“9”相对应的总功耗值的值“52.5”、“48.75”和“58.25”可知,解码控制块241可选择与条目值“7”相对应的较低值“48.75”。然后,条目值“7”可以是当前最小总功耗值的条目值。
解码控制块241可产生解码控制信息DCI1和DCI2,其分别包括对应于与当前最小总功耗值的新更新的条目值“7”相对应的总功耗值TPWR“48.75”的第一类型解码器和第二类型解码器的各自迭代计数信息ITR1“7”和ITR2“10”以及各自时钟信息CLK1“43.75”和CLK2“1.25”。
在下一解码操作被执行的情况下,解码控制块241可重复用于搜索与当前最小总功耗值的条目值“7”以及大于和小于当前最小总功耗值的条目值“7”的相邻条目值相对应的总功耗量TPWR中的最小值的操作。
在图11的第三步骤③中,解码控制块241可通过等式1-7获得与大于和小于当前最小总功耗值的条目值“7”的相邻条目值“6”和“8”相对应的第一类型解码器的吞吐量TH1“97”和“99.5”、时钟信息CLK1“37.5”和“31.25”以及功耗PWR1“37.5”和“31.25”;第二类型解码器的吞吐量TH2“3”和“0.5”、时钟信息CLK2“3.75”和“0.625”以及功耗PWR2“15”和“2.5”;以及总功耗值TPWR“52.5”和“52.5”。
在与当前最小总功耗值的条目值“7”和当前最小总功耗值的条目值“7”的相邻条目值“6”和“8”相对应的总功耗值TPWR的值“48.75”、“52.5”和“52.5”中,解码控制块241可选择与当前最小总功耗值的条目值“7”相对应的总功耗值TPWR的最小值“48.75”。条目值“7”可仍然是当前最小总功耗值的条目值。
解码控制块241可产生解码控制信息DCI1和DCI2,其分别包括对应于与当前最小总功耗值的条目值“7”相对应的总功耗值TPWR“48.75”的第一类型解码器和第二类型解码器的各自迭代计数信息ITR1“7”和ITR2“10”以及各自时钟信息CLK1“43.75”和CLK2“1.25”。
虽然在第一步骤①的初始阶段从第一类型解码器的迭代计数ITR1的条目值中随机选择初始条目值,但是解码控制块241可通过如上面第二步骤②和第三步骤③描述的迭代搜索操作找到总功耗量TPWR的实质最小值。也就是说,当在第一解码器和第二解码器的解码操作期间针对总功耗量TPWR的当前最小值的搜索操作在“一步一步”的基础上被迭代执行时,总功耗量TPWR的值可收敛至实质最小值。
如上所述,解码控制块241可分别为第一解码器组245和第二解码器组247提供解码控制信息DCI1和DCI2,其对应于用于控制第一类型解码器245a-245m和第二类型解码器247a-247n的具有最小值的选择的总功耗值TPWR。
此外,第一解码器组245和第二解码器组247可为解码控制块241提供分别关于其解码操作的结果的解码结果信息DRI1或DRI2。解码结果信息DRI1或DRI2可用于更新在查找表LUT中包括的解码失败率FR使得非易失性存储器装置300的当前状态被反映在解码失败率FR上。
然后,基于更新的LUT以及因此更新的具有最小值的总功耗值TPWR,解码控制块241可分别为第一解码器组245和第二解码器组247提供解码控制信息DCI1和DCI2,其分别对应于可被更新的具有最小值的更新的总功耗值TPWR。
因此,通过更新查找表LUT,第一解码器组245的第一类型解码器245a-245m和第二解码器组247的第二类型解码器247a-247n的性能可被优化。
图12是根据本发明的实施例的包括数据存储装置的数据处理系统的示例。参照图12,数据处理系统1000可包括主机装置1100和数据存储装置1200。
数据存储装置1200可包括控制器1210和非易失性存储器装置1220。数据存储装置1200可被联接至诸如例如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、车载信息娱乐系统等的主机装置1100。数据存储装置1200也被称为存储器系统。
控制器1210可包括主机接口单元1211、控制单元1212、存储器接口单元1213、随机存取存储器1214和错误校正码(ECC)单元1215。
响应于来自主机装置1100的请求,控制单元1212可控制控制器1210的一般操作。控制单元1212可驱动用于控制非易失性存储器装置1220的固件或软件。
随机存取存储器1214可用作控制单元1212的工作存储器。随机存取存储器1214可用作用于暂时存储从非易失性存储器装置1220读取的数据或主机装置1100提供的数据的缓冲存储器。
主机接口单元1211可接合主机装置1100和控制器1210。例如,主机接口单元1211可通过诸如下列的各种接口协议中的一个与主机装置1100通信:通用串行总线(USB)协议、通用闪速存储(UFS)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、快速PCI(PCI-E)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议等。
存储器接口单元1213可接合控制器1210和非易失性存储器装置1220。存储器接口单元1213可将命令和地址提供至非易失性存储器装置1220。此外,存储器接口单元1213可与非易失性存储器装置1220交换数据。
错误校正码(ECC)单元1215可ECC编码待在非易失性存储器装置1220中存储的数据。并且,错误校正码(ECC)单元1215可解码从非易失性存储器装置1220中读出的数据。
虽然未示出,但是错误校正码(ECC)单元1215可包括第一解码器组和第二解码器组。如上所述的,错误校正码(ECC)单元1215可以实时或动态地控制第一解码器组和第二解码器组的操作使得最小功率(或最优功率)可被消耗同时满足目标吞吐量。
非易失性存储器装置1220可用作数据存储装置1200的存储介质。非易失性存储器装置1220可包括多个非易失性存储器芯片(或管芯)NVM_1-NVM_k。
控制器1210和非易失性存储器装置1220可被制造为各种数据存储装置中的任何一个。例如,控制器1210和非易失性存储器装置1220可被集成在一个半导体装置中并且可被制造为MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒等中的任何一个。
图13是说明根据本发明的实施例的包括固态驱动器(SSD)的数据处理系统的框图。参照图13,数据处理系统2000可包括主机装置2100和固态驱动器(SSD)2200。
SSD 2200可包括SSD控制器2210、缓冲存储器装置2220、非易失性存储器装置2231-223n、电源2240、信号连接器2250和电源连接器2260。
响应于来自主机装置2100的请求,SSD控制器2210可访问非易失性存储器装置2231至223n。
缓冲存储器装置2220可暂时存储待被存储在非易失性存储器装置2231-223n中的数据。此外,缓冲存储器装置2220可暂时存储从非易失性存储器装置2231-223n读取的数据。暂时被存储在缓冲存储器装置2220中的数据可在SSD控制器2210的控制下被传输至主机装置2100或非易失性存储器装置2231-223n。
非易失性存储器装置2231-223n可被用作SSD 2200的存储介质。非易失性存储器装置2231-223n可分别通过多个通道CH1-CHn与SSD控制器2210联接。一个或多个非易失性存储器装置可被联接至一个通道。联接至一个通道的非易失性存储器装置可被联接至相同信号总线和数据总线。
电源2240可将通过电源连接器2260输入的电力PWR提供至SSD2200的各个组件。电源2240可包括辅助电源2241。辅助电源2241可供应电力以便当发生突然断电时允许SSD2200正常停止。辅助电源2241可包括能够用电力PWR充电的大容量电容器。
SSD控制器2210可通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可包括命令、地址、数据等。信号连接器2250可根据主机装置2100和SSD 2200之间的接口方案由诸如下列的连接器配置:并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、快速PCI(PCI-E)协议等。
图14是说明图13中示出的SSD控制器的示例的框图。参照图14,SSD控制器2210可包括存储器接口单元2211、主机接口单元2212、错误校正码(ECC)单元2213、控制单元2214和随机存取存储器2215。
存储器接口单元2211可将诸如命令和地址的控制信号提供至非易失性存储器装置2231-223n。此外,存储器接口单元2211可与非易失性存储器装置2231-223n交换数据。存储器接口单元2211可在控制单元2214的控制下将从缓冲存储器装置2220传输的数据分支至各自沟道CH1-CHn。此外,存储器接口单元2211可在控制单元2214的控制下将从非易失性存储器装置2231-223n读取的数据传输至缓冲存储器装置2220。
主机接口单元2212可根据主机装置2100的协议为SSD 2200提供接口。例如,主机接口单元2212可通过下列中的一个与主机装置2100通信:并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和快速PCI(PCI-E)协议。另外,主机接口单元2212可执行支持主机装置2100将SSD 2200识别为硬盘驱动器(HDD)的磁盘仿效功能。
控制单元2214可分析并处理从主机装置2100输入的信号SGL。控制单元2214可根据用于驱动SSD 2200的固件或软件控制缓冲存储器装置2220的非易失性存储器装置2231-223n的操作。随机存取存储器2215可用作用于驱动固件或软件的工作存储器。
错误校正码(ECC)单元2213可在缓冲存储器装置2220中存储的数据中产生待被传输至非易失性存储器装置2231-223n的校验数据。产生的校验数据可与数据一起被存储在非易失性存储器装置2231-223n中。错误校正码(ECC)单元2213可检测从非易失性存储器装置2231-223n读出的数据的错误。当检测到的错误在可校正的范围内时,错误校正码(ECC)单元2213可校正检测到的错误。
尽管未示出,但是错误校正码(ECC)单元2213可包括第一解码器组和第二解码器组。如上所述,错误校正码(ECC)单元2213可实时或动态地控制第一解码器组和第二解码器组的操作使得最小功率(或最优功率)可被消耗同时满足目标吞吐量。
图15是示出根据本发明的实施例的在数据存储装置中包括的计算机系统的示例的框图。参照图15,计算机系统3000可包括被电联接至系统总线3700的网络适配器3100、中央处理单元3200、数据存储装置3300、RAM 3400、ROM 3500和用户接口3600。数据存储装置3300可由在图1中示出的数据存储装置100、图12中示出的数据存储装置1200或图13中示出的SSD 2200构造。
网络适配器3100可提供计算机系统3000和外部网络之间的接口。中央处理单元3200执行用于驱动在RAM 3400处驻留的操作系统或应用程序的一般操作。
数据存储装置3300可存储在计算机系统3000中必需的一般数据。例如,用于驱动计算机系统3000的操作系统、应用程序、各种程序模块、程序数据和用户数据可被存储在数据存储装置3300中。
RAM 3400可用作计算机系统3000的工作存储器。一旦启动,用于驱动从数据存储装置3300读取的程序所需的操作系统、应用程序、各种程序模块和程序数据可被加载在RAM3400上。在驱动操作系统之前激活的BIOS(基本输入/输出系统)可被存储在ROM 3500中。计算机系统3000和用户之间的信息交换可通过用户接口3600来实现。
图16是说明根据本发明的实施例的可包括在数据存储装置中的非易失性存储器装置的示例的框图。参照图16,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、列解码器330、数据读取/写入块340、电压发生器350以及控制逻辑360。
存储器单元阵列310可包括在字线WL1-WLm和位线BL1-BLn彼此相交的区域处布置的存储器单元MC。存储器单元可通过诸如作为擦除单元的存储块和作为编程和读取单元的页面的存取单元来分组。
行解码器320可通过字线WL1-WLm与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制操作。行解码器320可解码从外部装置(未示出)提供的地址。行解码器320可基于解码结果选择和驱动字线WL1-WLm。例如,行解码器320可将从电压发生器360提供的字线电压提供至字线WL1-WLm。
数据读取/写入块340可通过位线BL1-BLn与存储器单元阵列310联接。数据读取/写入块340可包括与位线BL1-BLn分别对应的读取/写入电路RW1-RWn。数据读取/写入块340可根据控制逻辑360的控制操作。数据读取/写入块340可根据操作模式作为写入驱动或感测放大器操作。例如,数据读取/写入块340可在写入操作中作为将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器操作。对于另一示例,数据读取/写入块340可在读取操作中作为从存储器单元阵列310读出数据的感测放大器操作。
列解码器330可根据控制逻辑360的控制操作。列解码器330可解码从外部装置提供的地址。列解码器330可基于解码结果将分别对应于位线BL1-BLn的数据读取/写入块340的读取/写入电路RW1-RWn与数据输入/输出线(或数据输入/输出缓冲器)联接。
电压发生器350可产生将在非易失性存储器装置300的内部操作中使用的电压。由电压发生器350产生的电压可被施加至存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可被施加至待执行编程操作的存储器单元的字线。对于另一示例,在擦除操作中产生的擦除电压可被施加至待执行擦除操作的存储器单元的阱区域。对于另一示例,在读取操作中产生的读取电压可被施加至待执行读取操作的存储器单元的字线。
控制逻辑360可基于从外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,描述的实施例仅是示例。因此,本发明不应限于描述的实施例。在不脱离如权利要求限定的本发明的精神和/或范围的情况下,在相关领域的技术人员可设想许多其它实施例和/或其变型。
Claims (38)
1.一种数据存储装置,其包括:
非易失性存储器装置;以及
错误校正码单元,即ECC单元,其包括具有第一类型解码器的第一解码器组、具有第二类型解码器的第二解码器组以及控制所述第一解码器组和所述第二解码器组对从所述非易失性存储器装置读出的数据的解码操作的解码控制块,
其中所述解码控制块产生与总功耗量中的最小值相对应的第一类型解码器的迭代计数和时钟作为第一解码控制信息,并且产生第二类型解码器的迭代计数和时钟作为第二解码控制信息,所述总功耗量通过将基于基准信息针对各自解码失败率计算的所述第一解码器组的功耗量和所述第二解码器组的功耗量求和获得,所述基准信息包括存储所述读出的数据的所述非易失性存储器装置的存储器区域的状态信息、所述第一类型解码器的特征信息和所述第二类型解码器的特征信息。
2.根据权利要求1所述的数据存储装置,其中存储所述读出的数据的所述非易失性存储器装置的存储器区域的状态信息包括关于编程/擦除计数和编程后经过时间的信息。
3.根据权利要求2所述的数据存储装置,其中所述第一类型解码器的特征信息包括与所述第一类型解码器中的任何一个的解码操作的迭代计数分别相对应的解码失败率,以及
其中所述第二类型解码器的特征信息包括当所述第二类型解码器中的任何一个的解码操作处于饱和状态时的迭代计数。
4.根据权利要求3所述的数据存储装置,其中所述解码控制块在所述总功耗量中搜索最小值。
5.根据权利要求3所述的数据存储装置,其中所述解码控制块基于所述错误校正码单元的目标吞吐量和所述解码失败率计算第一吞吐量,基于所述目标吞吐量、与所述解码失败率相对应的迭代计数和所述各自第一类型解码器的单位处理量计算第一时钟并且计算所述第一类型编码器操作所述第一时钟的功耗量。
6.根据权利要求5所述的数据存储装置,其中所述解码控制块基于所述目标吞吐量和所述第一吞吐量计算第二吞吐量,基于所述第二吞吐量、所述饱和状态的迭代计数和所述各自第二类型解码器的单位处理量计算第二时钟并且计算所述第二类型编码器操作所述第二时钟的功耗量。
7.根据权利要求3所述的数据存储装置,其中所述第一解码器组和所述第二解码器组将所述解码操作的结果传输至所述解码控制块。
8.根据权利要求7所述的数据存储装置,其中所述解码控制块基于所述第一解码器组的解码操作的结果校正所述解码失败率。
9.根据权利要求8所述的数据存储装置,其中当校正所述解码失败率时,所述解码控制块固定所述饱和状态的迭代计数。
10.根据权利要求7所述的数据存储装置,其中所述解码操作的结果包括指示所述解码操作是已经成功还是已经失败的解码通过/失败信息、指示所述解码操作被迭代的计数的迭代性能计数信息以及指示在解码数据中包括的错误的计数的错误计数信息。
11.根据权利要求1所述的数据存储装置,其中所述解码控制块将所述第一解码控制信息提供至所述第一解码器组的第一类型解码器中的至少一个并且将所述第二解码控制信息提供至所述第二解码器组的第二类型解码器中的至少一个。
12.根据权利要求1所述的数据存储装置,其中在所述第二解码器组中包括的所述第二类型解码器比所述第一解码器组的所述第一类型解码器具有更优良的错误校正能力。
13.根据权利要求1所述的数据存储装置,其中在所述第二解码器组中包括的所述第二类型解码器比在所述第一解码器组中包括的所述第一类型解码器具有更大的功耗。
14.一种数据存储装置的操作方法,其包括:
限定与第一迭代计数相对应的第一类型解码器的第一解码失败率、与第二迭代计数相对应的所述第一类型解码器的第二解码失败率以及第二类型解码器的性能最大的饱和状态的迭代计数;
通过将保持基于目标吞吐量和所述第一解码失败率计算的所述第一类型解码器的第一吞吐量所消耗的第一功耗量和保持所述第二类型解码器的第一吞吐量所消耗的第二功耗量求和计算第一总功耗量,所述第二类型解码器的第一吞吐量作为所述目标吞吐量和所述第一类型解码器的第一吞吐量之差;
通过将保持基于所述目标吞吐量和所述第二解码失败率计算的所述第一类型解码器的第二吞吐量所消耗的第三功耗量和保持所述第二类型解码器的第二吞吐量所消耗的第四功耗量求和计算第二总功耗量,所述第二类型解码器的第二吞吐量作为所述目标吞吐量和所述第一类型解码器的第二吞吐量之差;以及
在确定所述第一总功耗量小于所述第二总功耗量的情况下,提供与所述第一总功耗量相对应的所述第一迭代计数作为用于控制所述第一类型解码器的第一解码控制信息,并提供所述饱和状态的迭代计数作为用于控制所述第二类型解码器的第二解码控制信息。
15.根据权利要求14所述的方法,其中计算所述第一功耗量包括:
基于所述目标吞吐量、所述第一迭代计数和所述第一类型解码器的单位处理量计算第一时钟;以及
计算所述第一类型解码器操作所述第一时钟的第一功耗量,
其中所述第一时钟作为所述第一解码控制信息被附加提供。
16.根据权利要求15所述的方法,其中计算所述第二功耗量包括:
基于所述第二类型解码器的第一吞吐量、所述饱和状态的迭代计数和所述第二类型解码器的单位处理量计算第二时钟;以及
计算所述第二类型解码器操作所述第二时钟的第二功耗量。
17.根据权利要求16所述的方法,其中所述第二时钟作为所述第二解码控制信息被附加提供。
18.根据权利要求15所述的方法,其中在确定所述第二总功耗量小于所述第一总功耗量的情况下,与所述第二总功耗量相对应的所述第二迭代计数作为用于控制所述第一类型解码器的第一解码控制信息被提供,且所述饱和状态的迭代计数作为用于控制所述第二类型解码器的第二解码控制信息被提供。
19.根据权利要求18所述的方法,其中计算所述第三功耗量包括:
基于所述目标吞吐量、所述第二迭代计数和所述第一类型解码器的单位处理量计算第三时钟;以及
计算所述第一类型解码器操作所述第三时钟的第三功耗量,
其中所述第三时钟作为所述第一解码控制信息被附加提供。
20.根据权利要求18所述的方法,其中计算所述第四功耗量包括:
基于所述第二类型解码器的第二吞吐量、所述饱和状态的迭代计数和所述第二类型解码器的单位处理量计算第四时钟;以及
计算所述第二类型解码器操作所述第四时钟的第四功耗量,
其中所述第四时钟作为所述第二解码控制信息被附加提供。
21.一种数据存储装置,其包括:
非易失性存储器装置;
一个或多个第一类型解码器,每一个第一类型解码器适于对从所述非易失性存储器装置读出的数据执行解码操作;
一个或多个第二类型解码器,每一个第二类型解码器适于对所述第一类型解码器中的一个或多个的解码操作失败的数据执行解码操作;以及
解码控制块,其适于:
分别基于所述第一类型解码器的解码性能信息的多个条目值获得所述第一类型解码器和所述第二类型解码器的总功耗量的多个条目值;
选择所述总功耗量的多个条目值中的最小值;
根据所述最小值产生第一解码控制信息和第二解码控制信息以便控制所述第一类型解码器和所述第二类型解码器;
在所述第一类型解码器和所述第二类型解码器的解码操作中的每一个时更新所述解码性能信息;以及
基于更新的解码性能信息重复所述总功耗量的获得、所述最小值的选择以及所述第一解码控制信息和所述第二解码控制信息的产生,
其中所述解码性能信息是指解码失败率。
22.根据权利要求21所述的数据存储装置,
其中所述第一类型解码器和所述第二类型解码器中的每一个迭代地执行所述解码操作,并且
其中所述解码性能信息的多个条目值分别对应于所述第一类型解码器和所述第二类型解码器中的一个或多个的迭代计数信息的多个条目值。
23.根据权利要求22所述的数据存储装置,
其中所述解码性能信息的多个条目值分别对应于所述第一类型解码器中的一个的迭代计数信息的多个条目值,并且
其中所述第二类型解码器的迭代计数信息包括进入所述第二类型解码器中的一个的饱和状态的条目值并且对应于所述第一类型解码器中的一个的迭代计数信息的多个条目值。
24.根据权利要求23所述的数据存储装置,
其中所述总功耗量是所述第一类型解码器和所述第二类型解码器的功耗的总和,并且
其中所述解码控制块基于所述解码性能信息的多个条目值获得所述第一类型解码器和所述第二类型解码器的功耗中的每一个。
25.根据权利要求23所述的数据存储装置,其中所述解码控制块进一步从所述第一类型解码器和所述第二类型解码器接收根据所述第一解码控制信息和所述第二解码控制信息执行的解码操作的结果。
26.根据权利要求25所述的数据存储装置,其中所述解码控制块基于所述第一类型解码器的解码操作的结果更新所述解码性能信息。
27.根据权利要求25所述的数据存储装置,其中所述解码操作的结果包括:
指示所述解码操作是已经成功还是已经失败的解码通过/失败信息;
指示所述解码操作被迭代的计数的迭代性能计数信息;以及
指示在解码数据中包括的错误的计数的错误计数信息。
28.根据权利要求23所述的数据存储装置,其中所述解码控制块基于所述解码性能信息的条目值中的至少一部分获得所述总功耗量的多个条目值。
29.根据权利要求28所述的数据存储装置,
其中所述第一解码控制信息包括与所述最小值相对应的所述第一类型解码器中的一个的迭代计数信息的多个条目值中的一个,并且
其中所述第二解码控制信息包括进入所述第二类型解码器中的一个的饱和状态的条目值。
30.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置以及第一类型解码器和第二类型解码器,所述方法包括:
分别基于所述第一类型解码器的解码性能信息的多个条目值获得所述第一类型解码器和所述第二类型解码器的总功耗量的多个条目值;
选择所述总功耗量的多个条目值中的最小值;
根据所述最小值产生第一解码控制信息和第二解码控制信息以便控制所述第一类型解码器和所述第二类型解码器;
在所述第一类型解码器和所述第二类型解码器的解码操作中的每一个时更新所述解码性能信息;以及
基于更新的解码性能信息重复所述总功耗量的获得、所述最小值的选择以及所述第一解码控制信息和所述第二解码控制信息的产生,
其中所述解码性能信息是指解码失败率。
31.根据权利要求30所述的方法,
其中一个或多个第一类型解码器中的每一个对从所述非易失性存储器装置读出的数据迭代地执行解码操作,
其中一个或多个第二类型解码器中的每一个对所述第一类型解码器中的一个或多个的解码操作失败的数据迭代地执行解码操作,并且
其中所述解码性能信息的多个条目值分别对应于所述第一类型解码器和所述第二类型解码器中的一个或多个的迭代计数信息的多个条目值。
32.根据权利要求31所述的方法,
其中所述解码性能信息的多个条目值分别对应于所述第一类型解码器中的一个的迭代计数信息的多个条目值,并且
其中所述第二类型解码器的迭代计数信息包括进入所述第二类型解码器中的一个的饱和状态的条目值并且对应于所述第一类型解码器中的一个的迭代计数信息的多个条目值。
33.根据权利要求32所述的方法,
其中所述总功耗量是所述第一类型解码器和所述第二类型解码器的功耗的总和,并且
其中所述总功耗量的获得通过基于所述解码性能信息的多个条目值获得所述第一类型解码器和所述第二类型解码器的功耗中的每一个来执行。
34.根据权利要求32所述的方法,其进一步包括从所述第一类型解码器和所述第二类型解码器接收根据所述第一解码控制信息和所述第二解码控制信息执行的解码操作的结果。
35.根据权利要求34所述的方法,其中所述解码性能信息的更新在所述第一类型解码器的解码操作的结果的基础上执行。
36.根据权利要求34所述的方法,所述解码操作的结果包括:
指示所述解码操作是已经成功还是已经失败的解码通过/失败信息;
指示所述解码操作被迭代的计数的迭代性能计数信息;以及
指示在解码数据中包括的错误的计数的错误计数信息。
37.根据权利要求32所述的方法,其中所述总功耗量的多个条目值的获得在所述解码性能信息的条目值的至少一部分的基础上执行。
38.根据权利要求37所述的方法,
其中所述第一解码控制信息包括与所述最小值相对应的所述第一类型解码器中的一个的迭代计数信息的多个条目值中的一个,并且
其中所述第二解码控制信息包括进入所述第二类型解码器中的一个的饱和状态的条目值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0186488 | 2015-12-24 | ||
KR1020150186488A KR20170076350A (ko) | 2015-12-24 | 2015-12-24 | 데이터 저장 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106920575A CN106920575A (zh) | 2017-07-04 |
CN106920575B true CN106920575B (zh) | 2020-12-29 |
Family
ID=59086820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610586796.2A Active CN106920575B (zh) | 2015-12-24 | 2016-07-22 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9998151B2 (zh) |
KR (1) | KR20170076350A (zh) |
CN (1) | CN106920575B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111373663B (zh) * | 2017-11-27 | 2023-07-18 | 三菱电机株式会社 | 纠错装置及光收发装置 |
US10747613B2 (en) * | 2018-09-07 | 2020-08-18 | Toshiba Memory Corporation | Pooled frontline ECC decoders in memory systems |
US10886947B2 (en) * | 2018-12-20 | 2021-01-05 | Toshiba Memory Corporation | Efficient decoding of n-dimensional error correction codes |
US11403111B2 (en) * | 2020-07-17 | 2022-08-02 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic using look-up tables |
US11355170B1 (en) | 2020-12-16 | 2022-06-07 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic |
US11593197B2 (en) * | 2020-12-23 | 2023-02-28 | Samsung Electronics Co., Ltd. | Storage device with data quality metric and selectable data recovery scheme |
US11990920B2 (en) * | 2021-12-30 | 2024-05-21 | Quantum Corporation | Artificial intelligence augmented iterative product decoding |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847554B2 (en) * | 2002-08-02 | 2005-01-25 | Sony Corporation | Nonvolatile semiconductor memory device with error detection and correction circuit |
CN101194428A (zh) * | 2005-06-27 | 2008-06-04 | 汤姆森许可贸易公司 | 迭代解码器中的停止准则 |
CN101329916A (zh) * | 2007-01-08 | 2008-12-24 | 三星电子株式会社 | 闪存装置纠错码控制器以及相关方法和存储系统 |
CN101499806A (zh) * | 2008-01-31 | 2009-08-05 | 富士通株式会社 | 编码装置、解码装置、编/解码装置以及记录/再现装置 |
CN102045071A (zh) * | 2009-10-12 | 2011-05-04 | 马维尔国际贸易有限公司 | 改善用于低功率应用的ldpc解码器中的功耗 |
CN102543149A (zh) * | 2010-11-12 | 2012-07-04 | 马维尔国际贸易有限公司 | 使用混合解码器执行有效解码的系统和方法 |
CN102624403A (zh) * | 2011-01-31 | 2012-08-01 | 马维尔国际贸易有限公司 | 用于对级联纠错码的有效解码的方法和系统 |
CN102779099A (zh) * | 2011-05-09 | 2012-11-14 | 三星电子株式会社 | 存储器控制器和存储器控制器的操作方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037121A1 (en) * | 2008-08-05 | 2010-02-11 | The Hong Kong University Of Science And Technology | Low power layered decoding for low density parity check decoders |
US20100100797A1 (en) | 2008-10-16 | 2010-04-22 | Genesys Logic, Inc. | Dual mode error correction code (ecc) apparatus for flash memory and method thereof |
US8677227B2 (en) * | 2010-08-25 | 2014-03-18 | Royal Institution for the Advancement of Learning / McGill University | Method and system for decoding |
WO2013140727A1 (ja) * | 2012-03-19 | 2013-09-26 | パナソニック株式会社 | 復号装置 |
US10009606B2 (en) * | 2012-10-11 | 2018-06-26 | Nvidia Corporation | Low power context adaptive binary arithmetic decoder engine |
US9935654B2 (en) * | 2015-02-06 | 2018-04-03 | Alcatel-Lucent Usa Inc. | Low power low-density parity-check decoding |
US9590657B2 (en) * | 2015-02-06 | 2017-03-07 | Alcatel-Lucent Usa Inc. | Low power low-density parity-check decoding |
-
2015
- 2015-12-24 KR KR1020150186488A patent/KR20170076350A/ko unknown
-
2016
- 2016-06-16 US US15/184,438 patent/US9998151B2/en active Active
- 2016-07-22 CN CN201610586796.2A patent/CN106920575B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847554B2 (en) * | 2002-08-02 | 2005-01-25 | Sony Corporation | Nonvolatile semiconductor memory device with error detection and correction circuit |
CN101194428A (zh) * | 2005-06-27 | 2008-06-04 | 汤姆森许可贸易公司 | 迭代解码器中的停止准则 |
CN101329916A (zh) * | 2007-01-08 | 2008-12-24 | 三星电子株式会社 | 闪存装置纠错码控制器以及相关方法和存储系统 |
CN101499806A (zh) * | 2008-01-31 | 2009-08-05 | 富士通株式会社 | 编码装置、解码装置、编/解码装置以及记录/再现装置 |
CN102045071A (zh) * | 2009-10-12 | 2011-05-04 | 马维尔国际贸易有限公司 | 改善用于低功率应用的ldpc解码器中的功耗 |
CN102543149A (zh) * | 2010-11-12 | 2012-07-04 | 马维尔国际贸易有限公司 | 使用混合解码器执行有效解码的系统和方法 |
CN102624403A (zh) * | 2011-01-31 | 2012-08-01 | 马维尔国际贸易有限公司 | 用于对级联纠错码的有效解码的方法和系统 |
CN102779099A (zh) * | 2011-05-09 | 2012-11-14 | 三星电子株式会社 | 存储器控制器和存储器控制器的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20170076350A (ko) | 2017-07-04 |
CN106920575A (zh) | 2017-07-04 |
US9998151B2 (en) | 2018-06-12 |
US20170187397A1 (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106920575B (zh) | 数据存储装置及其操作方法 | |
CN107122317B (zh) | 数据存储装置 | |
US20150113207A1 (en) | Operating method of data storage device | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN105321571B (zh) | 数据储存装置及其操作方法 | |
CN106649144B (zh) | 数据储存设备及其操作方法 | |
US11049531B2 (en) | Nonvolatile memory device, operating method thereof, and data storage apparatus including the same | |
CN109407966B (zh) | 数据存储装置及其操作方法 | |
US20170286219A1 (en) | Data storage device and operating method thereof | |
US11422752B2 (en) | Controller, memory system, and operating methods thereof | |
US20210397378A1 (en) | Storage device and operating method thereof | |
US20210149796A1 (en) | Data storage device and operating method thereof | |
CN112988045A (zh) | 数据存储装置及其操作方法 | |
US10817192B2 (en) | Data storage apparatus selecting memory block group based on interleaving index and operating method thereof | |
US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
US20220075542A1 (en) | Calibration apparatus and method for data communication in a memory system | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
US20210223987A1 (en) | Controller with smart scheduling and method of operating the controller | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
US9966148B1 (en) | Data storage device and operating method thereof | |
US11157214B2 (en) | Controller, memory system and operating method thereof | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof |
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 |