CN105556610A - 具有动态读取阈值机制的数据贮存系统以及操作其的方法 - Google Patents
具有动态读取阈值机制的数据贮存系统以及操作其的方法 Download PDFInfo
- Publication number
- CN105556610A CN105556610A CN201480051899.8A CN201480051899A CN105556610A CN 105556610 A CN105556610 A CN 105556610A CN 201480051899 A CN201480051899 A CN 201480051899A CN 105556610 A CN105556610 A CN 105556610A
- Authority
- CN
- China
- Prior art keywords
- read threshold
- threshold
- read
- module
- play amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Abstract
数据贮存系统的操作的系统和方法包括:存储器裸芯,用于确定中间的读取阈值;控制单元,耦合到存储器裸芯,用于基于中间的读取阈值(312)和存储器元件寿命计算较低的读取阈值(310)和较高的读取阈值(314);以及存储器接口,耦合到存储器裸芯,用于使用较低的读取阈值、中间的读取阈值或较高的读取阈值读取存储器裸芯的存储器页以用于补偿电荷变化。
Description
技术领域
本发明一般地涉及数据贮存系统,并且更具体地涉及具有动态读取阈值机制的系统。
背景技术
数据贮存器——通常被称为贮存器或存储器——指保留数字数据的计算机组件和记录介质。数据贮存器是消费和工业电子、特别是诸如计算机、电视机、蜂窝电话、移动装置和数字摄像机的装置的核心功能和基本组件。
近来,除了机电的硬盘以外的长期贮存的形式在计算机中的使用变为可行的。NOT-AND(NAND)闪速是用在固态贮存装置中的非易失性存储器的一种形式。存储器单元被以典型的行和列的方式布置,具有用于访问每个单元的电路。那些单元的存储器晶体管被置于贮存可以被解译为在单级单元(SLC)中保持两个逻辑性状态或者在多级单元(MLC)的情况中保持多于两个逻辑性状态的模拟值。
闪速存储器单元在重量上轻便,占据非常少的空间并且比机电的硬盘驱动消耗更少的功率。构建具有该类型的存储器的贮存系统允许比典型的机电的硬盘驱动高得多的带宽以及每秒的输入/输出操作(IOPS)。更重要地,其特别地坚固,并且可以在高得多的温度范围处操作。其将经受重复的坠落而没有不利的效果,该不利的效果的每一个将损坏典型的机电的硬盘驱动。闪速存储器所展现的问题在于其倾向于具有有限的使用寿命。
因此,仍然存在对更好的数据管理装置的需求。鉴于对数据管理装置的增长的需求,找到这些问题的答案变得越来越关键。鉴于不断增长的商业竞争压力,以及增长的客户期望以及在市场中有意义的产品的差别的逐渐减少的机会,对于找到这些问题的答案是关键的。此外,对于减少成本、改善效率和性能以及满足竞争压力的需求进一步向寻找这些问题的答案的关键必要性增加了更大的紧迫性。
一直以来在寻找这些问题的解决方案,但是现有发展没有教导或者提示任何解决方案,并且因此,本领域技术人员长时间没有找到这些问题的答案。
发明内容
本发明提供一种操作数据贮存系统的方法,包括:确定用于存储器裸芯的中间的读取阈值;基于所述中间的读取阈值和存储器元件寿命计算较低的读取阈值和较高的读取阈值;以及使用所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值读取存储器裸芯的存储器页以用于补偿电荷变化。
本发明提供一种数据贮存系统,包括:存储器裸芯,用于确定中间的读取阈值;控制单元,耦合到所述存储器裸芯,用于基于所述中间的读取阈值和存储器元件寿命计算较低的读取阈值和较高的读取阈值;以及存储器接口,耦合到所述存储器裸芯,用于使用所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值读取存储器裸芯的存储器页以用于补偿电荷变化。
本发明的某些实施例除了上述的那些以外或者替代上述的那些具有其他步骤或元件。从阅读参考附图的下面的详细的说明,对于本领域技术人员来说,步骤或元件将变得清楚。
附图说明
图1是本发明的实施例中的数据贮存系统的框图。
图2是数据贮存系统的存储器图的示例。
图3是电荷轮廓(profile)曲线的示例。
图4是电荷轮廓阈值曲线的示例。
图5是电流读取阈值过程的示例。
图6是异常值调节过程的示例。
图7是上电适应曲线的示例。
图8是上电过程的示例。
图9是编程擦除周期计数调度过程的示例。
图10是误差计数调度过程的示例。
图11是读取阈值调节过程的示例。
图12是在本发明的进一步实施例中的数据贮存系统的操作的方法的流程图。
具体实施方式
以充足的细节描述下面的实施例以使本领域技术人员能够制造和使用本发明。将理解的是,基于本公开将明白其它实施例,并且可以在不脱离本发明的范围的情况下作出该系统、过程或机械改变。
在下面的说明中,给出许多特定的细节以提供对本发明的透彻理解。但是,明显的是,可以没有这些特定细节来实现本发明。以便于避免混淆本发明,一些熟知的电路、系统配置和过程步骤不被详细地公开。
附图示出了系统的实施例是半图解的并且不成比例,并且特别地,一些尺寸用于表现的清楚性并且在附图中被夸张地示出。
其中多个实施例被公开并且描述为具有一些共同特征,并且为了对其说明、描述以及理解的清楚和方便,相互之间的类似的和相似的特征将一般地以类似的参考标号描述。为了描述的方便已经将实施例标为第一实施例,第二实施例等并且不意欲具有任何其它显著性或者提供本发明的限制。
根据术语所用在的上下文,术语“模块”在这里指可以包括本发明中的软件、硬件或其组合。例如,软件可以是机器代码、固件、嵌入式的代码和应用软件。还例如,硬件可以是电路、处理器、计算机、集成电路、集成电路内核、被动装置或其组合。
现在参考图1,其中示出了本发明的实施例中的数据贮存系统100的框图。数据贮存系统100包括通过存储器总线104耦合到控制器102的存储器阵列106。
控制器102是用于管理在存储器阵列106中的数据的贮存以及取回的处理单元。控制器102可以是嵌入式的处理器、控制逻辑或其组合。控制器102可以将贮存的数据从存储器阵列106转移到主机装置140。
存储器阵列106是用于贮存数据的非易失性存储器单元。存储器阵列106可以包括NOT-AND(NAND)闪速存储器阵列、NOT-OR(NOR)闪速存储器阵列、其它非易失性存储器阵列或其组合。
存储器阵列106可以以存储器裸芯132形成。存储器裸芯132是用于贮存信息的半导体装置。存储器裸芯是可以独立执行命令和报告状态的最小单元。例如,存储器裸芯132可以是闪速存储器装置、NAND闪速存储器芯片、NOR闪速存储器装置或其组合。
存储器总线104是通信信道。存储器总线104传递数据并且在控制器102和存储器阵列106之间控制信息。
存储器裸芯132可以包括单元阵列134。单元阵列134是用于贮存数据的一组非易失性闪速存储器单元。例如,单元阵列134可以包括单级单元闪速(SLC)存储器、多级单元(MLC)闪速存储器、混合的功能性单元或其组合。
单元阵列134可以包括存储器单元136。存储器单元136是用于贮存信息的电子结构。例如,存储器单元136可以是浮置栅极闪速存储器装置。
存储器阵列106可以包括耦合到单元阵列134的阵列逻辑单元130。阵列逻辑单元130是提供寻址、数据转移和感测以及其他支持以控制存储器阵列106保存以及单元阵列134取回信息的电路。
控制器102可以包括耦合到存储器阵列106的存储器接口116。存储器接口116可以包括用于通过存储器总线104与存储器阵列106通信的电路。
控制器102可以包括耦合到存储器接口116和主机接口114的控制单元110。只读存储器118可以耦合到控制单元110。随机存取存储器120可以耦合到控制单元110和到只读存储器118。随机存取存储器120可以被用作用于被写入到存储器阵列106或从存储器阵列106读取的数据的临时贮存的缓冲器存储器。
随机存取存储器120可以包括控制器数据库124。控制器数据库124是数据贮存和取回系统。控制器数据库124可以被用于贮存读取阈值信息。
只读存储器118可以包括用于操作控制单元110的软件122。软件122是用于实现数据贮存系统100的智能的可执行的代码。
控制器102可以包括耦合到控制单元110的误差校正码单元112。误差校正码单元112是用于计算误差校正码值的处理硬件,该误差校正码值可以被用于在贮存在或者从存储器阵列106发送的数据中检测误差、校正误差或其组合。
误差校正码单元112可以使用不同的方法计算一个或多个误差校正码值,诸如Reed-Solomon码、Hamming码、Bose-Chauduri-Hocquenghem(BCH)码或其组合。尽管误差校正码单元112是用于计算误差校正码的专用元件,但是所理解的是,也可以以其它方式计算误差校正码,诸如使用控制单元110计算误差校正码。
控制器102可以包括通过数字连接138耦接到主机装置140的主机接口114。主机装置140是可以使用数据贮存系统100以用于贮存数据的计算装置。例如,主机装置140可以是膝上型计算机、桌上型计算机、服务器、智能电话或其组合。
主机接口114可以用数字连接138来在主机装置140和控制器102之间传送命令和数据。例如,主机接口114可以检测与主机装置140的连接并且基于到主机装置140的连接产生命令。
数据贮存系统100可以用数字连接138来连接到主机装置140。数字连接138是用于在数据贮存系统100和主机装置140之间转移数字信息的通信链接。
数字连接138可以以多种方式形成。例如,数字连接138可以是用于转移信息的通用串行总线(USB)连接。在另一示例中,数字连接138可以是无线通信机制,诸如无线保真(Wi-Fi)、红外通信机制、光学通信系统、近场通信系统或其组合。
现在参考图2,其中示出了图1的数据贮存系统100的存储器图的示例。存储器图示出了数据贮存系统100,其包括存储器页202、存储器块204和数据寄存器212。数据贮存系统100可以使用图1的存储器裸芯132形成。存储器裸芯132包括用于贮存数据的图1的存储器单元136。
数据贮存系统100可以具有由用于形成数据贮存系统100的存储器裸芯132的数量而确定的多种贮存容量。例如,数据贮存系统100可以包括闪速存储器的2千兆字节(GB)、8GB、16GB或其它存储器大小。
数据贮存系统100可以包括多个存储器块204。存储器块204是图1的存储器阵列106的部分。例如,具有2GB容量的数据贮存系统100可以具有4,096个存储器块204。
存储器块204可以包括擦除块206。擦除块206是可以作为单个整体一次擦除的存储器的最小单元。
每个擦除块206可以具有编程擦除周期计数218。当擦除块206中的一个擦除块被擦除时,则编程擦除周期计数218可以被增加。编程擦除周期计数218可以被用于表示多个存储器块204中的一个存储器块的寿命或者损耗水平。编程擦除周期计数218是擦除块206中的一个擦除块中的使用水平的度量。闪速存储器装置——诸如NAND闪存——具有有限数量的可用的编程擦除周期。
存储器块204可以被分为存储器页202。存储器页202是可以在数据贮存系统100中读取或写入的数据字节的最小的组。存储器页202是可以被编程的存储器的最小的可寻址的单元。例如,存储器块204的每一个可以具有64个存储器页202。
存储器页202包括数据区域208和备用区域210。数据区域208是被用于贮存用户数据的一组存储器单元。数据区域208可以是各种大小。例如,多个存储器页202中的一个存储器页的数据区域208可以是2,048字节。
备用区域210是贮存关于数据区域208的元数据的一组存储器单元。例如,备用区域210可以包括误差校正码信息、状态信息或其组合。备用区域210可以具有各种大小。例如,备用区域210可以是128字节。存储器页202可以具有4,224字节的大小以用于数据区域208和备用区域210。
图1的存储器阵列106可以通过擦除存储器块204并且将新的数据编程进已经被擦除的存储器块204来更新。编程存储器块204将数据写入到存储器块204中。
读取多个存储器页202中的一个存储器页可能导致读取误差,其中在存储器页202中的一个或多个位是不正确的。在数据流中的个体的位误差的数量被描述为误码率216。误码率(BER)216被定义为贮存在数据贮存系统100中的数据流中的不正确的位的数量。不正确的位可以在由误差校正码(ECC)保护的码字中被检测。
码字指多个ECC校验字的单个实例覆盖的一组数据字节。误差校正码指对组合为码字的一组主机或用户数据产生的奇偶校验或冗余数据。误码率216是贮存在闪速存储器中的数据流中的不正确的位的数量。
现在参考图3,其中示出了电荷轮廓曲线302的示例。电荷轮廓曲线302可以指示表示在诸如多级单元闪速存储器装置的图1的存储器单元136中的数据值308的电荷水平320的概率。
存储器单元136——诸如多级单元闪速存储器装置——可以由电压水平322的2n-1个不同的值表示n位的数据。贮存在存储器单元136中的电荷的量可以指示由MLC闪速存储器装置贮存的数据值308。
电荷水平320也可以由电压水平322表示。例如,电压水平322——有时被称为电压阈值水平或Vth——可以是施加到确定贮存在闪速存储器装置中的数据值308的内部NAND闪速存储器装置比较器的电压设置。
在示意性示例中,由存储器单元136表示的数据值308的每一个——诸如MLC闪速存储器单元——可以具有不同的读取阈值。读取阈值可以对应于一组电荷窗口304中的一个电荷窗口。读取阈值是映射到多个数据值308中的一个数据值的电压或电荷水平。
随着表示数据值308的电压水平322改变,读取阈值可以由图1的数据贮存系统100动态地修改。存储器单元136可以被分配了调节的读取阈值306。调节的读取阈值306是被调节之后的读取阈值的值。
图2的存储器页202的每一个具有当前的读取阈值307。当前的读取阈值307是当前被用于从存储器页202读取数据值308的值。
电荷窗口304是表示多个数据值308中的一个数据值的电荷值的范围。电荷窗口304通常由读取阈值电压定义,该读取阈值电压——诸如电压水平322——标识区分图1的多个存储器单元136的一个存储器单元的数据值308的边界。
数据贮存系统100可以基于读取阈值以多种方式确定数据值308。例如,数据贮存系统100可以包括多个读取阈值中的三个读取阈值以确定多个数据值308的四个数据值。读取阈值可以包括较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。
第一数据值可以由具有低于较低的读取阈值310的值的电压水平322表示。第二数据值可以由具有大于或等于较低的读取阈值310并且低于中间的读取阈值312的值的电压水平322表示。
第三数据值可以由大于或等于中间的读取阈值312并且低于较高的读取阈值314的电压水平322表示。第四数据值可以由大于或等于较高的读取阈值314的电压水平322表示。
第一数据值可以表示“11”的二进制值。第二数据值可以表示“10”的二进制值。第三数据值可以表示“00”的值。第四数据值可以表示“01”的值。
用于以最少的位误差从存储器单元136读取数据值308的电荷窗口304不是恒定。具有最佳结果的电荷窗口304根据许多变量的函数而移动,该变量包括保留时间、邻近单元的读取数量、温度、编程擦除周期、损耗、编程擦除周期之间的停歇时间或其组合。
表示数据值308的电荷水平320的每一个可以随时间改变。因此,改变读取阈值可以通过补偿由时间和使用量引起的存储器元件中的电荷变化324来得到改善的读取准确性。电荷变化324是对于多个存储器元件的一个存储器元件的电荷随时间的变化。电荷变化324可以包括泄露、与邻近的存储器元件的相互作用或其组合。
由于电荷水平320岁电荷变化324而改变,图2的误码率218可能增加。将读取阈值修改为更加准确地表示用于数据值308的电荷水平320的当前值的值可以减少用于从存储器元件读取信息的误码率218。例如,较低的读取阈值310可以被修改为更靠近用于电荷水平320的相等的值以减少误码率218。
调节的读取阈值306可以描述各种读取阈值。例如,调节的读取阈值306可以包括较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。
在示意性示例中,一些固态贮存装置(SSD)——诸如前一代和当前代的低成本的SSD——不管理用于从MLC闪速存储器装置读取数据值308的读取阈值。这样的装置使用已经使用NAND-闪速存储器制造商的工厂时间配置而预定读取阈值。
在另一示例中,误差校正码(ECC)与数据一起被写入以校正由于非最佳的电压窗口而导致的读取误差。但是,读取阈值随闪速寿命而变化,所以使用恒定读取阈值是非最佳的,特别是快到寿命的末期。
当前代的数据贮存系统100积极地管理读取阈值。但是,数据贮存系统100可以包括超过万亿个NAND闪速单元,并且每个单元的最佳读取阈值可能相比于其它单元而变化。因此,最优化用于数据贮存系统100的读取阈值需要读取阈值的调节和读取调节操作的适当的调度。
现在参考图4,其中示出了电荷轮廓阈值曲线402的示例。电荷轮廓阈值曲线402示出了针对电荷水平320确定图3的多个数据值308中的一个数据值的概率。电荷水平320也可以由电压水平322表示。电荷轮廓阈值曲线402可以指示确定由不同的读取阈值表示的数据值308的概率。
电荷轮廓阈值曲线402可以包括用于表示较低的读取阈值310的电压水平322的范围的端点的最小较低的阈值404和最大较低的阈值406。最小较低的阈值404和最大较低的阈值406可以被用于读取图1的多个存储器单元136中的一个存储器单元以检测表示图3的多个数据值308中的一个数据值的较低的读取阈值310。
最小较低的阈值404可以表示第一数据值的图2的误码率216的下限。例如,最小较低的阈值404可以被用于以高于预定阈值的误码率216取回数据值308。
类似地,电荷轮廓阈值曲线402可以表示用于表示中间的读取阈值312的每一个电压水平322的最小中间的阈值408和最大中间的阈值410。电荷轮廓阈值曲线402还可以表示用于表示较高的读取阈值314的每一个电压水平322的最小较高的阈值412和最大较高的阈值414。
例如,电荷轮廓阈值曲线402可以包括最小中间的阈值408、最大中间的阈值410、最小较高的阈值412和最大较高的阈值414。在另一示例中,数据值308可以通过用不同组的较低的读取阈值310和较高的读取阈值314进行多个读取操作而确定。
在示意性示例中,如果多个存储器单元136的一个存储器单元具有多个读取阈值中的三个读取阈值,则图3的调节的读取阈值306的每一个可以通过计算最大和最小读取阈值来确定以确定读取阈值的哪一个产生误码率216的较低值。
现在参考图5,其中示出了电流读取阈值过程502的示例。电流读取阈值过程502可以确定用于图1的数据贮存系统100的图1的存储器裸芯132的图3的调节的读取阈值306。电流读取阈值过程502可以实现为在图1的控制单元110上执行的图1的软件122。
电流读取阈值过程502可以确定用于多个存储器裸芯132的一个存储器裸芯的图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314。较低的读取阈值310、中间的读取阈值312和较高的读取阈值314可以被用于确定图3的数据值308。
电流读取阈值过程502包括初始映射模块506。初始映射模块506可以首先确定中间的读取阈值312并且从图1的控制器数据库124取回存储器元件寿命504。
存储器元件寿命504是指示存储器元件的使用水平的值。例如,存储器元件寿命504可以是用于图2的多个存储器块204中的一个存储器块的编程擦除周期的总数量。在另一示例中,存储器元件寿命504可以是日历寿命、有效寿命或其组合。
存在许多用于测量存储器元件寿命504的方法。例如,存储器元件寿命504可以是编程擦除周期计数、误码率、编程时间、最佳读取阈值、擦除时间或其组合。存储器元件寿命504是闪速存储器元件上的损耗的估计。
存储器元件寿命504可以表示多种存储器元件。例如,存储器元件寿命504可以包括多个存储器裸芯132的一个存储器裸芯、多个存储器块204中的一个存储器块、图2的多个存储器页202中的一个存储器页或者多个存储器单元中的一个存储器单元的寿命。
在接收存储器元件寿命504和中间的读取阈值312之后,初始映射模块506可以计算较低的读取阈值310和较高的读取阈值314。可以基于存储器元件寿命504和中间的读取阈值312的值计算较低的读取阈值310和较高的读取阈值314。例如,较低的读取阈值310和较高的读取阈值314可以使用基于随着编程和擦除周期的数量的提高而改变的调节的读取阈值306的实验确定的适应偏移量来计算。
中间的读取阈值312可以通过测试图1的数据贮存系统100并且识别用于提供在期望的图2的误码率216内的第二数据值的中间的读取阈值312的值来实验性地确定。中间的读取阈值312可以实验性地被计算以用于存储器裸芯132的每一个。
可以基于中间的读取阈值312和存储器元件寿命504计算较低的读取阈值310和较高的读取阈值314。存储器元件寿命504是表示多个存储器裸芯132的一个存储器裸芯的有效寿命和使用量的计算的值。
存储器元件寿命504可以以多种方式计算。例如,存储器元件寿命504可以是图2的编程擦除周期计数218的数量、日历寿命或其组合。
已经发现的是,电流读取阈值过程502可以改善用于数据贮存系统100的操作的调节的读取阈值306信息。电流读取阈值过程502可以基于作为存储器元件寿命504和一个读取阈值的函数的外部实验特征结果来确定闪速存储器装置的读取阈值值的先验知识。基于存储器元件寿命504和中间的读取阈值312计算较低的读取阈值310和较高的读取阈值314比实验性地评估较低的读取阈值310和较高的读取阈值314更快,并且减少了确定读取阈值所需要的整体时间。
由于确定图1的存储器单元136的每一个的读取阈值的最佳值具有变化的成本,所以确定中间的读取阈值312的最佳值比较低的读取阈值310和较高的读取阈值314的最佳值更加简单。
已经发现的是,作为存储器元件寿命504和中间的读取阈值312的函数来确定较低的读取阈值310和较高的读取阈值314可以提高处理速度。通过实验性地确定中间的读取阈值312,可使用存储器元件寿命504计算较低的读取阈值310和较高的读取阈值314。这减少了另外需要通过测量来自存储器单元136的响应来实验性地确定较低的读取阈值310和较高的读取阈值314的时间。使用存储器元件寿命504和中间的读取阈值312计算较低的读取阈值310和较高的读取阈值314显著地比蛮力测量方法更快。
现在参考图6,其中示出了异常值调节过程601的示例。异常值调节过程601可以确定用于图1的多个存储器裸芯132的一个存储器裸芯中的图2的存储器块204和图2的存储器页202的图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314中的改变。异常值调节过程601也可以基于保留时间、读取干扰事件的数量以及编程擦除周期的数量来调节存储器块204和存储器页202的较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。
异常值块偏移量620是表示用于异常值块624的图3的调节的读取阈值306中的改变的值,该调节的读取阈值306诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。异常值页偏移量622是表示用于异常值页626的读取阈值中的期望的改变的值。
例如,如果异常值块624的一个处于多个存储器裸芯132的一个存储器裸芯的边缘处,异常值块偏移量620可以指示用于异常值块624的读取阈值可能减少了10%-20%。
异常值调节过程601可以确定异常值块偏移量620和异常值页偏移量622。异常值块偏移量620可以被用于调节用于异常值块624的一个的读取阈值。异常值页偏移量622可以被用于调节异常值页626的一个的读取阈值。
在异常值调节过程601中,读取阈值可以基于异常值元件的读取操作状态而计算,该异常值元件诸如异常值块624中的一个、异常值页626中的一个或其组合。异常值调节过程601可以由图1的软件122实现。
异常值调节过程601包括多个模块。异常值调节过程601可以包括读取模块602、查找模块604、异常值块检查模块606、异常值块调节模块608、异常值页检查模块610、异常值页调节模块612、保留时间模块614和读取干扰模块616。
在读取模块602中,异常值调节过程601可以确定需要读取操作以从图1的数据贮存系统100取回数据。读取模块602可以包括确定用于读取用户数据的目标地址628以及识别用于目标地址628的多个存储器页202中的一个存储器页、多个存储器块204中的一个存储器块和多个存储器裸芯132的一个存储器裸芯。
在查找模块604中,异常值调节过程601可以查找用于目标地址628的存储器裸芯132的裸芯读取阈值618的最佳值。裸芯读取阈值618可以提前被确定并且被贮存在图1的控制器数据库124中。裸芯读取阈值618是用于多个存储器裸芯132的一个存储器裸芯的较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的值。裸芯读取阈值618可以应用到多个存储器裸芯132的一个存储器裸芯的整体。
在异常值块检查模块606中,异常值调节过程601可以确定读取操作是否需要读取异常值块624的一个。如果是的,则控制流程可以传递到异常值块调节模块608。否则,控制流程可以传递到异常值页检查模块610。
在异常值块调节模块608中,用于多个存储器块204中的一个存储器块的包括较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的调节的读取阈值306可以基于多个存储器块204中的一个存储器块的异常值块偏移量620而被修改。例如,较低的读取阈值310、中间的读取阈值312和较高的读取阈值314可以被设置为异常值块偏移量620的值。
异常值块偏移量620表示调节的读取阈值306中的改变。异常值块偏移量620可以被用于偏移量调节的读取阈值306以用于读取多个存储器块204中的一个存储器块。例如,如果多个存储器块204中的一个存储器块具有可能导致在多个存储器块204中的一个存储器块的图1的存储器单元136的图3的电荷水平320中的降低的异常值位置,异常值块偏移量620可以具有负数值。
异常值块偏移量620可以以多种方式确定。例如,多个存储器块204中的一个存储器块的异常值块偏移量620可以由多个存储器块204中的一个存储器块在存储器裸芯132上的物理位置确定。在另一示例中,多个存储器块204中的一个存储器块的异常值块偏移量620可以由多个存储器块204中的一个存储器块相对于其它个存储器块204的位置确定。异常值块偏移量620可以从预定数据源查找、动态地评估或其组合。
调节的读取阈值306——诸如多个存储器块204中的一个存储器块的较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——可以以多种方式重新计算。例如,多个存储器块204中的一个存储器块的调节的读取阈值306可以由将异常值块偏移量620异常值增加到裸芯读取阈值618、从多个存储器块204中的一个存储器块的调节的读取阈值306减去异常值块偏移量或其组合确定。
在异常值页检查模块610中,异常值调节过程601可以确定读取操作是否需要读取多个存储器页202中的一个存储器页。如果是的,则控制流程被传递到异常值页调节模块612。否则,控制流程可以传递到保留时间模块614。
在异常值页调节模块612中,用于多个存储器页202中的一个存储器页的调节的读取阈值306——诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——可以基于多个存储器页202中的一个存储器页的异常值页偏移量622而被修改。例如,较低的读取阈值310、中间的读取阈值312和较高的读取阈值314可以被设置为异常值页偏移量622的值。
异常值页偏移量622表示调节的读取阈值306中的改变。异常值页偏移量622可以被用于偏移量调节的读取阈值306以用于读取多个存储器页202中的一个存储器页。例如,如果多个存储器页202中的一个存储器页具有可能导致多个存储器页202中的一个存储器页的存储器单元136的电荷水平320中的降低的异常值位置,异常值页偏移量622可以具有负数值。
异常值页偏移量622可以以多种方式确定。例如,多个存储器页202中的一个存储器页的异常值页偏移量622可以由多个存储器页202中的一个存储器页在存储器裸芯132上的物理位置确定。在另一示例中,多个存储器页202中的一个存储器页的异常值页偏移量622可以由多个存储器页202中的一个存储器页相对于存储器页202的其它个的位置确定。异常值页偏移量622可以从预定数据源查找、动态地评估或其组合。
多个存储器页202中的一个存储器页的调节的读取阈值306可以以多种方式重新计算。例如,多个存储器页202中的一个存储器页的调节的读取阈值306可以由将异常值页偏移量622增加到裸芯读取阈值618、将异常值页偏移量增加到多个存储器页202中的一个存储器页的调节的读取阈值306或其组合确定。
在保留时间模块614中,异常值调节过程601可以基于存储器块204的保留时间632修改调节的读取阈值306——诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——以用于多个存储器块204中的一个存储器块。保留是存储器单元保留编程的信息的能力。保留时间632是数据可以贮存在闪速存储器装置中的时间的量。
保留时间632是贮存数据能力的度量。例如,年龄较轻的NAND闪速存储器具有较好的数据保留能力。年龄较大的NAND闪速存储器具有较差的数据保留能力。
保留偏移量630可以通过确定用于多个存储器块204中的一个存储器块的保留时间632而被计算以用于多个存储器块204中的一个存储器块。保留偏移量630可以以多种方式计算。例如,保留偏移量630可以被设置为正数值以用于具有高于保留阈值634的保留时间632的多个存储器块204中的一个存储器块。在保留时间模块614之后,控制流程可以传递到读取干扰模块616。
在读取干扰模块616中,异常值调节过程601可以基于在多个存储器块204中的一个存储器块上具有读取干扰效应的邻近的读取操作的数量来修改调节的读取阈值306——诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——以用于多个存储器块204中的一个存储器块。当检测到读取干扰事件640时,可以增加读取干扰计数642。读取干扰事件640是当存储器单元136的邻近的一个被读取时多个存储器单元136的一个存储器单元的电荷的改变。读取操作可以改变周围一些存储器单元136的电荷。
读取干扰偏移量638可以以多种方式确定。例如,可以当读取干扰计数642满足或超过读取干扰阈值644时计算读取干扰偏移量638。读取干扰阈值644是触发值,该触发值指示读取干扰事件640的计数足够高到调节多个存储器块204中的一个存储器块的调节的读取阈值306所需要的。
在另一示例中,读取干扰偏移量638可以通过将读取干扰计数642乘以一常数而计算。在又一示例中,读取干扰偏移量638可以通过分配预定恒定值到读取干扰偏移量638来计算。
已经发现的是,用异常值调节过程601调节多个存储器块204中的一个存储器块的调节的读取阈值306可以提高数据贮存系统100的读取可靠性并且减少误码率。通过由将读取结果特征化为存储器寿命或保留时间的函数来预先确定读取阈值移动,修改调节的读取阈值306以提高读取操作的准确性。
已经发现的是,在存储器结构之中的读取阈值之间存在关联性——该存储器结构诸如存储器块204和存储器页202——提供简化的读取阈值调节。该关联性减少计算调节的读取阈值306并且调节用于其它有关的存储器结构需要的计算功率的量。
异常值存储器元件——诸如异常值块624和异常值页626——享有共同的特征诸如多个组件之上的读取阈值漂移。异常值存储器元件是具有不同的物理性质的存储器单元。物理性质可以包括多个存储器块204中的一个存储器块的或者存储器页202在多个存储器裸芯132的一个存储器裸芯中的物理位置。在另一示例中,在多个存储器块204中的一个存储器块的开始处的多个存储器页202中的一个存储器页可以是异常值多个存储器元件的一个存储器元件。
已经发现的是,当归一化图2的编程擦除周期计数218中的变化、读取干扰变化和保留变化时,对用于多个存储器块204中的一个存储器块的读取操作具有最佳结果的调节的读取阈值306是类似的。
已经发现的是,逐个裸芯地确定用于读取操作的具有最佳结果的读取阈值,并且然后基于已知的编程擦除周期计数218、读取干扰计数642和保留时间632对特定的存储器块施加调节改善读取操作性能。用调节的值进行读取操作以用于调节的读取阈值306提供具有更少误差的更准确的读取操作。
已经发现的是,识别具有被识别为异常值位置的物理位置的异常值块624的一个提高读取准确性并且减少数据贮存系统100的图2的误码率216。通过使用读取阈值偏移量基于异常值存储器元件来调节已调节的读取阈值306,减少了不可校正的误差的数量。
还发现的是,基于异常值页偏移量622调节多个存储器页202中的一个存储器页的调节的读取阈值306提高性能并且减少误码率216。通过基于物理位置将在多个存储器块204中的一个存储器块中的存储器页202的特定的一个识别为异常值页626的一个,异常值页偏移量622可以被计算以用于已知其对其读取阈值具有可预测的变化的异常值页626的一个。
数据贮存系统100通过施加特定偏移量的一个来调节已调节的读取阈值306以用于多个存储器块204中的一个存储器块以提高读取操作的准确性。用于已知的异常值页626的一个的调节的该方法相比于仅仅将异常值与非异常值结成相同的组减少误差,并且比在存储器元件的每个更小的组上蛮力优化快速得多。
现在参考图7,其中示出了上电适应曲线702的示例。图1的存储器裸芯132、图2的存储器块204和图2的存储器页202的读取阈值可以在当图1的数据贮存系统100上电时被修改。
上电适应曲线702示出了用于针对电荷水平320确定图3的多个数据值308中的一个数据值的图2的误码率216。电荷水平320也可以由电压水平322表示。上电适应曲线702可以示出确定用于读取阈值的最佳值的过程。
用于图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314的电压水平322的最佳值通过将误码率216与对于读取阈值的每一个的阈值电压704的多个下降的(descending)值比较而确定。当阈值电压704的一个的误码率216高于阈值电压704的之前的一个的误码率216时,可以检测到阈值电压704的最佳值。
在示意性示例中,阈值电压704可以包括第一测试电压、第二测试电压、第三测试电压和第四测试电压。测试电压的每一个可以具有误码率216的对应的一个。误码率(BER)216可以包括第一BER水平、第二BER水平、第三BER水平和第四BER水平。
第一BER水平可以在第一测试电压处确定,其低于图3的当前的读取阈值307。如果第一BER水平高于误码率216的当前值,则当前的读取阈值307是更加准确的值并且测试可以停止。如果第一BER水平低于误码率216的当前值,则测试可以继续并且可以测试第二测试电压。
第二BER水平可以在第二测试电压处确定。如果第二BER水平高于第一BER水平,则图3的调节的读取阈值306可以被设置为第二测试电压值。如果第二BER水平低于第一BER水平,则测试可以继续并且可以测试第三测试电压。
第三BER水平可以在第三测试电压处确定。如果第三BER水平高于第二BER水平,则调节的读取阈值306可以被设置为第三测试电压值。如果第三BER水平低于第二BER水平,则测试可以继续并且可以测试第四测试电压。
第四BER水平可以在第四测试电压处确定。如果第四BER水平高于第三BER水平,则已经确定局部最小,并且调节的读取阈值306可以被设置为第三测试电压值。
现在参考图8,其中示出了上电过程802的示例。上电过程802可以确定当图1的数据贮存系统100上电时可以被用于修改图3的较低的读取阈值310、图3的中间的读取阈值312或图3的较高的读取阈值314的上电偏移量820。
上电过程802可以包括上电事件模块804、寻找读取阈值模块806和计算上电偏移量模块808。上电过程802可以被实现为在图1的控制单元110上执行的图1的软件122。
上电偏移量820可以以多种方式实现。例如,上电偏移量820可以是用于所有的读取阈值的单个偏移量值。在另一示例中,上电偏移量820可以是对于每一个读取阈值具有不同的值的阵列值。
上电事件模块804可以检测上电事件810的发生。上电事件810在当电源被施加到数据贮存系统100时发生,诸如当数据贮存系统100被插入到图1的主机装置140中时。
检测上电事件模块804可以以多种方式检测上电事件810。例如,检测上电事件模块804可以被包括在数据贮存系统100的启动序列中。在另一示例中,检测上电事件模块804可以耦合到可以由向数据贮存装置施加电源而被触发的专用的电子硬件。在又一示例中,上电事件模块804可以由系统中断或数据贮存系统100的其它系统级的例外执行。在检测上电事件810之后,控制流程可以传递到寻找读取阈值模块806。
寻找读取阈值模块806可以测试下降系列的阈值电压并且评估对于读取阈值的每一个的图2的误码率216。图7的上电适应曲线702示出了图7的下降系列的阈值电压704被测试。当阈值电压704的一个产生高于阈值电压704的之前的一个的误码率216的值的误码率216时,则寻找读取阈值模块806可以基于阈值电压704的之前的一个分配上电偏移量820。
下降系列的阈值电压704可以以多种方式计算。例如,该系列可以使用从图1的控制器数据库124取回的预定间隔计算。在另一示例中,该系列可以基于图5的存储器元件寿命504而动态地计算。在又一示例中,该系列可以通过首先读取读取阈值的一个——诸如中间的读取阈值312——并且基于中间的读取阈值312的值计算下降的系列来计算。
当在电源关闭的条件下贮存时,由于用在下行方向中的读取阈值,使用下降系列的阈值电压704。由于图3的电荷水平320因为电荷随时间消散而随时间的部分减少,读取阈值变得更低。
寻找读取阈值模块806可以计算用于较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的最佳值。读取阈值的最佳值是导致误码率216的最低值的阈值电压704的值。
在示意性示例中,寻找读取阈值模块806可以测试第一测试阈值812以确定第一误差率814——诸如误码率216。第一测试阈值812具有图3的电压水平322的给定的值。测试可以包括使用第一测试阈值812读取图2的多个存储器页202中的一个存储器页并且检测误码率216。
寻找读取阈值模块806可以然后测试第二测试阈值816以确定第二误差率818——诸如误码率216。第二测试阈值816具有用于电压水平322的比第一测试阈值812的更低的值。如果第二误差率818高于第一误差率814,则第一测试阈值812可以被用于确定上电偏移量820。在已经完成寻找读取阈值模块806之后,控制流程可以传递到计算上电偏移量模块808。
计算上电偏移量模块808可以基于第一测试阈值812以及第二测试阈值816计算上电偏移量820。上电偏移量820是被用于计算较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的值。
上电偏移量820可以以多种方式计算。例如,上电偏移量820可以表示用于较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的读取阈值的实际的值。在另一示例中,上电偏移量820可以表示可以增加到读取阈值的当前值或者从读取阈值的当前值减除的值以确定较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。上电偏移量820可以表示用于读取阈值的之前的值和用于读取阈值的新计算的值之间的差值。上电偏移量820可以被用于修改读取阈值以用于读取多个存储器页202中的一个存储器页。
所发现的是,通过检测上电事件810来修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314提高数据质量。补偿在断电间隔期间的电荷丢失减少读取误差的数量并且提高数据质量。
所发现的是,通过在单个下行方向中搜索来修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314减少系统开销。因为在断电间隔期间的电荷消散,读取阈值中的改变导致较低的读取阈值,因此向下搜索识别上电偏移量820而具有较少的延迟和较少的开销,导致改善的性能。
已经发现的是,在上电上通过基于在数据贮存系统100的断电贮存期间的电荷消散的可能性调节读取阈值来修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314改善读取准确性。由于断电时段的持续时间的不确定的性质,通过补偿基于时间的电荷减损在上电时间处重新测试读取阈值可以减少误差的数量。
现在参考图9,其中示出了编程擦除周期计数调度过程902的示例。编程擦除周期计数调度过程902可以基于编程擦除周期计数218修改图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314。
编程擦除周期计数调度过程902可以包括编程擦除事件模块904和计算编程擦除偏移量模块906。编程擦除周期计数调度过程902可以被实现为在图1的控制单元110上执行的图1的软件122。
当编程擦除周期计数218满足或超过编程擦除周期计数阈值912时,编程擦除事件模块904可以检测调度事件908,诸如编程擦除周期阈值达到的事件。在每次图2的多个存储器块204中的一个存储器块已经被擦除以准备用于写入时,编程擦除事件模块904可以测试编程擦除周期计数218。调度事件908可以指示读取阈值——诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——应被修改。
调度事件908可以以多种方式检测。例如,编程擦除周期计数阈值912可以被设置为32、100、或编程擦除周期的任何其它数量。
编程擦除事件模块904可以以多种方式实现。例如,调度事件908可以提高负责调节图1的数据贮存系统100的读取阈值的调度的任务的优先级。在编程擦除事件模块904已经完成之后,控制流程可以传递到计算编程擦除偏移量模块906。
计算编程擦除偏移量模块906可以在调度事件908已经出现之后基于编程擦除周期计数218计算编程擦除偏移量914。例如,编程擦除偏移量914可以被计算为编程擦除周期计数218乘以调节因素。
编程擦除偏移量914可以被用于以多种方式修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。例如,较低的读取阈值310、中间的读取阈值312和较高的读取阈值314可以通过将编程擦除偏移量914增加到图3的当前的读取阈值307而修改。
已经发现的是,确定测量和调节读取阈值——诸如较低的读取阈值310、中间的读取阈值312和较高的读取阈值314——的频率可以提高性能并且减少数据误差。定义先验的存储器特征基于阈值根据编程擦除周期计数218中的提高移动的比率来提供调节的建议频率。读取阈值可以基于多个存储器块204中的一个存储器块经历的编程擦除周期的数量而改变。
已经发现的是,与数据贮存系统100的所有其他活动一起调度的读取阈值的周期的调节可以提高数据可靠性。更新数据贮存系统100的读取阈值改善读取操作的准确性。尽管编程擦除周期计数不是硬限制,但是它们相反描述了更新读取阈值的优先级提高的间隔。
已经发现的是,调度用于基于编程擦除周期计数218修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314的任务可以提高数据质量。基于闪速存储器装置的损耗水平调度图3的调节的读取阈值306的修改减少图2的误码率216并且改善数据质量。
现在参考图10,其中示出了误差计数调度过程1002的示例。误差计数调度过程1002可以基于在图1的误差校正码单元112中检测的不可校正的误差的数量修改图3的调节的读取阈值306。
误差计数调度过程1002可以包括误差计数事件模块1004和计算误差计数偏移量模块1006。误差计数调度过程1002可以实现为在图1的控制单元110上执行的图1的软件122。
当误差计数1010满足或超过误差计数阈值1012时,误差计数事件模块1004可以检测调度事件908,诸如误差计数超过的事件。误差计数1010是被图1的误差校正码单元112检测的误差的数量。误差计数1010可以在每次在读取操作期间检测到不可校正的误差时增加。
调度事件908可以以多种方式检测。例如,调度事件908可以基于从图1的控制器数据库124取回的误差计数阈值1012的值而被触发。在另一示例中,误差计数阈值1012可以是预定值,诸如可校正的ECC限制。在已经完成误差计数事件模块1004之后,控制流程可以传递到计算误差计数偏移量模块1006。
计算误差计数偏移量模块1006可以在调度事件908已经发生之后基于误差计数阈值1012计算误差计数偏移量1014。例如,误差计数偏移量1014可以通过从图1的控制器数据库124取回误差计数偏移量1014的预定值来计算。
误差计数偏移量1014可以被用于以多种方式修改调节的读取阈值306。例如,调节的读取阈值306可以通过将误差计数偏移量1014增加到图3的当前的读取阈值307而被修改。
当读取操作产生超过可校正的ECC阈值的ECC误差时,图1的数据贮存系统100产生读取重试。在读取重试期间,数据贮存系统采集读取阈值的额外的测量,并且以高优先级调度测量以允许引起重试的存储器元件对用于共享类似的阈值的该组的存储器元件的读取阈值具有更大的影响。
已经发现的是,修改图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314,可以提高速度和性能。需要读取重试以避免不可校正的ECC误差的存储器元件显著减少了用于数据贮存系统100的吞吐量,因为需要多个读取操作以获得可以在单个读取操作上确定的数据。通过给出读取-重试优先级反馈以及对读取阈值设置的超重的影响,数据贮存系统100可以将读取阈值快速地适应于减少读取重试的数量,并且显著改善SSD性能的电压阈值值。
已经发现的是,基于误差计数1010修改较低的读取阈值310、中间的读取阈值312和较高的读取阈值314,提高数据质量并且减少开销。基于检测的位误差修改读取阈值减少图2的误码率216,并且提供更高水平的数据质量。通过减少误码率216,减少了整体系统开销。
现在参考图11,其中示出了读取阈值调节过程1101的示例。读取阈值调节过程1101可以修改图1的数据贮存系统100的图3的调节的读取阈值306以最小化图2的误码率216。
读取阈值调节过程1101可以被实现为在图1的控制单元110上执行的图1的软件122。读取阈值调节过程1101可以被实现为在图1的控制单元110上执行的图1的软件122。
在开始模块1102中,数据贮存系统100可以在准备操作中接收电源。在上电之后,控制流程可以传递到开始模块1102。
在上电模块1104中,数据贮存系统100可以检测上电事件804,并且可以然后测试并修改调节的读取阈值306,诸如图3的较低的读取阈值310、图3的中间的读取阈值312和图3的较高的读取阈值314。上电模块1104可以包括图8的上电过程802。在上电模块1104已经完成之后,控制流程可以传递到调度器模块1106。
在调度器模块1106中,数据贮存系统100可以评估读取阈值优先级并且确定是否修改数据贮存系统100的调节的读取阈值306。调度器模块1106可以包括读取阈值优先级模块1108和阈值决定模块1110。
调度器模块1106可以维持并且调度一系列任务。例如,调度器模块1106可以管理读取操作、写入操作、适应操作或其组合。调度器模块1106可以通过从在列表上的最高的优先级任务到最低的优先级任务的优先级次序而执行任务来管理该列表。
在读取阈值优先级模块1108中,数据贮存系统100可以确定读取阈值调节操作的优先级水平1130。优先级水平1130是指示读取阈值调节操作是否应该发生的值。例如,如果优先级水平1130高于优先级阈值1132,优先级水平1130可以指示读取阈值调节操作应该发生。在另一示例中,如果优先级水平1130高于零,优先级水平1130可以指示读取阈值调节操作应该发生。
优先级水平1130可以以多种方式计算。例如,优先级水平1130可以基于用于图2的多个存储器块204中的一个存储器块的编程擦除周期的总数、误差率、图5的存储器元件寿命504或其组合。
在阈值决定模块1110中,优先级水平1130可以与优先级阈值1132比较以确定读取阈值调节操作是否应该开始。如果优先级水平1130大于或等于优先级阈值1132,则数据贮存系统可以将控制流程传递到适应模块1116。
如果优先级水平低于优先级阈值1132,则控制流程可以取决于数据贮存系统100进行的操作传递到不同的模块。如果数据贮存系统100正进行读取操作,则控制流程可以传递到异常值调节模块1120。如果数据贮存系统100正进行写入操作,则控制流程可以传递到写入模块1126。
在编程擦除周期计数模块1112中,数据贮存系统100可以维持用于存储器块204的每一个的每个编程和擦除周期的计数。图2的编程擦除周期计数218可以在每次多个存储器块204中的一个存储器块被擦除时增加。编程擦除周期计数218可以由读取阈值优先级模块1108使用以计算优先级水平1130。
在异常值调节模块1120中,数据贮存系统100可以查找图3的当前的读取阈值307,确定异常值调节,修改调节的读取阈值306,并且从图2的多个存储器页202中的一个存储器页读取数据,并且然后控制流程可以传递到ECC决定模块1124。
为进行读取操作,数据贮存系统100可以计算异常值调节模块1120中的调节的读取阈值306的改变。在异常值调节模块1120中,数据贮存系统100可以从图1的控制器数据库124取回图6的异常值块偏移量620。
调节的读取阈值306可以以多种方式计算。例如,调节的读取阈值306可以通过将存储器元件寿命504乘以异常值块偏移量620并且将该值从当前的读取阈值307减去来计算。
在调节的读取阈值306已经被计算之后,可以用调节的读取阈值306进行读取操作,并且读取操作的结果可以用数据贮存系统100的图1的误差校正码单元112检查。
在ECC决定模块1124中,可以检查读取操作的状态以确定是否在读取操作期间产生不可校正的误差。如果没有检测到误差,则控制流程可以传递回调度器模块。如果产生不可校正的误差,则控制流程可以传递到ECC故障读取重试模块1114。
在ECC故障读取重试模块1114中,数据贮存系统100可以保存来自读取操作的反馈并且记录不可校正的误差。当读取操作遇到超过可校正的ECC限度的误差时,数据贮存系统100进行重试操作。在重试操作期间,数据贮存系统采集以高优先级调度的额外的读取阈值测量,以允许引起重试操作的存储器元件对用于享有类似的阈值的该组的存储器元件的读取阈值具有更大的影响。
需要读取重试以避免不可校正的ECC误差的存储器元件显著减少了数据贮存系统100上的吞吐量,因为需要多个读取操作以获得可以在单个读取上确定的数据。通过给出读取重试优先级反馈以及对读取阈值设置的超重的影响,数据贮存系统可以将读取阈值快速地修改为减少读取重试操作的数量的值,并且显著改善数据贮存系统100的性能。在ECC故障读取重试模块1114已经完成之后,控制流程可以传递回调度器模块1106。
为进行写入操作,数据贮存系统100可以进行写入模块1126。在写入模块1126中,数据可以被写入到多个存储器页202中的一个存储器页。在完成写入操作之后,控制流程可以传递回调度器模块1106。
在适应模块1116中,数据贮存系统100可以进行图5的电流读取阈值过程502以确定存储器元件寿命504和较低的读取阈值310、中间的读取阈值312和较高的读取阈值314。图5的电流读取阈值过程502可以基于存储器元件寿命504和中间的读取阈值312计算较低的读取阈值310和较高的读取阈值314。在完成适应模块1116之后,控制流程可以传递回调度器模块1106。
已经发现的是,修改调节的读取阈值306以在关闭电源的状态适应电荷丢失提高了数据质量。通过基于编程擦除周期计数218评估读取阈值中的改变,减少了误码率216并且提高了数据质量。
已经发现的是,基于图10的误差计数1010调度用于修改调节的读取阈值306的任务可以提高数据质量。基于检测的位误差调度调节的读取阈值306的修改减少误码率216,并且提供更高的水平的数据质量。
现在参考图12,其中示出了在本发明的进一步实施例中的图1的数据贮存系统100的操作的方法1200的流程图。方法1200包括:在块1202中确定用于存储器裸芯的中间的读取阈值;在块1204中基于中间的读取阈值和存储器元件寿命计算较低的读取阈值和较高的读取阈值;在块1206中读取存储器裸芯的存储器页使用较低的读取阈值、中间的读取阈值或较高的读取阈值以用于补偿电荷变化。
因此,已经发现的是,本发明的数据贮存系统提供用于具有动态读取阈值机制的数据贮存系统的重要的并且迄今为止未知的并且难以获得的解决方案、性能和功能性方面。得到的方法、过程、设备、装置、产品和/或系统是明确的、划算的、不复杂的、高度通用的、准确的、敏感的并且有效的,并且可以通过应用用于现成的、高效的并且经济的制造、应用和使用的已知的组件来实现。
本发明的另一重要方面是,其有益地支持并且服务减少成本、简化系统以及提高性能的历史潮流。
本发明的这些和其它有益的方面因此至少将技术的状态进步到下一水平。
尽管已经描述了多个特定实施例,但将理解的是,许多替换、修改和变化对本领域技术人员将是明确的。相应地,该应用意欲覆盖落入所包含的权利要求的范围中的所有这样的替换、修改和变化。
Claims (19)
1.一种操作数据贮存系统的方法,包括:
确定用于存储器裸芯的中间的读取阈值;
基于所述中间的读取阈值和存储器元件寿命计算较低的读取阈值和较高的读取阈值;以及
使用所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值读取存储器裸芯的存储器页以用于补偿电荷变化。
2.如权利要求1所述的方法,还包括:
从控制器数据库取回裸芯读取阈值;
基于异常值块的位置计算用于所述异常值块的异常值块偏移量;以及
用所述异常值块偏移量修改所述较低的读取阈值、所述中间的读取阈值和所述较高的读取阈值。
3.如权利要求1所述的方法,还包括:
从控制器数据库取回裸芯读取阈值;
基于异常值页的位置计算用于所述异常值页的异常值页偏移量;以及
用所述异常值页偏移量修改所述较低的读取阈值、所述中间的读取阈值和所述较高的读取阈值。
4.如权利要求1-3的任一个所述的方法,还包括基于保留时间来修改所述较低的读取阈值、所述中间的读取阈值和所述较高的读取阈值。
5.如权利要求1-4的任一个所述的方法,还包括基于读取干扰计数来修改所述较低的读取阈值、所述中间的读取阈值和所述较高的读取阈值。
6.如权利要求1-5的任一个所述的方法,包括:
取回用于所述存储器裸芯的存储器元件寿命;
检测上电事件;
在检测上电事件之后检测具有误码率的第一测试阈值;
检测具有比第一测试阈值的误码率更高的另一误码率的第二测试阈值,第二测试阈值低于第一测试阈值;
基于第一测试阈值确定用于所述存储器裸芯的上电偏移量;以及
基于上电偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
7.如权利要求1-6的任一个所述的方法,还包括:
基于编程擦除周期计数满足或者超过编程擦除周期计数阈值而检测到调度事件;
基于所述编程擦除周期计数计算编程擦除偏移量;以及
基于所述编程擦除偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
8.如权利要求7所述的方法,包括将所述存储器元件寿命设置到所述编程擦除周期计数。
9.如权利要求1-8的任一个所述的方法,还包括:
基于误差计数满足或超过误差计数阈值而检测到调度事件;
基于所述误差计数来计算误差计数偏移量;以及
基于所述误差计数偏移量来修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
10.一种数据贮存系统,包括:
存储器裸芯,用于确定中间的读取阈值;
控制单元,耦合到所述存储器裸芯,用于基于所述中间的读取阈值和存储器元件寿命计算较低的读取阈值和较高的读取阈值;以及
存储器接口,耦合到所述存储器裸芯,用于使用所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值读取存储器裸芯的存储器页以用于补偿电荷变化。
11.如权利要求10所述的系统,还包括:
控制器数据库,耦合到所述控制单元,用于取回裸芯读取阈值;以及
异常值块调节模块,耦合到所述控制单元,用于基于异常值块的位置计算用于所述异常值块的异常值块偏移量,并且用于用所述异常值块偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
12.如权利要求10所述的系统,还包括:
控制器数据库,耦合到所述控制单元,用于取回裸芯读取阈值;以及
异常值页调节模块,耦合到所述控制单元,用于基于异常值页的位置计算用于所述异常值页的异常值页偏移量,并且用于用所述异常值页偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
13.如权利要求10-12的任一个所述的系统,其中基于保留时间来修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
14.如权利要求10-13的任一个所述的系统,其中基于读取干扰计数来修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
15.如权利要求10-14的任一个所述的系统,还包括阵列控制器,耦合到所述存储器裸芯,用于取回所述存储器裸芯的存储器元件寿命。
16.如权利要求10-15的任一个所述的系统,还包括:
上电事件模块,耦合到所述控制单元,用于检测上电事件;
寻找读取阈值模块,耦合到上电事件模块,用于检测具有误码率的第一测试阈值,并且用于检测具有比第一测试阈值的误码率更高的另一误码率的第二测试阈值,其中第二测试阈值低于第一测试阈值;以及
计算上电偏移量模块,耦合到所述寻找读取阈值模块,用于基于第一测试阈值确定用于所述存储器裸芯的上电偏移量,并且用于基于上电偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
17.如权利要求10-16的任一个所述的系统,还包括:
编程擦除事件模块,耦合到所述控制单元,用于基于编程擦除周期计数满足或者超过编程擦除周期计数阈值而检测到调度事件;以及
计算编程擦除偏移量模块,耦合到所述编程擦除事件模块,用于基于所述编程擦除周期计数计算编程擦除偏移量,并且用于基于所述编程擦除偏移量修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
18.如权利要求17所述的系统,还包括初始映射模块,耦合到所述控制单元,用于将所述存储器元件寿命设置到所述编程擦除周期计数。
19.如权利要求10-18的任一个所述的系统,还包括:
误差计数事件模块,耦合到所述控制单元,用于基于误差计数满足或超过误差计数阈值而检测到调度事件;以及
计算误差计数偏移量模块,耦合到所述误差计数事件模块,用于基于所述误差计数来计算误差计数偏移量,并且用于基于所述误差计数偏移量来修改所述较低的读取阈值、所述中间的读取阈值或所述较高的读取阈值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/957,407 | 2013-08-01 | ||
US13/957,407 US9146850B2 (en) | 2013-08-01 | 2013-08-01 | Data storage system with dynamic read threshold mechanism and method of operation thereof |
PCT/US2014/049282 WO2015017719A1 (en) | 2013-08-01 | 2014-07-31 | Data storage system with dynamic read threshold mechanism and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105556610A true CN105556610A (zh) | 2016-05-04 |
CN105556610B CN105556610B (zh) | 2019-10-01 |
Family
ID=51355680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480051899.8A Active CN105556610B (zh) | 2013-08-01 | 2014-07-31 | 具有动态读取阈值机制的数据贮存系统以及操作其的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9146850B2 (zh) |
CN (1) | CN105556610B (zh) |
WO (1) | WO2015017719A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269604A (zh) * | 2016-12-30 | 2018-07-10 | 西部数据技术公司 | 用于读取干扰检测以及处理的方法和装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9818488B2 (en) | 2015-10-30 | 2017-11-14 | Seagate Technology Llc | Read threshold voltage adaptation using bit error rates based on decoded data |
US10276247B2 (en) | 2013-12-20 | 2019-04-30 | Seagate Technology Llc | Read retry operations with estimation of written data based on syndrome weights |
US9633740B1 (en) | 2016-02-11 | 2017-04-25 | Seagate Technology Llc | Read retry operations where likelihood value assignments change sign at different read voltages for each read retry |
US9563502B1 (en) | 2013-12-20 | 2017-02-07 | Seagate Technology Llc | Read retry operations with read reference voltages ranked for different page populations of a memory |
US9015439B1 (en) * | 2014-05-30 | 2015-04-21 | SanDisk Technologies, Inc. | Event lock storage device |
US10043582B2 (en) | 2016-02-11 | 2018-08-07 | Seagate Technology Llc | Establishing parameters of subsequent read retry operations based on syndrome weights of prior failed decodings |
CN107204204B (zh) * | 2016-03-16 | 2020-01-31 | 建兴储存科技(广州)有限公司 | 固态储存装置的断电期间估计方法 |
KR102585221B1 (ko) | 2016-04-21 | 2023-10-05 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US10290358B2 (en) | 2016-07-08 | 2019-05-14 | Seagate Technology Llc | Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights |
US10180868B2 (en) | 2016-07-08 | 2019-01-15 | Seagate Technology Llc | Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping |
US10102920B2 (en) * | 2016-08-15 | 2018-10-16 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
TWI615852B (zh) * | 2017-01-19 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
US10880296B2 (en) | 2017-03-30 | 2020-12-29 | Kingston Digital Inc. | Smart security storage |
US11936645B2 (en) | 2017-03-30 | 2024-03-19 | Kingston Digital, Inc. | Smart security storage system |
TWI643196B (zh) * | 2017-06-22 | 2018-12-01 | 點序科技股份有限公司 | 快閃記憶體裝置及其資料讀取方法 |
US11030107B2 (en) | 2019-04-19 | 2021-06-08 | Hewlett Packard Enterprise Development Lp | Storage class memory queue depth threshold adjustment |
US11003383B2 (en) | 2019-07-17 | 2021-05-11 | Micron Technology, Inc. | Estimation of read level thresholds using a data structure |
US10783978B1 (en) * | 2019-08-27 | 2020-09-22 | Micron Technology, Inc. | Read voltage-assisted manufacturing tests of memory sub-system |
US11294819B2 (en) | 2020-03-31 | 2022-04-05 | Western Digital Technologies, Inc. | Command optimization through intelligent threshold detection |
US11200956B2 (en) | 2020-04-23 | 2021-12-14 | Micron Technology, Inc. | Read level calibration in memory devices using embedded servo cells |
US11494114B1 (en) * | 2021-04-26 | 2022-11-08 | Micron Technology, Inc. | Read threshold adjustment techniques for non-binary memory cells |
WO2023099933A1 (en) * | 2021-12-02 | 2023-06-08 | Micron Technology, Inc. | Memory device with data scrubbing capability and methods |
US20240029802A1 (en) * | 2022-07-22 | 2024-01-25 | Micron Technology, Inc. | Read disturb management |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458954A (zh) * | 2007-09-06 | 2009-06-17 | 三星电子株式会社 | 多位数据存储系统和读取操作 |
US7821827B2 (en) * | 2006-09-13 | 2010-10-26 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
US20110216590A1 (en) * | 2010-03-08 | 2011-09-08 | Eun Hee Seok | Nonvolatile memory device using interleaving technology and programmming method thereof |
CN102306501A (zh) * | 2006-06-19 | 2012-01-04 | 桑迪士克股份有限公司 | 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作 |
US20120008401A1 (en) * | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
CN102667943A (zh) * | 2009-10-28 | 2012-09-12 | 桑迪士克科技股份有限公司 | 通过加速的写入后读取来管理错误的非易失性存储器和方法 |
CN101573761B (zh) * | 2006-11-03 | 2013-04-24 | 桑迪士克科技公司 | 具有可变读取阈值的非易失性存储器 |
US20130148435A1 (en) * | 2011-12-09 | 2013-06-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
Family Cites Families (260)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4048481A (en) | 1974-12-17 | 1977-09-13 | Honeywell Information Systems Inc. | Diagnostic testing apparatus and method |
US4839587A (en) | 1988-03-29 | 1989-06-13 | Digital Equipment Corporation | Test fixture for tab circuits and devices |
JPH02128522A (ja) | 1988-11-09 | 1990-05-16 | Nakamichi Corp | デグリッチ回路 |
EP0617363B1 (en) | 1989-04-13 | 2000-01-26 | SanDisk Corporation | Defective cell substitution in EEprom array |
US5210854A (en) | 1989-06-14 | 1993-05-11 | Digital Equipment Corporation | System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5450354A (en) | 1992-08-31 | 1995-09-12 | Nippon Steel Corporation | Non-volatile semiconductor memory device detachable deterioration of memory cells |
US5311395A (en) | 1992-10-29 | 1994-05-10 | Ncr Corporation | Surface mount heat sink |
US5479638A (en) | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
CA2121852A1 (en) | 1993-04-29 | 1994-10-30 | Larry T. Jost | Disk meshing and flexible storage mapping with enhanced flexible caching |
JPH07336483A (ja) | 1994-06-03 | 1995-12-22 | Canon Inc | ファクシミリ装置およびメモリ管理方式 |
GB2291991A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
US5949785A (en) | 1995-11-01 | 1999-09-07 | Whittaker Corporation | Network access communications system and methodology |
JP3197815B2 (ja) | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
GB9614551D0 (en) | 1996-07-11 | 1996-09-04 | Memory Corp Plc | Memory system |
US5930504A (en) | 1996-07-22 | 1999-07-27 | Intel Corporation | Dynamic nonvolatile memory update in a computer system |
US6381670B1 (en) | 1997-01-07 | 2002-04-30 | Aplus Flash Technology, Inc. | Flash memory array having maximum and minimum threshold voltage detection for eliminating over-erasure problem and enhancing write operation |
US6034897A (en) | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
JP3321555B2 (ja) | 1997-11-21 | 2002-09-03 | 日本オプネクスト株式会社 | 光伝送用モジュールの製造方法並びにビット・エラーレート特性検査システム |
US6091652A (en) | 1998-12-11 | 2000-07-18 | Lsi Logic Corporation | Testing semiconductor devices for data retention |
US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US7620769B2 (en) | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
US7333364B2 (en) | 2000-01-06 | 2008-02-19 | Super Talent Electronics, Inc. | Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory |
KR100577380B1 (ko) | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
US6854070B2 (en) | 2000-01-25 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Hot-upgrade/hot-add memory |
US6728913B1 (en) | 2000-02-25 | 2004-04-27 | Advanced Micro Devices, Inc. | Data recycling in memory |
EP1130600A1 (en) | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Data balancing scheme in solid state storage devices |
US20020056025A1 (en) | 2000-11-07 | 2002-05-09 | Qiu Chaoxin C. | Systems and methods for management of memory |
US6249434B1 (en) | 2000-06-20 | 2001-06-19 | Adc Telecommunications, Inc. | Surface mounted conduction heat sink |
US6529997B1 (en) | 2000-08-11 | 2003-03-04 | Storage Technology Corporation | Apparatus and method for writing and reading data to and from a virtual volume of redundant storage devices |
US6552581B1 (en) | 2000-08-25 | 2003-04-22 | Agere Systems Inc. | Current recycling circuit and a method of current recycling |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6990667B2 (en) | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US6754773B2 (en) | 2001-01-29 | 2004-06-22 | Snap Appliance, Inc. | Data engine with metadata processor |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
JP3963692B2 (ja) | 2001-10-15 | 2007-08-22 | 富士通株式会社 | 複数の情報処理装置の電源制御方法、その情報処理装置、及びプログラム |
US6618249B2 (en) | 2002-02-05 | 2003-09-09 | Quantum Corporation | Thermal cooling system for densely packed storage devices |
US20030163633A1 (en) | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
WO2004001605A1 (en) | 2002-06-19 | 2003-12-31 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
US7082495B2 (en) | 2002-06-27 | 2006-07-25 | Microsoft Corporation | Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory |
US6871304B2 (en) | 2002-08-12 | 2005-03-22 | Nortel Networks Limited | Method and apparatus for adjusting receiver voltage threshold and phase sampling point using FEC counts |
WO2004021191A1 (ja) | 2002-08-29 | 2004-03-11 | Matsushita Electric Industrial Co., Ltd. | 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 |
US7298888B2 (en) | 2002-10-23 | 2007-11-20 | Hamar Laser Instruments, Inc. | Electronic level sensor |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US6868473B2 (en) | 2002-10-30 | 2005-03-15 | Scientific-Atlanta, Inc. | Non-volatile memory access control |
US7350101B1 (en) | 2002-12-23 | 2008-03-25 | Storage Technology Corporation | Simultaneous writing and reconstruction of a redundant array of independent limited performance storage devices |
US6975028B1 (en) | 2003-03-19 | 2005-12-13 | Delta Design, Inc. | Thermal apparatus for engaging electronic device |
US7330927B1 (en) | 2003-05-07 | 2008-02-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Apparatus and methodology for a pointer manager |
ITMI20031126A1 (it) | 2003-06-05 | 2004-12-06 | St Microelectronics Srl | Dispositivo di memoria di massa basato su una memoria |
US20040252670A1 (en) | 2003-06-12 | 2004-12-16 | Nokia Corporation | Adaptive power margin adjustment for a 1xEV-DV system |
US6906961B2 (en) | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
US6903972B2 (en) | 2003-07-30 | 2005-06-07 | M-Systems Flash Disk Pioneers Ltd. | Different methods applied for archiving data according to their desired lifetime |
US7116584B2 (en) | 2003-08-07 | 2006-10-03 | Micron Technology, Inc. | Multiple erase block tagging in a flash memory device |
US20050038792A1 (en) | 2003-08-14 | 2005-02-17 | Johnson Ted C. | Apparatus and method for operating circular files |
US7454495B2 (en) | 2003-09-18 | 2008-11-18 | Raritan America, Inc. | Intelligent modular server management system for selectively operating and locating a plurality of computers |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7159068B2 (en) | 2003-12-22 | 2007-01-02 | Phison Electronics Corp. | Method of optimizing performance of a flash memory |
US20050144516A1 (en) | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20080082736A1 (en) | 2004-03-11 | 2008-04-03 | Chow David Q | Managing bad blocks in various flash memory cells for electronic data flash card |
US7788427B1 (en) | 2005-05-05 | 2010-08-31 | Marvell International Ltd. | Flash memory interface for disk drive |
US7536506B2 (en) | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
BRPI0510494B8 (pt) | 2004-07-12 | 2022-06-28 | Kk Toshiba Toshiba Corporation | Dispositivo de armazenagem e aparelho hospedeiro |
US8607016B2 (en) | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7427027B2 (en) | 2004-07-28 | 2008-09-23 | Sandisk Corporation | Optimized non-volatile storage systems |
KR100622349B1 (ko) | 2004-08-04 | 2006-09-14 | 삼성전자주식회사 | 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. |
US7693422B2 (en) | 2004-09-28 | 2010-04-06 | Alcatel-Lucent Usa Inc. | Constraint-based design of optical transmission systems |
US20070276973A1 (en) | 2004-09-30 | 2007-11-29 | Intel Corporation | Managing queues |
US7233497B2 (en) | 2004-10-06 | 2007-06-19 | Hewlett-Packard Development Company, L.P. | Surface mount heat sink |
JP2006107311A (ja) | 2004-10-08 | 2006-04-20 | Hitachi Ltd | ディスクアレイ装置およびその制御方法 |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
US7464243B2 (en) | 2004-12-21 | 2008-12-09 | Cisco Technology, Inc. | Method and apparatus for arbitrarily initializing a portion of memory |
US7770003B2 (en) | 2004-12-29 | 2010-08-03 | Intel Corporation | Updating firmware securely over a network |
US7509474B2 (en) | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
JP4688584B2 (ja) | 2005-06-21 | 2011-05-25 | 株式会社日立製作所 | ストレージ装置 |
KR20060134395A (ko) | 2005-06-22 | 2006-12-28 | 엘지전자 주식회사 | 케이블 방송 수신기 및 펌웨어 업그레이드 방법 |
US7853749B2 (en) | 2005-09-01 | 2010-12-14 | Cypress Semiconductor Corporation | Flash drive fast wear leveling |
KR101215350B1 (ko) | 2005-09-14 | 2012-12-26 | 엘지전자 주식회사 | 케이블 방송 수신기 및 펌웨어 업그레이드 방법 |
US7533215B2 (en) | 2005-09-15 | 2009-05-12 | Intel Corporation | Distributed and packed metadata structure for disk cache |
US7661054B2 (en) | 2005-09-30 | 2010-02-09 | Intel Corporation | Methods and arrangements to remap degraded storage blocks |
US7472292B2 (en) | 2005-10-03 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | System and method for throttling memory power consumption based on status of cover switch of a computer system |
JP4764696B2 (ja) | 2005-10-07 | 2011-09-07 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
US7516267B2 (en) | 2005-11-03 | 2009-04-07 | Intel Corporation | Recovering from a non-volatile memory failure |
US7620710B2 (en) | 2005-12-19 | 2009-11-17 | Commvault Systems, Inc. | System and method for performing multi-path storage operations |
US7355896B2 (en) | 2005-12-22 | 2008-04-08 | Chartered Semiconductor Manufacturing Ltd. | System for improving endurance and data retention in memory devices |
US8006030B2 (en) | 2006-03-13 | 2011-08-23 | Panasonic Corporation | Memory controller for identifying the last valid page/segment in a physical block of a flash memory |
US7810017B2 (en) | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
JP2007272635A (ja) | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7778077B2 (en) | 2006-05-15 | 2010-08-17 | Sandisk Corporation | Non-volatile memory system with end of life calculation |
US7568135B2 (en) | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US7743216B2 (en) | 2006-06-30 | 2010-06-22 | Seagate Technology Llc | Predicting accesses to non-requested data |
US20080028246A1 (en) | 2006-07-31 | 2008-01-31 | Witham Timothy D | Self-monitoring and self-adjusting power consumption computer control system |
US20080046630A1 (en) | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080052446A1 (en) | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US7738502B2 (en) | 2006-09-01 | 2010-06-15 | Intel Corporation | Signal noise filtering in a serial interface |
US8117396B1 (en) | 2006-10-10 | 2012-02-14 | Network Appliance, Inc. | Multi-level buffer cache management through soft-division of a uniform buffer cache |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7747813B2 (en) | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US8560760B2 (en) | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
JP5283845B2 (ja) | 2007-02-07 | 2013-09-04 | 株式会社メガチップス | ビットエラーの予防方法、情報処理装置 |
JP5026102B2 (ja) | 2007-02-07 | 2012-09-12 | 株式会社日立製作所 | ストレージ制御装置及びデータ管理方法 |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
JP2008269363A (ja) | 2007-04-20 | 2008-11-06 | Hitachi Ltd | 記憶制御装置および記憶制御方法 |
KR100909902B1 (ko) | 2007-04-27 | 2009-07-30 | 삼성전자주식회사 | 플래쉬 메모리 장치 및 플래쉬 메모리 시스템 |
US8151171B2 (en) | 2007-05-07 | 2012-04-03 | Broadcom Corporation | Operational parameter adaptable LDPC (low density parity check) decoder |
US8209677B2 (en) | 2007-05-21 | 2012-06-26 | Sony Corporation | Broadcast download system via broadband power line communication |
KR100857761B1 (ko) | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
US8041989B2 (en) | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for providing a high fault tolerant memory system |
US8296534B1 (en) | 2007-06-29 | 2012-10-23 | Emc Corporation | Techniques for using flash-based memory in recovery processing |
US7747903B2 (en) | 2007-07-09 | 2010-06-29 | Micron Technology, Inc. | Error correction for memory |
US7949817B1 (en) | 2007-07-31 | 2011-05-24 | Marvell International Ltd. | Adaptive bus profiler |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8138803B2 (en) | 2007-09-26 | 2012-03-20 | Intel Corporation | Apparatus and method for selectively enabling and disabling a squelch circuit across AHCI and SATA power states |
WO2009042298A1 (en) | 2007-09-26 | 2009-04-02 | Rambus Inc. | Flash memory refresh |
TWI366828B (en) | 2007-09-27 | 2012-06-21 | Phison Electronics Corp | Wear leveling method and controller using the same |
KR101403429B1 (ko) | 2007-10-09 | 2014-06-03 | 삼성전자주식회사 | 멀티 비트 프로그래밍 장치 및 방법 |
US7639532B2 (en) | 2007-10-10 | 2009-12-29 | Micron Technology, Inc. | Non-equal threshold voltage ranges in MLC NAND |
KR20090042039A (ko) | 2007-10-25 | 2009-04-29 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 관리 방법 |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
JP5207720B2 (ja) | 2007-12-07 | 2013-06-12 | ルネサスエレクトロニクス株式会社 | Oob検出回路およびシリアルataシステム |
US8140746B2 (en) | 2007-12-14 | 2012-03-20 | Spansion Llc | Intelligent memory data management |
KR101498669B1 (ko) | 2007-12-20 | 2015-03-19 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 액세스 방법 |
US8656083B2 (en) | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
JP5045448B2 (ja) | 2008-01-16 | 2012-10-10 | ソニー株式会社 | 信号処理回路、信号処理方法、再生装置 |
US8095724B2 (en) | 2008-02-05 | 2012-01-10 | Skymedi Corporation | Method of wear leveling for non-volatile memory and apparatus using via shifting windows |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US20090259819A1 (en) | 2008-04-09 | 2009-10-15 | Skymedi Corporation | Method of wear leveling for non-volatile memory |
TWI381390B (zh) | 2008-04-10 | 2013-01-01 | Phison Electronics Corp | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
US8028123B2 (en) | 2008-04-15 | 2011-09-27 | SMART Modular Technologies (AZ) , Inc. | Circular wear leveling |
US7830164B2 (en) | 2008-04-22 | 2010-11-09 | Honeywell International Inc. | Ducted test socket |
US20090271562A1 (en) | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
US7957187B2 (en) | 2008-05-09 | 2011-06-07 | Sandisk Corporation | Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution |
KR101506655B1 (ko) | 2008-05-15 | 2015-03-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
US7925807B2 (en) | 2008-05-27 | 2011-04-12 | Microsoft Corporation | Dynamic microcode for non-volatile memory |
US7679948B2 (en) | 2008-06-05 | 2010-03-16 | Sun Microsystems, Inc. | Write and read assist circuit for SRAM with power recycling |
US8959280B2 (en) | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US8843691B2 (en) | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR100974954B1 (ko) | 2008-06-26 | 2010-08-10 | 에스디씨마이크로 주식회사 | 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법 |
US8010738B1 (en) | 2008-06-27 | 2011-08-30 | Emc Corporation | Techniques for obtaining a specified lifetime for a data storage device |
US20090327581A1 (en) | 2008-06-30 | 2009-12-31 | Coulson Richard L | Nand memory |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US7941591B2 (en) | 2008-07-28 | 2011-05-10 | CacheIQ, Inc. | Flash DIMM in a standalone cache appliance system and methodology |
US8213229B2 (en) | 2008-08-22 | 2012-07-03 | HGST Netherlands, B.V. | Error control in a flash memory device |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
JP4769853B2 (ja) | 2008-09-19 | 2011-09-07 | 株式会社日立製作所 | 記憶制御装置及び記憶装置のデータ消去方法 |
US8275933B2 (en) | 2008-11-10 | 2012-09-25 | Fusion-10, Inc | Apparatus, system, and method for managing physical regions in a solid-state storage device |
US7764550B2 (en) | 2008-11-25 | 2010-07-27 | Freescale Semiconductor, Inc. | Method of programming a non-volatile memory |
KR101555022B1 (ko) | 2008-12-02 | 2015-09-23 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
US8261009B2 (en) | 2008-12-30 | 2012-09-04 | Sandisk Il Ltd. | Method and apparatus for retroactive adaptation of data location |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8040744B2 (en) | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US20100174845A1 (en) | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
EP2396717A1 (en) | 2009-02-11 | 2011-12-21 | Infinidat Ltd | Virtualized storage system and method of operating it |
US8086783B2 (en) | 2009-02-23 | 2011-12-27 | International Business Machines Corporation | High availability memory system |
US9753887B2 (en) | 2009-02-24 | 2017-09-05 | Seagate Technology Llc | Receiver training during a SATA out of band sequence |
JP5268710B2 (ja) | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8095765B2 (en) | 2009-03-04 | 2012-01-10 | Micron Technology, Inc. | Memory block management |
US8239614B2 (en) | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8166232B2 (en) | 2009-04-02 | 2012-04-24 | Hitachi, Ltd. | Metrics and management for flash memory storage life |
US8572443B2 (en) | 2009-04-08 | 2013-10-29 | International Business Machines Corporation | System, method, and computer program product for determining a retention behavior for at least one block of a memory device having finite endurance and/or retention |
US8316173B2 (en) | 2009-04-08 | 2012-11-20 | International Business Machines Corporation | System, method, and computer program product for analyzing monitor data information from a plurality of memory devices having finite endurance and/or retention |
US8380946B2 (en) | 2009-04-08 | 2013-02-19 | International Business Machines Corporation | System, method, and computer program product for estimating when a reliable life of a memory device having finite endurance and/or retention, or portion thereof, will be expended |
US8219776B2 (en) | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8051241B2 (en) | 2009-05-07 | 2011-11-01 | Seagate Technology Llc | Wear leveling technique for storage devices |
US8190873B2 (en) | 2009-05-13 | 2012-05-29 | Dell Products L.P. | System and method for optimizing performance of an information handling system component |
US20100318719A1 (en) | 2009-06-12 | 2010-12-16 | Micron Technology, Inc. | Methods, memory controllers and devices for wear leveling a memory |
US20100332726A1 (en) | 2009-06-26 | 2010-12-30 | Solid State System Co., Ltd. | Structure and method for managing writing operation on mlc flash memory |
JP5353494B2 (ja) | 2009-07-03 | 2013-11-27 | 富士通株式会社 | 通信装置、および通信方法 |
US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
US8332578B2 (en) | 2009-07-31 | 2012-12-11 | Intel Corporation | Method and system to improve the performance of a multi-level cell (MLC) NAND flash memory |
US7818525B1 (en) | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
US8072805B2 (en) | 2009-08-18 | 2011-12-06 | Skymedi Corporation | Method and system of finding a read voltage for a flash memory |
US8464106B2 (en) | 2009-08-24 | 2013-06-11 | Ocz Technology Group, Inc. | Computer system with backup function and method therefor |
US8289801B2 (en) | 2009-09-09 | 2012-10-16 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
US8463983B2 (en) | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
EP2369474B1 (en) | 2009-09-18 | 2017-06-28 | Yamaha Corporation | Firmware update apparatus and program |
TW201111986A (en) | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US8254172B1 (en) | 2009-09-30 | 2012-08-28 | Western Digital Technologies, Inc. | Wear leveling non-volatile semiconductor memory based on erase times and program times |
US8285956B2 (en) | 2009-10-22 | 2012-10-09 | Symantec Corporation | Efficient logging for asynchronously replicating volume groups |
US8589302B2 (en) | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
CN101876949B (zh) | 2009-11-30 | 2012-04-25 | 威盛电子股份有限公司 | 数据储存系统与方法 |
US8473669B2 (en) | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
US20110132000A1 (en) | 2009-12-09 | 2011-06-09 | Deane Philip A | Thermoelectric Heating/Cooling Structures Including a Plurality of Spaced Apart Thermoelectric Components |
US8285918B2 (en) | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
EP2354864A1 (en) | 2010-01-29 | 2011-08-10 | Eurocopter Deutschland GmbH | Method and system for an optimized utilization of energy resources of an electrical system |
KR101623119B1 (ko) | 2010-02-01 | 2016-05-20 | 삼성전자주식회사 | 솔리드 스테이트 드라이브의 에러 제어 방법 |
US20110191522A1 (en) | 2010-02-02 | 2011-08-04 | Condict Michael N | Managing Metadata and Page Replacement in a Persistent Cache in Flash Memory |
KR101655306B1 (ko) | 2010-02-24 | 2016-09-07 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 방법 |
US8601203B2 (en) | 2010-03-12 | 2013-12-03 | Standard Microsystems Corporation | Firmware flashing of a portable device using a serial bus hub |
US8726126B2 (en) | 2010-03-23 | 2014-05-13 | Apple Inc. | Non-regular parity distribution detection via metadata tag |
CN102201259A (zh) | 2010-03-24 | 2011-09-28 | 建兴电子科技股份有限公司 | 非易失性存储器的平均抹写方法 |
US8510637B2 (en) | 2010-04-14 | 2013-08-13 | Phison Electronics Corp. | Data reading method, memory storage apparatus and memory controller thereof |
TWI447733B (zh) | 2010-04-14 | 2014-08-01 | Phison Electronics Corp | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 |
WO2011132227A1 (en) | 2010-04-22 | 2011-10-27 | Hitachi, Ltd. | System and method of controlling migration of data based on deduplication efficiency |
WO2011156466A2 (en) | 2010-06-08 | 2011-12-15 | Hewlett-Packard Development Company, L.P. | Storage caching |
US8612669B1 (en) | 2010-06-28 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for performing data retention in solid-state memory using copy commands and validity and usage data |
US8386714B2 (en) | 2010-06-29 | 2013-02-26 | International Business Machines Corporation | Reducing write amplification in a cache with flash memory used as a write cache |
US8737141B2 (en) | 2010-07-07 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737136B2 (en) | 2010-07-09 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining a read level of a memory cell based on cycle information |
US9069688B2 (en) | 2011-04-15 | 2015-06-30 | Sandisk Technologies Inc. | Dynamic optimization of back-end memory system interface |
US8503238B1 (en) | 2010-07-21 | 2013-08-06 | Sk Hynix Memory Solutions Inc. | Error recovery for flash memory |
KR101702392B1 (ko) | 2010-08-20 | 2017-02-06 | 삼성전자주식회사 | 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법 |
US9037778B2 (en) | 2010-08-20 | 2015-05-19 | Samsung Electronics Co., Ltd. | Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device |
US8832507B2 (en) | 2010-08-23 | 2014-09-09 | Apple Inc. | Systems and methods for generating dynamic super blocks |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8363413B2 (en) | 2010-09-13 | 2013-01-29 | Raytheon Company | Assembly to provide thermal cooling |
US20120079348A1 (en) | 2010-09-24 | 2012-03-29 | Helia Naeimi | Data with appended crc and residue value and encoder/decoder for same |
US8219724B1 (en) | 2010-09-29 | 2012-07-10 | Emc Corporation | Flexibly managing I/O operations based on application awareness |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US20120254686A1 (en) | 2010-10-01 | 2012-10-04 | SIGLEAD Inc. | Non-volatile semiconductor memory devices and error correction methods |
WO2012051600A2 (en) | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
US8694811B2 (en) | 2010-10-29 | 2014-04-08 | Texas Instruments Incorporated | Power management for digital devices |
US8806106B2 (en) | 2010-11-12 | 2014-08-12 | Seagate Technology Llc | Estimating wear of non-volatile, solid state memory |
US8843489B2 (en) | 2010-11-16 | 2014-09-23 | Actifio, Inc. | System and method for managing deduplicated copies of data using temporal relationships among copies |
US8656086B2 (en) | 2010-12-08 | 2014-02-18 | Avocent Corporation | System and method for autonomous NAND refresh |
JP2012129859A (ja) | 2010-12-16 | 2012-07-05 | Nec Corp | 無線アクセスネットワークシステム、遠隔監視装置、アンテナ角度制御方法、及びアンテナ角度制御プログラム |
KR101703106B1 (ko) | 2011-01-04 | 2017-02-06 | 삼성전자주식회사 | 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 장치들 |
US8364888B2 (en) | 2011-02-03 | 2013-01-29 | Stec, Inc. | Erase-suspend system and method |
KR101875142B1 (ko) | 2011-02-17 | 2018-07-06 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8924633B2 (en) | 2011-03-08 | 2014-12-30 | Dust Networks, Inc. | Methods and system for erasing data stored in nonvolatile memory in low power applications |
US8732518B2 (en) | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US8918595B2 (en) | 2011-04-28 | 2014-12-23 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
US8862804B2 (en) | 2011-04-29 | 2014-10-14 | Western Digital Technologies, Inc. | System and method for improved parity determination within a data redundancy scheme in a solid state memory |
US8656088B2 (en) | 2011-05-20 | 2014-02-18 | International Business Machines Corporation | Optimized flash based cache memory |
TWI479495B (zh) | 2011-06-02 | 2015-04-01 | Phison Electronics Corp | 資料讀取方法、記憶體控制器及記憶體儲存裝置 |
US8806108B2 (en) | 2011-06-07 | 2014-08-12 | Hitachi, Ltd. | Semiconductor storage apparatus and method of controlling semiconductor storage apparatus |
US8719531B2 (en) | 2011-06-14 | 2014-05-06 | Western Digital Technologies, Inc. | System and method for performing data retention that incorporates environmental conditions |
US8694719B2 (en) | 2011-06-24 | 2014-04-08 | Sandisk Technologies Inc. | Controller, storage device, and method for power throttling memory operations |
US8954689B2 (en) | 2011-06-30 | 2015-02-10 | Seagate Technology Llc | Limiting activity rates that impact life of a data storage media |
US8645773B2 (en) | 2011-06-30 | 2014-02-04 | Seagate Technology Llc | Estimating temporal degradation of non-volatile solid-state memory |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9477590B2 (en) | 2011-09-16 | 2016-10-25 | Apple Inc. | Weave sequence counter for non-volatile memory systems |
US8760932B2 (en) | 2011-10-18 | 2014-06-24 | Seagate Technology Llc | Determination of memory read reference and programming voltages |
CN103064478A (zh) | 2011-10-19 | 2013-04-24 | 鸿富锦精密工业(深圳)有限公司 | 具有导风罩的电脑系统 |
US8811081B2 (en) | 2011-12-09 | 2014-08-19 | Sandisk Technologies Inc. | Systems and methods of updating read voltages in a memory |
US9141166B2 (en) | 2011-12-13 | 2015-09-22 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains |
US8832506B2 (en) | 2012-01-20 | 2014-09-09 | International Business Machines Corporation | Bit error rate based wear leveling for solid state drive memory |
US8792272B2 (en) | 2012-01-30 | 2014-07-29 | HGST Netherlands B.V. | Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
US8935459B2 (en) | 2012-03-08 | 2015-01-13 | Apple Inc. | Heuristics for programming data in a non-volatile memory |
US8760922B2 (en) | 2012-04-10 | 2014-06-24 | Sandisk Technologies Inc. | System and method for micro-tiering in non-volatile memory |
TWI467376B (zh) | 2012-06-11 | 2015-01-01 | Phison Electronics Corp | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
US9064575B2 (en) | 2012-08-03 | 2015-06-23 | Micron Technology, Inc. | Determining whether a memory cell state is in a valley between adjacent data states |
US9405355B2 (en) | 2012-08-21 | 2016-08-02 | Micron Technology, Inc. | Memory operation power management by data transfer time adjustment |
US8914670B2 (en) | 2012-11-07 | 2014-12-16 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
US9145311B2 (en) | 2012-12-11 | 2015-09-29 | Anthony Elmer Greene | Apparatus for controlling an electrolytic cell in a water purification system |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9229525B2 (en) | 2013-06-17 | 2016-01-05 | Apple Inc. | Adaptive latency tolerance for power management of memory bus interfaces |
-
2013
- 2013-08-01 US US13/957,407 patent/US9146850B2/en active Active
-
2014
- 2014-07-31 CN CN201480051899.8A patent/CN105556610B/zh active Active
- 2014-07-31 WO PCT/US2014/049282 patent/WO2015017719A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306501A (zh) * | 2006-06-19 | 2012-01-04 | 桑迪士克股份有限公司 | 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作 |
US7821827B2 (en) * | 2006-09-13 | 2010-10-26 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
CN101573761B (zh) * | 2006-11-03 | 2013-04-24 | 桑迪士克科技公司 | 具有可变读取阈值的非易失性存储器 |
CN101458954A (zh) * | 2007-09-06 | 2009-06-17 | 三星电子株式会社 | 多位数据存储系统和读取操作 |
CN102667943A (zh) * | 2009-10-28 | 2012-09-12 | 桑迪士克科技股份有限公司 | 通过加速的写入后读取来管理错误的非易失性存储器和方法 |
US20110216590A1 (en) * | 2010-03-08 | 2011-09-08 | Eun Hee Seok | Nonvolatile memory device using interleaving technology and programmming method thereof |
US20120008401A1 (en) * | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US20130148435A1 (en) * | 2011-12-09 | 2013-06-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269604A (zh) * | 2016-12-30 | 2018-07-10 | 西部数据技术公司 | 用于读取干扰检测以及处理的方法和装置 |
CN108269604B (zh) * | 2016-12-30 | 2021-07-16 | 西部数据技术公司 | 用于读取干扰检测以及处理的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105556610B (zh) | 2019-10-01 |
US20150039842A1 (en) | 2015-02-05 |
WO2015017719A1 (en) | 2015-02-05 |
US9146850B2 (en) | 2015-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105556610A (zh) | 具有动态读取阈值机制的数据贮存系统以及操作其的方法 | |
US11335423B2 (en) | Storage device and method of operating the same | |
US9606737B2 (en) | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning | |
JP5629391B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
CN103680637B (zh) | 具有异常字线检测器的闪存系统及其异常字线检测方法 | |
EP3069348B1 (en) | Data management with modular erase in a data storage system | |
US8935466B2 (en) | Data storage system with non-volatile memory and method of operation thereof | |
US8296507B2 (en) | Memory management and writing method and rewritable non-volatile memory controller and storage system using the same | |
US20180335977A1 (en) | Distributed Power Management for Non-Volatile Memory Controllers | |
US9880605B2 (en) | Method and system for throttling power consumption | |
US20120224425A1 (en) | Using Temperature Sensors with a Memory Device | |
US8578245B2 (en) | Data reading method, memory storage apparatus, and controller thereof | |
US20100199020A1 (en) | Non-volatile memory subsystem and a memory controller therefor | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
CN104272393A (zh) | 为存储器的块调整编程步长的系统和方法 | |
US9460004B2 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US10126970B2 (en) | Paired metablocks in non-volatile storage device | |
JP2019169217A (ja) | メモリシステム、その制御方法及びプログラム | |
US11107543B2 (en) | Adjustment of read and write voltages using a space between threshold voltage distributions | |
US9063888B2 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
CN107134295B (zh) | 存储器诊断系统 | |
JP2018163707A (ja) | 半導体記憶装置及びそのリード制御方法 | |
CN102831932B (zh) | 数据读取方法、存储器控制器及存储器储存装置 | |
CN113039515B (zh) | 用于基于存储器组件耐久性估计执行耗损均衡调整的存储器子系统 | |
US11145366B1 (en) | Techniques to mitigate error during a read operation to a memory array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160517 Address after: texas Applicant after: Sandisk Corp. Address before: American California Applicant before: SMART STORAGE SYSTEMS, INC. |
|
CB02 | Change of applicant information |
Address after: texas Applicant after: DELPHI INT OPERATIONS LUX SRL Address before: texas Applicant before: Sandisk Corp. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |