CN103917964A - 存储控制器和数据存储装置 - Google Patents

存储控制器和数据存储装置 Download PDF

Info

Publication number
CN103917964A
CN103917964A CN201280053484.5A CN201280053484A CN103917964A CN 103917964 A CN103917964 A CN 103917964A CN 201280053484 A CN201280053484 A CN 201280053484A CN 103917964 A CN103917964 A CN 103917964A
Authority
CN
China
Prior art keywords
data
infer
error rate
bit
object element
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.)
Pending
Application number
CN201280053484.5A
Other languages
English (en)
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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Publication of CN103917964A publication Critical patent/CN103917964A/zh
Pending legal-status Critical Current

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

基于根据算出的比特错误率BER求出的推定保留时间Tret、改写次数NW/E、目标单元的数据Datatag、以及目标单元的周围的存储单元的数据Dataadj来设定推定单元错误率CERest(步骤S230),使用设定的推定单元错误率CERest来针对读取出的1页的数据的所有比特设定上位页LLRu、下位页LLRl(步骤S250),使用这样设定的上位页LLRu、下位页LLRl对从闪存22读取出的数据进行纠错并解码。由此,能够提高纠错能力并抑制处理时间的增大。

Description

存储控制器和数据存储装置
技术领域
本发明涉及存储控制器和数据存储装置,详细地说,涉及具备如下的存储控制器以及具备该存储控制器的数据存储装置,上述存储控制器在向具有多个非易失性存储单元的非易失性存储器写入数据时,控制所述非易失性存储器以使得通过使用了对数似然比的运算将应写入的数据编码为能够解码的预定的码并且将该编码后的编码数据存储在所述非易失性存储器中,在从所述非易失性存储器读取数据时,控制所述非易失性存储器以使得从所述非易失性存储器中读取预先确定的预定大小的编码数据,并且通过基于使用了所述对数似然比的概率的反复处理对所述编码数据进行解码。
背景技术
以往,作为这种存储控制器,提出了对从闪存输出的数据进行纠错并向主机装置输出的存储控制器(例如,参照非专利文献1)。在该控制器中,通过进行数据的纠错,能够输出可靠性更高的数据。作为在这样的纠错中使用的纠错码(Error Correcting Code),提出了LDPC(Low Density ParityCheck:低密度奇偶校验)码(例如,参照非专利文献2)。
现有技术文献
非专利文献1:《これだけは知っておきたいNANDフラッシュ·メモリの基礎(一定要知道的NAND闪存、存储器的基础)》,半导体存储器2012,日经BP社,2011年7月29日,p.68-p.79
非专利文献2:《信号処理技術によりSSDの信頼性を大幅に向上(通过信号处理技术来大幅度提高SSD的可靠性)》,半导体存储器2012,日经BP社,2011年7月29日,p.58-p.67
发明内容
一般来说,在上述的存储控制器中,在使用LDPC码作为ECC的情况下,作为对编码后的编码数据进行解码的方法,为了提高纠错能力,使用sum-product解码法等利用表示作为软值的数据的概率的对数似然比(Log Likelihood Ratio,LLR)进行递归的重复运算的方法。此时,预先假设将闪存单元的个数作为纵轴、阈值电压作为横轴而得到的图(graph)的阈值电压的分布,使用假设的阈值电压的分布和在从闪存读取数据时作为施加于字线的电压的参考电压来设定LLR的初始值。然而,若假设的阈值电压的分布与实际的阈值电压的分布相差悬殊,则有时重复运算的重复次数会增大,或者发生误订正等不良情况。作为尽量避免这样的不良情况的方法,考虑增加参考电压的数量并使用按每个参考电压从闪存读取出的数据的方法,但是在该方法中,从闪存读取数据的读取次数会变多,或运算处理所花费的时间会增大。尤其在1个闪存单元存储2比特以上的数据的多比特单元中,参考电压的增大明显,处理时间会增大。因此,希望有一种在抑制误订正并提高纠错能力的同时抑制处理时间的增大的方法。
本发明的存储控制器和数据存储装置的主要目的在于,提高纠错能力并抑制处理时间的增大。
本发明的存储控制器和数据存储装置为了实现上述的主要目的而采用了以下的手段。
本发明的存储控制器,
在向具有多个非易失性存储单元的非易失性存储器写入数据时,控制所述非易失性存储器以使得通过使用了对数似然比的运算将应写入的数据编码为能够解码的预定的码,并且将该编码后的编码数据存储于所述非易失性存储器,在从所述非易失性存储器读取数据时,控制所述非易失性存储器以使得从所述非易失性存储器读取预先确定的预定大小的编码数据,并且通过使用了所述对数似然比的运算对所述编码数据进行解码,所述存储控制器具备:
比特错误率算出部,其在从所述非易失性存储器读取了预先确定的预定大小的编码数据时,算出比特错误率,该比特错误率为所述读取出的预定大小的数据中发生比特反转错误的比特数相对于所述读取出的预定大小的数据的总比特数的比例;
推定单元错误概率设定部,其对所述读取出的所述预定大小的数据的所有比特执行推定单元错误概率设定处理,该推定单元错误概率设定处理基于所述算出的比特错误率、目标单元的数据、以及所述目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,所述目标单元为存储有所述读取出的所述预定大小的数据中的1比特的所述非易失性存储单元,所述推定单元错误概率为在所述目标单元发生比特错误的概率的推定值;以及
对数似然比设定部,其使用所述设定的推定单元错误概率对所述读取出的所述预定大小的数据的所有比特设定所述对数似然比。
在该本发明的存储控制器中,在从非易失性存储器读取数据时,控制非易失性存储器以使得从非易失性存储器读取预先确定的预定大小的编码数据。在从非易失性存储器读取了预先确定的预定大小的编码数据时,算出比特错误率,该比特错误率为读取出的预定大小的数据中发生比特反转错误的比特数相对于读取出的预定大小的数据的总比特数的比例,对读取出的预定大小的数据的所有比特执行如下处理:基于算出的比特错误率、目标单元的数据、以及目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,所述目标单元为存储有读取出的预定大小的数据中的1比特的非易失性存储单元,所述推定单元错误概率为在目标单元发生比特错误的概率的推定值;使用设定的推定单元错误概率对读取出的预定大小的数据的所有比特设定对数似然比,通过基于使用了这样设定的对数似然比的概率的反复处理对编码数据进行解码。由于非易失性存储单元的数据受到在位于该存储单元的周围的其他存储单元中存储有怎样的数据的影响,所以在通过周围的存储单元的数据而着眼的存储单元的数据发生比特错误的概率的单元错误率发生变动。因此,基于算出的比特错误率、目标单元的数据、以及目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,使用设定的推定单元错误概率对读取出的预定大小的数据的所有比特设定对数似然比,由此,能够设定反映了更实际的非易失性存储单元的状态的对数似然比,所以与使用预先假设的阈值电压的分布来设定对数似然比相比,能够提高纠错能力。另外,与增加参考电压的数量并按每个参考电压从闪存读取数据相比,能够抑制数据的读取次数的增大,能够抑制处理时间的增大。由此,能够提高纠错能力,并抑制处理时间的增大。
在这样的本发明的存储控制器中,所述推定单元错误概率设定处理也可以是使用所述算出的比特错误率来设定推定保留时间,并使用该设定的推定保留时间、所述目标单元的数据、以及所述目标单元的周围的所述预定范围的非易失性存储单元的数据来设定所述推定单元错误概率的处理,所述推定保留时间为不对所述非易失性存储器读写数据而持续保持的时间的推定值。在非易失性存储器中,存在不读写数据而持续保持的时间越长则比特错误率越高的倾向。因此,设定推定保留时间,并使用设定的推定保留时间、目标单元的数据、以及目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,由此,能够以更高精度来设定推定单元错误概率,所述推定保留时间为不对非易失性存储器读写数据而持续保持的时间的推定值。由此,能够以更高精度设定对数似然比,从而能够更加提高纠错能力。在该情况下,具备:第1表格存储部,其存储作为所述比特错误率与所述推定保留时间的关系而预先确定的第1表格;和第2表格存储部,其存储作为所述推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述推定单元错误概率的关系而预先确定的第2表格,所述推定单元错误概率设定处理也可以是使用所述算出的比特错误率和所述第1表格来设定所述推定保留时间,并使用所述设定的推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述第2表格来设定所述推定单元错误概率的处理。
在使用设定的推定保留时间、目标单元的数据、以及目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率的方式的本发明的存储控制器中,还具备对改写次数进行计数的改写次数计数部,所述改写次数为在所述非易失性存储器中存储的数据被擦除的次数,所述推定单元错误概率设定处理也可以是使用所述计数得到的改写次数、所述设定的推定保留时间、所述目标单元的数据、以及所述目标单元的周围的所述预定范围的非易失性存储单元的数据来设定所述推定单元错误概率的处理。在非易失性存储器中,认为改写次数越多则在某个存储单元发生比特错误的概率就越高。因此,对改写次数进行计数,使用计数得到的改写次数、设定的推定保留时间、目标单元的数据、以及目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,由此,能够以更高精度来设定推定单元错误概率。由此,能够以更高精度来设定对数似然比,从而能够更加提高纠错能力。在该情况下,所述第2表格也可以是作为所述改写次数、所述推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述推定单元错误概率的关系而预先确定的表格,所述推定单元错误概率设定处理也可以是使用所述计数得到的改写次数、所述设定的推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述第2表格来设定所述推定单元错误概率的处理,所述第1表格也可以是作为所述比特错误率、所述推定保留时间以及所述改写次数的关系而预先确定的表格,所述推定单元错误概率设定处理也可以是使用所述算出的比特错误率、所述改写次数、以及所述第1表格来设定所述推定保留时间的处理。
另外,在本发明的存储控制器中,所述比特错误率算出部也可以在向所述非易失性存储器写入数据时,在将应写入的数据编码为所述预定的码之前,将所述应写入的数据中所述预定大小的数据的、所述非易失性存储器所存储的数据中的“1”或“0”的数据的比特数作为编码前比特数而存储,在从所述非易失性存储器读取了所述预定大小的数据时,使用所述读取出的数据的“1”或“0”的数据的比特数和所述编码前比特数来算出所述比特错误率。
进而,在本发明的存储控制器中,也可以设为:所述非易失性存储器是闪存,所述预定大小是所述闪存的1页的数据。在该情况下,也可以设为:所述非易失性存储器是被控制为在将1个非易失性存储单元存储2比特的数据的NAND型闪存,所述比特错误率算出部在所述非易失性存储单元所保持的数据中将上位页从阈值电压低的一侧起定义为1001、将下位页从阈值电压低的一侧起定义为1100时,算出所述下位页的1变为0的错误来作为所述比特错误率,也可以设为:所述非易失性存储器是被控制为在1个非易失性存储单元存储2比特的数据的NAND型闪存,所述比特错误率算出部在所述非易失性存储单元所保持的数据中将上位页从阈值电压低的一侧起定义为1001、将下位页从阈值电压低的一侧起定义为1100时,算出所述下位页的0变为1的错误来作为所述比特错误率。
并且,在本发明的存储控制器中,所述预定的码也可以是低密度奇偶校验码。
本发明的数据存储装置,是能够存储数据的存储装置,所述数据存储装置的要旨在于,具备:
上述的任一个方式的本发明的存储控制器,即,基本上为如下存储控制器:
在向具有多个非易失性存储单元的非易失性存储器写入数据时,控制所述非易失性存储器以使得通过使用了对数似然比的运算将应写入的数据编码为能够解码的预定的码,并且将该编码后的编码数据存储于所述非易失性存储器,在从所述非易失性存储器读取数据时,控制所述非易失性存储器以使得从所述非易失性存储器读取预先确定的预定大小的编码数据,并且通过使用了所述对数似然比的运算对所述编码数据进行解码,
所述存储控制器具备:比特错误率算出部,其在从所述非易失性存储器读取了预先确定的预定大小的编码数据时,算出比特错误率,该比特错误率为所述读取出的预定大小的数据中发生比特反转错误的比特数相对于所述读取出的预定大小的数据的总比特数的比例;推定单元错误概率设定部,其对所述读取出的所述预定大小的数据的所有比特执行推定单元错误概率设定处理,该推定单元错误概率设定处理基于所述算出的比特错误率、目标单元的数据、以及所述目标单元的周围的所述预定范围的非易失性存储单元的数据来设定推定单元错误率,所述目标单元为存储有所述读取出的所述预定大小的数据中的1比特的所述非易失性存储单元,所述推定单元错误概率为在所述目标单元发生比特错误的概率的推定值;以及对数似然比设定部,其使用所述设定的推定单元错误概率对所述读取出的所述预定大小的数据的所有比特设定所述对数似然比;和
所述非易失性存储器。
在该本发明的数据存储装置中,由于具备上述任一个方式的本发明的存储控制器,所以能取得与本发明的存储控制器取得的效果、例如能够提高纠错能力并抑制处理时间的增大的效果等同样的效果。
附图说明
图1是表示搭载有作为本发明的实施例的存储控制器30、并存储来自个人计算机等的主机装置10的数据的SSD(Solid State Drive)20的结构的概略的说明图。
图2是表示闪存单元阵列24的结构的概略的说明图。
图3是用于说明闪存单元24a所存储的数据的说明图。
图4是表示在向闪存22写入来自主机装置10的数据时在存储控制器30中执行的写入处理的一例的流程图。
图5是表示由LLR设定单元34执行的、用于设定上位页LLRu、下位页LLRl的LLR设定处理的一例的流程图。
图6是表示推定保留时间设定表格40a的一例的说明图。
图7是表示EP表格40c的一例的说明图。
图8是用于说明单元错误率CERl、CERu的设定的样子的说明图。
图9是表示在将左单元的数据为“11”,“01”,“00”,“10”时的单元错误率CER、右单元的数据为“11”,“01”,“00”,“10”时的单元错误率CER、上单元的数据为“11”,“01”,“00”,“10”时的单元错误率CER设为b1~b16时的图7所例示的EP表格40c的一例的说明图。
具体实施方式
接着,使用实施例来说明用于实施本发明的方式。
图1是表示搭载有作为本发明的实施例的存储控制器30、并存储来自个人计算机等主机装置10的数据的SSD(Solid State Drive:固态硬盘)20的结构的概略的说明图。SSD20作为存储各种应用程序、各种数据的大容量的数据存储装置而构成,包括作为NAND型闪存而构成的闪存22、和控制闪存22的存储控制器30。
如图2所示,闪存22作为具备闪存单元阵列24的NAND型闪存而构成,该闪存单元阵列24具有通过向浮栅(floating gate)注入电子、从浮栅提取电子而阈值电压发生变化的多个闪存单元24a,除了闪存单元阵列24以外还具备行解码器,列解码器,检测放大器(Sense amplifier)等(均未图示)。在闪存22中,以页单位(在实施例中为8K字节等)写入或读取数据,以包括多页的块单位(在实施例中为1M字节等)对所存储的数据进行擦除。如图3所例示,闪存22被控制成作为向闪存单元24a按阈值电压由低向高的顺序存储“11”、“01”、“00”,、“10”的2比特的数据的多值存储器进行工作。在实施例中,按前述的顺序记载时将左侧的比特序列“1001”设为上位页,将右侧的比特序列“1100”设为下位页。
存储控制器30作为包括晶体管等多个逻辑元件的逻辑电路而构成,具备:N1计数器31,其从主机装置10一页一页地输入数据,针对所输入的1页的数据对下位页的数据的“1”的个数进行计数并将计数得到的结果附加到输入数据来输出;LDPC编码器32,其控制闪存22以使得使用检查矩阵H将来自N1计数器31的数据编码为低密度奇偶校验(Low DensityPrity Check、LDPC)码并将编码后的编码数据存储于闪存22;LLR设定单元34,其控制闪存22以使得从闪存22读取1页的数据,并且设定作为上位页的对数似然比(Log Likelihood Ratio,LLR)的上位页LLRu和作为下位页的LLR的下位页LLRl;LDPC解码器36,其使用设定的上位页LLRu、下位页LLRl将从闪存22读取出的数据进行纠错并解码后输出到主机装置10;W/E计数器38,其对作为闪存22的各页的数据的擦除次数的改写次数W/E进行计数;以及存储单元40,其存储在LLR设定单元34的上位页LLRu、下位页LLRl的设定中使用的推定保留时间(Tret)设定表格40a、存储由W/E计数器38计数得到的改写次数W/E的W/E表格40b以及EP表格40c。LLR设定单元34的上位页LLRu、下位页LLRl的设定处理、存储单元40所存储的推定保留时间设定表格40a、EP表格40c的详细内容在后面叙述。
LDPC解码器36通过周知的sum-product解码法、使用设定的上位页LLRu、下位页LLRl将从闪存22读取出的数据进行纠错并解码后输出到主机装置10。在sum-product解码法中,使用上位页LLRu、下位页LLRl算出暂时推定词c(步骤S1),使用在对数据进行编码时所使用的检查矩阵H来检查下述式(1)是否成立(步骤S2),在式(1)成立的情况下将暂时推定词c作为解码后的数据而输出,在式(1)不成立的情况下,更新上位页LLRu、下位页LLRl(步骤S3),重复步骤S1~S3的处理直到经过预先设定的重复次数或直到式(1)成立为止。由于这样的sum-product解码法是周知的,所以省略更加详细的说明。
c·HT=θ (1)
接着,在这样构成的SSD20的存储控制器30中,针对向闪存22写入来自主机装置10的数据、从闪存22读取数据并输出到主机装置10时的动作进行说明。
图4是表示向闪存22写入来自主机装置10的数据时在存储控制器30执行的写入处理的一例的流程图。当要求从主机装置10向闪存22写入数据的写入要求信号被输入时,被输入了写入要求信号的存储控制器30的N1计数器31从主机装置10一页一页地输入数据(步骤S100),针对1页的输入数据对下位页的数据的“1”的比特数Ni进行计数(步骤S110)、将计数得到的结果附加到输入数据向LDPC编码器32输出。被输入了从N1计数器31输出的数据的LDPC编码器32,将被输入的数据编码为LDPC码(步骤S120),控制闪存22以使得编码后的编码数据被写入闪存22(步骤S130)。通过这样的处理,将对下位页的“1”的个数进行计数得到的计数结果附加到来自主机装置10的输入数据而得到的数据编码为LDPC码并写入闪存22。
接着,针对从闪存22读取数据并输出到主机装置10时的动作进行说明。当要求从主机装置10向存储控制器30并向闪存22的数据的读取的读取要求信号被输入时,被输入了读取要求信号的闪存22的LLR设定单元34控制闪存22以使得从闪存22读取1页的数据,并且设定上位页LLRu、下位页LLRl,将从闪存22读取出的数据和上位页LLRu、下位页LLRl输出到LDPC解码器36。被输入了从闪存22读取出的数据和上位页LLRu、下位页LLRl的初始值的LDPC解码器36,通过使用了上位页LLRu、下位页LLRl的sum-product解码法对读取出的数据进行纠错并解码,将解码后的数据输出到主机装置10。通过这样的处理,能够对来自闪存22的数据进行纠错,从而能够提高数据的可靠性。
在此,针对LLR设定单元34的上位页LLRu、下位页LLRl的设定处理的详细内容进行说明。图5是表示由LLR设定单元34执行的用于设定上位页LLRu、下位页LLRl的LLR设定处理的一例的流程图。当从闪存22读取1页的数据时,LLR设定单元34对读取出的数据的下位页的“1”的比特数N1m进行计数(步骤S200),使用下位页的“1”的比特数N1m、编码前的数据所包含的“1”的比特数Ni以及1页的数据的比特数Np,通过式(2)从闪存22算出1页的数据的比特错误率BER(步骤S210)。在此,使用下位页的“1”的比特数N1m和编码前的数据所包含的“1”的比特数Ni来推定比特错误率BER的原因在于,由于在保留错误中会发生闪存单元24a的阈值电压变低的错误,所以通过检查下位页的“0”变为“1”的错误,能够检查阈值电压是否变低,所述保留错误为不读写闪存22的数据而持续保持时所发生的比特错误。
BER=|N1m一Ni|/Np (2)
在这样算出比特错误率BER后,基于算出的比特错误率BER和改写次数W/E来设定推定保留时间Tret(步骤S220),该推定保留时间Tret为不读写闪存22的数据而持续保持的时间的推定值。推定保留时间Tret的设定如下进行:通过预先确定比特错误率BER、保留时间Tref以及改写次数W/E的关系而作为推定保留时间设定表格40a存储在存储单元40中,提供比特错误率BER和改写次数W/E而从映射中导出对应的保留时间。在图6中示出推定保留时间设定表格40a的一例。
在这样设定了推定保留时间Tret之后,接着使用目标单元的数据Datatag、作为包围目标单元的4个闪存单元的左单元、右单元、上单元、下单元各自的数据Dataadj(4)、推定保留时间Tret、以及改写次数W/E来设定推定单元错误率CERest(步骤S230),所述目标单元为存储从闪存读取出的1页的数据的多个闪存单元24a中的1个单元,所述推定单元错误率CERest为在目标单元发生了比特错误的概率的推定值。推定单元错误率CERest的设定如下进行:将数据Datatag、Dataadj(4)、数据Datatag、Dataadj(4)、推定保留时间Tret、改写次数W/E、以及单元错误率CER的关系作为EP表格预先存储于存储单元40,提供数据Datatag、Dataadj(4)、推定保留时间Tret、以及改写次数W/E,从映射中分别导出对应的左单元、右单元、上单元、下单元的单元错误率CER,将左单元、右单元、上单元、下单元的单元错误率CER之和除以值4而导出。在图7中例示EP表格的一例。图7例示有数据Datatag为“01”、改写次数W/E为2000次时的左单元、右单元、上单元、下单元的数据(数据Dataadj(4))和单元错误率CER。例如,由于左单元、右单元、上单元、下单元的数据的全部数据为“01”时(图中为涂黑的条形图时)的左单元、右单元、上单元、下单元的单元错误率CER分别为值0.0015、0.0015、0.0012、0.0013,所以推定单元错误率CERest能够用下式(3)来计算。EP表格按各数据Datatag、Dataadj(4)、各改写次数W/E的每个来准备图7所例示的图。
CERest=(θ.θθ15+θ.θθ15+θ.θθ12+θ.θθ13)/4   (3)
在这样设定了推定单元错误率CERest后,接着使用推定单元错误率CERest来设定下位页的单元错误率CERl和上位页的单元错误率CERu(步骤S240)。图8是用于说明单元错误率CERl、单元错误率CERu的设定的样子的说明图。在实施例的2比特的闪存单元中,认为:当发生阈值电压Vth变低的方向的错误时,下位页的数据的“1”的个数增加,当发生阈值电压Vth变高的方向的错误时,下位页的“0”的数据的个数增加。
在数据保留错误中,认为在阈值电压Vth变低的方向上发生错误,所述数据保留错误为不进行数据读写而持续保持的错误。因此认为:在与存储于闪存的下位页的“1”的比特数N1m相比编码前的下位页的“1”的比特数Ni更多的情况下,与由于在非选择写入的闪存单元的沟道产生的热电子被注入闪存单元的浮栅(floating gate)而发生的编程干扰错误相比,数据保留错误占绝大多数,阈值电压Vth变低。因此,当数据Datatag为“01”时,认为编码前为“00”的数据变为“01”的错误、也即是下位页的单元错误占绝大多数,将推定单元错误率CERest设定为下位页的单元错误率CERl,将例如10-7等预先由实验、解析等求出的值适当设定为上位页的单元错误率CERu。另外,当数据Datatag为“11”时,认为编码前为“01”的数据变为“11”的错误、也即是上位页的单元错误占绝大多数,将推定单元错误率CERest设定为上位页的单元错误率CERu,将例如10-7等预先由实验、解析等求出的值适当设定为下位页的单元错误率CERl。
在编程干扰错误中,认为在阈值电压Vth变高的方向上发生错误。因此认为:在与存储于闪存的下位页的“1”的比特数N1m相比编码前的数据所包含的“1”的数据的比特数Ni更少的情况下,与数据保留错误相比编程干扰错误占绝大多数。当数据Datatag为“01”时,认为编码前为“11”的数据变为“01”的错误、也即是上位页的单元错误占绝大多数,将推定单元错误率CERest设定为上位页的单元错误率CERu,将在这样设定的上位页的单元错误率CERu上乘以系数α得到的值设定为下位页的单元错误率CERl。另外,当数据Datatag为“00”时,认为编码前为“10”的数据变为“00”的错误、也即是下位页的单元错误占绝大多数,将推定单元错误率CERest设定为下位页的单元错误率CERl,将在这样设定的下位页的单元错误率CERl上乘以系数α得到的值设定为上位页的单元错误率CERu。如此,能够基于存储于闪存的下位页的“1”的比特数N1m、编码前的数据所包含的“1”的比特数Ni、以及数据Datatag、Dataadj来设定单元错误率CERu、CERl。
在这样设定了单元错误率CERu、CERl后,基于数据Datatag、单元错误率CERu、CERl、数据为“0”时使用的下式(4)以及数据为“1”时使用的式(5)来设定上位页LLRu、下位页LLRl(步骤S250),对数据所包含的所有比特执行步骤S230~S250的处理(步骤S260),从而结束本程序。例如,当数据Datatag为“00”时,通过应用了式(4)的式(6)、(7)来设定上位页LLRu、下位页LLRl。另外,例如,当数据Datatag为“01”时,通过应用了式(4)的式(6)来设定上位页LLRu,通过应用了式(5)的式(8)来设定下位页LLRl。一般来说,认为由于闪存单元的数据受到位于该单元周围的其他存储单元存储有怎样的数据的影响,所以通过周围的存储单元的数据而着眼的存储单元的数据的单元错误率发生变动。在实施例中,基于根据算出的比特错误率BER求出的推定保留时间Tret、改写次数NW/E、目标单元的数据Datatag、以及目标单元的周围的存储单元的数据Dataadj来设定推定单元错误率CERest,使用设定的推定单元错误率CERest,针对读取出的1页的数据的所有比特来设定上位页LLRu、下位页LLRl,由此,能够设定反映了更加实际的闪存单元24a的状态的上位页LLRu、下位页LLRl,因此,与使用预先假设的阈值电压的分布来设定上位页LLRu、下位页LLRl相比,能够更加提高纠错能力。另外,由于能够设定反映了更加实际的闪存单元24a的状态的上位页LLRu、下位页LLRl,所以无需增加从闪存读取数据时所参考的电压的数量,因此能够抑制数据的读取次数的增大,能够抑制处理时间的增大。由此,能够提高纠错能力并抑制处理时间的增大。
LLR(θ)=log((1-GER)/CER) (4)LLR(1)=Log(CER/(1-CER)) (5)LLRu=Log((1-CERu)/CERu) (6)LLRL=Log((1-CERL)/CERL) (7)LLRL=Log(CERL/(-CERL/1-CERL)) (8)
根据以上说明的实施例的SSD20,基于根据算出的比特错误率BER求出的推定保留时间Tret、改写次数NW/E、目标单元的数据Datatag、以及目标单元的周围的存储单元的数据Dataadj来设定推定单元错误率CERest,使用设定的推定单元错误率CERest,针对读取出的1页的数据的所有比特设定上位页LLRu、下位页LLRl,使用这样设定的上位页LLRu、下位页LLRl对从闪存22读取出的数据进行纠错并解码,因此,能够提高纠错能力并抑制处理时间的增大。
在实施例的SSD20中,在图5的LLR设定处理程序的步骤S220中,考虑比特错误率BER和改写次数NW/E,使用比特错误率BER、改写次数NW/E以及图6所例示的推定保留时间设定表格40a来设定推定保留时间Tret,但是也可以不考虑改写次数NW/E,将推定保留时间设定表格40a设为预先设定比特错误率BER和改写次数NW/E的关系的表格,根据比特错误率BER和推定保留时间设定表格40a求出推定保留时间Tret。
在实施例的SSD20中,在图5的LLR设定处理程序的步骤S210中,针对读取出的1页的数据算出比特错误率BER,但是也可以针对多个比特的数据算出比特错误率BER,因此,例如,可以针对1页以上的数据算出比特错误率BER,也可以针对不足1页的数据算出比特错误率BER。
在实施例的SSD20中,在图4的写入处理程序的步骤S110的处理中,对输入数据所包含的“1”的数据的比特数Ni进行计数,在图5的LLR设定处理程序的步骤S200、S210的处理中,对读取出的数据的下位页的“1”的比特数N1m进行计数,使用下位页的“1”的比特数N1m、编码前的数据所包含的“1”的比特数Ni以及1页的数据的比特数Np来算出比特错误率BER,但是也可以在步骤S110的处理中对输入数据所包含的“0”的数据的比特数进行计数,在图5的LLR设定处理程序的步骤S200、S210的处理中,对读取出的数据的下位页的“0”的比特数进行计数,使用下位页的“0”的比特数、编码前的数据所包含的“0”的比特数以及1页的数据的比特数Np来算出比特错误率BER。该情况下,能够算出存储单元的阈值电压增加而下位页从“1”变为“0”的错误、例如由编程干扰错误引起的比特错误率。
在实施例的SSD20中,在图5的LLR设定处理程序的步骤S230中,考虑数据Datatag、Dataadj(4)、推定保留时间Tret、以及改写次数W/E,使用数据Datatag、Dataadj(4)、推定保留时间Tret、改写次数W/E、以及EP表格来设定推定单元错误率CERest,但是也可以不考虑改写次数W/E,将EP表格设为预先设定了数据Datatag、Dataadj(4)、推定保留时间Tret以及推定单元错误率CERest的关系的表格,从而使用EP表格、数据Datatag、Dataadj(4)以及推定保留时间Tret来设定推定单元错误率CERest。
在实施例的SSD20中,在图5的LLR设定处理程序的步骤S220、S230中,设定推定保留时间Tret,使用推定保留时间Tret来设定推定单元错误率CERest,但是也可以不执行步骤S220的处理而在步骤S230中代替推定保留时间而使用比特错误率BER来设定推定单元错误率CERest。
在实施例的SSD20中,在图5的LLR设定处理程序的步骤S230中,考虑包围目标单元的4个闪存单元即左单元、右单元、上单元、下单元的数据Dataadj(4)来设定推定单元错误率CERest,但是只要考虑包围目标单元的预定范围的闪存单元即可,因此例如也可以考虑目标单元周围的8个存储单元、或目标单元周围的2列即24个闪存单元。
在实施例的SSD20中,通过上述的式(3)来计算推定单元错误率CERest,但是例如也可以在左单元、右单元、上单元、下单元的单元错误率CER上分别乘以加权计数并相加等考虑各单元的贡献(作用)来进行适当计算。另外,也可以使用下式(9)来计算推定错误率CERest。如图9所示,式(9)中的b1~b16在图7所例示的EP表格40c中分别表示左单元的数据为“11”、“01”、“00”、“10”时的单元错误率CER、右单元的数据为“11”、“01”、“00”、“10”时的单元错误率CER、上单元的数据为“11”、“01”、“00”、“10”时的单元错误率CER。
CERest = BER × 4 b 2 Σ k = 1 4 b k × 4 b 6 Σ k = 5 8 b k × 4 b 10 Σ k = 9 12 b k × 4 b 14 Σ k = 13 16 b k - - - ( 9 )
在实施例的SSD20中,将上位页的单元错误率CERu设定为例如10-7等预先由实验、解析等求出的值,但是也可以用例如使用下位页的单元错误率CERl进行设定等任何方法来设定。
在实施例的SSD20中,在对编码为LDPC码后的数据进行解码时使用sum-product法进行解码,但是作为解码的方法,例如,也可以为mini-sumu法等通过使用了对数似然比(LLR)的运算进行解码的方法。
在实施例的SSD20中,闪存22是被控制为在1个闪存单元24a存储2比特的数据的存储器,但是也可以是被控制为在1个闪存单元24a存储1比特的数据的存储器,也可以是被控制为在1个闪存单元24a存储多于2比特的比特数的数据的存储器。
在实施例的SSD20中,将被输入的数据编码为LDPC码,但是作为纠错码,并不限定于LDPC码,只要是能够通过使用了LLR的运算对被输入的数据进行解码的纠错码,则可以是任何码。
在实施例的SSD20中,搭载有NAND型的闪存22,但是搭载于SSD20的存储器并不限定于NAND型的闪存22,例如也可以使用NOR型的闪存、电阻变化型存储器等,只要是在停止了电源供给之后还保持数据的非易失性存储器则可以使用任何存储器。
在实施例中,本发明的存储控制器搭载于SSD,但是作为存储控制器搭载于个人计算机,也可以是对被插入个人计算机的USB存储器进行控制。
在实施例中,例示了将本发明的存储控制器应用于SSD的情况,但是应用的对象并不限定于SSD,只要是能够存储数据的存储装置,则本发明的存储控制器可以在任何存储装置中使用。
针对实施例的主要要素与发明内容一栏所记载的发明的主要要素的对应关系进行说明。在存储控制器中,在实施例中,执行图4的写入处理程序的步骤S110和图5的LLR设定处理程序的步骤S200、S210的处理的N1计数器31和LLR设定单元34相当于“比特错误率算出部”,执行图5的LLR设定处理程序的步骤S220~S240的处理的LLR设定单元34相当于“推定单元错误概率设定部”,执行图5的LLR设定处理程序的步骤S250的处理的LLR设定单元34相当于“对数似然比设定部”。另外,在数据存储装置中,在实施例中,存储控制器30相当于“存储控制器”,闪存22相当于“非易失性存储器”。
此外,实施例的主要要素与发明内容一栏所记载的发明的主要要素的对应关系为:实施例是用于对实施发明内容一栏所记载的发明的方式进行具体说明的一例,因此并不对发明内容一栏所记载的发明的要素进行限定。即,应该基于发明内容一栏的记载进行该栏所记载的发明的解释,实施例只不过是发明内容一栏所记载的发明的具体的一例。
以上,使用实施例对用于实施本发明的方式进行了说明,但是本发明并没有何等限定于这样的实施例,当然能够在不脱离本发明的要旨的范围内以各种方式来实施。
产业上的可利用性
本发明能够利用于存储控制器、数据存储装置的制造产业等。

Claims (11)

1.一种存储控制器,在向具有多个非易失性存储单元的非易失性存储器写入数据时,控制所述非易失性存储器以使得通过使用了对数似然比的运算将应写入的数据编码为能够解码的预定的码,并且将该编码后的编码数据存储于所述非易失性存储器,在从所述非易失性存储器读取数据时,控制所述非易失性存储器以使得从所述非易失性存储器读取预先确定的预定大小的编码数据,并且通过使用了所述对数似然比的运算对所述编码数据进行解码,所述存储控制器具备:
比特错误率算出部,其在从所述非易失性存储器读取了预先确定的预定大小的编码数据时,算出比特错误率,该比特错误率为所述读取出的预定大小的数据中发生比特反转错误的比特数相对于所述读取出的预定大小的数据的总比特数的比例;
推定单元错误概率设定部,其对所述读取出的所述预定大小的数据的所有比特执行推定单元错误概率设定处理,该推定单元错误概率设定处理基于所述算出的比特错误率、目标单元的数据、以及所述目标单元的周围的预定范围的非易失性存储单元的数据来设定推定单元错误概率,所述目标单元为存储有所述读取出的所述预定大小的数据中的1比特的所述非易失性存储单元,所述推定单元错误概率为在所述目标单元发生比特错误的概率的推定值;以及
对数似然比设定部,其使用所述设定的推定单元错误概率对所述读取出的所述预定大小的数据的所有比特设定所述对数似然比。
2.根据权利要求1所述的存储控制器,
所述推定单元错误概率设定处理是使用所述算出的比特错误率来设定推定保留时间,并使用该设定的推定保留时间、所述目标单元的数据、以及所述目标单元的周围的所述预定范围的非易失性存储单元的数据来设定所述推定单元错误概率的处理,所述推定保留时间为不对所述非易失性存储器读写数据而持续保持的时间的推定值。
3.根据权利要求2所述的存储控制器,具备:
第1表格存储部,其存储作为所述比特错误率与所述推定保留时间的关系而预先确定的第1表格;和
第2表格存储部,其存储作为所述推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述推定单元错误概率的关系而预先确定的第2表格,
所述推定单元错误概率设定处理是使用所述算出的比特错误率和所述第1表格来设定所述推定保留时间,并使用所述设定的推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述第2表格来设定所述推定单元错误概率的处理。
4.根据权利要求2或3所述的存储控制器,
还具备对改写次数进行计数的改写次数计数部,所述改写次数为所述非易失性存储器所存储的数据被擦除的次数,
所述推定单元错误概率设定处理是使用所述计数得到的改写次数、所述设定的推定保留时间、所述目标单元的数据、以及所述目标单元的周围的所述预定范围的非易失性存储单元的数据来设定所述推定单元错误概率的处理。
5.根据权利要求4所述的存储控制器,
所述第2表格是作为所述改写次数、所述推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述推定单元错误概率的关系而预先确定的表格,
所述推定单元错误概率设定处理是使用所述计数得到的改写次数、所述设定的推定保留时间、所述目标单元的数据、所述目标单元的周围的所述预定范围的非易失性存储单元的数据、以及所述第2表格来设定所述推定单元错误概率的处理。
6.根据权利要求4或5所述的存储控制器,
所述第1表格是作为所述比特错误率、所述推定保留时间以及所述改写次数的关系而预先确定的表格,
所述推定单元错误概率设定处理是使用所述算出的比特错误率、所述改写次数以及所述第1表格来设定所述推定保留时间的处理。
7.根据权利要求1至6中任一项所述的存储控制器,
所述比特错误率算出部,在向所述非易失性存储器写入数据时,在将应写入的数据编码为所述预定的码之前,将所述应写入的数据中所述预定大小的数据的、所述非易失性存储器所存储的数据中的“1”或“0”的数据的比特数作为编码前比特数而存储,在从所述非易失性存储器读取了所述预定大小的数据时,使用所述读取出的数据的“1”或“0”的数据的比特数和所述编码前比特数来算出所述比特错误率。
8.根据权利要求1至7中任一项所述的存储控制器,
所述非易失性存储器是闪存,
所述预定大小是所述闪存的1页的数据。
9.根据权利要求8所述的存储控制器,
所述非易失性存储器是具有能够在1个所述非易失性存储单元存储2比特的数据的所述非易失性存储单元的NAND型闪存,
所述比特错误率算出部进行如下处理:在所述非易失性存储单元所保持的数据中将上位页从阈值电压低的一侧起定义为1001、将下位页从阈值电压低的一侧起定义为1100时,算出所述下位页的1变为0的错误来作为所述比特错误率。
10.根据权利要求1至9中任一项所述的存储控制器,
所述预定的码是低密度奇偶校验码。
11.一种数据存储装置,能够存储数据,具备:
权利要求1至10中任一项所述的存储控制器;和
所述非易失性存储器。
CN201280053484.5A 2011-11-02 2012-03-30 存储控制器和数据存储装置 Pending CN103917964A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011241422 2011-11-02
JP2011-241422 2011-11-02
PCT/JP2012/058581 WO2013065334A1 (ja) 2011-11-02 2012-03-30 メモリコントローラおよびデータ記憶装置

Publications (1)

Publication Number Publication Date
CN103917964A true CN103917964A (zh) 2014-07-09

Family

ID=48191703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280053484.5A Pending CN103917964A (zh) 2011-11-02 2012-03-30 存储控制器和数据存储装置

Country Status (5)

Country Link
US (1) US20140359381A1 (zh)
JP (1) JP5943395B2 (zh)
CN (1) CN103917964A (zh)
HK (1) HK1199663A1 (zh)
WO (1) WO2013065334A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105427892A (zh) * 2015-11-23 2016-03-23 北京大学深圳研究生院 一种面向相变存储的非均匀纠错方法及相变存储装置
CN106855932A (zh) * 2015-12-08 2017-06-16 国民技术股份有限公司 一种存储系统及其故障防御方法、装置
CN107526543A (zh) * 2016-06-20 2017-12-29 三星电子株式会社 形性存储设备
CN107710103A (zh) * 2015-06-27 2018-02-16 英特尔公司 跨状态域跟踪未命中的周期性动作
CN108845765A (zh) * 2018-05-31 2018-11-20 郑州云海信息技术有限公司 一种nand数据读取方法、系统、设备及存储介质
CN109660263A (zh) * 2018-11-22 2019-04-19 华中科技大学 一种适用于mlc nan闪存的ldpc码译码方法
CN111341373A (zh) * 2018-12-19 2020-06-26 爱思开海力士有限公司 控制器、包括控制器的存储器系统及存储器系统的操作方法
CN112685213A (zh) * 2021-01-06 2021-04-20 长江存储科技有限责任公司 非易失性存储器及其电压校准方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
US8938658B2 (en) 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9092350B1 (en) * 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
TWI521525B (zh) 2013-11-22 2016-02-11 群聯電子股份有限公司 時間估測方法、記憶體儲存裝置、記憶體控制電路單元
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
CN104679441B (zh) * 2013-12-02 2018-06-29 群联电子股份有限公司 时间估测方法、存储器存储装置、存储器控制电路单元
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
KR101628925B1 (ko) * 2014-06-17 2016-06-10 고려대학교 산학협력단 메모리 시스템 및 메모리 시스템의 동작 방법
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US10503431B2 (en) * 2014-12-22 2019-12-10 Sandisk Technologies Llc Trade-off adjustments of memory parameters based on memory wear or data retention
US9946596B2 (en) 2016-01-29 2018-04-17 Toshiba Memory Corporation Global error recovery system
JP7039298B2 (ja) * 2018-01-16 2022-03-22 キオクシア株式会社 メモリシステム
US11601141B2 (en) * 2020-12-28 2023-03-07 Western Digital Technologies, Inc. Error correction based on physical characteristics for memory
US11972120B2 (en) * 2021-07-29 2024-04-30 Dell Products L.P. System and method of forecasting an amount of time a solid state drive can be unpowered

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851827A (zh) * 2006-06-02 2006-10-25 北京中星微电子有限公司 一种闪烁存储器数据存取方法
JP2006318467A (ja) * 2005-05-09 2006-11-24 Internatl Business Mach Corp <Ibm> トレリス・デコード再ビルドを伴う畳み込みエンコードraid
US20100131847A1 (en) * 2008-11-21 2010-05-27 Lenovo (Singapore) Pte. Ltd. System and method for identifying media and providing additional media content
CN102117661A (zh) * 2009-11-12 2011-07-06 恒忆公司 用于存储器的可定制纠错的方法和设备
US20110225350A1 (en) * 2008-09-30 2011-09-15 Burger Jr Harley F Methods and Apparatus for Soft Data Generation for Memory Devices Based Using Reference Cells

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519874B2 (en) * 2002-09-30 2009-04-14 Lecroy Corporation Method and apparatus for bit error rate analysis
JP4999921B2 (ja) * 2006-05-12 2012-08-15 アノビット テクノロジーズ リミテッド メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
JP5177991B2 (ja) * 2006-10-25 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8406048B2 (en) * 2008-08-08 2013-03-26 Marvell World Trade Ltd. Accessing memory using fractional reference voltages
US7941592B2 (en) * 2008-08-14 2011-05-10 Bonella Randy M Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
KR101678404B1 (ko) * 2010-02-25 2016-11-23 삼성전자주식회사 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법
JP2011203833A (ja) * 2010-03-24 2011-10-13 Toshiba Corp メモリシステム
TWI436370B (zh) * 2010-09-17 2014-05-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
US8645773B2 (en) * 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318467A (ja) * 2005-05-09 2006-11-24 Internatl Business Mach Corp <Ibm> トレリス・デコード再ビルドを伴う畳み込みエンコードraid
CN1851827A (zh) * 2006-06-02 2006-10-25 北京中星微电子有限公司 一种闪烁存储器数据存取方法
US20110225350A1 (en) * 2008-09-30 2011-09-15 Burger Jr Harley F Methods and Apparatus for Soft Data Generation for Memory Devices Based Using Reference Cells
CN102203877A (zh) * 2008-09-30 2011-09-28 Lsi公司 使用解码器性能反馈的用于存储器器件的软数据生成的方法和装置
US20100131847A1 (en) * 2008-11-21 2010-05-27 Lenovo (Singapore) Pte. Ltd. System and method for identifying media and providing additional media content
CN102117661A (zh) * 2009-11-12 2011-07-06 恒忆公司 用于存储器的可定制纠错的方法和设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710103A (zh) * 2015-06-27 2018-02-16 英特尔公司 跨状态域跟踪未命中的周期性动作
CN107710103B (zh) * 2015-06-27 2021-06-29 英特尔公司 跨状态域跟踪未命中的周期性动作
CN105427892B (zh) * 2015-11-23 2018-05-01 北京大学深圳研究生院 一种面向相变存储的非均匀纠错方法及相变存储装置
CN105427892A (zh) * 2015-11-23 2016-03-23 北京大学深圳研究生院 一种面向相变存储的非均匀纠错方法及相变存储装置
CN106855932A (zh) * 2015-12-08 2017-06-16 国民技术股份有限公司 一种存储系统及其故障防御方法、装置
CN106855932B (zh) * 2015-12-08 2021-03-02 国民技术股份有限公司 一种存储系统及其故障防御方法、装置
CN107526543A (zh) * 2016-06-20 2017-12-29 三星电子株式会社 形性存储设备
CN107526543B (zh) * 2016-06-20 2022-02-01 三星电子株式会社 形性存储设备
CN108845765B (zh) * 2018-05-31 2021-06-29 郑州云海信息技术有限公司 一种nand数据读取方法、系统、设备及存储介质
CN108845765A (zh) * 2018-05-31 2018-11-20 郑州云海信息技术有限公司 一种nand数据读取方法、系统、设备及存储介质
CN109660263A (zh) * 2018-11-22 2019-04-19 华中科技大学 一种适用于mlc nan闪存的ldpc码译码方法
CN109660263B (zh) * 2018-11-22 2022-07-05 华中科技大学 一种适用于mlc nand闪存的ldpc码译码方法
CN111341373A (zh) * 2018-12-19 2020-06-26 爱思开海力士有限公司 控制器、包括控制器的存储器系统及存储器系统的操作方法
CN112685213A (zh) * 2021-01-06 2021-04-20 长江存储科技有限责任公司 非易失性存储器及其电压校准方法

Also Published As

Publication number Publication date
JPWO2013065334A1 (ja) 2015-04-02
US20140359381A1 (en) 2014-12-04
JP5943395B2 (ja) 2016-07-05
HK1199663A1 (zh) 2015-07-10
WO2013065334A1 (ja) 2013-05-10

Similar Documents

Publication Publication Date Title
CN103917964A (zh) 存储控制器和数据存储装置
US8644067B2 (en) Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
US8508995B2 (en) System and method for adjusting read voltage thresholds in memories
US10789125B2 (en) Memory system and method
US10148293B2 (en) Incremental LLR generation for flash memories
US9213599B2 (en) Method of erase state handling in flash channel tracking
KR102252379B1 (ko) 메모리 시스템 및 이의 독출 방법
CN103544073A (zh) 读取闪存中区块的数据的方法及相关的记忆装置
US9984752B2 (en) Memory system and data encoding and decoding method to mitigate inter-cell interference
KR20130049543A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치를 제어하는 제어 방법
US10373689B2 (en) Semiconductor memory device and method of operating the same
US10423484B2 (en) Memory controller, memory system, and control method
US20160124805A1 (en) Nonvolatile memory system and data recovery method thereof
US11138070B2 (en) Memory system and method performed thereby
JP2021111826A (ja) 復号装置及び復号方法
CN105453053A (zh) 存储器系统
US20160077914A1 (en) Solid state storage device and error correction method thereof
US11057058B2 (en) Quality of service of an adaptive soft decoder
US10771094B2 (en) Memory system configured to estimate a read voltage using a histogram
US11532364B2 (en) Controller and operation method thereof
US9922718B2 (en) Flash command that reports a count of cell program failures
KR20150142921A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20140052181A (ko) 메모리 장치 구동 방법 및 메모리 시스템
US11444637B2 (en) Self-adaptive low-density parity check hard decoder
US11372719B1 (en) Memory system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1199663

Country of ref document: HK

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140709

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1199663

Country of ref document: HK