CN106170833A - 在数据存储系统中的具有模块化擦除的数据管理 - Google Patents

在数据存储系统中的具有模块化擦除的数据管理 Download PDF

Info

Publication number
CN106170833A
CN106170833A CN201480062687.XA CN201480062687A CN106170833A CN 106170833 A CN106170833 A CN 106170833A CN 201480062687 A CN201480062687 A CN 201480062687A CN 106170833 A CN106170833 A CN 106170833A
Authority
CN
China
Prior art keywords
erasing
block
module
perform
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480062687.XA
Other languages
English (en)
Other versions
CN106170833B (zh
Inventor
J.M.希金斯
R.W.埃利斯
M.丹乔
J.菲茨帕特里克
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.)
SanDisk Enterprise IP LLC
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN106170833A publication Critical patent/CN106170833A/zh
Application granted granted Critical
Publication of CN106170833B publication Critical patent/CN106170833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

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

Abstract

一种在数据存储系统中具有模块化擦除的数据管理的系统和方法,其中,存储器阵列具有擦除块和目标块,其中,逻辑单元中的所述目标块与所述擦除块分离,包括:对所述擦除块执行擦除操作,所述擦除操作具有操作矩阵,被配置用于所述擦除块的部分擦除;更新用于所述擦除块的命令状态;基于指示不完全擦除状态的所述命令状态而在所述目标块上启用介入命令,其中,所述介入命令更新所述命令状态;基于所述命令状态而执行擦除优化;基于所述擦除优化而执行附加擦除操作;以及基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。

Description

在数据存储系统中的具有模块化擦除的数据管理
技术领域
本发明总体上涉及一种数据存储系统,更具体地说,涉及在数据存储系统中的具有模块化擦除的数据管理。
背景技术
除了电磁硬盘之外,计算机系统中的各种形式的长期存储体包括根源于半导体或另外的存储器技术的非易失性存储体。与非(NAND)闪速存储器是固态存储设备中所使用的非易失性存储器的一种形式。在闪速存储器的普通配置中,存储器单元以典型的行列方式被布置有用于存取单独单元的电路。这些单元的数据存储元件(例如晶体管)被配置为:在单级单元(SLC)的情况下保持两个逻辑状态,或在多级单元(MLC)的情况下保持多于两个的逻辑状态。
闪速存储器是基于块的存储体,并且可能要求块在被重写之前被擦除。在正执行擦除操作的同时,无法执行其它命令。这可能导致在其它命令等待擦除操作完成的同时、其它命令的较长命令时延。此外,因为擦除操作的持续时间可能随着闪速存储器老化而增加,所以命令时延可能随着时间而增加。
因此,仍需要更好的可以优化命令时延的数据存储设备。鉴于日益增加的商业竞争压力,连同对于市场中的有意义的产品分化的增长的消费者期待以及减少的机会一起,寻找针对这些问题的答案是重要的。此外,对于寻找对这些问题的答案,关于减少成本、改进效率和性能并且应对竞争压力的需要对关键必要性增加了日益更大的紧迫性。
先前的开发已经长期探求但并未发现对这些问题的优化解决方案。因此,仍需本领域技术人员长期规避。
发明内容
本公开涵盖一种数据存储系统中具有模块化擦除的数据管理的系统和方法,包括:将擦除操作划分为一个或多个部分擦除操作;在各部分擦除操作之间执行介入命令;修改所述部分擦除操作的操作值;以及实现用于部分擦除的停驻时间延迟。
除了上述步骤或要素之外,或替代上述步骤或要素,特定实施例还具有其它步骤或要素。当参照附图时,通过阅读以下具体实施方式,步骤或要素对于本领域技术人员将变得明显。在此所描述的实施例是说明性的,而不应限制如权利要求所述的本发明的范围。
附图说明
图1是本发明实施例中的数据存储系统的框图。
图2是存储器示图的示例。
图3示出存储器块示图的示例。
图4示出数据存储系统的示例。
图5示出擦除操作的示例。
图6示出通过擦除分量进行的擦除操作的示例。
图7示出使用模块化擦除分量的擦除操作的示例。
图8示出交织式擦除处理的示例。
图9示出擦除处理的示例。
图10是本发明另一实施例中的数据存储系统中具有模块化擦除的数据管理的方法的流程图。
具体实施方式
足够详细地描述以下实施例,以使得本领域技术人员能够进行并且使用本发明。应理解,其它实施例基于本公开将是明显的,并且可以在不脱离本发明的范围的情况下进行系统、处理或机械改变。
在以下描述中,给出大量具体细节以提供本发明的透彻理解。然而,应理解,可以在没有这些具体细节的情况下实践本发明。为了简化本公开,并未详细公开一些公知的电路、系统配置和处理步骤。
示出系统的实施例的附图是半图示性的,而非按比例的,并且具体地说,一些尺寸用于澄清陈述,并且在附图中是夸大地示出的。
在公开并且描述具有一些共同特征的多个实施例的情况下,为了澄清并且简化说明、描述及其理解,通常将通过相似标号描述彼此相似或相同的特征。实施例已经为了描述方便性起见而编号为第一实施例、第二实施例等,而非意图具有任何其它意义或对本发明提供限制。
现参照图1,其中示出本发明实施例中的数据存储系统100的框图。数据存储系统100包括:存储器阵列106,经由存储器总线104耦合到控制器102。
控制器102是用于管理存储器阵列106中的数据的存储和检索的处理单元。控制器102可以是嵌入式处理器、控制逻辑或其组合。控制器102可以将所存储的数据从存储器阵列106传送到主机设备140。
存储器阵列106是用于存储数据的非易失性存储器单元。存储器阵列106可以包括NAND闪速存储器阵列、NOR闪速存储器阵列、其它非易失性存储器阵列或其组合。
可以通过存储器裸芯132形成存储器阵列106。存储器裸芯132是用于存储信息的半导体设备。存储器裸芯是可以独立地执行命令并且报告状态的最小单元。例如,存储器裸芯132可以是闪速存储器设备、NAND闪速存储器芯片、NOR闪速存储器设备或其组合。
存储器总线104是通信信道。存储器总线104在控制器102与存储器阵列106之间传递数据和控制信息。
存储器裸芯132可以包括单元阵列134。单元阵列134是用于存储数据的非易失性闪速存储器单元的集合。例如,单元阵列134可以包括单级单元闪速存储器、多级单元闪速存储器、混合功能单元或其组合。
单元阵列134可以包括存储器单元136。存储器单元136是用于存储信息的电子结构。例如,存储器单元136可以是浮置栅极闪速存储器设备。
存储器阵列106可以包括:阵列逻辑单元130,耦合到单元阵列134。阵列逻辑单元130是用于对控制存储器阵列106提供寻址、数据传送和感测以及其它支持的电路,用于从单元阵列134保存并且检索信息。
控制器102可以包括:存储器接口116,耦合到存储器阵列106。存储器接口116可以包括用于通过存储器总线104与存储器阵列106进行通信的电路。
控制器102可以包括:控制单元110,耦合到存储器接口116以及主机接口114。只读存储器118可以耦合到控制单元110。随机存取存储器120可以耦合到控制单元110和只读存储器118。随机存取存储器120可以用作缓冲存储器,以用于临时存储写入到或读取自存储器阵列106的数据。
随机存取存储器120可以包括控制器数据库124。控制器数据库124是数据存储和检索系统。控制器数据库124可以用于存储所读取的阈值信息。
只读存储器118可以包括:软件122,以用于操作控制单元110。软件122是用于实现数据存储系统100的智能的可执行代码。
控制器102可以包括:纠错码单元112,耦合到控制单元110。纠错码单元112是用于计算可以用于在所存储或发送自存储器阵列106的数据中检错、纠错或其组合的纠错码值的处理模块。
纠错码单元112可以使用不同的方法(例如Reed-Solomon码、Hamming码、Bose-Chauduri-Hocquenghem(BCH)码或其组合)来计算一个或多个纠错码值。虽然纠错码单元112是用于计算纠错码的专用元件,但应理解,也可以通过其它方式来计算纠错码,例如,使用控制单元110以计算纠错码。
控制器102可以包括:主机接口114,经由数字连接138耦合到主机设备140。主机设备140是可以使用数据存储系统100以用于存储数据的计算设备。例如,主机设备140可以是膝上型计算机、台式计算机、服务器、智能电话或其组合。
主机接口114可以通过数字连接138在主机设备140与控制器102之间传递命令和数据。例如,主机接口114可以检测对主机设备140的连接,并且基于对主机设备140的连接而生成命令。
数据存储系统100可以通过数字连接138连接到主机设备140。数字连接138是用于在数据存储系统100与主机设备140之间传送数字信息的通信链路。
可以通过各种方式形成数字连接138。例如,数字连接138可以是用于传送信息的通用串行总线(USB)连接。在另一示例中,数字连接138可以是无线通信介质,例如无线保真(Wi-Fi)、红外通信机构、光通信系统、近场通信系统或其组合。
现参照图2,其中示出存储器示图的示例。存储器示图示出数据存储系统100,其包括存储器页面202、存储器块204和数据寄存器212。可以使用图1的存储器裸芯132形成数据存储系统100。存储器裸芯132包括用于存储数据的图1的存储器单元136。
数据存储系统100可以具有用于形成数据存储系统100的存储器裸芯132的数量所确定的各种存储容量。例如,数据存储系统100可以包括2千兆字节(GB)的闪速存储器、8GB、16GB或其它存储器大小。
数据存储系统100可以包括多个存储器块204。存储器块204是图1的存储器阵列106的部分。例如,具有2GB的容量的数据存储系统100可以具有4,096个存储器块204。
存储器块204可以处于不同的逻辑单元222上。逻辑单元222是单线程化的并且允许一次仅一个操作的存储器裸芯132上的存储器块群组。逻辑单元222可以是存储器裸芯132、逻辑存储器分区或其组合中的完整一个。裸芯是包括经由一个单个CE(芯片选通)存取的多个存储器块的物理存储器元件。逻辑单元222(LUN)是单线程化的并且一次仅允许一个操作的裸芯上的逻辑擦除块群组。
存储器块204可以包括擦除块206。擦除块206是可以一次作为单个实体擦除的存储器的最小单元。
存在使用基于块的非易失性随机存取存储器(NVRAM)或NAND闪速存储器的用于数据存储系统100的多个不同配置。擦除命令可以导致时延将随着存储器的年龄增加而增加。
在数据存储系统100的正常操作期间,出于多种原因,需要擦除存储器的块。必须擦除存储器块204之一(例如擦除块206),以重写存储器块204之一。在擦除命令正执行的同时,在擦除块206驻留的逻辑单元222上无法执行除了状态读取之外的其它操作。
正擦除的擦除块206的逻辑单元222中的数据直到擦除命令已经完成才可用于供其它命令使用。因此,在擦除命令的开始时接收到的主机读取操作可以具有读取操作加上执行擦除操作的时延。时延可以定义为存储设备耗费于对主机请求进行响应的时间量。读取时延是在接收到主机读取请求与当所读取的数据开始流回到主机时之间耗费的时间量。
擦除块206中的每一个可以具有编程擦除周期计数218。当擦除块206之一被擦除时,编程擦除周期计数218可以增加。编程擦除周期计数218可以是用于确定存储器块204之一的年龄或磨损等级的一个因素。编程擦除周期计数218是擦除块206之一内的使用等级的测度。闪速存储器设备(例如NAND闪速)具有有限数量的有用编程擦除周期。编程擦除周期计数218可以是如何在擦除块206内替换数据的基本等级确定。NAND闪速存储器和其它存储器类型具有有限数量的有用编程擦除周期。
在数据存储系统100的正常操作期间,出于各种原因,可以对擦除块206之一进行擦除。例如,在NAND闪速存储器中,擦除块206必须在通过用于存储器块204的给定数据集合受重写之前受擦除。
存储器块204可以划分为存储器页面202。存储器页面202是可以在数据存储系统100中读取或写入的最小数据字节群组。存储器页面202是可以编程的存储器的最小可寻址单元。例如,存储器块204中的每一个可以具有64个存储器页面202。
存储器页面202包括数据区域208和空闲区域210。数据区域208是用于存储用户数据的存储器单元群组。数据区域208可以是各种大小。例如,存储器页面202之一的数据区域208可以是2,048字节。
空闲区域210是用于存储关于数据区域208的元数据的存储器单元群组。例如,空闲区域210可以包括纠错码信息、状态信息或其组合。空闲区域210可以具有各种大小。例如,空闲区域210可以是128字节。存储器页面202可以具有用于数据区域208和空闲区域210的4,224字节的大小。
可以通过擦除存储器块204并且将新的数据编程到已经擦除的存储器块204中来更新图1的存储器阵列106。对存储器块204进行编程将数据写入到存储器块204中。
读取存储器页面202之一可能产生读取错误,其中,存储器页面202中的比特中的一个或多个是不正确的。数据的流中的单独误比特的数量描述为误比特率216。误比特率216(BER)定义为数据存储系统100中所存储的数据流中的不正确的比特的数量。可以在纠错码(ECC)所保护的码字内检测不正确的比特。
码字指代多个ECC奇偶字的单个实例所覆盖的数据字节群组。纠错码指代在成组为码字的主机或用户数据集合上所生成的奇偶或冗余数据。误比特率216是闪速存储器中所存储的数据流中的不正确的比特的数量。
数据存储系统100可以包括与不同存储器元件关联的存储器年龄220。存储器年龄220是指示存储器元件的使用等级的值。存储器年龄220可以指示存储系统或存储器组件已经存在或已经处于操作中达多久。例如,存储器年龄220可以基于擦除周期的数量、自从最后一次写入擦除块已经多久、擦除块正产生的平均BER、设备已经运转的温度或其组合。
可以基于年龄度量221而计算存储器年龄220。年龄度量221是用于指示擦除块206的磨损等级的值。年龄度量221可以还包括误比特率216、温度、日历年龄、使用周期或其组合。在另一示例中,年龄度量221可能受编程擦除周期计数218影响。
存在大量用于测量存储器年龄220的方法。例如,存储器年龄220可以基于年龄度量221(例如误比特率216、温度、程序时间、优化读取阈值、擦除时间或其组合)之一的值。存储器年龄220是闪速存储器元件上的磨损量的估计。
存储器年龄220可以表示各种存储器元件。例如,存储器年龄220可以包括存储器裸芯132之一、存储器块204之一、存储器页面202之一、擦除块206之一、存储器单元之一或其组合的年龄。
现参照图3,其中示出存储器块示图的示例。存储器块示图可以描述图1的数据存储系统100的存储器配置。数据存储系统100可以包括存储器块204、擦除块206、瑕疵块306、目标块302、擦除块池304和瑕疵池308。
存储器块204是存储器的单元。具有不再需要的内容的存储器块204可以被设计为擦除块206并且分配给擦除块池304。擦除块池304是可以回收并且在重写之前擦除的擦除块206的集合。目标块302是可以执行读取或写入操作的存储器块204之一。
瑕疵池308是指定为有缺陷并且不重用的瑕疵块306的列表。如果擦除操作失败并且擦除块206之一无法被擦除,则擦除块206之一可以分配给瑕疵池308并且指定为瑕疵块306之一。瑕疵块306可以具有擦除失败状态310,以指示擦除操作已经失败。
现参照图4,其中示出数据存储系统100的示例。图1的数据存储系统100可以包括:控制器102,耦合到存储器阵列106。
数据存储系统100可以通过数字连接138耦合到主机设备140。主机设备140可以包括:主机命令队列402,以用于保存用于数据存储系统100的数据操作命令424。数据操作命令424是用于操控数据的指令。数据操作命令424可以包括读取、写入、擦除、状态、设置参数或其组合。
主机命令队列402可以包括用于操控数据存储系统100中的数据的有序命令集合(例如读取、写入、擦除、状态或其组合)。主机命令队列402中的数据操作命令424可以传送到控制器102,以用于执行。
数据存储系统100可以包括:控制器102,通过存储器总线104耦合到存储器阵列10。控制器102可以包括控制器命令队列404。
控制器命令队列404是用于保存数据操作命令424的结构。控制器命令队列404可以包括来自主机命令队列402的数据操作命令424以及控制器102内所生成的本地命令。控制器命令队列404可以包括用于操控存储器阵列106中的数据的有序命令集合。例如,控制器命令队列404可以包括例如读取、写入、擦除、状态或其组合的命令。
控制器命令队列404可以包括各种数据操作命令424。例如,控制器命令队列404可以包括用于对擦除块206之一进行擦除的数据操作命令424之一。控制器命令队列404可以包括用于读取目标块302的数据操作命令424之一。
在说明性示例中,控制器102可以从控制器命令队列404选择命令(例如擦除命令406),并且将擦除命令406传送到存储器阵列106,以用于执行。擦除命令406是用于对擦除块206中的一个或多个进行擦除的操作。擦除命令406可以包括具有配置信息的操作矩阵408。
擦除命令406可以包括命令状态430。命令状态430是指示操作的结果的值。例如,命令状态430可以指示擦除命令406的成功或失败。
操作矩阵408是用于控制如何执行擦除命令406的值集合。操作矩阵408可以包括用于控制擦除命令406的电性质的擦除操作值426。
例如,操作矩阵408可以包括例如擦除模式410、擦除脉冲计数412、擦除电压414、擦除脉冲宽度416、最大执行时间418、阈值电压420和停驻时间422的值。操作矩阵408可以包括用于完全擦除操作的值、用于一个或多个部分擦除操作的单独值或其组合。
擦除模式410可以指示用于执行的擦除操作的类型。例如,擦除模式410可以指定在单个步骤中执行完全擦除操作。在另一示例中,擦除模式410可以指定通过一个或多个部分擦除操作执行完全擦除操作。部分擦除可以是不完全擦除存储器(即,部分地擦除存储器)的擦除分量。最终擦除可以是完全擦除存储器的擦除分量。最终擦除是多擦除分量操作的最后擦除分量。擦除脉冲计数412可以指示待用于执行擦除命令406的擦除脉冲的数量。使用擦除脉冲计数412的较低值可以产生擦除块206之一的部分擦除。
擦除电压414可以指示待用于执行擦除命令406的电压的值。使用擦除电压414的较低值可以产生擦除块206之一的部分擦除。
擦除脉冲宽度416是在包括部分擦除操作的擦除操作期间施加到擦除块206之一的擦除电压414的时间长度。擦除脉冲是施加达擦除脉冲宽度416所定义的时间段的擦除电压414。对于给定的擦除电压414的值使用较短的擦除脉冲宽度416的值可以产生擦除块206的部分擦除。
最大执行时间418是用于执行完全擦除操作的最大时间量。最大执行时间418可以包括擦除脉冲宽度416的一个或多个周期。
阈值电压420是指示擦除块206之一已经得以擦除的电压等级。阈值电压420可以指示施加到确定NAND单元中所存储的数字值的内部NAND比较器的电压设置。在擦除操作之后,擦除块206的电压等级可以与阈值电压420进行比较,并且如果擦除块206的电压等级满足或超过阈值电压420,则擦除块206已经得以完全擦除。
停驻时间422是各个相继擦除或部分擦除操作之间的时间量。增加各个擦除操作之间的停驻时间422可以增加擦除块206的耐久性或有效寿命。术语耐久性可以是包括NAND闪速设备的存储器设备在包括固态盘驱动器(SSD)的数据存储系统的给定操作生命时段上容忍的操作的数量。
每次执行擦除操作,擦除的动作就可以临时改变图1的存储器单元136的材料的电荷瑕疵。电荷瑕疵可以随着时间而自动地耗散,从而停驻时间422越长,瑕疵自身修复就越多。瑕疵随着时间累积,但如果停驻时间422过短,则瑕疵可能累积得更快。
在另一说明性示例中,擦除命令406可以包括具有用于擦除块206之一的四个部分擦除操作中的每一个的单独值的操作矩阵408。操作矩阵408可以指定擦除电压414初始地设置为高值并且对于每个部分擦除操作而较低。操作矩阵408可以指定擦除脉冲宽度416可以对于每个部分擦除操作保持恒定。
操作矩阵408可以指定指示最大擦除操作时延的最大执行时间418,以确定何时应完成擦除操作。操作矩阵408可以指定用于确定擦除操作是否已经成功的阈值电压420。操作矩阵408可以指定用于调度单独部分擦除操作的停驻时间(dwell time)422。
操作矩阵408可以用于执行擦除优化428。擦除优化428是用于修改擦除命令406的行为的操作。擦除优化428可以通过修改擦除命令406的擦除操作值426来改进擦除命令406的性能。例如,擦除优化428可以改变擦除电压414、擦除脉冲宽度416和停驻时间422,以改进擦除命令406的总体性能。
已经发现,通过操作矩阵408执行擦除命令406增加灵活性和性能。凭借通过擦除命令中的每一个包括可变操作参数,图1的数据存储系统100可以通过更精细的粒度来控制擦除操作,以增加灵活性并且增加性能。
已经发现,通过指定停驻时间422的操作矩阵408执行擦除命令406增加数据存储系统100的耐久性。优化停驻时间422可以减少擦除操作对擦除块206的物理影响,并且增加擦除块206的耐久性或有效寿命。
已经发现,通过停驻时间422执行擦除命令406提供更长的总体擦除操作的持续时间,这样改进耐久性。将模块化擦除操作配置为允许更长的擦除时间产生更高的耐久性,而不牺牲时延。
现参照图5,其中示出擦除操作502的示例。擦除操作502可以在完全擦除操作中擦除图2的擦除块206之一。
擦除操作502可以包括:接收擦除命令406;在擦除持续时间504上执行擦除命令406;以及当完成时提供命令状态430。擦除持续时间504是接收到擦除命令406与完成擦除命令406之间的时间。完全擦除时间508可以包括接收擦除命令406、擦除持续时间504以及提供命令状态430。例如,传统闪速存储器系统可以在3-30毫秒(ms)的范围中执行完全擦除操作。在另一示例中,针对最大耐久性所配置的闪速存储器系统可以在10-30ms的范围中执行完全擦除操作。用于完全擦除操作的时间将优选地是10ms之下。
对擦除块206之一进行擦除所需的时间可以随擦除块206的使用以及图2的存储器年龄220而加长。在另一示例中,用于擦除块206之一的擦除时间可以开始于2ms,并且在图1的数据存储系统100的寿命的结束时逐渐延长为长达25ms。
现参照图6,其中示出通过擦除分量604进行的擦除操作602的示例。擦除操作602可以划分为可以依次执行的擦除分量604。擦除分量604可以在初始化或启动时间时被配置一次,并且不随着图1的数据存储系统100操作而改变。
通过限制给定擦除操作中的擦除脉冲的数量,NAND闪速存储器中的擦除命令406可以分解为分段。通过限制擦除脉冲的数量,擦除操作不能通过单个擦除命令完成,但将不超过给定的命令处理时间量。擦除操作602于是包括多个擦除分量604。
使用擦除分量允许控制固件,以对用于正通过分量擦除命令擦除的裸芯/LUN的其它操作进行交错。如果不存在对于正擦除的设备所目标的(targeted)其它主机操作,则软件也可以执行将把多个擦除分量堆叠在一起的“前瞻(look ahead)”操作。
擦除分量604是擦除操作602的一部分。擦除分量604中的每一个可以表示使用通过图4的操作矩阵408配置的擦除操作602来部分擦除图2的擦除块206。擦除分量604可以是作为多分量闪速擦除操作的分量的发送到闪速的擦除命令。归因于脉冲计数限制,一个或多个擦除分量可以在存储器被完全擦除之前完成。
擦除操作602可以执行擦除分量604中的一个或多个,直到擦除操作602完成。当图4的命令状态430指示成功擦除时,擦除操作602完成。命令状态430指示在擦除分量604的结束时的状态。
擦除操作602可以包括重新配置擦除功能608,以用于将操作矩阵408应用于擦除分量604。可以在不同的时间执行重新配置擦除功能608。例如,重新配置擦除功能608可以在制造期间在驱动器初始化时间执行一次。在另一示例中,重新配置擦除功能608可以对于数据存储系统100在驱动器启动时间得以执行,并且不随着数据存储系统100操作而改变。
擦除操作602可以接收具有操作矩阵408的部分擦除命令610,并且对擦除块206之一进行擦除。可以根据操作矩阵408中的设置来执行部分擦除命令610。
擦除操作602可以包括擦除持续时间612。在擦除持续时间612期间,部分擦除命令610可以在图1的存储器阵列106上操作,以部分地对擦除块206之一进行擦除,并且其它操作不能执行。
当擦除分量604已经完成时,擦除操作602可以提供命令状态430。命令状态430指示操作(例如部分擦除命令610)的状态。例如,命令状态430可以指示部分擦除命令610产生不完全擦除或完全擦除状况。
图1的数据存储系统100包括基于块的存储器,并且当正受存取的存储器执行擦除操作时可能经历高时延时间。当块擦除时间归因于存储器设备上的高使用率而开始加长时,该情况朝着生命的结束而恶化。
已经发现,多次执行擦除分量604可以减少命令时延。擦除块206可以变为擦除的,如同通过执行擦除分量604中的一个或多个来执行正常擦除操作,这样可以提供用于转译为最大时延时间的图4的最大执行时间418的保证值。
现参照图7,其中示出使用模块化擦除分量704的擦除操作702的示例。擦除操作702可以划分为可以依次执行的擦除分量704。
擦除分量704是擦除操作702的一部分。擦除分量704中的每一个可以表示使用通过图4的操作矩阵408配置的擦除操作702来部分地擦除图2的擦除块206之一。擦除分量704可以包括重新配置擦除功能708、部分擦除命令710、擦除持续时间712以及图4的命令状态430。
擦除操作702可以执行擦除分量704中的一个或多个,直到擦除操作702完成。当命令状态430指示成功擦除时,擦除操作702完成。命令状态430指示在擦除分量704的结束时的状态。
擦除操作702可以包括用于执行部分擦除的擦除分量704。擦除分量704中的每一个可以包括用于将操作矩阵408应用于擦除分量704之一的重新配置擦除功能708。
可以对于擦除分量704中的每一个执行重新配置擦除功能708,以提供针对擦除操作702的精细粒度控制。操作矩阵408可以包括用于擦除分量704中的每一个的参数集合。
擦除操作702可以接收具有操作矩阵408的部分擦除命令702,并且对擦除块206之一进行擦除。可以根据操作矩阵408中的设置来执行部分擦除命令710。
擦除操作702可以包括擦除持续时间712。在擦除持续时间712期间,部分擦除命令702可以在图1的存储器阵列106上操作,以部分地对擦除块206之一进行擦除,并且其它操作无法执行。
当擦除分量704已经完成时,擦除操作702可以提供命令状态430。命令状态430指示操作(例如部分擦除命令710)的状态。例如,命令状态430可以指示部分擦除命令710产生不完全擦除或完全擦除条件。在另一示例中,命令状态430可以指示部分擦除操作处于进展中(例如不完全擦除状态720)。
已经发现,基于在擦除分量704的完成时接收到的状态而动态地重新配置擦除分量704中的每一个可以增加擦除操作702的灵活性。对于擦除分量704中的每一个增加图4的擦除电压414确保完成擦除操作702。
现参照图8,其中示出交织式擦除处理802的示例。交织式擦除处理802可以包括部分擦除操作中的一些之间的介入命令806。
介入命令806(例如读取或写入命令)可以是图4的数据操作命令424。可以在各部分擦除操作之间执行介入命令806,以减少命令时延。
擦除操作804可以包括产生完全擦除操作的部分擦除分量812的集合。部分擦除分量812是不完全擦除图2的擦除块206的擦除分量。将擦除操作804实现为部分擦除操作集合使得能够在各部分擦除分量812之间执行介入命令806。
例如,擦除操作804可以包括部分擦除分量812中的两个以及最终擦除分量810。擦除操作804可以包括最终擦除分量810。最终擦除分量810是多擦除分量操作的最后擦除分量。图4的命令状态430可以指示擦除操作804已经成功完成(例如擦除完成状态816)。
图2的擦除块206在最终擦除分量810之后得以完全擦除。在擦除操作804已经完成之后,交织式擦除处理802可以包括不与擦除操作804重叠的其它数据操作命令424。
交织式擦除处理802可以包括具有部分擦除操作集合的交织式擦除操作808,其中,介入命令806中的一个或多个在部分擦除操作内交织。在各部分擦除操作之间交织介入命令806可以避免关于主机命令的高时延。高时延可以是等待擦除操作完成的结果。
在部分擦除操作之一之后,交织式擦除操作808可以包括停驻延迟814。停驻延迟814是在执行另一部分擦除操作之前达图4的停驻时间422所指示的时间量的暂停。用于停驻时间422的停驻延迟814可以有助于减少擦除块206上的磨损。
将交织式擦除操作808分离为一个或多个部分擦除操作可以支持在各部分擦除操作之间具有停驻时间延迟。将部分擦除操作彼此分离达停驻时间422可以产生图1的数据存储系统100上的较低的磨损,并且延长数据存储系统100的操作寿命。
已经发现,在图7的各擦除分量704之间执行介入命令806可以减少命令时延。在不等待完全擦除操作完成的情况下执行用于执行的介入命令806允许介入命令806执行得更快,并且具有更低的命令时延。
现参照图9,其中示出擦除处理902的示例。擦除处理902可以在各部分擦除操作之间通过图8的介入命令806执行擦除操作。
擦除处理902可以包括配置模块904、部分擦除模块906、检查状态模块908、介入命令模块912、优化模块914和更新模块924。优化模块914可以包括擦除参数模块916、总时间模块918、停驻时间模块920和存储器年龄模块922。
根据使用术语的上下文,在此指代的术语“模块”在本发明中可以包括软件、硬件或其组合。例如,软件可以是机器代码、固件、嵌入式代码以及应用软件。此外,例如,硬件可以是电路、处理器、计算机、集成电路、集成电路内核、微机电系统(MEMS)、无源设备、环境传感器或其组合。
配置模块904可以通过接收图4的操作矩阵408并且对于图7的擦除分量704中的每一个计算图4的擦除操作值426来配置擦除处理902。配置模块904可以确定用于图4的擦除模式410、图4的擦除脉冲计数412、图4的擦除电压414以及图4的擦除脉冲宽度416的值。配置模块904可以处理用于图4的最大执行时间418、图4的阈值电压420以及图4的停驻时间422的值。
例如,配置模块904可以使用擦除模式410以确定待执行的擦除的类型。如果擦除模式410指示完全擦除操作,则擦除处理902可以执行为单个完全擦除操作。如果擦除模式410指示部分擦除操作,则擦除处理902可以执行为一系列部分擦除分量,以支持执行介入命令806。
在另一示例中,配置模块904可以设置用于擦除脉冲计数412、擦除电压414和擦除脉冲宽度416的操作值。操作值可以确定在擦除分量704之一期间对图2的擦除块206之一的图1的存储器单元136执行的电荷的改变程度。
在又一示例中,配置模块904可以确定擦除分量704中的当前擦除分量与擦除分量704的下一擦除分量之间的停驻时间422的量。停驻时间422的延迟可以降低图1的数据存储系统100的存储器单元136上的磨损并且增加功能寿命。
在另一示例中,配置模块904可以基于最大执行时间418而调整图4的擦除命令406的行为。配置模块904可以基于最大执行时间418的值而计算用于擦除命令406的操作值。用于最大执行时间418的较小值可以产生用于擦除电压414的较高值、较少数量的擦除分量704以及用于停驻时间422的较低值,以确保部分擦除操作和介入命令806可以在最大执行时间418内完成。最大执行时间418可以用于强制用于数据存储系统100的特定最大命令时延。
配置模块904可以设置用于擦除处理902的操作值中的一个或多个。当配置模块904完成时,控制流程可以传递到部分擦除模块906。
部分擦除模块906可以使用来自操作矩阵408的操作值对擦除块206中的所选择的擦除块执行部分擦除操作。部分擦除模块906可以形成擦除分量之一的部分。
当部分擦除模块906通过将擦除电压414施加到擦除块206来有源地执行部分擦除操作时,另外操作无法发生在擦除块206上的图2的逻辑单元222上。部分擦除模块906可以设置用于擦除块206中的所选择的擦除块的图4的命令状态430,以指示擦除命令406在逻辑单元222中处于进展中。
部分擦除模块906可以设置命令状态430,以指示擦除命令406的状态。命令状态430可以指示擦除块206完全擦除并且准备使用,或部分擦除仍处于进展中并且擦除分量704中的另一个仍需要完成擦除命令406。
部分擦除模块906可以实现用于停驻时间422的图8的停驻延迟814,以增加耐久性。当部分擦除模块906已经完成时,控制流程可以传递到检查状态模块908。
检查状态模块908可以通过检查命令状态430来确定擦除命令406是否已经完全对擦除块206中的所选择的擦除块进行擦除。如果命令状态430指示已经完全对擦除块206进行擦除,则检查状态模块908可以计算并且更新用于擦除块206的存储器年龄220,然后擦除命令406可以终止。
如果命令状态430匹配图3的擦除失败状态310,则擦除操作已经失败,并且擦除块206可以基于命令状态430而受处理。例如,具有擦除失败状态310的擦除块206可以被重新配置用于擦除重试,分配给图3的瑕疵池308,或其组合。如果命令状态430指示尚未完全对擦除块206进行擦除,则控制流程可以传递到介入命令模块912。
介入命令模块912可以在各擦除分量704之间的间隔中标识并且执行介入命令806中的一个或多个。执行介入命令806而不等待完全擦除操作可以减少用于介入命令806的命令时延930。命令时延930是命令执行所需的时间量。
介入命令模块912可以通过搜索命令队列标识介入命令806之一,以标识受调度以在执行擦除命令406期间操作的图4的任何数据操作命令424。命令队列是待执行的数据操作的列表。例如,命令队列可以包括图4的控制器命令队列404、图4的主机命令队列402或其组合。
命令队列中的命令(例如读取命令或写入命令)可以在图3的目标块302上操作。一旦已经在命令队列中标识出可用命令,介入命令模块912就可以检查以查看所标识的命令的目标块302处于逻辑单元222的与擦除块206不同的块上。逻辑单元222可以包括整个存储器裸芯。
如果目标块302的逻辑单元222与擦除块206的不同,则命令可以指定为介入命令806,并且介入命令模块912可以在目标块302上执行介入命令806之一。
当介入命令806已经完成时,介入命令模块912可以评估是否可以在执行另一部分擦除之前执行另一命令。例如,介入命令模块912可以计算是否可以在停驻时间422的时间间隔内执行另一介入命令806。在另一示例中,介入命令模块912可以计算是否可以在不超过图4的最大执行时间418的情况下执行另一介入命令806。
介入命令模块912可以执行介入命令806,直到可用命令耗尽,或直到可用时间已经结束。介入命令模块912可以依次执行包括不同类型的介入命令806的来自命令队列的多于一个的介入命令806,以改进性能。介入命令模块912可以在擦除操作中的一个与擦除操作中的另一个之间执行介入命令806中的一个或多个不同的介入命令。在已经完成介入命令806中的最终介入命令之后,介入命令模块912可以将控制流程传递到优化模块914。
优化模块914可以计算用于擦除分量704之一的操作值。优化模块914可以包括擦除参数模块916、总时间模块918、停驻时间模块920和存储器年龄模块922。优化模块914可以通过改变用于擦除分量704之一的操作值来执行图4的擦除优化428。
优化模块914可以通过修改用于擦除分量704的操作值来管理用于擦除操作的总执行时间932的实现方式。优化模块914可以确保用于擦除操作的总执行时间932小于或等于最大执行时间418。
优化模块914可以取决于优化模块914的内部配置而将控制传递到模块中的一个或多个。例如,优化模块914可以基于擦除模式410而执行其它模块。在另一示例中,优化模块914可以基于预先定义的配置而选择用于执行的其它模块。在优化模块914已经完成之后,控制流程可以传递到更新模块924。
擦除参数模块916可以计算用于下一部分擦除操作的擦除操作值。擦除操作值可以包括擦除脉冲计数412、擦除电压414、擦除电压414和擦除脉冲宽度416。
擦除操作值可以通过不同方式而变化。例如,擦除参数模块916可以调度用于擦除脉冲计数412、擦除电压414和擦除脉冲宽度416的增加值的序列。所述值可以单独地或彼此一起地增加。
在另一示例中,擦除参数模块916可以调度用于擦除脉冲计数412、擦除电压414和擦除脉冲宽度416的降低值的序列。所述值可以单独地或彼此一起地降低。
总时间模块918可以确定是否可以在最大执行时间418内执行另一介入命令806。总时间模块918可以确保擦除处理902在最大执行时间418所定义的间隔内完成。
停驻时间模块920可以确定停驻时间422的值。停驻时间422是在执行部分擦除操作以减少存储器单元136上的磨损之后数据存储系统100可以等待的时间量。
擦除操作值可以通过不同方式而变化。停驻时间422可以是固定值、基于擦除块206的图2的存储器年龄220计算的值、基于擦除操作值的值或其组合。停驻时间422可以关于擦除分量704中的每一个并且关于擦除块206中的每一个而变化。
例如,停驻时间模块920可以调度用于擦除分量704中的每一个的停驻时间422的增加值的序列。在另一示例中,停驻时间模块920可以调度用于擦除分量704中的每一个的停驻时间422的降低值的序列。
存储器年龄模块922可以基于擦除块206中的每一个的存储器年龄220而计算用于下一部分擦除操作的擦除操作值。擦除操作值可以包括擦除脉冲计数412、擦除电压414、擦除电压414和擦除脉冲宽度416。
可以基于擦除块206的存储器年龄220而计算擦除脉冲计数412。随着擦除块206的存储器年龄220增加,擦除块206可能需要用于擦除脉冲计数412的更高值,以实现相同等级的擦除或部分擦除。
可以基于擦除块206的存储器年龄220而计算擦除电压414。随着擦除块206的存储器年龄220增加,擦除块206可能需要用于擦除电压414的更高值,以实现相同等级的擦除或部分擦除。
可以通过各种方式计算擦除脉冲宽度416。例如,可以基于擦除块206的存储器年龄220而计算擦除脉冲宽度416。随着擦除块206的存储器年龄220增加,擦除块206可能需要用于擦除脉冲宽度416的更长值,以实现相同等级的擦除或部分擦除。
更新模块924可以通过接收优化模块914中所计算的操作值并且基于擦除操作值426而配置下一部分擦除操作来配置擦除处理902。在完成之后,更新模块924可以将控制流程传递回到部分擦除模块906。
擦除处理902的模块可以实现于软件、硬件或其组合中。例如,可以通过凭借图1的控制单元110执行图1的软件122来执行擦除处理902。软件122可以通过发送配置命令以调谐(tune)数据存储系统100上的擦除设置或通过仅多次执行部分擦除操作来实现擦除处理902。.
擦除处理902可以在作为专用硬件单元的硬件中得以执行,并且然后提供命令接口以存取擦除分量。擦除处理902可以实现为定制命令,或可以通过修改数据存储系统100的擦除命令406而得以实现。
源自擦除处理902的物理变换产生数据存储系统100的存储器单元136中的电荷等级的改变。由于电荷等级在物理世界中改变,例如,擦除处理902随部分擦除操作的周期继续并且执行介入命令806,因此存储器单元136中的电荷等级的增量改变了创建关于电荷等级的附加信息,其用于数据存储系统100的继续操作,并且确定电荷等级的进一步改变,以完成擦除处理902。
控制器102可以使用控制单元110上执行的软件122以实现擦除处理902。例如,软件122可以包括配置模块904、部分擦除模块906、检查状态模块908、介入命令模块912、优化模块914和更新模块924。软件122可以包括擦除参数模块916、总时间模块918、停驻时间模块920和存储器年龄模块922。
控制器102可以使用控制单元110和软件122实现擦除处理902,以控制图1的纠错码单元112、图1的主机接口114、图1的存储器接口116、图1的只读存储器118、图1的随机存取存储器120以及图1的数据库124。控制器102可以使用控制单元110和软件122实现擦除处理902,以控制包括图1的阵列逻辑130、图1的存储器裸芯132、图1的单元阵列134和存储器单元136的存储器阵列106。
控制单元110可以执行软件122,以用于配置模块904配置存储器阵列106。控制单元110可以执行软件122,以用于部分擦除模块906部分地擦除存储器阵列106。控制单元110可以执行软件122,以用于检查状态模块908确定擦除操作的状态。
控制单元110可以执行软件122,以用于介入命令模块912执行介入命令806。控制单元110可以执行软件122,以用于优化模块914计算擦除操作值426。控制单元110可以执行软件122,以用于更新模块924更新操作矩阵408。
数据存储系统100描述模块功能或顺序作为示例。模块可以不同地分区。例如,部分擦除模块906和检查状态模块908可以组合。模块中的每一个可以单独地或独立于其它模块而操作。
此外,一个模块中所生成的数据可以由另一模块在无需彼此直接耦合的情况下使用。例如,优化模块914可以从检查状态模块9089接收命令状态430。
已经发现,在介入命令806的情况下执行擦除操作804可以减少用于基于块的NAND闪速存储器的主机存取时延。甚至由于擦除时间随着擦除块206的存储器年龄220增加而增加,因此使得介入命令806能够在完成擦除块206的擦除之前完成可以允许更多的命令在更少的时间中执行,提供用于介入命令806的低时延。
已经发现,在介入命令806的情况下执行擦除操作804可以减少复杂度并且简化存储器操作。因为可以在没有存储器冲突的情况下执行擦除操作和介入命令806,所以擦除操作无需中断并且在稍后时间重启。
已经发现,随着擦除块206的存储器年龄220增加,在介入命令806的情况下执行擦除操作804可以提供随着时间一致的性能。通过交织介入命令806,命令时延可以与实际擦除时间解耦合,并且提供更一致的操作。
已经发现,在各擦除分量704之间变化擦除脉冲宽度416和擦除电压414可以增加灵活性。在各擦除分量704之间改变擦除电压414和擦除脉冲宽度416允许数据存储系统100动态地适配存储器单元132中的电荷量,以执行完全擦除。
已经发现,基于擦除块206的存储器年龄220而在各擦除分量704之间变化擦除电压414和擦除脉冲宽度416可以增加灵活性。基于擦除块206的存储器年龄220而调整擦除电压414和擦除脉冲宽度416可以允许数据存储系统100动态地适配存储器单元132中的电荷量,以执行完全擦除。
已经发现,在各擦除分量704之间提供达停驻时间422的延迟可以增强耐久性并且增加操作寿命。允许存储器单元136通过暂停达停驻时间422而在各擦除分量704之间恢复减少NAND闪速存储器的物理结构上的磨损并且导致更少的磨损。通过在较长时间段上执行温和的擦除操作增强耐久性。为了补偿超过最大读取时延的擦除操作,擦除操作可以划分为多个部分擦除操作,以允许在各部分擦除操作之间执行介入命令806。
已经发现,基于擦除块206的存储器年龄220而在各擦除分量704之间变化停驻时间422可以增加操作寿命。允许擦除块206通过动态地增加用于具有较高值的存储器年龄220的擦除块206的停驻时间422而在各擦除分量704恢复减少了NAND闪速存储器的物理结构上的磨损并且导致更少的磨损。
现参照图10,其中示出本发明另一实施例中的在图1的数据存储系统100中具有模块化擦除的数据管理的方法1000的流程图。在数据存储系统中具有模块化擦除的数据管理的方法,其中,存储器阵列具有擦除块和目标块,其中,逻辑单元中的所述目标块与所述擦除块分离,包括:在块1002中,对所述擦除块执行擦除操作,所述擦除操作具有操作矩阵,被配置用于所述擦除块的部分擦除;在块1004中,更新用于所述擦除块的命令状态;在块1006中,基于指示不完全擦除状态的所述命令状态而在所述目标块上启用介入命令,其中,所述介入命令更新所述命令状态;在块1008中,基于所述命令状态而执行擦除优化;在块1010中,基于所述擦除优化而执行附加擦除操作;以及在块1012中,基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
因此,已经发现,本发明的数据存储系统通过模块化擦除对于数据存储系统提供重要的并且此前未知的并且不可用的解决方案、能力以及功能方面。所得方法、处理、装置、设备、产品和/或系统是直接的、成本有效的、不复杂的、高度多样化的、精确的、灵敏的并且有效的,并且可以通过关于就绪的、高效的并且经济的制造、应用和利用来适配已知组件而得以实现。
本发明的另一重要方面是,其有价值地支持并且服务于减少成本、简化系统以及增加性能的历史趋势。
本发明的这些和其它有价值的方面因此将现有技术推进到至少下一等级。
虽然已经结合具体实施方式描述了本发明,但应理解,根据以上所提供的描述,很多替选、修改和变形将对于本领域技术人员是清楚的。相应地,期望涵盖落入所附权利要求的范围内的所有这些替选、修改和变形。在此阐述或在附图中示出的所有实施例是在说明性以及非限定性的意义上解释的。
本发明提供一种在具有存储器阵列的数据存储系统中具有模块化擦除的数据管理的方法,其中,存储器阵列具有擦除块和目标块,其中,逻辑单元中的所述目标块与所述擦除块分离,包括:对所述擦除块执行擦除操作,所述擦除操作具有操作矩阵,被配置用于所述擦除块的部分擦除;更新用于所述擦除块的命令状态;基于指示不完全擦除状态的所述命令状态而在所述目标块上启用介入命令,其中,所述介入命令更新所述命令状态;基于所述命令状态而执行擦除优化;基于所述擦除优化而执行附加擦除操作;以及基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
本发明提供一种数据存储系统,包括:配置模块,用于配置具有擦除块和目标块的存储器阵列,逻辑单元中的所述目标块与所述擦除块分离;部分擦除模块,耦合到所述配置模块,以用于:对所述擦除块执行擦除操作,所述擦除操作具有被配置用于所述擦除块的部分擦除的操作矩阵,所述擦除操作更新用于所述擦除块的命令状态;以及基于擦除优化而执行附加擦除操作;介入命令模块,耦合到所述部分擦除模块,以用于基于指示不完全擦除的所述命令状态而对所述目标块执行介入命令,其中,所述介入命令更新所述命令状态;优化模块,耦合到所述介入命令模块,以用于基于所述命令状态而执行擦除优化;以及更新模块,耦合到所述优化模块,以用于基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
本发明提供一种数据存储系统,包括:控制器,耦合到具有擦除块和目标块的存储器阵列,逻辑单元中的所述目标块与所述擦除块分离;控制单元,耦合到所述存储器阵列,以用于:对所述擦除块执行擦除操作,所述擦除操作具有被配置用于所述擦除块的部分擦除的操作矩阵,所述擦除操作更新用于所述擦除块的命令状态;以及基于擦除优化而执行附加擦除操作;存储器接口,耦合到所述控制单元,以用于基于指示不完全擦除的所述命令状态而对所述目标块执行介入命令,其中,所述介入命令更新所述命令状态;阵列逻辑,耦合到所述存储器接口,以用于基于所述命令状态而执行擦除优化;以及数据库,耦合到所述控制单元,以用于基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。

Claims (20)

1.一种在具有存储器阵列的数据存储系统中具有模块化擦除的数据管理的方法,其中,存储器阵列具有擦除块和目标块,其中,逻辑单元中的所述目标块与所述擦除块分离,包括:
对所述擦除块执行擦除操作,所述擦除操作具有操作矩阵,被配置用于所述擦除块的部分擦除;
更新用于所述擦除块的命令状态;
基于指示不完全擦除状态的所述命令状态而在所述目标块上启用介入命令;
在执行所述介入命令之后基于所述命令状态而执行擦除优化;
基于所述擦除优化而执行附加擦除操作;以及
基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
2.如权利要求1所述的方法,还包括:
基于年龄度量而计算所述擦除块的存储器年龄;以及
基于所述存储器年龄而执行所述擦除优化。
3.如权利要求1-2中的任一项所述的方法,其中:
执行所述擦除优化包括:计算用于所述操作矩阵的擦除操作值;以及
通过所述擦除操作值执行所述附加擦除操作。
4.如权利要求1-3中的任一项所述的方法,还包括:
计算用于所述擦除块的停驻时间;以及
在所述附加擦除操作之前实现所述停驻时间的停驻延迟,以增加耐久性。
5.如权利要求1-4中的任一项所述的方法,其中,执行所述介入命令包括:实现小于用于所述擦除操作的最大执行时间的、用于所述擦除操作的总执行时间。
6.如权利要求1-5中的任一项所述的方法,其中,启用所述介入命令包括:在具有被配置用于所述擦除块的部分擦除的操作矩阵的擦除操作与所述擦除优化之间执行多于一个的所述介入命令。
7.一种数据存储系统,包括:
配置模块,用于配置具有擦除块和目标块的存储器阵列,逻辑单元中的所述目标块与所述擦除块分离;
部分擦除模块,耦合到所述配置模块,以用于:对所述擦除块执行擦除操作,所述擦除操作具有被配置用于所述擦除块的部分擦除的操作矩阵,所述擦除操作更新用于所述擦除块的命令状态;以及基于擦除优化而执行附加擦除操作;
介入命令模块,耦合到所述部分擦除模块,以用于基于指示不完全擦除的所述命令状态而对所述目标块执行介入命令;
优化模块,耦合到所述介入命令模块,以用于在执行所述介入命令之后基于所述命令状态而执行擦除优化;以及
更新模块,耦合到所述优化模块,以用于基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
8.如权利要求7所述的系统,还包括:
检查状态模块,耦合到所述部分擦除模块,以用于基于年龄度量而计算所述擦除块的存储器年龄;以及
其中:
所述优化模块用于基于所述存储器年龄而执行所述擦除优化。
9.如权利要求7所述的系统,还包括:
检查状态模块,耦合到所述部分擦除模块,以用于计算所述擦除块的存储器年龄;以及
其中:
所述优化模块用于:计算用于所述操作矩阵的擦除操作值,所述擦除操作值具有擦除电压和擦除脉冲宽度;以及基于所述存储器年龄而设置所述擦除电压,所述擦除电压对于所述存储器年龄的较大值而具有较高值;以及
所述部分擦除模块用于通过用于部分地擦除所述擦除块的擦除电
压和擦除脉冲宽度来执行所述附加擦除操作。
10.如权利要求7-9中的任一项所述的系统,其中:
所述优化模块用于计算用于所述操作矩阵的擦除操作值;以及
所述部分擦除模块用于通过所述擦除操作值来执行所述附加擦除操作。
11.如权利要求7-10中的任一项所述的系统,其中:
所述优化模块包括停驻时间模块,以用于计算用于所述擦除块的停驻时间;以及
所述部分擦除模块用于在所述附加擦除操作之前实现所述停驻时间的停驻延迟,以增加耐久性。
12.如权利要求7-11中的任一项所述的系统,其中,所述优化模块包括总时间模块,以用于实现小于用于所述擦除操作的最大执行时间的、用于所述擦除操作的总执行时间。
13.如权利要求7-12中的任一项所述的方法,其中,所述介入命令模块用于在具有被配置用于所述擦除块的部分擦除的操作矩阵的擦除操作与所述擦除优化之间执行多于一个的所述介入命令。
14.一种数据存储系统,包括:
控制器,耦合到具有擦除块和目标块的存储器阵列,逻辑单元中的所述目标块与所述擦除块分离;
控制单元,耦合到所述存储器阵列,以用于:对所述擦除块执行擦除操作,所述擦除操作具有被配置用于所述擦除块的部分擦除的操作矩阵,所述擦除操作更新用于所述擦除块的命令状态;以及基于擦除优化而执行附加擦除操作;
存储器接口,耦合到所述控制单元,以用于基于指示不完全擦除状态的所述命令状态而对所述目标块执行介入命令;
阵列逻辑,耦合到所述存储器接口,以用于在执行所述介入命令之后基于所述命令状态而执行擦除优化;以及
数据库,耦合到所述控制单元,以用于基于所述附加擦除操作而将所述命令状态更新为擦除完成状态。
15.如权利要求14所述的系统,其中:
所述控制单元用于基于年龄度量而计算所述擦除块的存储器年龄;以及
所述阵列逻辑用于基于所述存储器年龄而执行所述擦除优化。
16.如权利要求14所述的系统,其中,所述控制单元用于:计算所述擦除块的存储器年龄;计算用于所述操作矩阵的擦除操作值,所述擦除操作值具有擦除电压和擦除脉冲宽度;基于所述存储器年龄而设置所述擦除电压,其中,所述擦除电压对于所述存储器年龄的较大值而具有较高值;以及通过被配置用于部分地擦除所述擦除块的所述擦除电压和所述擦除脉冲宽度来执行所述附加擦除操作。
17.如权利要求14-16中的任一项所述的系统,其中:
所述数据库用于计算用于所述操作矩阵的擦除操作值;以及
所述控制单元用于通过所述擦除操作值来执行所述附加擦除操作。
18.如权利要求14-17中的任一项所述的系统,其中,所述控制单元用于:计算用于所述擦除块的停驻时间;以及在所述附加擦除操作之前实现所述停驻时间的停驻延迟,以增加耐久性。
19.如权利要求14-18中的任一项所述的系统,其中,所述阵列逻辑用于实现小于用于所述擦除操作的最大执行时间的、用于所述擦除操作的总执行时间。
20.如权利要求14-19中的任一项所述的系统,其中,所述存储器接口用于在具有被配置用于所述擦除块的部分擦除的操作矩阵的擦除操作与所述擦除优化之间执行多于一个的所述介入命令。
CN201480062687.XA 2013-11-15 2014-11-13 在数据存储系统中的具有模块化擦除的数据管理 Active CN106170833B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/082,031 US9152555B2 (en) 2013-11-15 2013-11-15 Data management with modular erase in a data storage system
US14/082,031 2013-11-15
PCT/US2014/065401 WO2015073639A1 (en) 2013-11-15 2014-11-13 Data management with modular erase in a data storage system

Publications (2)

Publication Number Publication Date
CN106170833A true CN106170833A (zh) 2016-11-30
CN106170833B CN106170833B (zh) 2020-01-07

Family

ID=52023625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480062687.XA Active CN106170833B (zh) 2013-11-15 2014-11-13 在数据存储系统中的具有模块化擦除的数据管理

Country Status (5)

Country Link
US (1) US9152555B2 (zh)
EP (1) EP3069348B1 (zh)
KR (1) KR101822313B1 (zh)
CN (1) CN106170833B (zh)
WO (1) WO2015073639A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110634524A (zh) * 2018-06-25 2019-12-31 北京兆易创新科技股份有限公司 一种非易失存储器擦除方法及装置
CN111033478A (zh) * 2017-07-28 2020-04-17 思杰系统有限公司 使用磁盘高速缓存的动态trim处理
CN111213208A (zh) * 2017-08-31 2020-05-29 美光科技公司 擦除页面检查

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733908B2 (en) * 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9274866B2 (en) * 2013-12-09 2016-03-01 International Business Machines Corporation Programming non-volatile memory using a relaxed dwell time
US9389956B2 (en) * 2014-01-10 2016-07-12 International Business Machines Corporation Implementing ECC control for enhanced endurance and data retention of flash memories
US9384845B2 (en) * 2014-11-18 2016-07-05 Sandisk Technologies Llc Partial erase of nonvolatile memory blocks
US9588702B2 (en) * 2014-12-30 2017-03-07 International Business Machines Corporation Adapting erase cycle parameters to promote endurance of a memory
US10203884B2 (en) * 2016-03-30 2019-02-12 Intel Corporation Methods and apparatus to perform erase-suspend operations in memory devices
US10496289B2 (en) * 2016-06-16 2019-12-03 Nuvoton Technology Corporation System and methods for increasing useful lifetime of a flash memory device
KR102585214B1 (ko) 2016-09-22 2023-10-05 삼성전자주식회사 가변 소거 유닛 크기를 가지는 스토리지 디바이스 및 이를 포함하는 레이드 스토리지 시스템
KR102618699B1 (ko) * 2016-09-28 2024-01-02 삼성전자주식회사 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템
US20180285562A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Computing system with protection against memory wear out attacks
KR102626048B1 (ko) * 2018-03-21 2024-01-18 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
TWI664634B (zh) * 2018-08-17 2019-07-01 慧榮科技股份有限公司 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
US11188461B2 (en) * 2019-06-19 2021-11-30 Micron Technology, Inc. Garbage collection adapted to memory device life expectancy
US11164634B2 (en) 2019-06-24 2021-11-02 Western Digital Technologies, Inc. Non-volatile storage system with fast SLC operation
US11698745B2 (en) 2021-04-05 2023-07-11 Western Digital Technologies, Inc. Pre-erasure of memory in storage devices
JP2023044509A (ja) * 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステムおよびメモリシステムの制御方法
CN114860624B (zh) * 2022-05-23 2023-04-28 深圳市芯存科技有限公司 一种基于Nandflash芯片的数据擦写方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111174A1 (en) * 2008-03-03 2009-09-11 Rambus Inc. Piecewise erasure of flash memory
US20120057410A1 (en) * 2010-09-02 2012-03-08 Macronix International Co., Ltd. Method and Apparatus for the Erase Suspend Operation

Family Cites Families (444)

* Cited by examiner, † Cited by third party
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
US4916652A (en) 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
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 デグリッチ回路
EP0935255A2 (en) 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
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
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
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
US5416915A (en) 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5537555A (en) 1993-03-22 1996-07-16 Compaq Computer Corporation Fully pipelined and highly concurrent memory controller
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
US5519847A (en) 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5708849A (en) 1994-01-26 1998-01-13 Intel Corporation Implementing scatter/gather operations in a direct memory access device on a personal computer
JPH07336483A (ja) 1994-06-03 1995-12-22 Canon Inc ファクシミリ装置およびメモリ管理方式
GB9419246D0 (en) 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US5666114A (en) 1994-11-22 1997-09-09 International Business Machines Corporation Method and means for managing linear mapped address spaces storing compressed data at the storage subsystem control unit or device level
US5530705A (en) 1995-02-08 1996-06-25 International Business Machines Corporation Soft error recovery system and method
US6016560A (en) 1995-06-14 2000-01-18 Hitachi, Ltd. Semiconductor memory, memory device, and memory card
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
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
EP0782148B1 (en) 1995-12-29 2003-02-26 STMicroelectronics S.r.l. Method to prevent disturbances during the programming and erasing phases in a non-volatile memory device
JP3197815B2 (ja) 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
US5805501A (en) 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
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
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5943692A (en) 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JPH11126497A (ja) 1997-10-22 1999-05-11 Oki Electric Ind Co Ltd 不揮発性半導体記憶装置
JP3321555B2 (ja) 1997-11-21 2002-09-03 日本オプネクスト株式会社 光伝送用モジュールの製造方法並びにビット・エラーレート特性検査システム
US6018304A (en) 1997-12-18 2000-01-25 Texas Instruments Incorporated Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US6070074A (en) 1998-04-24 2000-05-30 Trw Inc. Method for enhancing the performance of a regenerative satellite communications system
US6138261A (en) 1998-04-29 2000-10-24 Trw Inc. Concatenated coding system for satellite communications
US6182264B1 (en) 1998-05-22 2001-01-30 Vlsi Technology, Inc. Smart dynamic selection of error correction methods for DECT based data services
US7111293B1 (en) 1998-06-03 2006-09-19 Ants Software, Inc. Method for increased concurrency in a computer system
US6192092B1 (en) 1998-06-15 2001-02-20 Intel Corp. Method and apparatus for clock skew compensation
US6505305B1 (en) 1998-07-16 2003-01-07 Compaq Information Technologies Group, L.P. Fail-over of multiple memory blocks in multiple memory modules in computer system
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6295592B1 (en) 1998-07-31 2001-09-25 Micron Technology, Inc. Method of processing memory requests in a pipelined memory controller
US6091652A (en) 1998-12-11 2000-07-18 Lsi Logic Corporation Testing semiconductor devices for data retention
US6412080B1 (en) 1999-02-23 2002-06-25 Microsoft Corporation Lightweight persistent storage system for flash memory devices
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6449625B1 (en) 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
US6564271B2 (en) 1999-06-09 2003-05-13 Qlogic Corporation Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US20050114587A1 (en) 2003-11-22 2005-05-26 Super Talent Electronics Inc. ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines
US7318117B2 (en) 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
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
US20080282128A1 (en) 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
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
KR100577380B1 (ko) 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
DE19961138C2 (de) 1999-12-17 2001-11-22 Siemens Ag Multiport-RAM-Speichervorrichtung
US8037234B2 (en) 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US7082056B2 (en) 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
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
US20020152305A1 (en) 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20020056025A1 (en) 2000-11-07 2002-05-09 Qiu Chaoxin C. Systems and methods for management of memory
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US6615307B1 (en) 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
US20030188045A1 (en) 2000-04-13 2003-10-02 Jacobson Michael B. System and method for distributing storage controller tasks
US6678788B1 (en) 2000-05-26 2004-01-13 Emc Corporation Data type and topological data categorization and ordering for a mass storage system
US6249434B1 (en) 2000-06-20 2001-06-19 Adc Telecommunications, Inc. Surface mounted conduction heat sink
US6442076B1 (en) 2000-06-30 2002-08-27 Micron Technology, Inc. Flash memory with multiple status reading capability
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
US6980985B1 (en) 2000-08-30 2005-12-27 At&T Corp. Distributed evalulation of directory queries using a topology cache
US6738870B2 (en) 2000-12-22 2004-05-18 International Business Machines Corporation High speed remote storage controller
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20020156973A1 (en) 2001-01-29 2002-10-24 Ulrich Thomas R. Enhanced disk array
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
US7017107B2 (en) 2001-04-30 2006-03-21 Sun Microsystems, Inc. Storage array employing scrubbing operations at the disk-controller level
US6938253B2 (en) 2001-05-02 2005-08-30 Portalplayer, Inc. Multiprocessor communication system and method
US6757768B1 (en) 2001-05-17 2004-06-29 Cisco Technology, Inc. Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US7068603B2 (en) 2001-07-06 2006-06-27 Juniper Networks, Inc. Cross-bar switch
US6836815B1 (en) 2001-07-11 2004-12-28 Pasternak Solutions Llc Layered crossbar for interconnection of multiple processors and shared memories
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
JP4569055B2 (ja) 2001-08-06 2010-10-27 ソニー株式会社 信号処理装置及び信号処理方法
TW539946B (en) 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US7028213B2 (en) 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US6515909B1 (en) 2001-10-05 2003-02-04 Micron Technology Inc. Flash memory device with a variable erase pulse
JP3963692B2 (ja) 2001-10-15 2007-08-22 富士通株式会社 複数の情報処理装置の電源制御方法、その情報処理装置、及びプログラム
US7032123B2 (en) 2001-10-19 2006-04-18 Sun Microsystems, Inc. Error recovery
JP3663377B2 (ja) 2001-10-23 2005-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法
US7380085B2 (en) 2001-11-14 2008-05-27 Intel Corporation Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US6798696B2 (en) 2001-12-04 2004-09-28 Renesas Technology Corp. Method of controlling the operation of non-volatile semiconductor memory chips
US6618249B2 (en) 2002-02-05 2003-09-09 Quantum Corporation Thermal cooling system for densely packed storage devices
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US6836808B2 (en) 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing
US20030163633A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
KR100476888B1 (ko) 2002-04-04 2005-03-17 삼성전자주식회사 온도보상기능을 가진 멀티비트 플래쉬메모리
JP4079684B2 (ja) 2002-05-08 2008-04-23 株式会社日立製作所 ヒープメモリ管理方法およびそれを用いた計算機システム
US6895464B2 (en) 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
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
US6665214B1 (en) 2002-07-22 2003-12-16 Advanced Micro Devices, Inc. On-chip erase pulse counter for efficient erase verify BIST (built-in-self-test) mode
US6978343B1 (en) 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
US7051155B2 (en) 2002-08-05 2006-05-23 Sun Microsystems, Inc. Method and system for striping data to accommodate integrity metadata
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
KR100944054B1 (ko) 2002-08-29 2010-02-24 파나소닉 주식회사 반도체메모리장치 및 플래시메모리에의 데이터기입방법
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
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7043505B1 (en) 2003-01-28 2006-05-09 Unisys Corporation Method variation for collecting stability data from proprietary systems
US7162678B2 (en) 2003-03-14 2007-01-09 Quantum Corporation Extended error correction codes
US6975028B1 (en) 2003-03-19 2005-12-13 Delta Design, Inc. Thermal apparatus for engaging electronic device
KR100543447B1 (ko) 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7527466B2 (en) 2003-04-03 2009-05-05 Simmons Robert J Building-erection structural member transporter
US7330927B1 (en) 2003-05-07 2008-02-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Apparatus and methodology for a pointer manager
JP4170988B2 (ja) 2003-05-09 2008-10-22 富士通株式会社 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体
JP2007524923A (ja) 2003-05-23 2007-08-30 ワシントン ユニヴァーシティー Fpgaデバイスを使用するインテリジェントデータ記憶および処理
US7877647B2 (en) 2003-05-23 2011-01-25 Hewlett-Packard Development Company, L.P. Correcting a target address in parallel with determining whether the target address was received in error
ITMI20031126A1 (it) 2003-06-05 2004-12-06 St Microelectronics Srl Dispositivo di memoria di massa basato su una memoria
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
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
US7100002B2 (en) 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
US7054968B2 (en) 2003-09-16 2006-05-30 Denali Software, Inc. Method and apparatus for multi-port memory controller
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
US7523157B2 (en) 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7173852B2 (en) 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7401174B2 (en) 2003-12-16 2008-07-15 Matsushita Electric Industrial Co., Ltd. File system defragmentation and data processing method and apparatus for an information recording medium
US7376887B2 (en) 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
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
US7328377B1 (en) 2004-01-27 2008-02-05 Altera Corporation Error correction for programmable logic integrated circuits
JP4477365B2 (ja) 2004-01-29 2010-06-09 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
US7350044B2 (en) 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7389465B2 (en) 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
US20080147964A1 (en) 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US20080082736A1 (en) 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
EP1870814B1 (en) 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US20050273560A1 (en) 2004-06-03 2005-12-08 Hulbert Jared E Method and apparatus to avoid incoherency between a cache memory and flash memory
US7334179B2 (en) 2004-06-04 2008-02-19 Broadcom Corporation Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems
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
US7159069B2 (en) 2004-06-23 2007-01-02 Atmel Corporation Simultaneous external read operation during internal programming in a flash memory device
WO2006006694A1 (en) 2004-07-12 2006-01-19 Kabushiki Kaisha Toshiba Storage device and host apparatus
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 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
WO2006026645A2 (en) 2004-08-30 2006-03-09 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
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
US20060156177A1 (en) 2004-12-29 2006-07-13 Sailesh Kottapalli Method and apparatus for recovering from soft errors in register files
US7770003B2 (en) 2004-12-29 2010-08-03 Intel Corporation Updating firmware securely over a network
US7657696B2 (en) 2005-02-25 2010-02-02 Lsi Corporation Method to detect NAND-flash parameters by hardware automatically
US7707232B2 (en) 2005-05-13 2010-04-27 Microsoft Corporation Implementation for collecting unmanaged memory
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
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
KR101215350B1 (ko) 2005-09-14 2012-12-26 엘지전자 주식회사 케이블 방송 수신기 및 펌웨어 업그레이드 방법
KR100705220B1 (ko) 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
US7533215B2 (en) 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
EP1934745A2 (en) 2005-09-27 2008-06-25 Nxp B.V. Error detection / correction circuit as well as corresponding method
US7661054B2 (en) 2005-09-30 2010-02-09 Intel Corporation Methods and arrangements to remap degraded storage blocks
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
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
KR100715147B1 (ko) 2005-10-06 2007-05-10 삼성전자주식회사 전류소모를 감소시키는 내부전원전압 발생회로를 가지는멀티칩 반도체 메모리 장치
JP4764696B2 (ja) 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US20070083697A1 (en) 2005-10-07 2007-04-12 Microsoft Corporation Flash memory management
US8223553B2 (en) 2005-10-12 2012-07-17 Macronix International Co., Ltd. Systems and methods for programming a memory device
KR101021465B1 (ko) 2005-10-26 2011-03-15 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
KR100966043B1 (ko) 2005-10-31 2010-06-25 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US7516267B2 (en) 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7500062B2 (en) 2005-11-17 2009-03-03 International Business Machines Corporation Fast path memory read request processing in a multi-level memory architecture
WO2007058617A1 (en) 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
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
US7546515B2 (en) 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7562283B2 (en) 2005-12-27 2009-07-14 D.S.P. Group Ltd. Systems and methods for error correction using binary coded hexidecimal or hamming decoding
US7349264B2 (en) 2005-12-28 2008-03-25 Sandisk Corporation Alternate sensing techniques for non-volatile memories
WO2007080586A2 (en) 2006-01-10 2007-07-19 Saifun Semiconductors Ltd. Rd algorithm improvement for nrom technology
KR100725410B1 (ko) 2006-01-20 2007-06-07 삼성전자주식회사 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법
US20070234143A1 (en) 2006-01-25 2007-10-04 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
JP4859471B2 (ja) 2006-02-02 2012-01-25 株式会社日立製作所 ストレージシステム及びストレージコントローラ
US7870326B2 (en) 2006-07-28 2011-01-11 Samsung Electronics Co., Ltd. Multiprocessor system and method thereof
CN101288056A (zh) 2006-03-13 2008-10-15 松下电器产业株式会社 闪速存储器用的存储控制器
US7810017B2 (en) 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7681106B2 (en) 2006-03-29 2010-03-16 Freescale Semiconductor, Inc. Error correction device and methods thereof
JP2007272635A (ja) 2006-03-31 2007-10-18 Toshiba Corp メモリシステム及びコントローラ
US20070245061A1 (en) 2006-04-13 2007-10-18 Intel Corporation Multiplexing a parallel bus interface and a flash memory interface
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7685494B1 (en) 2006-05-08 2010-03-23 Marvell International, Ltd. Error correction coding for varying signal-to-noise ratio channels
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7778077B2 (en) 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
US7707481B2 (en) 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
US20070300130A1 (en) 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US7606084B2 (en) 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
JP4842719B2 (ja) 2006-06-28 2011-12-21 株式会社日立製作所 ストレージシステム及びそのデータ保護方法
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US7743216B2 (en) 2006-06-30 2010-06-22 Seagate Technology Llc Predicting accesses to non-requested data
JP2008047273A (ja) 2006-07-20 2008-02-28 Toshiba Corp 半導体記憶装置およびその制御方法
US7831895B2 (en) 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
TW200813724A (en) 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
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
TW200816651A (en) 2006-09-25 2008-04-01 Sunplus Technology Co Ltd Decoding method and system of real-time wireless channel estimation
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US8171380B2 (en) 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
US8117396B1 (en) 2006-10-10 2012-02-14 Network Appliance, Inc. Multi-level buffer cache management through soft-division of a uniform buffer cache
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
JP2008117195A (ja) 2006-11-06 2008-05-22 Hitachi Ltd 半導体記憶装置
TWI307100B (en) 2006-11-07 2009-03-01 Macronix Int Co Ltd Memory and method for reading error checking thereof
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
KR100808664B1 (ko) 2006-12-08 2008-03-07 한국전자통신연구원 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
KR100881669B1 (ko) 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
KR100842680B1 (ko) 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US7603490B2 (en) 2007-01-10 2009-10-13 International Business Machines Corporation Barrier and interrupt mechanism for high latency and out of order DMA device
KR100855587B1 (ko) 2007-01-17 2008-09-01 삼성전자주식회사 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
US8560760B2 (en) 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
JP5026102B2 (ja) 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法
JP5283845B2 (ja) 2007-02-07 2013-09-04 株式会社メガチップス ビットエラーの予防方法、情報処理装置
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US7913022B1 (en) 2007-02-14 2011-03-22 Xilinx, Inc. Port interface modules (PIMs) in a multi-port memory controller (MPMC)
KR100918707B1 (ko) 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
JP4897524B2 (ja) 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
KR100907218B1 (ko) 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
WO2008121553A1 (en) 2007-03-29 2008-10-09 Sandisk Corporation Non-volatile storage with decoding of data using reliability metrics based on multiple reads
WO2008121577A1 (en) 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US8032724B1 (en) 2007-04-04 2011-10-04 Marvell International Ltd. Demand-driven opportunistic garbage collection in memory components
JP2008269363A (ja) 2007-04-20 2008-11-06 Hitachi Ltd 記憶制御装置および記憶制御方法
US7996642B1 (en) 2007-04-25 2011-08-09 Marvell International Ltd. Digital locked loop on channel tagged memory requests for memory optimization
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
US8073648B2 (en) 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
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 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
KR100891005B1 (ko) 2007-06-28 2009-03-31 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
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
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
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 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
KR101239690B1 (ko) 2007-10-31 2013-03-06 에이저 시스템즈 엘엘시 다중―레벨 플래시 메모리를 위한 체계적 에러 정정
US8429492B2 (en) 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
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
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
CN101632068B (zh) 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
US20090172335A1 (en) 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
JP5045448B2 (ja) 2008-01-16 2012-10-10 ソニー株式会社 信号処理回路、信号処理方法、再生装置
US8159874B2 (en) 2008-01-22 2012-04-17 Micron Technology, Inc. Cell operation monitoring
US8271515B2 (en) 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
JP4617405B2 (ja) 2008-02-05 2011-01-26 富士通株式会社 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム
US8095724B2 (en) 2008-02-05 2012-01-10 Skymedi Corporation Method of wear leveling for non-volatile memory and apparatus using via shifting windows
JP4672743B2 (ja) 2008-03-01 2011-04-20 株式会社東芝 誤り訂正装置および誤り訂正方法
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
US8185706B2 (en) 2008-04-30 2012-05-22 Apple Inc. Copyback optimization for memory system
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
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
KR101412974B1 (ko) 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
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
US8627169B2 (en) 2008-06-20 2014-01-07 Cadence Design Systems, Inc. Method and apparatus for dynamically configurable multi level error correction
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
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
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 株式会社日立製作所 記憶制御装置及び記憶装置のデータ消去方法
KR101484556B1 (ko) 2008-10-28 2015-01-20 삼성전자주식회사 독출 보상 회로
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
KR20100058166A (ko) 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
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 삼성전자주식회사 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법
US9128699B2 (en) 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
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
US20100174845A1 (en) 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8645749B2 (en) 2009-02-04 2014-02-04 Micron Technology, Inc. Systems and methods for storing and recovering controller data in non-volatile memory devices
KR20100090439A (ko) 2009-02-06 2010-08-16 주식회사 하이닉스반도체 불휘발성 메모리 장치의 독출 방법 및 이를 구현하는 불휘발성 메모리 장치
WO2010092576A1 (en) 2009-02-11 2010-08-19 Xsignnet Ltd. Virtualized storage system and method of operating it
KR20100093885A (ko) 2009-02-17 2010-08-26 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
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
KR101575248B1 (ko) 2009-04-30 2015-12-07 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템
US20100281207A1 (en) 2009-04-30 2010-11-04 Miller Steven C Flash-based data archive storage system
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
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
JP5353494B2 (ja) 2009-07-03 2013-11-27 富士通株式会社 通信装置、および通信方法
US8036044B2 (en) 2009-07-16 2011-10-11 Sandisk Technologies Inc. Dynamically adjustable erase and program levels for non-volatile memory
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
US7941696B2 (en) 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
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
WO2011031900A2 (en) 2009-09-09 2011-03-17 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
JP5197544B2 (ja) 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
US8285956B2 (en) 2009-10-22 2012-10-09 Symantec Corporation Efficient logging for asynchronously replicating volume groups
US8312349B2 (en) 2009-10-27 2012-11-13 Micron Technology, Inc. Error detection/correction based memory management
CN101699406B (zh) 2009-11-12 2011-12-14 威盛电子股份有限公司 数据储存系统与方法
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 威盛电子股份有限公司 数据储存系统与方法
US8130553B2 (en) 2009-12-02 2012-03-06 Seagate Technology Llc Systems and methods for low wear operation of solid state memory
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
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
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
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
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 建兴电子科技股份有限公司 非易失性存储器的平均抹写方法
TWI447733B (zh) 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8510637B2 (en) 2010-04-14 2013-08-13 Phison Electronics Corp. Data reading method, memory storage apparatus and memory controller thereof
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
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
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
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
KR101702392B1 (ko) 2010-08-20 2017-02-06 삼성전자주식회사 반도체 저장 장치 및 상기 반도체 저장 장치의 성능 조절 방법
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
JP2012094132A (ja) 2010-10-01 2012-05-17 Siglead Inc 不揮発性半導体メモリ装置とデータ誤り訂正方法
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
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
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
JP2012129659A (ja) 2010-12-13 2012-07-05 Canon Marketing Japan Inc 撮像装置、動作制御方法及びプログラム
US8615681B2 (en) 2010-12-14 2013-12-24 Western Digital Technologies, Inc. System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss
US8391068B2 (en) 2010-12-20 2013-03-05 Texas Instruments Incorporated Adaptive programming for flash memories
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
US8645773B2 (en) 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory
US8954689B2 (en) 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111174A1 (en) * 2008-03-03 2009-09-11 Rambus Inc. Piecewise erasure of flash memory
US20120057410A1 (en) * 2010-09-02 2012-03-08 Macronix International Co., Ltd. Method and Apparatus for the Erase Suspend Operation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111033478A (zh) * 2017-07-28 2020-04-17 思杰系统有限公司 使用磁盘高速缓存的动态trim处理
CN111213208A (zh) * 2017-08-31 2020-05-29 美光科技公司 擦除页面检查
CN111213208B (zh) * 2017-08-31 2021-05-11 美光科技公司 擦除页面检查
CN110634524A (zh) * 2018-06-25 2019-12-31 北京兆易创新科技股份有限公司 一种非易失存储器擦除方法及装置

Also Published As

Publication number Publication date
EP3069348B1 (en) 2019-06-05
KR101822313B1 (ko) 2018-01-25
US9152555B2 (en) 2015-10-06
US20150143068A1 (en) 2015-05-21
EP3069348A1 (en) 2016-09-21
WO2015073639A1 (en) 2015-05-21
KR20160085859A (ko) 2016-07-18
CN106170833B (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
CN106170833A (zh) 在数据存储系统中的具有模块化擦除的数据管理
CN105593943B (zh) 具有动态擦除块组合机制的数据贮存系统及其操作方法
CN110245093B (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
KR101517416B1 (ko) 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기
US8812776B2 (en) Data writing method, and memory controller and memory storage device using the same
US20080282025A1 (en) Wear leveling in storage devices based on flash memories and related circuit, system, and method
EP3133604B1 (en) Method and device for fail-safe erase of flash memory
US10795768B2 (en) Memory reallocation during raid rebuild
JP2015503798A (ja) Slc−mlc消耗バランシング
WO2010144587A2 (en) Memory system having persistent garbage collection
CN103688246A (zh) 具有在活跃slc和mlc存储器分区之间分布的小逻辑组的非易失性存储器和方法
US20180314448A1 (en) Storage System and Method for Efficient Pipeline Gap Utilization for Background Operations
CN101923448A (zh) 一种nand闪存的转换层读写方法
CN105320464B (zh) 防止读取干扰的方法、存储器控制电路单元与存储装置
CN110531927B (zh) 一种基于块分级的垃圾回收方法及非易失性的存储设备
CN104866429A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN101408864B (zh) 用于断电时的数据保护方法及使用此方法的控制器
CN102483685B (zh) 具有附属文件系统的多堆非易失性存储器系统
CN104765569A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
TWI536166B (zh) 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN101414282A (zh) 平均磨损方法及使用此方法的控制器
US20140040534A1 (en) Data storing method and memory controller and memory storage device using the same
US20220147282A1 (en) Storage System and Method for Implementing an Encoder, Decoder, and/or Buffer Using a Field Programmable Gate Array
US11829270B2 (en) Semiconductor die failure recovery in a data storage device
CN107817943A (zh) 数据传输方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant