CN105874540B - 用于管理裸芯组的装置和方法 - Google Patents

用于管理裸芯组的装置和方法 Download PDF

Info

Publication number
CN105874540B
CN105874540B CN201480067426.7A CN201480067426A CN105874540B CN 105874540 B CN105874540 B CN 105874540B CN 201480067426 A CN201480067426 A CN 201480067426A CN 105874540 B CN105874540 B CN 105874540B
Authority
CN
China
Prior art keywords
naked core
naked
group
core group
tolerance
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.)
Expired - Fee Related
Application number
CN201480067426.7A
Other languages
English (en)
Other versions
CN105874540A (zh
Inventor
M.丹乔
J.菲茨帕特里克
L.李
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 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 CN105874540A publication Critical patent/CN105874540A/zh
Application granted granted Critical
Publication of CN105874540B publication Critical patent/CN105874540B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/7211Wear leveling

Landscapes

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

Abstract

这里所述的实施例是增强非易失性存储器(例如,闪速存储器)的耐受性的方法和装置。方法包括为所述多个裸芯的每一个获得耐受性度量。所述方法还包括基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯并且每个裸芯组与耐受性度量的范围相关联。响应于指明一组写入数据的写入命令,所述方法还包括通过将写入数据的子组并行地写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将写入数据写入到非易失性存储器。

Description

用于管理裸芯组的装置和方法
技术领域
公开的实施例一般地涉及存储器系统,并且具体地涉及改善诸如闪速存储器的储存介质的耐受性。
背景技术
包括闪速存储器的半导体存储器装置通常利用存储器单元来将数据储存为电的值,诸如电荷或电压。闪速存储器单元例如包括具有被用于储存数据值的电荷表示的浮置栅极的单个晶体管。已经以各种方式促进了储存密度的提高、包括由制造的发展使能的存储器单元在芯片上的密度的提高、以及从单级闪速存储器单元到多级闪速存储器单元的转变使得可以由每个闪速存储器单元储存两个或多个位。
一般来说,非易失性存储器装置——诸如闪速存储器装置——包括多个裸芯。在相同的非易失性存储器装置中的多个裸芯在被认为是操作性地故障之前可以经受的编程-擦除(PE)周期的量显著地变化(例如,以三为因子)。如此,非易失性存储器装置的耐受性通常是,鲁棒程度仅与其最弱的裸芯一样。因此,用于管理在非易失性存储器装置中的裸芯的变化的耐受性能力的方法是所期望的。
发明内容
公开的装置和方法改善非易失性存储器的耐受性。获得用于非易失性存储器的每个裸芯的耐受性度量。裸芯被基于它们相应的耐受性度量而逻辑地组合在裸芯组中。此后,在单个裸芯组上进行存储器操作,其中裸芯组包括具有类似耐受性度量的多个裸芯。
附图说明
为了可以更加详细地理解本公开,可以具有参考各种实施例的特性的更加特定的描述,一些实施例在附图中说明。但是,附图仅示出了本公开的更加相关的特性并且从而不被认为是限制性的,因为说明书可能认可其他有效的特性。
图1是示出的根据一些实施例的数据储存系统的实现方式框图。
图2A是示出的根据一些实施例的管理模块的实现方式框图。
图2B是示出的根据一些实施例的包括在图2A中的特征向量表示意图。
图2C是示出的根据一些实施例的包括在图2B中的特征向量的示意图。
图3是根据一些实施例的非易失性存储器的示意图。
图4是根据一些实施例的多个裸芯组的框图。
图5是根据一些实施例的裸芯组映射的框图。
图6A-6B示出了根据一些实施例的管理储存系统的方法的流程图表示。
图7示出了根据一些实施例的管理储存系统的方法的流程图表示。
根据惯例,在附图中示出的各种特性可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。
具体实施方式
这里所述的各种实施例包括可以改善诸如闪速存储器的储存介质的耐受性的装置和/或方法。一些实施例包括通过将具有类似的耐受性度量的裸芯组合为裸芯组而管理储存系统的装置和/或方法。
一些实施例包括管理包括储存控制器和非易失性存储器(例如,闪速存储器)的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个块(在这里有时也被称为子单元)。在一些实施例中,在储存控制器处进行方法。方法包括为所述多个裸芯的每一个获得耐受性度量。方法还包括基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的范围相关联。响应于指明一组写入数据的写入命令,所述方法还包括,通过并行地将写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的所述一个或多个裸芯而将写入数据写入到非易失性存储器。
一些实施例包括管理包括储存控制器和非易失性存储器(例如,闪速存储器)的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个块(在这里有时也被称为子单元)。在一些实施例中,在储存控制器处进行方法,该储存控制器具有通信地耦接到非易失性存储器的多个信道,其中每个信道通信地与所述多个裸芯的各个子组耦接。方法包括:为所述多个裸芯的每一个获得耐受性度量;以及,对于每个信道,根据所述信道中的各个裸芯的耐受性度量分级所述信道中的裸芯。方法还包括:基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组分配来自每个信道的一个或多个裸芯,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。响应于指明一组写入数据的写入命令,所述方法还包括通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将写入数据写入到非易失性存储器。
一些实施例包括一种储存控制器,其包括:一个或多个处理器;主机接口,被配置为将储存控制器耦接到主机;储存介质接口,被配置为将储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个块;以及储存控制器,储存指令,当由一个或多个处理器执行该指令时,使得储存控制器进行这里所述的任何方法的操作。
一些实施例包括一种储存控制器,包括:主机接口,被配置为将所述储存控制器耦接到主机;储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,并且每个裸芯包括多个块;以及用于进行这里所述的任何方法的操作的构件。
一些实施例包括一种储存系统,包括:主机接口,被配置为将所述储存系统耦接到主机;非易失性存储器,包括多个裸芯,每个裸芯包括多个块;以及储存控制器,具有一个或多个处理器和储存一个或多个程序的存储器,当由所述一个或多个处理器执行所述程序时使得所述储存系统进行或控制这里所述的任何方法的性能。
一些实施例包括一种非瞬时性计算机可读储存介质,其储存一个或多个程序以用于由与非易失性存储器可通信地耦接的储存控制器的一个或多个处理器执行,该非易失性存储器包括多个裸芯并且每个裸芯包含多个块,一个或多个程序包括用于进行任何这里所述的方法的指令。
在这里描述许多细节以便于提供对在附图中示出的示例实施例的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实施例的更加相关的方面。
图1是根据一些实施例的数据储存系统100的实现方式的示意图。尽管示出了一些示例特性,但是为了简洁而没有示出各种其它特性以便不混淆这里所述的示例实施例的更加相关的方面。为此,作为非限制性示例,数据储存系统100包括储存控制器120和储存介质130,并且被结合计算机系统110使用。在一些实施例中,储存介质130是单个闪速存储器装置,而在其它实施例中,储存介质130包括多个闪速存储器装置。在一些实施例中,储存介质130是NAND型闪速存储器或NOR型闪速存储器。此外,在一些实施例中,储存控制器120是固态驱动(SSD)控制器。但是,根据多种实施例的方面可以包括其它类型的储存介质。
计算机系统110通过数据连接101耦接到储存控制器120。但是,在一些实施例中,计算机系统110包括储存控制器120作为组件和/或子系统。计算机系统110可以是任何合适的计算机装置,诸如计算机、膝上型计算机、平板装置、网本、上网亭、个人数字助理、移动电话、智能电话、游戏装置、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实施例中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器、显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。
储存介质130通过连接103耦接到储存控制器120。连接103有时被称为数据连接,但是通常传送除了数据以外的命令,并且可选地传送除了将被储存在储存介质130中的数据值和从储存介质130读取的数据值以外的元数据、误差校正信息和/或其它信息。但是,在一些实施例中,储存控制器120和储存介质130被包含在与其组件相同的装置中。此外,在一些实现方式中,存储器控制器120和储存介质130被嵌入在主机装置中,该主机装置诸如移动装置、平板、其它计算机或计算机控制的装置,并且这里所述的方法由嵌入式存储器控制器进行。储存介质130可以包括任何数量的(即,一个或多个)存储器装置,该存储器装置非限制性地包括,诸如闪速存储器的非易失性半导体存储器装置。例如,闪速存储器装置可以被配置为用于适用于诸如云计算的应用的企业储存,或用于缓存储存在(或将被储存在)诸如硬盘驱动的二级储存中的数据。此外和/或可替换地,闪速存储器还可以被配置为相对小规模的应用,诸如个人闪速驱动或用于个人、膝上型和平板计算机的硬盘替换。
储存介质130被分为多个可编址的并且可单独选择的块,诸如可选择的部分131。在一些实施例中,可单独选择的块是闪速存储器装置中的最小尺寸的可擦除单元。换句话说,每个块包含可以被同时擦除的最小数量的存储器单元。每个块通常进一步被分为多个页和/或字线,其中每个页或字线通常是块中最小的可单独访问的(可读)部分的实例。然而,在一些实施例中(例如,使用一些种类的闪速存储器),数据组的最小的可单独访问的单元是区段,该区段是页的子单元。就是说,块包括多个页,每个页包含多个区段,并且每个区段是用于从闪速存储器装置读取数据的数据的最小单元。
例如,一个块包括任何数量的页,例如,64页、128页、256页或另外的合适数量的页。块通常被组合为多个区。每个块区可以在某些程度上被独立地管理,这提高了用于并行操作的并行度并且简化了储存介质130的管理。
如上所述,虽然非易失性半导体存储器装置的数据储存密度普遍地提高,但提高储存密度的缺点在于储存的数据更加倾向于被错误地储存和/或读取。如将在下面更加详细描述的,误差控制码可以被用于限制由电波动、储存介质、操作条件、装置历史、写入-读取电路等中的瑕疵,或这些和各种其它因素的组合引起的不可校正的误差的数量。
在一些实施例中,储存控制器120包括管理模块121、输入缓冲器123、输出缓冲器124、误差控制模块125和储存介质接口(I/O)128。储存控制器120可以包括为了简洁而没有示出各种额外的特性以便于不混淆这里公开的示例实施例的更加主要的特征,并且特性的不同的布置是可能的。输入和输出缓冲器123、124通过将接口提供到计算机系统110。类似地,储存介质I/O 128通过连接103将接口提供到储存介质130。在一些实施例中,储存介质I/O 128包括读取和写入电路,包括能够将读取信号提供到储存介质130的电路(例如,用于NAND型闪速存储器的读取阈值电压)。
在一些实施例中,管理模块121包括一个或多个处理单元(CPU,有时还被称为处理器)122,该一个或多个处理单元被配置为执行一个或多个程序中(例如,在管理模块121中)的指令。在一些实施例中,一个或多个CPU 122由储存控制器120的功能中的、并且在一些情况中由超出储存控制器120的功能的一个或多个组件共享。管理模块121耦接到输入缓冲器123、输出缓冲器124(连接未示出)、误差控制模块125和储存介质I/O 128以便于协调这些组件的操作。
误差控制模块125耦接到储存介质I/O 128、输入缓冲器123和输出缓冲器124。提供误差控制模块125以限制被无意引入到数据中的不可校正的误差的数量。在一些实施例中,误差控制模块125由管理模块121的一个或多个CPU 122在软件中执行,并且在其它实施例中,全部或部分使用专用电路进行编码和译码功能而实现误差控制模块125。为此,误差控制模块125包括编码器126和译码器127。编码器126通过施加误差控制码以产生码字而编码数据,该码字之后被储存在储存介质130中。
当从储存介质130读取编码的数据(例如,一个或多个码字)时,译码器127将译码过程施加到编码的数据以恢复数据,并且在误差控制码的误差校正能力中校正恢复的数据中的误差。本领域的技术人员将理解各种误差控制码具有不同的误差检测和校正能力,并且该特定的码由于超出本公开的范围的原因而被选择以用于各种应用。如此,这里不提供对各种类型的误差控制码的详尽的概述。此外,本领域的技术人员将理解每种类型或系列的误差控制码可以具有特定于误差控制码的类型或系列的编码和译码算法。另一方面,一些算法可以至少一些程度上用在译码多个不同类型的或系列的误差控制码中。如此,为了简洁,这里没有提供对本领域的技术人员一般可用并且已知的各种类型的编码和译码算法的详尽的描述。
在写入操作期间,输入缓冲器123从计算机系统110接收将储存在储存介质130中的数据。保持在输入缓冲器123中的数据可被用于编码器126,该编码器126编码数据以产生一个或多个码字。一个或多个码字可被用于储存介质I/O 128,该储存介质I/O 128以取决于所使用的储存介质的类型的方式将一个或多个码字转移到储存介质130。
当计算机系统(主机)110在控制线111上将一个或多个主机读取命令发送到储存控制器120从储存介质130请求数据时,起始读取操作。储存控制器120将一个或多个读取访问命令经由储存介质I/O 128发送到储存介质130,以根据由一个或多个主机读取命令指明的存储器位置(地址)获得原始读取数据。储存介质I/O 128将原始读取数据(例如,包括一个或多个码字)提供到译码器127。如果译码成功,译码的数据被提供到输出缓冲器124,其中译码的数据可被用于计算机系统110。在一些实施例中,如果译码不成功,储存控制器120可以求助于多个补救措施或者提供不可解决的误差条件的指示。
闪速存储器装置利用存储器单元以将数据储存为电的值,诸如电荷或电压。每个闪速存储器单元通常包括具有浮置栅极的单个晶体管,该浮置栅极被用于储存修改晶体管的阈值电压(即,导通晶体管所需要的电压)的电荷。电荷的大小、以及该电荷创建的相应的阈值电压被用于表示一个或多个数据值。在一些实施例中,在读取操作期间,读取阈值电压被施加到晶体管的控制栅极并且产生的感测的电流或电压被映射到数据值。
在闪速存储器单元的上下文中,术语“单元电压”和“存储器单元电压”意味着存储器单元的阈值电压,其是需要施加到存储器单元的晶体管的栅极以便于晶体管导通电流的最小电压。类似地,施加到闪速存储器单元的读取阈值电压(有时也被称为读取信号和读取电压)是施加到闪速存储器单元的栅极以确定存储器单元在该栅极电压处是否导通电流的栅极电压。在一些实施例中,当闪速存储器单元的晶体管在指示单元电压小于读取阈值电压的给定读取阈值电压处导通电流时,对于该读取操作的原始数据值为“1”,并且否则原始数据值为“0”。
图2A是示出根据一些实施例的示例性管理模块121的框图。管理模块121通常包括:一个或多个处理单元(CPU)122,用于执行储存在存储器202中的模块、程序和/或指令并且从而进行处理操作;存储器202;以及一个或多个通信总线204,用于互连这些组件。一个或多个通信总线204,可选地包括互连系统组件并控制系统组件之间的通信的电路(有时被称为芯片组)。管理模块121通过一个或多个通信总线204耦接到缓冲器123、缓冲器124、误差控制模块125和储存介质I/O 128。存储器202包括高速随机存取存储器——诸如DRAM、SRAM、DDR RAM,或者其它随机存取固态存储器装置,并且可以包括非易失性存储器——诸如一个或多个磁盘储存装置、光盘储存装置,闪速存储器装置、或者其它非易失性固态储存装置。存储器202,可选地包括位于远离(一个或多个)CPU 122的一个或多个储存装置。存储器202,或者可替换地存储器202中的(一个或多个)非易失性存储器装置包括非瞬时性计算机可读储存介质。在一些实施例中,存储器202或存储器202的非瞬时性计算机可读储存介质储存以下程序、模块和数据结构或其子集或超集:
·数据读取模块206,用于从包括闪速存储器的储存介质130(例如,一个或多个闪速存储器装置的每个包括多个裸芯)读取数据;
·用于将数据写入到储存介质130的数据写入模块208;
·用于将数据从储存介质130擦除的数据擦除模块210;
·裸芯组模块212,用于将储存介质130分为多个裸芯组并且管理多个裸芯组,包括但不限于:
·耐受性度量模块214,用于获得多个裸芯的每一个的耐受性度量;
·分级模块216,用于基于它们相应的耐受性度量分级多个裸芯;
·组合模块218,用于基于它们相应的分级将多个裸芯分配到裸芯组,包括将裸芯的逻辑地址与裸芯组相关联的裸芯组映射220;以及
选择模块222,用于选择用于存储器操作的裸芯组;
·特征向量表234,包括许多特征向量236,其每一个储存用于储存介质130的各个部分(例如,储存介质130的闪速存储器装置、裸芯、块区、块、字线、字线区或页部分)的特征数据;以及
·逻辑到物理映射238,将逻辑地址与用于储存介质130的各个部分(例如,储存介质130的区别的闪速存储器装置、裸芯、块区、块、字线、字线区或页部分)的物理地址相关联。
上述识别的元件的每一个可以储存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的指令集。上述识别的模块或程序(即,指令集)不需要实现为单独的软件程序、规程或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器202可以储存以上识别的模块和数据结构的子集。此外,存储器202可以储存以上未描述的额外的模块和数据结构。在一些实施例中,储存在存储器202中的程序、模块和数据结构,或者存储器202的非瞬时性计算机可读储存介质提供用于实现参考图6A-6B在下面所述的任何方法的指令。
尽管图2A示出了管理模块121,但是图2A相比于这里所述的实施例的结构性示意更倾向于作为可能出现在管理模块中的各种特性的功能性描述。实践中,并且如由本领域普通技术人员识别的,单独示出的程序、模块和数据结构可以被组合并且一些程序、模块和数据结构可以被分开。
图2B是示出根据一些实施例的特征向量表234的实现方式的框图。特征向量表234包括多个特征向量236,其每个储存与储存介质130的各个部分(例如,储存介质130的区别装置、裸芯、块区、块、字线、字线区或页部分)相关联的特征数据。在一些实施例中,特征向量236的集合中的每个向量(例如,向量236-1、向量236-2、...、向量236-n)储存在至少两个时间段(例如,时间T-1和时间T-2、或X编程-擦除(PE)周期和2X PE周期)的一个期间得到的特征数据。在一些实施例中,统计地得到储存在特征向量236中的特征数据。例如,而不限制,在其中储存介质130(图1)(例如,一个或多个闪速存储器装置,每一个包括多个裸芯)包括多个裸芯的一些实施例中,特征向量表234包括用于每个裸芯的至少一个特征向量。在另外的示例中,在一些实施例中,特征向量表234包括用于储存介质130中的每个裸芯的一组区别特征向量236,并且用于每个裸芯的区别特征向量236的组包括用于裸芯中的每个块的至少一个区别特征向量。参考图2C在下面描述了特征向量236的更加详细的示例实施例。
图2C是根据一些实施例的用于多个裸芯的各个裸芯的特征向量240(例如,对应于图2B中示出的特征向量236的一个)的实现方式的示意图。在一些实施例中,用于各个裸芯的储存在特征向量240中的特征数据包括储存介质特征参数值——诸如耐受性度量字段242,其指示各个裸芯的耐受性能力(例如,在校准例程期间由在各个裸芯中的代表性的块保持的编程-擦除(PE)周期的数量);PE周期字段244,其指示在各个裸芯上进行的PE周期的数量的当前计数;以及平均误码率(BER)246,其指示在各个裸芯中的一个或多个块的平均BER。在一些实施例中,一个或多个储存介质特征参数值提供以下至少一个的指示:与储存介质的各自部分(例如,储存介质130的区别闪速存储器装置、裸芯、块区、块、字线、字线区或页部分,图1)相关联的物理特征、与储存介质的各个部分相关联的操作模式、与储存介质的各个部分相关联的使用历史、与储存介质的各个部分相关联的条件特征、与储存介质的各个部分相关联的读取类型以及与储存介质的各个部分相关联的(一个或多个)位置。
图3是根据一些实施例的非易失性存储器(例如,闪速存储器)的示意图。在一些实施例中,储存控制器120经由一组信道(例如,连接103,图1)通信地耦接到储存介质130(例如,闪速存储器包括一个或多个闪速存储器装置,每个闪速存储器装置包括多个裸芯)。在图3中,16个信道将闪速存储器300(例如,具有128个裸芯的闪速存储器装置)通信地耦接到储存控制器120。在图3中,闪速存储器300的多个裸芯(例如,8个裸芯)的子组连接到每个信道。以此方式,储存控制器120被配置为通过使用16个信道并行地在16个裸芯上进行存储器操作。在一些实施例中,裸芯被物理地焊接到信道并且每个裸芯仅连接到一个信道。
图4是根据一些实施例的多个裸芯组的框图。如在图3中的情况一样,在图4中,非易失性存储器(例如,闪速存储器)包括多个裸芯(例如,128个裸芯)并且多个裸芯被分为子组(例如,每个子组8个裸芯),其中裸芯的每个子组连接到信道(例如,16个信道的一个)。
例如,在普通操作性使用之前,校准例程在来自闪速存储器的每个裸芯的代表性块上运行,其仿真寿命结束的情况。例如,在预定的数量的PE周期在代表性块上进行之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在另一示例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量(例如,BER或PE周期的数量)储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中。
在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从特征向量表234获得用于每个裸芯的耐受性度量,并且储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于它们相应的耐受性度量分级每个信道中的裸芯。在图4中,信道0中的8个裸芯从最高到最低被分级。关于信道0,裸芯3是最高等级(例如,等级1)的裸芯,因为与裸芯3相关联的耐受性度量高于信道0中的其它裸芯。关于信道0,裸芯6是最低等级的裸芯(例如,等级8),因为与裸芯6相关联的耐受性度量低于信道0中的其它裸芯。
在一些实施例中,储存控制器120或其组件(例如,组合(grouping)模块218,图2A)被配置为基于它们相应的分级将在闪速存储器装置中的多个裸芯组合为裸芯组。在一些实施例中,每个信道中的一个或多个裸芯被分配到裸芯组,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。在图4中,具有等级1-2的每个信道中的裸芯(例如,信道0中的裸芯3和7、以及信道15中的裸芯6和0)被分配到裸芯组0,具有等级3-4的每个信道中的裸芯(例如,信道0中的裸芯0和1、以及信道15中的裸芯3和7)被分配到裸芯组1,具有等级5-6的每个信道中的裸芯(例如,信道0中的裸芯5和4、以及信道15中的裸芯5和2)被分配到裸芯组2,并且具有等级7-8的每个信道中的裸芯(例如,信道0中的裸芯2和6、以及信道1中的裸芯4和1)被分配到裸芯组3。
在一些实施例中,多个信道(例如,16个信道)将储存控制器通信地耦接到闪速存储器,并且多个信道的每一个与多个裸芯的各个子组(例如,每个信道8或16个裸芯)通信地耦接。在一些实现方式中,分配到任何特定裸芯组的裸芯包括来自各种信道的不相等的数量的裸芯。例如,如果一个信道(例如,第一信道)在对应于特定裸芯组的耐受性度量范围中相比另外的信道(例如,第二信道)具有更大数量的裸芯,特定裸芯组将包括比来自第二信道更大数量的来自第一信道的裸芯。
此外,被分配到各个裸芯组的来自各个信道的裸芯的数量基于在各个信道中的裸芯的耐受性度量而变化。例如,各个信道中的零个裸芯被分配到裸芯组,因为各个信道中的裸芯的耐受性度量不满足与各个裸芯组相关联的耐受性度量的范围。在另一示例中,在各个信道中的所有裸芯基于它们的各个耐受性度量被分配到单个裸芯组,因为各个信道中的裸芯的耐受性度量都满足与各个裸芯组相关联的耐受性度量的范围。
图5是根据一些实施例的对应于图4中的多个裸芯组的裸芯组映射的示意图。在一些实施例中,裸芯组映射220被储存在储存控制器存储器中,并且包括用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。在图5中,裸芯组映射220将用于在信道0-15中的所有裸芯的逻辑地址(或逻辑地址的范围)与它们分配的裸芯组相关联。在图5中,用于信道0中的裸芯3和7的逻辑地址(例如,分别地逻辑地址504和506)被包含在与裸芯组0相关联的条目502中。
图6A-6B示出了管理包括储存控制器和非易失性存储器的储存系统(例如,闪速存储器)的方法600的流程图表示,非易失性存储器包括一个或多个非易失性存储器装置,该非易失性存储器装置的每一个包括多个裸芯,并且每个裸芯包括多个块(有时也被称为子单元)。在一些实施例中,方法600由图1的储存控制器120进行,其中多个信道(例如,16个信道)将储存控制器120通信地耦接到闪速存储器。在一些实施例中,每个信道通信地与所述多个裸芯的各个子组(例如,每个信道8或16个裸芯)耦接。
在一些实施例中,方法600由储存控制器120或储存控制器120的一个或多个组件(例如,管理模块121,图1和2A)进行。在一些实施例中,方法600由储存在非瞬时性计算机可读储存介质中的指令以及由储存控制器120的一个或多个处理器、诸如管理模块121的一个或多个处理单元(CPU)122执行的指令来管理。
储存控制器对于所述多个裸芯的每一个获得(602)耐受性度量(例如,BER或PE周期的数量)。在一些实施例中,耐受性度量是指示用于各个裸芯的估测的寿命或使用期限的任何信息。在一些实施例中,耐受性度量基于在普通操作(例如,在初始化期间或者在出厂处)之前在来自每个裸芯的代表性裸芯上进行的校准例程的结果。在一些实施例中,耐受性度量基于在普通操作的时间段之后的实际数据(例如,在每个裸芯中的块的平均BER)。在一些实施例中,用于各个裸芯的耐受性度量基于从各个裸芯擦除数据所需要的时间量(例如,擦除时间随着各个裸芯的老化而增加)。在一些实施例中,用于各个裸芯的耐受性度量基于成功地译码储存在各个裸芯中的码字所需要的处理周期的时间长度或数量(例如,译码低密度校验码(LDPC)编码的码字所需要的迭代或周期的数量)。储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从与储存在特征向量表234中的各个裸芯相关联的特征向量236获得用于各个裸芯的耐受性度量。
在一些实施例中,每个裸芯与单个信道相关联(604)。例如,包括闪速存储器的多个裸芯的每一个与单个信道物理地连接或者焊接到单个信道。
在一些实施例中,获得用于所述多个裸芯的每一个的耐受性度量包括:在多个裸芯的每一个中的代表性块上进行(606)校准例程以产生耐受性度量(例如,BER或PE周期的数量)以用于多个裸芯的每一个。例如,在普通操作性使用(例如,在初始化期间或者在出厂处)之前,在来自闪速存储器的每个裸芯的代表性块上进行校准例程以仿真寿命条件的结束。在一些实施例中,在对代表性块进行预定数量的PE周期之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在一些实施例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中。
对于每个信道,储存控制器根据所述信道中的各个裸芯的耐受性度量来分级(608)信道中的裸芯。在一些实施例中,储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于信道中的裸芯的耐受性度量来分级每个信道中的裸芯。在图4中,例如,信道0中的8个裸芯从最高到最低被分级。关于信道0,裸芯3是最高等级的裸芯(例如,等级1),因为与裸芯3相关联的耐受性度量高于信道0中的其它裸芯。关于信道0,裸芯6是最低等级(例如,等级8)的裸芯,因为与裸芯6相关联的耐受性度量低于信道0中的其它裸芯。
储存控制器基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组(有时也被称为“超级装置”)分配(610)来自每个信道的一个或多个裸芯(例如,每个信道一个或两个裸芯通常被分配到裸芯组),其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于它们相应的分级将闪速存储器中的多个裸芯组合为裸芯组。在一些实施例中,每个信道中的一个或多个裸芯被分配到裸芯组。在一些实施例中,分配到多个裸芯组的第一裸芯组的裸芯的数量不等于分配到多个裸芯组的第二裸芯组的裸芯的数量。在图4中,例如,具有等级1-2的每个信道中的裸芯(例如,信道0中的裸芯3和7、以及信道15中的裸芯6和0)被分配到裸芯组0,具有等级3-4的每个信道中的裸芯(例如,信道0中的裸芯0和1、以及信道15中的裸芯3和7)被分配到裸芯组1,具有等级5-6的每个信道中的裸芯(例如,信道0中的裸芯5和4、以及信道15中的裸芯5和2)被分配到裸芯组2,并且具有等级7-8的每个信道中的裸芯(例如,信道0中的裸芯2和6、以及信道15中的裸芯4和1)被分配到裸芯组3。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)还被配置为在裸芯组映射220中储存用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。
响应于指明一组写入数据的写入命令,储存控制器通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯,将写入数据写入到(612)闪速存储器。例如,参考图1,储存控制器120从计算机系统110(例如,主机)经由控制线111接收主机写入命令并且经由数据连接101接收一组写入数据。响应于主机写入命令,储存控制器120或其组件(例如,数据写入模块208,图2A)被配置为:通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入到闪速存储器。例如,关于图4,通过使用16个信道将写入数据的子组同时并行地写入到裸芯组0中的16个等级1的裸芯的每一个,而在包括单个裸芯组(例如,裸芯组0)的裸芯之上交错(stripe)写入数据。
在一些实施例中,写入该写入数据包括:根据分配到所述多个裸芯组的每个裸芯组的裸芯将写入数据的逻辑地址映射(614)到闪速存储器中的物理地址。在一些实施例中,储存控制器或其组件在逻辑到物理映射238中将写入数据的逻辑地址(或逻辑地址的范围)映射到闪速存储器中的物理地址。在一些实施例中,逻辑到物理映射238被储存在储存控制器120处或者远离储存控制器120。
在一些实施例中,储存控制器基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量来选择(616)裸芯组。在一些实施例中,储存控制器120或其组件(例如,选择模块222,图2A)被配置为基于将要进行的操作(例如,主机写入或垃圾收集操作)和分配到所述裸芯组的裸芯的耐受性度量,选择多个裸芯组的裸芯组。例如,选择模块222选择包括用于写入操作的高等级的裸芯的裸芯组。在另一示例中,选择模块222选择包括用于垃圾收集/回收操作的低等级的裸芯的裸芯组。
在一些实施例中,在第一预定的条件出现以后,储存控制器储存(618)用于每个裸芯的一个或多个块(例如,一组块或“超级块”)的平均误码率。在一些实施例中,响应于检测第一预定的条件,储存控制器120或其组件被配置为采样用于每个裸芯的一个或多个块的当前BER,对每个裸芯的一个或多个块的BER求平均,并且储存用于每个裸芯的当前的平均BER。在一些实施例中,各个裸芯的当前的平均BER被储存在与各个裸芯相关联的特征向量236的平均BER字段246中。在一些实施例中,第一预定的条件是周期性的触发器(例如,每隔X小时或者每隔在各个裸芯上进行的N个PE周期)或事件(例如,关机、断电等)。
在一些实施例中,在第二预定的条件出现之后(620),对于所述多个裸芯的每一个,储存控制器获得(622)更新的耐受性度量。在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为储存用于所述多个裸芯的每一个的更新的耐受性度量。在一些实施例中,更新的耐受性度量基于用于每个裸芯的一个或多个块的平均误码率,其响应于检测第一预定的条件而储存。在一些实施例中,更新的耐受性度量是基于与裸芯相关联的擦除时间或者成功地译码储存在裸芯中的码字所需要的时间量。在一些实施例中,用于各个裸芯的更新的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中,并且替换储存在耐受性度量字段242中的之前的值。在一些实施例中,第二预定的条件是周期性的触发器(例如,每隔Y天、每隔在各个裸芯上进行的M个PE周期等)。
在一些实施例中,在第二预定的条件出现之后(620),对于每个信道,储存控制器根据所述信道中的各个裸芯的更新的耐受性度量来重新分类(624)信道中的裸芯。在一些实施例中,储存控制器120或其组件(例如,分级模块216,图2A)被配置为基于与在信道中的每个裸芯相关联的更新的耐受性度量来重新分类每个信道中的裸芯。
在一些实施例中,在第二预定的条件出现之后(620),储存控制器基于在每一个所述信道中的裸芯的重新分级向每个裸芯组分配(626)来自每个信道的一个或多个裸芯。在一些实施例中,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于它们相应的重新分级将闪速存储器中的多个裸芯组合为裸芯组。
在一些实施例中,在基于在每一个所述信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,储存控制器更新(628)裸芯组映射,裸芯组映射包括:包含每个裸芯组的裸芯的逻辑地址的表。在一些实施例中,在基于在每一个所述信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,储存控制器120或其组件(例如,组合模块218,图2A)被配置为基于重新分级更新裸芯组映射220以反映用于分配到每个裸芯组的裸芯的逻辑地址(或逻辑地址的范围,或其表示)。
图7示出了管理包括储存控制器和非易失性存储器的储存系统(例如,闪速存储器)的方法700的流程图表示,非易失性存储器包括一个或多个非易失性存储器装置,该非易失性存储器装置的每一个包括多个裸芯并且每个裸芯包括多个块(有时也被称为子单元)。在一些实施例中,方法700由储存控制器120或储存控制器120的一个或多个组件(例如,管理模块121,图1和2A)进行。在一些实施例中,方法700由储存在非瞬时性计算机可读储存介质中的指令管理,并且指令由储存控制器120的一个或多个处理器、诸如管理模块121的一个或多个处理单元(CPU)122执行。
储存控制器获得(702)用于所述多个裸芯的每一个的耐受性度量(例如,BER或PE周期的数量)。在一些实施例中,耐受性度量是指示用于各个裸芯的估测的寿命或使用期限的任何信息。在一些实施例中,在代表性块上预定的数量的PE周期进行之后测量的用于从各个裸芯的代表性块读取的数据的BER是耐受性度量。在一些实施例中,当用于从代表性块读取的数据的BER满足或者超过预定的阈值时,在各个裸芯的代表性块上进行的总的PE周期的数量是耐受性度量。在一些实施例中,用于各个裸芯的耐受性度量是基于从各个裸芯擦除数据所需要的时间量(例如,擦除时间随着各个裸芯的老化而增加)。在一些实施例中,用于各个裸芯的耐受性度量是基于成功地译码储存在各个裸芯中的码字所需要的处理周期的时间长度或数量(例如,译码低密度校验码(LDPC)编码的码字所需要的迭代或周期的数量)。储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为从与储存在特征向量表234中的各个裸芯相关联的特征向量236获得用于各个裸芯的耐受性度量。
储存控制器基于它们相应的耐受性度量将多个裸芯分类为(704)多个裸芯组,其中每个裸芯组包括一个或多个裸芯并且每个裸芯组与耐受性度量的范围相关联。例如,具有基本上类似的耐受性度量的裸芯被分配到相同的裸芯组。如此,当在特定裸芯组的裸芯上进行存储器操作时,特定裸芯组中的裸芯将以基本上类似的速率损坏。在一些实施例中,分配到多个裸芯组的第一裸芯组的裸芯的数量不等于分配到多个裸芯组的第二裸芯组的裸芯的数量。
在一些实施例中,多个信道(例如,16个信道)将储存控制器通信地耦接到闪速存储器,并且多个信道的每一个与多个裸芯的各个子组(例如,每个信道8或16个裸芯)通信地耦接。在一些实现方式中,分配到任何特定裸芯组的裸芯包括来自各种信道的不相等的数量的裸芯。例如,如果一个信道(例如,第一信道)在对应于特定裸芯组的耐受性度量范围中相比另外的信道(例如,第二信道)具有更大数量的裸芯,特定裸芯组将包括比来自第二信道更大数量的来自第一信道的裸芯。
此外,被分配到各个裸芯组的来自各个信道的裸芯的数量基于在各个信道中的裸芯的耐受性度量而变化。例如,各个信道中零个裸芯被分配到裸芯组,因为各个信道中的裸芯的耐受性度量不满足与各个裸芯组相关联的耐受性度量的范围。在另一示例中,在各个信道中的所有裸芯基于它们的各个耐受性度量被分配到单个裸芯组,因为各个信道中的裸芯的耐受性度量都满足与各个裸芯组相关联的耐受性度量的范围。
响应于指明一组写入数据的写入命令,储存控制器通过并行地将写入数据的子组写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入(706)到闪速存储器。例如,储存控制器120计算机系统110(例如,主机)经由控制线111接收主机写入命令并且经由数据连接101接收一组写入数据。响应于主机写入命令,储存控制器120或其组件(例如,数据写入模块208,图2A)被配置为通过将写入数据的子组(例如,当可能时并行地)写入到分配到多个裸芯组的单个裸芯组的多个裸芯而将数据写入到闪速存储器。
在一些实施例中,在预定的条件出现之后,储存控制器对于所述多个裸芯的每一个,获得更新的耐受性度量。在一些实施例中,储存控制器120或其组件(例如,耐受性度量模块214,图2A)被配置为储存用于所述多个裸芯的每一个的更新的耐受性度量。在一些实施例中,用于各个裸芯的更新的耐受性度量被储存在与各个裸芯相关联的特征向量236的耐受性度量字段242中,并且替换储存在耐受性度量字段242中的之前的值。在一些实施例中,第二预定的条件是周期性的触发器(例如,每隔Y天、每隔在各个裸芯上进行的M个PE周期等)。
在一些实施例中,在预定的条件出现之后,储存控制器基于它们相应的更新的耐受性度量将多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯,并且每个更新的裸芯组与耐受性度量的范围相关联。
在一些实施例中,在基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组之后,储存控制器更新裸芯组映射,其中裸芯组映射包括:包含每个裸芯组的裸芯的逻辑地址的表。
应理解的是,尽管术语“第一”、“第二”等在这里可以被用于描述各种元件,但是这些元件不应由这些术语限制。这些术语仅被用于将一个元件与另一个区分。例如,第一裸芯组可以被称为第二裸芯组,并且类似地,第二裸芯组可以被称为第一裸芯组,这改变说明书的含义,只要“第一裸芯组”的所有出现被一致地重新命名并且“第二裸芯组”的所有出现被一致地重新命名。第一裸芯组和第二裸芯组两者是裸芯组,但是它们不是同一个裸芯组。
这里使用的术语是仅是为了描述特定的实施例,而不是为了限制权利要求。如在对实施例的描述和所附权利要求中所使用的,单数形式“一”、“一个”和“该”意欲也包括复数形式,除非上下文另有清楚的指示。还可以理解的是,这里所使用的术语“和/或”是指并且包含一个或多个相关联的列出的项目的任意和所有可能组合。还可以理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。
如这里所使用的,根据上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,根据上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。
为了解释的目的,已经参考了特定实施例描述了前述说明。但是,以上示意性的讨论不意欲是穷举性的或者将权利要求限制到公开的精确形式。鉴于以上教导许多修改和变化是可能的。实施例被选中并且描述以便于最好地解释操作的原理和实际应用,从而使能本领域其它技术人员。

Claims (24)

1.一种管理包括储存控制器和非易失性存储器的储存系统的方法,所述非易失性存储器包括多个裸芯,并且每个裸芯包括多个子单元,所述方法包括:
在与所述非易失性存储器耦接的所述储存控制器处:
对于所述多个裸芯的每一个,获得耐受性度量;
基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的相应的范围相关联,并且其中所述裸芯组中的一组或多组的每个包括多个裸芯;
在所述储存控制器中储存指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射,其中所述储存控制器包括区别于裸芯组映射的逻辑地址到物理地址映射;以及
响应于指明一组写入数据的写入命令,通过并行地将所述组写入数据的有区别的各个子组写入到分配到所述多个裸芯组的单个裸芯组的有区别的各个裸芯而将所述组写入数据写入到所述非易失性存储器。
2.如权利要求1所述的方法,其中获得所述多个裸芯的每一个的耐受性度量包括:在所述多个裸芯的每一个中的代表性子单元上进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。
3.如权利要求1所述的方法,其中写入所述组写入数据包括:在逻辑地址到物理地址映射中,根据在所述储存控制器中的指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射,将所述写入数据的逻辑地址映射到所述非易失性存储器中的物理地址。
4.如权利要求1-3的任一项所述的方法,还包括:
基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组。
5.如权利要求1-3的任一项所述的方法,还包括:
在预定的条件出现之后:
为所述多个裸芯的每一个获得更新的耐受性度量;以及
基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯并且每个更新的裸芯组与耐受性度量的相应的范围相关联。
6.如权利要求5所述的方法,还包括:
在将所述多个裸芯重新分类为多个更新的裸芯组之后,更新所述裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。
7.如权利要求1-3的任一项所述的方法,其中多个信道将所述储存控制器通信地耦接到所述非易失性存储器,其中每个信道通信地与所述多个裸芯的各个子组耦接,所述方法还包括:
对于每个信道,根据所述信道中的各个裸芯的耐受性度量来分级所述信道中的裸芯;以及
其中基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组包括:基于在所述信道的每一个中的所述裸芯的分级,向多个裸芯组的每个裸芯组分配来自每个信道的一个或多个裸芯,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。
8.如权利要求7所述的方法,还包括:
在预定的条件出现之后:
为所述多个裸芯的每一个获得更新的耐受性度量;
对于每个信道,根据所述信道中的各个裸芯的更新的耐受性度量重新分级所述信道中的裸芯;以及
基于在每一个信道中的裸芯的重新分级,向每个裸芯组分配来自每个信道的一个或多个裸芯。
9.如权利要求8所述的方法,还包括:
在基于在每一个信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后,更新所述裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。
10.一种储存控制器,包括:
一个或多个处理器;
主机接口,被配置为将所述储存控制器耦接到主机;
储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个子单元;以及
储存控制器存储器,储存指令,当由所述一个或多个处理器执行所述指令时使得所述储存控制器进行包括如下的操作:
对于所述多个裸芯的每一个,获得耐受性度量;
基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的相应的范围相关联,并且其中所述裸芯组中的一组或多组的每个包括多个裸芯;
在所述储存控制器中储存指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射,其中所述储存控制器包括区别于裸芯组映射的逻辑地址到物理地址映射;以及
响应于指明一组写入数据的写入命令,通过并行地将所述组写入数据的有区别的各个子组写入到分配到所述多个裸芯组的单个裸芯组的有区别的各个裸芯而将所述组写入数据写入到所述非易失性存储器。
11.如权利要求10所述的储存控制器,其中获得所述多个裸芯的每一个的耐受性度量包括:在所述多个裸芯的每一个中的代表性子单元上进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。
12.如权利要求10所述的储存控制器,其中写入所述组写入数据包括:在逻辑地址到物理地址映射中,根据在所述储存控制器中的指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射,将所述写入数据的逻辑地址映射到所述非易失性存储器中的物理地址。
13.如权利要求10-12的任一项所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作:
基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组。
14.如权利要求10-12的任一项所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作:
在预定的条件出现之后:
为所述多个裸芯的每一个获得更新的耐受性度量;以及
基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯,并且每个更新的裸芯组与耐受性度量的范围相关联。
15.如权利要求14所述的储存控制器,其中所述指令使得所述储存控制器进行还包括如下的操作:
在将所述多个裸芯重新分类为多个更新的裸芯组之后,更新所述裸芯组映射,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。
16.一种储存控制器,包括:
主机接口,被配置为将所述储存控制器耦接到主机;
储存介质接口,被配置为将所述储存控制器耦接到包括多个裸芯的非易失性存储器,每个裸芯包括多个子单元;
用于为所述多个裸芯的每一个获得耐受性度量的构件;
用于基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组的构件,其中每个裸芯组包括一个或多个裸芯,并且每个裸芯组与耐受性度量的相应的范围相关联,并且其中所述裸芯组中的一组或多组的每个包括多个裸芯;
用于在所述储存控制器中储存指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射的构件,其中所述储存控制器包括区别于裸芯组映射的逻辑地址到物理地址映射;以及
响应于指明一组写入数据的写入命令,用于通过并行地将所述组写入数据的子组写入到分配到所述多个裸芯组的单个裸芯组的有区别的各个裸芯而将所述组写入数据写入到所述非易失性存储器的构件。
17.如权利要求16所述的储存控制器,包括:
用于在预定的条件出现之后进行以下的构件:
为所述多个裸芯的每一个获得更新的耐受性度量;以及
基于它们相应的更新的耐受性度量将所述多个裸芯重新分类为多个更新的裸芯组,其中每个更新的裸芯组包括一个或多个裸芯并且每个更新的裸芯组与耐受性度量的相应的范围相关联。
18.如权利要求17所述的储存控制器,还包括:
用于在将所述多个裸芯重新分类为多个更新的裸芯组之后更新所述裸芯组映射的构件,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。
19.如权利要求16-18的任一项所述的储存控制器,其中多个信道将所述储存控制器通信地耦接到所述非易失性存储器,其中每个信道通信地与所述多个裸芯的各个子组耦接,所述储存控制器还包括:
用于对于每个信道根据所述信道中的各个裸芯的耐受性度量来分级所述信道中的裸芯的构件;以及
其中用于基于它们相应的耐受性度量将所述多个裸芯分类为多个裸芯组的构件包括:用于基于在所述信道的每一个中的所述裸芯的分级向多个裸芯组的每个裸芯组分配来自每个信道的一个或多个裸芯的构件,其中分配到各个裸芯组的所述裸芯具有对应于所述各个裸芯组的分级或者分级的范围,并且每个裸芯组具有有区别的相应的分级或者分级的范围。
20.如权利要求19所述的储存控制器,还包括:
用于在预定的条件出现之后进行以下的构件:
为所述多个裸芯的每一个获得更新的耐受性度量;
对于每个信道,根据所述信道中的各个裸芯的更新的耐受性度量重新分级所述信道中的裸芯;以及
基于在每一个信道中的裸芯的重新分级,向每个裸芯组分配来自每个信道的一个或多个裸芯。
21.如权利要求20所述的储存控制器,还包括:
用于在基于在每一个信道中的裸芯的重新分级将来自每个信道的一个或多个裸芯分配到每个裸芯组之后更新所述裸芯组映射的构件,所述裸芯组映射包括包含每个裸芯组的裸芯的逻辑地址的表。
22.如权利要求16所述的储存控制器,其中获得用于所述多个裸芯的每一个的耐受性度量包括:在所述多个裸芯的每一个中的代表性子单元上进行校准例程,以产生用于所述多个裸芯的每一个的耐受性度量。
23.如权利要求16所述的储存控制器,其中写入所述组写入数据包括:在逻辑地址到物理地址映射中,根据在所述储存控制器中的指示哪些裸芯被分配到所述多个裸芯组的每个裸芯组的裸芯组映射,将所述写入数据的逻辑地址映射到非易失性存储器中的物理地址。
24.如权利要求16所述的储存控制器,还包括:
用于基于将要进行的操作和分配到所述裸芯组的裸芯的耐受性度量选择裸芯组的构件。
CN201480067426.7A 2013-10-18 2014-10-08 用于管理裸芯组的装置和方法 Expired - Fee Related CN105874540B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361893104P 2013-10-18 2013-10-18
US61/893,104 2013-10-18
US14/137,511 US9442662B2 (en) 2013-10-18 2013-12-20 Device and method for managing die groups
US14/137,511 2013-12-20
PCT/US2014/059748 WO2015057459A1 (en) 2013-10-18 2014-10-08 Device and method for managing die groups

Publications (2)

Publication Number Publication Date
CN105874540A CN105874540A (zh) 2016-08-17
CN105874540B true CN105874540B (zh) 2019-10-01

Family

ID=52827216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480067426.7A Expired - Fee Related CN105874540B (zh) 2013-10-18 2014-10-08 用于管理裸芯组的装置和方法

Country Status (4)

Country Link
US (1) US9442662B2 (zh)
CN (1) CN105874540B (zh)
DE (1) DE112014004778B4 (zh)
WO (1) WO2015057459A1 (zh)

Families Citing this family (261)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US20160147444A1 (en) * 2014-11-23 2016-05-26 Apple Inc. Parallel data storage in groups of memory blocks having similar performance characteristics
US10404410B2 (en) * 2015-02-27 2019-09-03 Pure Storage, Inc. Storage unit (SU) report cards
US11188665B2 (en) 2015-02-27 2021-11-30 Pure Storage, Inc. Using internal sensors to detect adverse interference and take defensive actions
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
KR102401600B1 (ko) 2015-08-31 2022-05-25 삼성전자주식회사 데이터 양에 기초하여 복수의 데이터 스트림을 관리하도록 구성되는 스토리지 장치
US20170068467A1 (en) * 2015-09-04 2017-03-09 HGST Netherlands B.V. Wear management for flash memory devices
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9817595B2 (en) 2016-01-28 2017-11-14 Apple Inc. Management of peak power consumed by multiple memory devices
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US11995315B2 (en) 2016-03-16 2024-05-28 Pure Storage, Inc. Converting data formats in a storage system
US10365996B2 (en) * 2016-03-24 2019-07-30 Advanced Micro Devices, Inc. Performance-aware and reliability-aware data placement for n-level heterogeneous memory systems
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US11029881B2 (en) * 2016-06-29 2021-06-08 Sony Corporation Memory controller, memory system, and information processing system
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10261704B1 (en) 2016-06-29 2019-04-16 EMC IP Holding Company LLC Linked lists in flash memory
US10055351B1 (en) 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
CN107025066A (zh) 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
KR102545698B1 (ko) * 2016-09-27 2023-06-19 삼성전자주식회사 데이터 저장 시스템
US10740466B1 (en) 2016-09-29 2020-08-11 Amazon Technologies, Inc. Securing interfaces of a compute node
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
US10049764B2 (en) 2016-12-13 2018-08-14 Macronix International Co., Ltd. Control method for memory device and memory controller
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
US10379769B2 (en) 2016-12-30 2019-08-13 Western Digital Technologies, Inc. Continuous adaptive calibration for flash memory devices
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
JP6765321B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
US10901627B1 (en) * 2017-02-28 2021-01-26 Amazon Technologies, Inc. Tracking persistent memory usage
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US12056383B2 (en) 2017-03-10 2024-08-06 Pure Storage, Inc. Edge management service
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US10552169B2 (en) * 2017-03-17 2020-02-04 Sandisk Technologies Llc On-die signal calibration
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
US12086650B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Workload placement based on carbon emissions
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US12061822B1 (en) 2017-06-12 2024-08-13 Pure Storage, Inc. Utilizing volume-level policies in a storage system
EP3612922A1 (en) 2017-06-12 2020-02-26 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US12086651B2 (en) 2017-06-12 2024-09-10 Pure Storage, Inc. Migrating workloads using active disaster recovery
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US12067466B2 (en) 2017-10-19 2024-08-20 Pure Storage, Inc. Artificial intelligence and machine learning hyperscale infrastructure
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US12066900B2 (en) 2018-03-15 2024-08-20 Pure Storage, Inc. Managing disaster recovery to cloud computing environment
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US12086431B1 (en) 2018-05-21 2024-09-10 Pure Storage, Inc. Selective communication protocol layering for synchronous replication
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US10992598B2 (en) 2018-05-21 2021-04-27 Pure Storage, Inc. Synchronously replicating when a mediation service becomes unavailable
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US10824502B2 (en) * 2018-08-08 2020-11-03 Micron Technology, Inc. Enhanced codeword for media persistence and diagnostics
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US12026381B2 (en) 2018-10-26 2024-07-02 Pure Storage, Inc. Preserving identities and policies across replication
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11023179B2 (en) 2018-11-18 2021-06-01 Pure Storage, Inc. Cloud-based storage system storage management
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US12026061B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Restoring a cloud-based storage system to a selected state
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US12026060B1 (en) 2018-11-18 2024-07-02 Pure Storage, Inc. Reverting between codified states in a cloud-based storage system
US10896123B2 (en) * 2018-12-13 2021-01-19 Western Digital Technologies, Inc. Enhancing the effectiveness of read scan performance and reliability for non-volatile memory
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US12001355B1 (en) 2019-05-24 2024-06-04 Pure Storage, Inc. Chunked memory efficient storage data transfers
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US12045252B2 (en) 2019-09-13 2024-07-23 Pure Storage, Inc. Providing quality of service (QoS) for replicating datasets
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11360689B1 (en) 2019-09-13 2022-06-14 Pure Storage, Inc. Cloning a tracking copy of replica data
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US11726679B2 (en) 2019-11-05 2023-08-15 Western Digital Technologies, Inc. Applying endurance groups to zoned namespaces
US11943293B1 (en) 2019-12-06 2024-03-26 Pure Storage, Inc. Restoring a storage system from a replication target
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11275510B2 (en) 2020-02-07 2022-03-15 Samsung Electronics Co., Ltd. Systems and methods for storage device block-level failure prediction
US12014065B2 (en) 2020-02-11 2024-06-18 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US12038881B2 (en) 2020-03-25 2024-07-16 Pure Storage, Inc. Replica transitions for file storage
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
KR20210128780A (ko) * 2020-04-17 2021-10-27 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 저장 장치
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11569105B2 (en) * 2020-06-15 2023-01-31 Taiwan Semiconductor Manufacturing Company, Ltd. Multi-flip semiconductor die sorter tool
US11734093B2 (en) 2020-06-23 2023-08-22 Samsung Electronics Co., Ltd. Storage device block-level failure prediction-based data placement
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US12079222B1 (en) 2020-09-04 2024-09-03 Pure Storage, Inc. Enabling data portability between systems
US11709621B2 (en) 2020-10-09 2023-07-25 Western Digital Technologies Inc. Read threshold management and calibration
US11893277B2 (en) * 2020-10-14 2024-02-06 Western Digital Technologies, Inc. Data storage device managing low endurance semiconductor memory write cache
US11545227B2 (en) 2020-10-14 2023-01-03 Micron Technology, Inc. Threshold voltage offset bin selection based on die family in memory devices
US11487446B2 (en) 2020-12-03 2022-11-01 Western Digital Technologies, Inc. Overhead reduction in data transfer protocol for NAND memory
US11361837B1 (en) 2020-12-09 2022-06-14 Micron Technology, Inc. Memory location age tracking on memory die
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US11586384B2 (en) 2021-02-16 2023-02-21 Western Digital Technologies, Inc. Overhead reduction in data transfer protocol for data storage devices
US11561713B2 (en) 2021-03-11 2023-01-24 Western Digital Technologies, Inc. Simplified high capacity die and block management
US12086649B2 (en) 2021-05-12 2024-09-10 Pure Storage, Inc. Rebalancing in a fleet of storage systems using data science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US12001300B2 (en) 2022-01-04 2024-06-04 Pure Storage, Inc. Assessing protection for storage resources
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction
US12026042B2 (en) * 2022-06-01 2024-07-02 Micron Technology, Inc. Adaptive wear leveling for endurance compensation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1396869A (zh) * 2000-11-30 2003-02-12 索尼株式会社 非接触式ic卡
US7945723B2 (en) * 2007-05-18 2011-05-17 Samsung Electronics Co., Ltd. Apparatus and method of managing mapping table of non-volatile memory
CN103186470A (zh) * 2011-12-30 2013-07-03 群联电子股份有限公司 存储器储存装置及其存储器控制器与数据写入方法

Family Cites Families (468)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4173737A (en) 1978-05-04 1979-11-06 Zenith Radio Corporation Limited position, non-volatile memory tuning system
US4888750A (en) 1986-03-07 1989-12-19 Kryder Mark H Method and system for erase before write magneto-optic recording
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
US5129089A (en) 1987-12-18 1992-07-07 Digital Equipment Corporation Distributed interlock apparatus and distributed interlock management method
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5381528A (en) 1992-10-15 1995-01-10 Maxtor Corporation Demand allocation of read/write buffer partitions favoring sequential read cache
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
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5537555A (en) 1993-03-22 1996-07-16 Compaq Computer Corporation Fully pipelined and highly concurrent memory controller
US5519847A (en) 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5329491A (en) 1993-06-30 1994-07-12 Intel Corporation Nonvolatile memory card with automatic power supply configuration
US5708849A (en) 1994-01-26 1998-01-13 Intel Corporation Implementing scatter/gather operations in a direct memory access device on a personal computer
US5488702A (en) 1994-04-26 1996-01-30 Unisys Corporation Data block check sequence generation and validation in a file cache system
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
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
US5636342A (en) 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5606532A (en) 1995-03-17 1997-02-25 Atmel Corporation EEPROM array with flash-like core
JP3807745B2 (ja) 1995-06-14 2006-08-09 株式会社ルネサステクノロジ 半導体メモリ、メモリデバイス及びメモリカード
US5890193A (en) 1995-07-28 1999-03-30 Micron Technology, Inc. Architecture for state machine for controlling internal operations of flash memory
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
US5790459A (en) 1995-08-04 1998-08-04 Micron Quantum Devices, Inc. Memory circuit for performing threshold voltage tests on cells of a memory array
US5815434A (en) 1995-09-29 1998-09-29 Intel Corporation Multiple writes per a single erase for a nonvolatile memory
US6044472A (en) 1996-06-21 2000-03-28 Archos Device and method for supplying power to an external data medium reader unit connected to a computer, and external reader unit including this device
KR100412589B1 (ko) 1996-07-05 2004-04-06 마츠시타 덴끼 산교 가부시키가이샤 반도체 회로 시스템, 반도체 집적회로의 검사방법 및 그 검사계열의 생성방법
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
JPH10124381A (ja) 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
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
US6006345A (en) 1997-05-09 1999-12-21 International Business Machines Corporation Pattern generator for memory burn-in and test
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 不揮発性半導体記憶装置
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
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
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
US6295592B1 (en) 1998-07-31 2001-09-25 Micron Technology, Inc. Method of processing memory requests in a pipelined memory controller
US6233625B1 (en) 1998-11-18 2001-05-15 Compaq Computer Corporation System and method for applying initialization power to SCSI devices
US6288860B1 (en) 1999-01-04 2001-09-11 Maxtor Corporation Servo area numbering strategy for computer disk drives
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
US6728879B1 (en) 1999-06-02 2004-04-27 Microsoft Corporation Transactional log with multi-sector log block validation
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
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
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
US7660941B2 (en) 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
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
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
US7318117B2 (en) 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
US6412042B1 (en) 1999-11-17 2002-06-25 Maxtor Corporation System and method for improved disk drive performance and reliability
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
US6339338B1 (en) 2000-01-18 2002-01-15 Formfactor, Inc. Apparatus for reducing power supply noise in an integrated circuit
US20020152305A1 (en) 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
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
JP3555859B2 (ja) 2000-03-27 2004-08-18 広島日本電気株式会社 半導体生産システム及び半導体装置の生産方法
US6629047B1 (en) 2000-03-30 2003-09-30 Intel Corporation Method and apparatus for flash voltage detection and lockout
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
US6647387B1 (en) 2000-04-27 2003-11-11 International Business Machine Corporation System, apparatus, and method for enhancing storage management in a storage area network
US6678788B1 (en) 2000-05-26 2004-01-13 Emc Corporation Data type and topological data categorization and ordering for a mass storage system
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6442076B1 (en) 2000-06-30 2002-08-27 Micron Technology, Inc. Flash memory with multiple status reading capability
US6980985B1 (en) 2000-08-30 2005-12-27 At&T Corp. Distributed evalulation of directory queries using a topology cache
US6941505B2 (en) 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US6865650B1 (en) 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling
US6862651B2 (en) 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
US6738870B2 (en) 2000-12-22 2004-05-18 International Business Machines Corporation High speed remote storage controller
KR100381955B1 (ko) 2001-01-03 2003-04-26 삼성전자주식회사 기입 드라이버를 이용한 셀 전류 측정 스킴을 갖는 플래시메모리 장치
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20020174295A1 (en) 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
WO2002082435A1 (fr) 2001-03-30 2002-10-17 Fujitsu Limited Dispositif de stockage
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
JP4256600B2 (ja) 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
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
US6928602B2 (en) 2001-07-18 2005-08-09 Sony Corporation Encoding method and encoder
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 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US7028213B2 (en) 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
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
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
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
KR100476888B1 (ko) 2002-04-04 2005-03-17 삼성전자주식회사 온도보상기능을 가진 멀티비트 플래쉬메모리
JP4079684B2 (ja) 2002-05-08 2008-04-23 株式会社日立製作所 ヒープメモリ管理方法およびそれを用いた計算機システム
US6966006B2 (en) 2002-05-09 2005-11-15 International Business Machines Corporation Adaptive startup policy for accelerating multi-disk array spin-up
US6895464B2 (en) 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
US6885530B2 (en) 2002-06-11 2005-04-26 Stmicroelectronics, Inc. Power limiting time delay circuit
KR100484147B1 (ko) 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
US7051155B2 (en) 2002-08-05 2006-05-23 Sun Microsystems, Inc. Method and system for striping data to accommodate integrity metadata
US6978343B1 (en) 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
JP4177329B2 (ja) 2002-08-29 2008-11-05 株式会社ルネサステクノロジ 半導体処理装置及びicカード
US7120856B2 (en) 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
JP2004178782A (ja) 2002-10-04 2004-06-24 Sharp Corp 半導体記憶装置およびその制御方法および携帯電子機器
KR100457812B1 (ko) 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
US7152942B2 (en) 2002-12-02 2006-12-26 Silverbrook Research Pty Ltd Fixative compensation
US20040114265A1 (en) 2002-12-16 2004-06-17 Xerox Corporation User-selectable automatic secure data file erasure of job after job completion
US7155579B1 (en) 2002-12-27 2006-12-26 Unisys Corporation Memory controller having programmable initialization sequence
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7296216B2 (en) 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
US7043505B1 (en) 2003-01-28 2006-05-09 Unisys Corporation Method variation for collecting stability data from proprietary systems
JP4110000B2 (ja) 2003-01-28 2008-07-02 株式会社ルネサステクノロジ 記憶装置
JP2004240555A (ja) 2003-02-04 2004-08-26 Fujitsu Ltd バッテリ運用制御装置、バッテリ運用制御方法およびバッテリ運用制御プログラム
US7478096B2 (en) 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
US7162678B2 (en) 2003-03-14 2007-01-09 Quantum Corporation Extended error correction codes
US7527466B2 (en) 2003-04-03 2009-05-05 Simmons Robert J Building-erection structural member transporter
KR100543447B1 (ko) 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
WO2004099985A1 (ja) 2003-05-09 2004-11-18 Fujitsu Limited 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体
EP2528000B1 (en) 2003-05-23 2017-07-26 IP Reservoir, LLC Intelligent data storage and processing using FPGA devices
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
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7076598B2 (en) 2003-09-09 2006-07-11 Solid State System Co., Ltd. Pipeline accessing method to a large block memory
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
US7523157B2 (en) 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7881133B2 (en) 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
TW200516821A (en) 2003-11-14 2005-05-16 Hon Hai Prec Ind Co Ltd System and method for starting up devices orderly
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
US7197652B2 (en) 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US20050144516A1 (en) 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7631148B2 (en) 2004-01-08 2009-12-08 Netapp, Inc. Adaptive file readahead based on multiple factors
JP4357304B2 (ja) 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
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 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
US7389465B2 (en) 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
US7350044B2 (en) 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
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
JP2005266861A (ja) 2004-03-16 2005-09-29 Nec Electronics Corp マイクロコンピュータ及びそのテスト方法
US7035159B2 (en) 2004-04-01 2006-04-25 Micron Technology, Inc. Techniques for storing accurate operating current values
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
JP2005332471A (ja) 2004-05-19 2005-12-02 Hitachi Ltd ディスクアレイ装置
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
US7159069B2 (en) 2004-06-23 2007-01-02 Atmel Corporation Simultaneous external read operation during internal programming in a flash memory device
US7126873B2 (en) 2004-06-29 2006-10-24 Super Talent Electronics, Inc. Method and system for expanding flash storage device capacity
US7529898B2 (en) 2004-07-09 2009-05-05 International Business Machines Corporation Method for backing up and restoring data
US8190808B2 (en) 2004-08-17 2012-05-29 Rambus Inc. Memory device having staggered memory operations
EP1797645B1 (en) 2004-08-30 2018-08-01 Google LLC Systems and methods for providing nonvolatile memory management in wireless phones
FR2875358B1 (fr) 2004-09-15 2006-12-15 Eads Telecom Soc Par Actions S Insertion d'un flux secondaire d'informations binaires dans un flux principal de symboles d'une modulation numerique
JP2006099665A (ja) 2004-09-30 2006-04-13 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
US7760880B2 (en) 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
KR100695891B1 (ko) 2004-11-17 2007-03-19 삼성전자주식회사 동작 모드에 따라 락 아웃을 선택적으로 수행하는 장치 및방법
US7395404B2 (en) 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US20060136681A1 (en) 2004-12-21 2006-06-22 Sanjeev Jain Method and apparatus to support multiple memory banks with a memory block
EP1829223B1 (en) 2004-12-22 2013-02-13 LG Electronics Inc. Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
US20060156177A1 (en) 2004-12-29 2006-07-13 Sailesh Kottapalli Method and apparatus for recovering from soft errors in register files
US7212440B2 (en) 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7657696B2 (en) 2005-02-25 2010-02-02 Lsi Corporation Method to detect NAND-flash parameters by hardware automatically
US7822912B2 (en) 2005-03-14 2010-10-26 Phision Electronics Corp. Flash storage chip and flash array storage system
JP2006277395A (ja) 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
US7707232B2 (en) 2005-05-13 2010-04-27 Microsoft Corporation Implementation for collecting unmanaged memory
US7765454B2 (en) 2005-05-24 2010-07-27 Sgi International, Inc. Fault tolerant memory system
US7283395B2 (en) 2005-06-24 2007-10-16 Infineon Technologies Flash Gmbh & Co. Kg Memory device and method for operating the memory device
JP2008544721A (ja) 2005-06-27 2008-12-04 トムソン ライセンシング 反復デコーダの電力削減のための方法及び装置
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
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
KR100705220B1 (ko) 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
US20080256415A1 (en) 2005-09-27 2008-10-16 Nxp B.V. Error Detection/Correction Circuit as Well as Corresponding Method
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR100715147B1 (ko) 2005-10-06 2007-05-10 삼성전자주식회사 전류소모를 감소시키는 내부전원전압 발생회로를 가지는멀티칩 반도체 메모리 장치
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
US7743363B2 (en) 2005-10-13 2010-06-22 Microsoft Corporation Extensible meta-data
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
KR101021465B1 (ko) 2005-10-26 2011-03-15 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
KR100966043B1 (ko) 2005-10-31 2010-06-25 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US7606812B2 (en) 2005-11-04 2009-10-20 Sun Microsystems, Inc. Dynamic intent log
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
US8813052B2 (en) 2005-12-07 2014-08-19 Microsoft Corporation Cache metadata for implementing bounded transactional memory
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
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
WO2007080586A2 (en) 2006-01-10 2007-07-19 Saifun Semiconductors Ltd. Rd algorithm improvement for nrom technology
US8020060B2 (en) 2006-01-18 2011-09-13 Sandisk Il Ltd Method of arranging data in a multi-level cell memory device
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 株式会社日立製作所 ストレージシステム及びストレージコントローラ
US7546478B2 (en) 2006-02-10 2009-06-09 International Business Machines Corporation Apparatus and method to provide power to a plurality of data storage devices disposed in a data storage system
US7870326B2 (en) 2006-07-28 2011-01-11 Samsung Electronics Co., Ltd. Multiprocessor system and method thereof
US7590473B2 (en) 2006-02-16 2009-09-15 Intel Corporation Thermal management using an on-die thermal sensor
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
US20070245061A1 (en) 2006-04-13 2007-10-18 Intel Corporation Multiplexing a parallel bus interface and a flash memory interface
US7685494B1 (en) 2006-05-08 2010-03-23 Marvell International, Ltd. Error correction coding for varying signal-to-noise ratio channels
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7707481B2 (en) 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
US7701764B2 (en) 2006-05-17 2010-04-20 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
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 株式会社日立製作所 ストレージシステム及びそのデータ保護方法
US8006160B2 (en) 2006-06-29 2011-08-23 Digital Fountain, Inc. Efficient encoding and decoding methods for representing schedules and processing forward error correction codes
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US7403438B2 (en) 2006-07-12 2008-07-22 Infineon Technologies Flash Gmbh & Co. Kg Memory array architecture and method for high-speed distribution measurements
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
US20080052446A1 (en) 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
US7450425B2 (en) 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
JP2008059315A (ja) 2006-08-31 2008-03-13 Hitachi Ltd 負荷分散方法及び計算機システム
US7566987B2 (en) 2006-09-14 2009-07-28 Lutron Electronics Co., Inc. Method of powering up a plurality of loads in sequence
KR100843133B1 (ko) 2006-09-20 2008-07-02 삼성전자주식회사 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법
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
CN100596029C (zh) 2006-10-20 2010-03-24 北京泰美世纪科技有限公司 Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
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
US7508703B2 (en) 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
KR100808664B1 (ko) 2006-12-08 2008-03-07 한국전자통신연구원 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
WO2008075292A2 (en) 2006-12-18 2008-06-26 Nxp B.V. Power-on temperature sensor/spd detect
KR100881669B1 (ko) 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US7620781B2 (en) 2006-12-19 2009-11-17 Intel Corporation Efficient Bloom filter
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 삼성전자주식회사 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
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 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. 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
US7996642B1 (en) 2007-04-25 2011-08-09 Marvell International Ltd. Digital locked loop on channel tagged memory requests for memory optimization
EP1988474A1 (en) 2007-05-04 2008-11-05 Axalto SA System and method of managing indexation of flash memory
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
US7930547B2 (en) 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
KR100891005B1 (ko) 2007-06-28 2009-03-31 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
US7778070B2 (en) 2007-06-29 2010-08-17 Qimonda Ag Memory with dynamic redundancy configuration
JP2009020986A (ja) 2007-07-15 2009-01-29 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法
US8024525B2 (en) 2007-07-25 2011-09-20 Digi-Data Corporation Storage control unit with memory cache protection via recorded log
US8724789B2 (en) 2007-08-06 2014-05-13 Yellow Pages Systems and methods to connect people for real time communications via directory assistance
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
JP4404125B2 (ja) 2007-09-12 2010-01-27 株式会社デンソー 電子制御装置及び信号監視回路
US8139412B2 (en) 2007-10-31 2012-03-20 Agere Systems Inc. Systematic error correction for multi-level flash memory
US7894264B2 (en) 2007-11-07 2011-02-22 Micron Technology, Inc. Controlling a memory device responsive to degradation
US7945825B2 (en) 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8429492B2 (en) 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US8621138B2 (en) 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Flash storage controller execute loop
EP2225643B1 (en) 2007-12-28 2020-05-06 Toshiba Memory Corporation Semiconductor storage device
US20090172335A1 (en) 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
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 富士通株式会社 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム
US20090204823A1 (en) 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
JP4672743B2 (ja) 2008-03-01 2011-04-20 株式会社東芝 誤り訂正装置および誤り訂正方法
JP2009211233A (ja) 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
JP2009266349A (ja) 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
US8185706B2 (en) 2008-04-30 2012-05-22 Apple Inc. Copyback optimization for memory system
KR101518199B1 (ko) 2008-05-23 2015-05-06 삼성전자주식회사 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치
KR101412974B1 (ko) 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
JP5072723B2 (ja) 2008-06-11 2012-11-14 株式会社東芝 不揮発性半導体記憶装置
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
KR101413137B1 (ko) 2008-07-04 2014-07-01 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US8037380B2 (en) 2008-07-08 2011-10-11 International Business Machines Corporation Verifying data integrity of a non-volatile memory system during data caching process
WO2010005878A1 (en) * 2008-07-09 2010-01-14 Sandisk Corporation Dielectric cap above floating gate
US8325554B2 (en) 2008-07-10 2012-12-04 Sanmina-Sci Corporation Battery-less cache memory module with integrated backup
KR101436506B1 (ko) 2008-07-23 2014-09-02 삼성전자주식회사 메모리 장치 및 메모리 데이터 프로그래밍 방법
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US8429514B1 (en) 2008-09-24 2013-04-23 Network Appliance, Inc. Dynamic load balancing of distributed parity in a RAID array
KR101484556B1 (ko) 2008-10-28 2015-01-20 삼성전자주식회사 독출 보상 회로
US8023334B2 (en) 2008-10-31 2011-09-20 Micron Technology, Inc. Program window adjust for memory cell signal line delay
US8214599B2 (en) 2008-11-04 2012-07-03 Gridiron Systems, Inc. Storage device prefetch system using directed graph clusters
US9063874B2 (en) * 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
KR101516577B1 (ko) 2008-11-10 2015-05-06 삼성전자주식회사 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법
KR20100058166A (ko) 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
KR101555022B1 (ko) 2008-12-02 2015-09-23 삼성전자주식회사 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법
US8209466B2 (en) 2008-12-16 2012-06-26 Intel Corporation Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory
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
KR101535225B1 (ko) 2009-01-06 2015-07-09 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
CN101799783A (zh) 2009-01-19 2010-08-11 中国人民大学 一种数据存储处理方法、查找方法及其装置
KR100996009B1 (ko) 2009-02-02 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
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 주식회사 하이닉스반도체 불휘발성 메모리 장치의 독출 방법 및 이를 구현하는 불휘발성 메모리 장치
US7830732B2 (en) 2009-02-11 2010-11-09 Stec, Inc. Staged-backup flash backed dram module
KR20100093885A (ko) 2009-02-17 2010-08-26 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8230239B2 (en) 2009-04-02 2012-07-24 Qualcomm Incorporated Multiple power mode system and method for memory
US8042011B2 (en) 2009-04-28 2011-10-18 Synopsys, Inc. Runtime programmable BIST for testing a multi-port memory device
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
US8166258B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US8463820B2 (en) 2009-05-26 2013-06-11 Intel Corporation System and method for memory bandwidth friendly sorting on multi-core architectures
US8180763B2 (en) 2009-05-29 2012-05-15 Microsoft Corporation Cache-friendly B-tree accelerator
US8885434B2 (en) 2009-06-17 2014-11-11 Stmicroelectronics International N.V. Retention of data during stand-by mode
US8627117B2 (en) 2009-06-26 2014-01-07 Seagate Technology Llc Device with power control feature involving backup power reservoir circuit
US8479032B2 (en) 2009-06-26 2013-07-02 Seagate Technology Llc Systems, methods and devices for regulation or isolation of backup power in memory devices
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8880835B2 (en) 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
US8516219B2 (en) 2009-07-24 2013-08-20 Apple Inc. Index cache tree
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
JP5752686B2 (ja) 2009-08-20 2015-07-22 ラムバス・インコーポレーテッド 原子メモリ装置
US8464106B2 (en) 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
WO2011024015A1 (en) 2009-08-25 2011-03-03 Sandisk Il Ltd. Restoring data into a flash storage device
US8077515B2 (en) 2009-08-25 2011-12-13 Micron Technology, Inc. Methods, devices, and systems for dealing with threshold voltage change in memory devices
US8429436B2 (en) 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US8478725B2 (en) 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
CN102640227B (zh) * 2009-09-23 2016-06-01 纳姆迪兰斯有限公司 一种快闪存储器件及控制方法
US8479061B2 (en) 2009-09-24 2013-07-02 AGIGA Tech Solid state memory cartridge with wear indication
US8171257B2 (en) 2009-09-25 2012-05-01 International Business Machines Corporation Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer
EP2482194B1 (en) 2009-09-25 2013-12-25 Fujitsu Limited Memory system and memory system control method
JP5197544B2 (ja) 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
US8312349B2 (en) 2009-10-27 2012-11-13 Micron Technology, Inc. Error detection/correction based memory management
US8423866B2 (en) 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
CN101699406B (zh) 2009-11-12 2011-12-14 威盛电子股份有限公司 数据储存系统与方法
US8335123B2 (en) 2009-11-20 2012-12-18 Sandisk Technologies Inc. Power management of memory systems
US8130553B2 (en) 2009-12-02 2012-03-06 Seagate Technology Llc Systems and methods for low wear operation of solid state memory
FR2953666B1 (fr) 2009-12-09 2012-07-13 Commissariat Energie Atomique Procede de codage ldpc a redondance incrementale
US8250380B2 (en) 2009-12-17 2012-08-21 Hitachi Global Storage Technologies Netherlands B.V. Implementing secure erase for solid state drives
TWI399645B (zh) 2010-01-15 2013-06-21 Silicon Motion Inc 管理記憶體讀出資料之方法以及記憶裝置
US8380915B2 (en) 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
JP5788183B2 (ja) 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8355280B2 (en) 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
US8458417B2 (en) 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US8164967B2 (en) 2010-03-24 2012-04-24 Apple Inc. Systems and methods for refreshing non-volatile memory
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
JP2011233114A (ja) 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8321481B2 (en) 2010-05-13 2012-11-27 Assa Abloy Ab Method for incremental anti-tear garbage collection
US20110283119A1 (en) 2010-05-13 2011-11-17 GCCA Inc. System and Method for Providing Energy Efficient Cloud Computing
TW201223064A (en) 2010-06-01 2012-06-01 Koninkl Philips Electronics Nv System and method for sequential application of power to electrical loads
EP2577470A4 (en) 2010-06-04 2013-12-25 Sandisk Entpr Ip Llc CACHE ADMINISTRATION AND ACCELERATION IN STORAGE MEDIA
WO2012001917A1 (ja) 2010-06-29 2012-01-05 パナソニック株式会社 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置
US20120011393A1 (en) 2010-07-06 2012-01-12 Roberts Richard B Bios recovery
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
KR101131560B1 (ko) * 2010-07-15 2012-04-04 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
US20120023144A1 (en) 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
US8503238B1 (en) 2010-07-21 2013-08-06 Sk Hynix Memory Solutions Inc. Error recovery for flash memory
US8832384B1 (en) 2010-07-29 2014-09-09 Violin Memory, Inc. Reassembling abstracted memory accesses for prefetching
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
CN102385902A (zh) 2010-09-01 2012-03-21 建兴电子科技股份有限公司 固态储存装置及其数据控制方法
JP2012058860A (ja) 2010-09-06 2012-03-22 Toshiba Corp メモリシステム
US8417878B2 (en) 2010-09-20 2013-04-09 Seagate Technology Llc Selection of units for garbage collection in flash memory
US8738846B2 (en) 2010-10-15 2014-05-27 Arkologic Limited File system-aware solid-state storage management system
US20120275466A1 (en) 2010-10-21 2012-11-01 Texas Instruments Incorporated System and method for classifying packets
KR101606718B1 (ko) 2010-10-27 2016-03-28 엘에스아이 코포레이션 플래시 메모리 기반 데이터 저장을 위한 적응적 ecc 기술들
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8909957B2 (en) 2010-11-04 2014-12-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic voltage adjustment to computer system memory
US8806106B2 (en) 2010-11-12 2014-08-12 Seagate Technology Llc Estimating wear of non-volatile, solid state memory
US8484433B2 (en) 2010-11-19 2013-07-09 Netapp, Inc. Dynamic detection and reduction of unaligned I/O operations
KR101774496B1 (ko) 2010-12-08 2017-09-05 삼성전자주식회사 비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법
KR20120064462A (ko) 2010-12-09 2012-06-19 삼성전자주식회사 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템
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
US9038066B2 (en) 2010-12-22 2015-05-19 Vmware, Inc. In-place snapshots of a virtual disk configured with sparse extent
TWI446345B (zh) 2010-12-31 2014-07-21 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
JP2012151676A (ja) 2011-01-19 2012-08-09 Jvc Kenwood Corp 復号装置および復号方法
US8364888B2 (en) 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
WO2012109679A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for application direct virtual memory management
US8966319B2 (en) 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device
US8909894B1 (en) 2011-03-16 2014-12-09 Tintri Inc. Automatically aligning virtual blocks to physical blocks
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US8909888B2 (en) 2011-04-29 2014-12-09 Seagate Technology Llc Secure erasure of data from a non-volatile memory
US8713380B2 (en) 2011-05-03 2014-04-29 SanDisk Technologies, Inc. Non-volatile memory and method having efficient on-chip block-copying with controlled error rate
US8745318B2 (en) 2011-06-28 2014-06-03 Seagate Technology Llc Parameter tracking for memory devices
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9378138B2 (en) 2011-06-29 2016-06-28 International Business Machines Corporation Conservative garbage collection and access protection
US8645773B2 (en) 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory
US20130024735A1 (en) 2011-07-19 2013-01-24 Ocz Technology Group Inc. Solid-state memory-based storage method and device with low error rate
US8566667B2 (en) 2011-07-29 2013-10-22 Stec, Inc. Low density parity check code decoding system and method
US8692561B2 (en) * 2011-08-11 2014-04-08 International Business Machines Corporation Implementing chip to chip calibration within a TSV stack
US20130047045A1 (en) 2011-08-19 2013-02-21 Stec, Inc. Error indicator from ecc decoder
US9047210B2 (en) 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages
KR20130031046A (ko) 2011-09-20 2013-03-28 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
EP2761465B1 (en) 2011-09-30 2022-02-09 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US8825721B2 (en) 2011-10-03 2014-09-02 Oracle International Corporation Time-based object aging for generational garbage collectors
US8516019B2 (en) 2011-10-03 2013-08-20 Oracle America, Inc. Time-based object aging for generational garbage collectors
EP2764516A4 (en) 2011-10-05 2015-07-08 Lsi Corp SELF-HISTORIZATION AND HIERARCHICAL CONSISTENCY FOR NON-VOLATILE STORES
US8711619B2 (en) 2011-10-18 2014-04-29 Seagate Technology Llc Categorizing bit errors of solid-state, non-volatile memory
US10359949B2 (en) 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
US8683297B2 (en) 2011-11-02 2014-03-25 Sandisk Technologies Inc. Systems and methods of generating a replacement default read threshold
JP5943395B2 (ja) 2011-11-02 2016-07-05 国立大学法人 東京大学 メモリコントローラおよびデータ記憶装置
US9053809B2 (en) 2011-11-09 2015-06-09 Apple Inc. Data protection from write failures in nonvolatile memory
US8456919B1 (en) 2011-11-10 2013-06-04 Sandisk Technologies Inc. Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US8830746B2 (en) 2011-12-28 2014-09-09 Apple Inc. Optimized threshold search in analog memory cells using separator pages of the same type as read pages
JP2013142947A (ja) 2012-01-10 2013-07-22 Sony Corp 記憶制御装置、記憶装置および記憶制御装置の制御方法
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
WO2013112332A1 (en) 2012-01-24 2013-08-01 Apple Inc. Enhanced programming and erasure schemes for analog memory cells
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8964482B2 (en) 2012-01-30 2015-02-24 Freescale Semiconductor, Inc. Dynamic healing of non-volatile memory cells
US9208871B2 (en) 2012-01-30 2015-12-08 HGST Netherlands B.V. Implementing enhanced data read for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding
US9679664B2 (en) 2012-02-11 2017-06-13 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
US8832050B2 (en) 2012-03-09 2014-09-09 Hewlett-Packard Development Company, L.P. Validation of distributed balanced trees
US8817569B2 (en) 2012-03-19 2014-08-26 Sandisk Technologies Inc. Immunity against temporary and short power drops in non-volatile memory
US20130290611A1 (en) 2012-03-23 2013-10-31 Violin Memory Inc. Power management in a flash memory
JP5853899B2 (ja) 2012-03-23 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9311501B2 (en) 2012-03-26 2016-04-12 International Business Machines Corporation Using different secure erase algorithms to erase chunks from a file associated with different security levels
US8923066B1 (en) 2012-04-09 2014-12-30 Sk Hynix Memory Solutions Inc. Storage of read thresholds for NAND flash storage using linear approximation
US8990477B2 (en) 2012-04-19 2015-03-24 Sandisk Technologies Inc. System and method for limiting fragmentation
US20130297613A1 (en) 2012-05-04 2013-11-07 Monmouth University Indexing based on key ranges
US20130343131A1 (en) 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
US8634267B2 (en) 2012-05-14 2014-01-21 Sandisk Technologies Inc. Flash memory chip power management for data reliability and methods thereof
US20130346672A1 (en) 2012-06-22 2013-12-26 Microsoft Corporation Multi-Tiered Cache with Storage Medium Awareness
US9529724B2 (en) 2012-07-06 2016-12-27 Seagate Technology Llc Layered architecture for hybrid controller
CN102789427B (zh) 2012-07-17 2015-11-25 威盛电子股份有限公司 数据储存装置与其操作方法
KR101997079B1 (ko) 2012-07-26 2019-07-08 삼성전자주식회사 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법
US9002791B2 (en) 2012-08-28 2015-04-07 Hewlett-Packard Development Company, L. P. Logging modifications to a variable in persistent memory
KR20140028481A (ko) 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 쓰기 전류를 측정할 수 있는 반도체 메모리 장치 및 쓰기 전류 측정 방법
US9329986B2 (en) 2012-09-10 2016-05-03 Sandisk Technologies Inc. Peak current management in multi-die non-volatile memory devices
US8938656B2 (en) 2012-09-14 2015-01-20 Sandisk Technologies Inc. Data storage device with intermediate ECC stage
US8886882B2 (en) 2012-09-14 2014-11-11 Hitachi, Ltd. Method and apparatus of storage tier and cache management
US9128690B2 (en) 2012-09-24 2015-09-08 Texas Instruments Incorporated Bus pin reduction and power management
US10489295B2 (en) 2012-10-08 2019-11-26 Sandisk Technologies Llc Systems and methods for managing cache pre-fetch
US9268709B2 (en) 2012-10-18 2016-02-23 Marvell International Ltd. Storage controllers and storage control methods
US9104328B2 (en) 2012-10-31 2015-08-11 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
US8817541B2 (en) 2012-11-09 2014-08-26 Sandisk Technologies Inc. Data search using bloom filters and NAND based content addressable memory
US8634248B1 (en) 2012-11-09 2014-01-21 Sandisk Technologies Inc. On-device data analytics using NAND flash based intelligent memory
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US8949544B2 (en) 2012-11-19 2015-02-03 Advanced Micro Devices, Inc. Bypassing a cache when handling memory requests
US9135185B2 (en) 2012-12-23 2015-09-15 Advanced Micro Devices, Inc. Die-stacked memory device providing data translation
US8869008B2 (en) 2013-01-17 2014-10-21 Apple Inc. Adaptation of analog memory cell read thresholds using partial ECC syndromes
KR20140100330A (ko) 2013-02-06 2014-08-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
DE102013101863A1 (de) 2013-02-26 2014-08-28 Fujitsu Technology Solutions Intellectual Property Gmbh Hochverfügbares Hauptspeicher-Datenbanksystem, Arbeitsverfahren und deren Verwendungen
US9383795B2 (en) 2013-03-10 2016-07-05 Seagate Technololgy Llc Storage device power failure infrastructure
US9042181B2 (en) 2013-03-15 2015-05-26 SanDisk Technologies, Inc. Periodic erase operation for a non-volatile medium
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9531038B2 (en) 2013-07-31 2016-12-27 Dell Products, Lp System and method of cell block voltage analytics to improve balancing effectiveness and identify self-discharge rate
US9329789B1 (en) 2013-10-14 2016-05-03 Marvell International Ltd. Methods and apparatus for efficiently operating on a storage device
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9471497B2 (en) 2014-01-24 2016-10-18 Netapp, Inc. Methods for combining access history and sequentiality for intelligent prefetching and devices thereof
TWI533308B (zh) 2014-03-21 2016-05-11 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1396869A (zh) * 2000-11-30 2003-02-12 索尼株式会社 非接触式ic卡
US7945723B2 (en) * 2007-05-18 2011-05-17 Samsung Electronics Co., Ltd. Apparatus and method of managing mapping table of non-volatile memory
CN103186470A (zh) * 2011-12-30 2013-07-03 群联电子股份有限公司 存储器储存装置及其存储器控制器与数据写入方法

Also Published As

Publication number Publication date
CN105874540A (zh) 2016-08-17
US9442662B2 (en) 2016-09-13
US20150113203A1 (en) 2015-04-23
DE112014004778B4 (de) 2021-03-04
DE112014004778T5 (de) 2016-09-15
WO2015057459A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
CN105874540B (zh) 用于管理裸芯组的装置和方法
CN105934748B (zh) 用于储存系统中的损耗均衡的偏置
CN105683927B (zh) 用于重新平衡贮存在闪速存储器装置中的数据的方法和系统
CN105637490B (zh) 用于在闪速存储器装置之间迁移数据的方法和系统
CN111684527B (zh) Nand装置及相关方法和机器可读介质
US10672452B2 (en) Temperature informed memory refresh
US11132044B2 (en) Dynamic P2L asynchronous power loss mitigation
Margaglia et al. The Devil Is in the Details: Implementing Flash Page Reuse with {WOM} Codes
US11775181B2 (en) Read error recovery
KR20210057193A (ko) 소계 기입 카운터에 기초한 하이브리드 웨어 레벨링 동작 수행
US11972294B2 (en) Allocation schema for a scalable memory area
CN110058797A (zh) 存储器系统及其操作方法
US11443830B1 (en) Error avoidance based on voltage distribution parameters of block families
US20220319589A1 (en) Error avoidance based on voltage distribution parameters of blocks
US11869607B2 (en) Memory location age tracking on memory die
US11705193B2 (en) Error avoidance based on voltage distribution parameters
CN109407968A (zh) 存储器系统及其操作方法
CN115437555A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191001