CN106575256A - 子块垃圾收集 - Google Patents
子块垃圾收集 Download PDFInfo
- Publication number
- CN106575256A CN106575256A CN201580025094.0A CN201580025094A CN106575256A CN 106575256 A CN106575256 A CN 106575256A CN 201580025094 A CN201580025094 A CN 201580025094A CN 106575256 A CN106575256 A CN 106575256A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- erasing
- storage
- storage medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
系统、方法和/或装置被用于使能储存装置中的储存介质的单独可擦除的块的子块的垃圾收集。在一个方面中,方法包括根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数,并且根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数。根据所述第一触发参数满足第一易损度基准的确定,第一子块的垃圾收集被使能。此外,根据所述第二触发参数满足第二易损度基准的确定,第二子块的垃圾收集被使能。
Description
技术领域
公开的实施例一般地涉及非易失性数据储存系统,并且具体地涉及使能非易失性数据储存装置中的擦除块的子块的垃圾收集。
背景技术
半导体存储器装置——包括闪速存储器——通常利用存储器单元来将数据贮存为电的值,诸如电荷或电压。闪速存储器单元、例如包括具有浮置栅极的单个晶体管,该浮置栅极被用于储存数据值的电荷表示。闪速存储器是可以电擦除并且重新编程的非易失性数据储存装置。非易失性存储器与需要电源来维持储存的信息的易失性存储器相反,该非易失性存储器在即使未通电时保留储存的信息。已经以各种方式促进储存密度的增加,包括增加由制造开发使能的芯片上的存储器单元的密度,并且从单级(level)闪速存储器单元向多级闪速存储器单元转变,使得两个或多个位可以由每个闪速存储器单元储存。
垃圾收集是回收存储器不在包含有效数据的部分的存储器管理的过程。使用闪速存储器作为示例,数据被写入到被称为页的闪速存储器的单元中,其中页由多个存储器单元构成。但是,闪速存储器以被称为块的更大的单元擦除,其中该块由多个页构成。如果第一块的一些页包含无效数据,那些页不能被覆盖直到包含那些页的整个块被擦除。垃圾收集的过程从第一块将具有有效数据的页读取并且重新写入到第二块并且然后擦除第一块。在垃圾收集之后,第二块包含具有有效数据的页以及可用于写入新的数据的空闲的页。由于垃圾收集涉及将有效数据从一块写入到另一块,其导致“写入放大”,其是写入到基于闪速的储存系统中的闪速存储器的总字节(或者数据的任何其它单元)与由(一个或多个)主机系统写入到基于闪速的储存系统的总字节的比率。通过改善的垃圾收集减少写入放大,改善基于闪速的储存系统的寿命和性能。
发明内容
在所附权利要求的范围中的系统、方法和装置的各种实现方式的每一个具有几个方面,没有其单独的一个为这里所述的属性负全部的责任。在不限制所附权利要求的范围的情况下,在考虑本公开之后,并且特别是在考虑名称为“具体实施方式”的章节之后,人们将理解各种实施方式的方面将如何被用于使能储存装置中的储存介质的子块的垃圾收集。在一个方面中,触发参数(例如,读取干扰计数)和易损度基准(例如,读取干扰阈值)被用在垃圾收集方案中。
附图说明
使得本公开可以被更加详细地理解,可以通过参考各种实现方式的特征而获得具体的说明,其中的一些在附图中示出。但是,附图仅示出本公开的更加显著的特征并且因此不应被认为是限制性的,因为该说明可能具有其他有效特征。
图1是示出根据一些实施例的数据储存系统的实现方式的框图。
图2是示出根据一些实施例的示例管理模块的框图。
图3是根据一些实施例的用于子块的垃圾收集的视觉表示。
图4A是根据一些实施例的三维(3D)存储器装置的列的示意图。
图4B是根据一些实施例的图4A中的列的一部分的示意图。
图5是根据一些实施例的3D存储器装置的块的示意图。
图6是根据一些实施例的3D存储器装置的示意图。
图7是根据一些实施例的NAND闪速配置中的3D存储器装置的示意图。
图8A-8C示出了根据一些实施例的用于储存系统中的储存介质的垃圾收集的方法的流程图表示。
图9示出了根据一些实施例的用于储存系统中的储存介质的垃圾收集的方法的流程图表示。
根据惯例附图中示出的各种特征可能未按比例绘制。相应地,为了清晰,各种特性的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的参考标号可以被用于表示相似的特性。
具体实施方式
这里所述的各种实现方式包括用于使能储存装置中的储存介质的子块的垃圾收集的系统、方法和/或装置。一些实现方式包括用于利用垃圾收集方案中的触发参数和易损度基准的系统、方法和/或装置。
更具体地,一些实现方式包括用于储存系统中的储存介质的垃圾收集的方法。在一些实现方式中,方法包括根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数以及根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数。根据所述第一触发参数满足第一易损度基准的确定,所述第一子块的垃圾收集被使能,并且根据所述第二触发参数满足第二易损度基准的确定,第二子块的垃圾收集被使能。
触发参数的示例,根据擦除块的子块的一个或多个操作条件确定的是用于子块的读取干扰计数或读取操作计数。更具体地,一个或多个操作条件是在子块中的数据上进行的读取操作,并且可能地在一个或多个邻近子块中或者在一个或多个邻近子块的字线中,并且触发参数是那些操作的计数。可选地,计数是对应于子块的储存介质的区域中的读取操作的“直接的”、未加权的计数。在一些其它实现方式中,但是,计数是加权的计数,其中一些地址中的读取操作(例如,在以预定数量的中间的字线从子块间隔开的字线中)具有比在其它地址(例如,在子块中)中的读取操作更低的计数权重。
在一些实施例中,储存装置包括一个或多个闪速存储器装置。
在一些实施例中,储存装置包括一个或多个三维(3D)存储器装置和与一个或多个3D存储器装置中的存储器元件的操作相关联的电路。此外,在一些实现方式中,一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件在相同的基板上(例如,半导体基板)。
在一些实施例中,第一子块是所述擦除块的一部分并且第二子块是所述擦除块的另一部分。
在一些实施例中,根据所述第一子块的一个或多个特征确定第一易损度基准。
在一些实现方式中,储存装置根据所述擦除块或者包括所述擦除块的存储器部分满足预定的年龄基准的确定以及第一触发参数满足第一易损度基准的确定使能所述第一子块的垃圾收集。
在一些实施例中,垃圾收集包括在所述储存介质中从第一子块写入到第二擦除块,其中第二擦除块不同于擦除块,并且无效化在擦除块中的第一子块(即,当第一子块被垃圾收集时,无效化保留在第一子块中的任何有效数据)。
在一些实施例中,储存装置使能用于包括第一子块的校验条带(parity stripe)的垃圾收集,其中所述校验条带包括在所述储存介质中的多个擦除块之上的多个子块。
在一些实施例中,所述第二易损度基准根据所述第二子块的一个或多个特征而确定。在一些实现方式中,第一易损度基准不同于第二易损度基准。
在一些情况中,所述第一子块的垃圾收集在所述第二子块的垃圾收集之前进行。
在另一方面中,方法包括根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数。根据所述第一触发参数满足第一易损度基准的确定,所述第一子块的垃圾收集被使能。此外,方法包括确定擦除块是否满足预定的垃圾收集调度基准。根据擦除块满足所述垃圾收集调度基准的确定,擦除块的垃圾收集被使能。
在一些实施例中,储存装置包括一个或多个闪速存储器装置。
在一些实施例中,储存装置包括一个或多个三维(3D)存储器装置和与所述一个或多个3D存储器装置中的存储器元件的操作相关联的电路。此外,在一些实现方式中,一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件在相同的基板上(例如,半导体基板)。
在一些实施例中,垃圾收集包括在所述储存介质中从第一子块写入到第二擦除块,其中第二擦除块不同于该擦除块,并且无效化擦除块中的第一子块。
在又一方面中,储存装置包括一个或多个处理器和存储器,储存将由所述一个或多个处理器执行的一个或多个程序。一个或多个程序包括用于根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数,并且根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数的指令。此外,一个或多个程序包括用于根据所述第一触发参数满足第一易损度基准的确定使能所述第一子块的垃圾收集,并且根据所述第二触发参数满足第二易损度基准的确定使能所述第二子块的垃圾收集的指令。
在一些实施例中,储存装置还被配置为根据这里所述的任何方法操作。
在又一方面中,储存装置包括用于根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数的构件,以及用于根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数的构件。此外,储存装置包括用于根据所述第一触发参数满足第一易损度基准的确定使能所述第一子块的垃圾收集的构件,以及用于根据所述第二触发参数满足第二易损度基准的确定使能所述第二子块的垃圾收集的构件。
在一些实施例中,储存装置还被配置为根据这里所述的任何方法操作。
在又一方面中,储存系统包括储存介质、一个或多个处理器和存储器,储存一个或多个程序,其当由一个或多个处理器执行时使得储存系统进行或控制这里所述的的任何方法的性能。
在又一方面中,非瞬时性计算机可读储存介质储存由储存装置的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于进行这里所述的任何一个方法的指令。
在这里描述许多细节以便于提供对在附图中示出的示例实施例的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特性和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实施例的更加相关的方面。
图1是示出根据一些实施例的数据储存系统100的实现方式的框图。尽管示出了一些示例特征,但是为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的方面而没有示出各种其它特征。为此,作为非限制性示例,数据储存系统100包括储存装置120,其包括储存控制器124和储存介质130,并且与计算机系统110一起使用。在一些实现方式中,储存介质130是单个闪速存储器装置,而在其它实现方式中,储存介质130包括多个闪速存储器装置。在一些实现方式中,储存介质130是NAND型闪速存储器或NOR型闪速存储器。在一些实现方式中,储存介质130包括一个或多个三维(3D)存储器装置,如这里进一步定义的。此外,在一些实现方式中,储存控制器124是固态驱动(SSD)控制器。但是,根据多种实现方式的方面,可以包括其它类型的储存介质。
计算机系统110通过数据连接101耦接到储存控制器124。但是,在一些实现方式中,计算机系统110包括储存控制器124作为组件和/或子系统。计算机系统110可以是任何合适的计算机装置——诸如计算机,膝上型计算机、平板装置、网本、网络亭、个人数字助理、移动电话、智能电话、游戏装置、计算机服务器或任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实现方式中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器、显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。
储存介质130通过连接103耦接到储存控制器124。连接103有时被称为数据连接,但是通常除了传送数据以外还传送命令,并且可选地除了将储存在储存介质130中的数据值和从储存介质130读取的数据值以外还传送元数据、误差校正信息和/或其它信息。在一些实现方式中,但是,储存控制器124和储存介质130被包含在与其组件相同的装置中。此外,在一些实现方式中,储存控制器124和储存介质130嵌入在主机装置中,诸如移动装置、平板、其它计算机或者计算机控制的装置,并且这里所述的方法由嵌入式存储器控制器进行。储存介质130可以包括任何数量(即,一个或多个)的存储器装置,包括但不限于,非易失性半导体存储器装置——诸如闪速存储器。例如,闪速存储器装置可以被配置为适用于诸如云计算或用于缓存储存在(或将被储存在)诸如硬盘驱动的二级储存中的数据的的应用的企业储存。额外地和/或可替换地,闪速存储器还可以被配置用于相对较小的应用——诸如用于个人计算机、膝上型计算机和平板计算机的个人闪速驱动或硬盘替换。在一些实施例中,如这里进一步定义的,储存介质130包括一个或多个三维(3D)存储器装置。
储存介质130被分为多个可编址的并且单独地可选择的块——诸如可选择的部分131。在一些实现方式中,单独地可选择的块(有时被称为“擦除块”)是闪速存储器装置中的最小尺寸的可擦除单元。换句话说,每个块包含可以被同时擦除的最小数量的存储器单元。每个块通常还被分为多个页和/或字线,其中每个页或字线通常是块中最小单独地可访问(可读)的部分的实例。但是,在一些实现方式中(例如,使用一些类型的闪速存储器),数据组的最小单独地可访问的单元是区段,其中区段是页的子单元。就是说,块包括多个页,每一页包含多个区段,并且每个区段是用于从闪速存储器装置读取数据的数据的最小单元。包含在每个块中的页的数量从一个实现方式到另一个变化;示例为64、128和256页,但是在一些实现方式中每块其它数量的页是合适的。
子块比单独地可选择的块更小并且是单独地可选择的块的子集。例如,在一些实施例中,子块是页。此外,在一些实施例中,子块是字线(或者字线中的所有的页)。在其它实施例中,子块是擦除块的任何子部分,诸如字线的连续的组,这里有时被称为区。在一些实施例中,区是擦除块的两个或多个页的组合,其中各个擦除块包括多个区。例如,如关于图3所描述的,页304-1到304-4形成擦除块300-1的N个总区的一个区。
在一些实施例中,三维存储器装置(见,例如,图7)中的块的子块在非易失性存储器单元的三维阵列的相同的层中包含多个字线。例如,在一些实现方式中,在具有存储器单元的N(例如,48)层的三维存储器装置中,每个擦除块在三维存储器装置的每一层处包括多个字线,并且从而包括A x N个字线,其中A是包含在擦除块中的每一层中的字线的数量。继续该示例,擦除块的特定子块包括位于存储器单元的单个层中的擦除块的所有字线(例如,最靠近三维存储器装置的基板的层),或者可替换地,包括三维存储器装置的层的连续的组中的擦除块中的所有字线。
在一些实现方式中,储存控制器124包括管理模块121、主机接口129,储存介质接口(I/O)128和(一个或多个)额外的模块125。储存控制器124可以包括为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的特征而没有示出的各种额外的特征,并且特征的不同的布置是可能的。主机接口129通过数据连接101向计算机系统110提供接口。类似地,储存介质I/O 128通过连接103向储存介质130提供接口。在一些实现方式中,储存介质I/O 128包括读取和写入电路,包括能够向储存介质130提供读取信号的电路(例如,用于NAND型闪速存储器的读取阈值电压)。
在一些实现方式中,管理模块121包括一个或多个处理单元(CPU,有时也被称为处理器)122被配置为执行一个或多个程序(例如,在管理模块121中)中的指令。在一些实现方式中,一个或多个CPU 122由在储存控制器124的功能中,并且在一些情况中,超过储存控制器124的功能的一个或多个组件共享。管理模块121耦接到主机接口129、(一个或多个)额外的模块125和储存介质I/O 128以便于协调这些组件的操作。
(一个或多个)额外的模块125耦接到储存介质I/O 128、主机接口129和管理模块121。作为示例,(一个或多个)额外的模块125可以包括误差控制模块以限制在写入到存储器以及从存储器读取期间无意地引入到数据中的不可校正的误差的数量。在一些实施例中,(一个或多个)额外的模块125由管理模块121的一个或多个CPU 122在软件中执行,并且在其它实施例中,(一个或多个)额外的模块125全部或者部分使用专用电路(例如,进行编码和译码功能)实现。
在写入操作期间,主机接口129从计算机系统110接收将储存在储存介质130中的数据。保持在主机接口129中的数据可用于编码器(例如,在(一个或多个)额外的模块125中),其将数据编码以产生一个或多个码字。一个或多个码字可用于储存介质I/O 128,其以取决于使用的储存介质的类型的方式将一个或多个码字转移到储存介质130。
当计算机系统(主机)110在控制线111上将一个或多个主机读取命令发送到储存控制器124从储存介质130请求数据时,启动读取操作。储存控制器124经由储存介质I/O128将一个或多个读取访问命令发送到储存介质130,以根据由一个或多个主机读取命令指定的存储器地址(多个地址)获得原始的读取数据。储存介质I/O 128将原始读取数据(例如,包含一个或多个码字)提供到译码器(例如,在(一个或多个)额外的模块125中)。如果译码成功,译码的数据被提供到主机接口129,其中译码的数据可用于计算机系统110。在一些实现方式中,如果译码不成功,储存控制器124可以依靠多个补救措施或者提供对不可解决的误差条件的指示。
闪速存储器装置使用存储器单元以将数据储存为电气值,诸如电荷或电压。每个闪速存储器单元通常包括具有浮置栅极的单个晶体管,该浮置栅极被用于储存电荷,其修改晶体管的阈值电压(即,导通晶体管所需的电压)。电荷的幅度、以及电荷创建的相应的阈值电压被用于表示一个或多个数据值。在一些实现方式中,在读取操作期间,读取阈值电压被施加到晶体管的控制栅极并且产生的感测的电流或电压被映射到数据值。
术语“单位电压”和“存储器单元电压”,在闪速存储器单元的上下文中,意味着存储器单元的阈值电压,其是需要施加到存储器单元的晶体管的栅极以便晶体管导通电流的最小的电压。类似地,施加到闪速存储器单元的读取阈值电压(有时也被称为读取信号、读取电压和/或读取阈值)是施加到闪速存储器单元的栅极的栅极电压以确定存储器单元是否在该栅极电压处导通电流。在一些实现方式中,当闪速存储器单元的晶体管在给定的读取阈值电压处导通电流时,指示单位电压小于读取阈值电压,用于该读取操作的原始数据值是“1”、并且否则原始数据值是“0”。
如上所解释的,储存介质(例如,储存介质130)被分为多个可编址的并且单独地可选择的块,并且每个块可选地(但不是通常)被进一步分为多个页和/或字线和/或区段。当逐块进行储存介质的擦除时,在许多实施例中,储存介质的读取和编程在块的更小的子单元上进行(例如,逐页、逐字线或者逐区段)。在一些实施例中,块的更小的子单元包括多个存储器单元(例如,单级单元或多层单元)。在一些实施例中,在整个页上进行编程。在一些实施例中,多层单元(MLC)NAND闪速通常每个单元具有四个可能的状态,每个单元产生两位的信息。此外,在一些实施例中,MLC NAND具有两种页类型:(1)较低的页(有时被称为快速页),以及(2)较高的页(有时被称为缓慢页)。
作为示例,如果数据被写入到页中的储存介质,但是储存介质以块擦除,储存介质中的页可以包含无效的(例如,过时的)数据,但是那些页不能被覆盖直到包含那些页的整个块被擦除。为了用无效数据写入到页,在该块中具有有效数据的页被读取并且重新写入到新的块,并且旧的块被擦除(或者被放入到队列上以用于擦除)。该过程被称为垃圾收集。在垃圾收集之后,新的块包含具有有效数据的页以及可用于写入新的数据的空闲的页,并且被擦除的旧的块也可用于将被写入的新的数据。由于闪速存储器仅能够被编程和擦除有限的次数,用于挑选重新写入和擦除的下一个(或多个)块的算法的效率对于基于闪速的储存系统的寿命和可靠性具有显著的影响。
写入放大是其中写入到储存介质(例如,储存介质130)的物理数据的实际的量是意欲由主机(例如,计算机系统110,有时被称为主机)写入的数据的逻辑的量的倍数的现象。如上所讨论的,当储存介质在其可以被重新写入之前必须被擦除时,进行这些操作的垃圾收集过程导致一次或多次地重新写入数据。该倍数效应增加了在储存介质的寿命之上所需要的写入的次数,这缩短了其能够可靠地操作的时间。计算储存系统的写入放大的公式由等式(1)给出:
此外,在更高的温度处操作可能导致在冷却的块上的保留电荷损耗(例如,从上一次编程命令起延迟时期的闲置)。读取巡查(read partolling)被用于管理该操作保留问题。
随着处理节点的尺寸到亚纳米级,储存介质(例如,NAND闪速存储器)的耐受性在下降。耐受性的劣化可能来自于由于编程干扰(例如,在写入操作期间)、编程之上、读取干扰(例如,在读取操作期间)和保留效应的单位电压的漂移而引起。为了维持储存介质的可靠性并且避免数据丢失,储存系统可以被配置为使用背景读取巡检机制以及读取干扰计数以确定在块中的数据在其变为ECC不可校正之前何时可以被迁移。
图2是示出根据一些实施例的示例管理模块121的框图。管理模块121通常包括一个或多个处理单元(CPU)122,用于执行储存在存储器206中的模块、程序和/或指令并且从而进行处理操作;存储器206;以及一个或多个通信总线208,用于互联这些组件。通信总线208可选地包括互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。管理模块121通过通信总线208耦接到主机接口129、(一个或多个)额外的模块125和储存介质I/O128。存储器206包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器装置,并且可以包括非易失性存储器,诸如磁盘储存装置、光盘储存装置、闪速存储器装置或其它非易失性固态储存装置的一个或多个。存储器206可选地包括位于远离(一个或多个)CPU 122的一个或多个储存装置。存储器206,或可替换地在存储器206中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器206或者存储器206的计算机可读储存介质储存以下程序、模块和数据结构或其子集:
·数据读取模块210,被用于从储存介质中的一个或多个块读取数据;
·数据写入模块212,被用于将数据写入到储存介质中的一个或多个块;
·数据擦除模块214,被用于从储存介质中的一个或多个块擦除数据;
·转换表216,被用于将逻辑地址映射到物理地址;
·(可选地)位置确定模块218,被用于确定用于储存介质130的每一列或块的变化位置(例如,锥形形状的结束处);
·(可选地)位置更新模块219,用于确定用于储存介质130的每一列或块的更新的变化位置;
·(可选地)位置表220,储存用于储存介质130的每一列或块的由位置确定模块218确定的变化位置和/或由位置更新模块219确定的更新的变化位置;
·垃圾收集模块222,被用于储存介质130在的一个或多个子块和/或块的垃圾收集,其可选地包括以下模块或子模块,或其子集:
○触发模块224,被用于根据子块的一个或多个操作条件选择和/或确定一个或多个触发参数(例如,读取干扰计数);
○易损度基准模块226,被用于配置用于由触发模块224选择和/或确定的一个或多个触发参数的一个或多个预定的阈值限度;
○垃圾收集使能模块228,被用于确定触发参数是否满足易损度基准,并且用于根据该确定使能一个或多个子块的垃圾收集;
○状态信息模块230,被用于确定和/或取回一个或多个子块和/或块的状态信息(关于图8A更加详细地描述),包括读取干扰计数、数据保留参数(例如,误码率)和/或储存介质130的年龄;
○状态信息232,被用于储存由状态信息模块230确定和/或取回的状态信息;
○特征表234,被用于储存子块的一个或多个特征(关于图8B更加详细地描述);
○垃圾收集子块模块236,被用于垃圾收集已经被使能以用于垃圾收集的储存介质130的子块;
○垃圾收集块模块238,被用于垃圾收集已经被使能以用于垃圾收集的储存介质130的单独可擦除的块(擦除块);以及
·更新模块240,被用于在已经进行一个或多个子块和/或块的垃圾收集之后更新转换表216。
上述识别的元件的每一个可以贮存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的指令集。上述识别的模块或程序(即,指令集)不需要实现为单独的软件程序、规程或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器206可以储存以上识别的模块和数据结构的子集。此外,存储器206可以贮存以上未描述的额外的模块和数据结构。在一些实施例中,在一些实施例中,储存在存储器206或者存储器206的计算机可读储存介质中的程序、模块和数据结构,提供用于实现参考图8A-8C和9在下面描述的任何方法的指令。
尽管图2根据一些实施例示出了管理模块121,但是图2相比于这里所述的实施例的结构性示意更倾向于作为可能出现在管理模块121中的各种特性的功能性描述。实践中,并且如由本领域普通技术人员识别的,单独地示出的项目可以被组合并且一些项目可以分开。
图3根据一些实施例的用于子块的垃圾收集的视觉表示。尽管示出了一些示例特征,但是为了简洁并且不至于混淆这里所公开的示例实现方式的更加显著的方面而没有示出各种其它特征。为此,作为非限制性示例,储存介质130包括擦除块300,每一个具有多个页304、306。此外,在一些实现方式中,每个擦除块300包括多个区302(例如,302-1到302-N),其每一个包括多个页(例如,区302-1包括页304-1到304-4)。
如所示,页304、306的每一个还被指定为有效的(例如,304-3)、无效的(例如,304-2)、可用的(例如,304-7)或者易损的(例如,304-5)。被指定为有效的页和被指定为易损的页两者包含有效数据,而指定为无效的页、指定为可用的页不包含有效数据。换句话说,易损的页是有效的页的子集。在一些实施例中,以上指定适用于子块。页仅是子块的一个示例。
在图3中,“有效的”指定指示相应的页的数据是准确且有效的,而“无效的”指定指示相应的页的数据已经被修改和/或更新,并且在相应的页中的数据是无效的。此外,“可用的”指定指示相应的页不包含储存的数据,并且可用于写入。页被指定为“易损的”,如果页(即,子块)的触发参数满足相应的易损度基准(如关于图8B更加详细地描述的)。
具体地,根据第一触发参数(例如,读取干扰计数)满足第一易损度基准(例如,读取干扰阈值)的确定而进行第一擦除块的第一子块的垃圾收集(例如,擦除块300-1的页304-5)。在下面关于图8A-8C提供对触发参数和易损度基准的详细的讨论。
如所示,进行第一子块的垃圾收集包括将第一子块的数据的副本写入(310)到第二擦除块的可用的页中(例如,将页304-5的数据写入到擦除块300-2的页306-n)。在一些实现方式中,在复制第一子块的数据之后,第一擦除块中的第一子块(例如,页304-5)被无效化(未示出),并且包括复制的数据的第二擦除块的新的子块(例如,页306-n)被指定为有效的。
可选地,如关于图8C进一步详细描述的,根据第二触发参数(例如,读取干扰计数)满足第二易损度基准(例如,读取干扰阈值)的确定而进行第一擦除块(例如,擦除块300-1的页304-4)的第二子块的垃圾收集(311)。在一些实现方式中,第二子块的垃圾收集在第一子块的垃圾收集之后进行。
在图3中示出的方案的变化中,区302是擦除块300的子块,并且每个区302包括多个页。此外,单独的页304被指定为有效的、无效的或者可用的,而子块被指定为易损的或者不易损的。因此,在该变化中,页不被指定为易损的。此外,当已经被指定为易损的的子块(即,区)被垃圾收集时,子块中所有有效的页被复制到与包含子块的擦除块不同的擦除块。在复制之后(即,子块的垃圾收集),易损的子块中的复制的页被指定为无效的,并且如果接收到读取在任何那些页中的数据的读取命令则使用那些页的新的副本。
在又一变化中,每个区302包括多个子块,并且每个子块包括多个页。这与图3中示出的方案类似,除了子块比单独的页更大以外。在该方面的一个示例中,每个子块在一个或多个字线中包含所有的页,并且每个区包括至少一个子块,而块中的至少一个区包括多个子块。在一个示例中,块包含四个或更多的区,其中离基板最远以及离基板最近的顶部和底部区的每一个包含单个子块,并且两个或多个中间的区,其每一个包含多个子块。在另一示例中,块包含至少三个区,每一个在块中具有不同的连续的字线组。在该示例中,每个区具有其自己的易损度基准(例如,不同的读取计数阈值,以逐每个子块施加)。在一些实现方式中,通过保持每块的子块的数量小(例如,四个或更少),需要被维持的不同的触发参数的数量(例如,读取计数)被保持合理地小和可管理。
此外,在一些实现方式中,块中的一个或多个子块与在相同的块中的其它子块为不同的尺寸。例如,特别易损的页或字线可以是其自己的子块,而相同的块的其它子块包含多个页或字线,并且从而为特别易损的子块几倍大。在具有不同尺寸和不同的易损度基准的子块的另一示例中,一个子块可以是另一个更大的子块的子集,其中更小的子块具有与更大的子块不同的易损度基准。以此方式,更小的子块可以被配置为通过分配与更大的子块不同的易损度基准(例如,更小的读取计数阈值)而保护块的特别易损的部分中的数据。
在一些实现方式中,仅垃圾收集擦除块的子块(并且可选地,在之后的时间处垃圾收集整个擦除块)减少垃圾收集在储存介质的耐受性上的影响。具体地,维持易损的子块的数据完整度而不进一步地损耗储存介质。
图4A是根据一些实施例的存储器装置(例如,储存介质130,图1)的列400的示意图。列400集成在具有三维(3D)存储器配置的存储器装置中。例如,列400集成在图1的储存介质130中。
在一些实施例中,列400包括储存元件(例如,SLC或MLC闪速存储器单元)在被形成在基板408(例如,半导体基板)上的材料的多个层中形成。为了说明,图4A示出了代表性的层410、412和414。例如,层410形成为靠近基板408(即,层410是“底部”层)。进一步在该示例中,层412靠近层410,并且层414相比列400的其它层(即,层414是“顶部”层)更加远离基板。在一些实施例中,层410、412和414包括导电的(或半导电的)材料(例如,掺杂多晶硅)。在一些实施例中,列400包括其它层,诸如插入在层410和412之间的氧化层。
在一些实施例中,列400还包括结构402。为了形成结构402,进行蚀刻工艺以蚀刻通过列400的层以形成蚀刻的区域(例如,腔体,诸如“存储器孔”)。在蚀刻通过列400的层以形成蚀刻的区域之后,蚀刻的区域用一个或多个材料填充以形成结构402。例如,结构402具有圆形或者基本上圆形的形状。在该示例中,垂直于基板408的表面的结构402的截面是圆形的。
在一些实施例中,列400包括多个储存元件——诸如代表性的储存元件404和406(例如,SLC或MLC闪速存储器单元)。例如,储存元件404被包含在图1中的储存介质130的第一字线的第一物理页中,并且储存元件406被包含在图1中的储存介质130的第二字线的第二物理页中。储存元件404和406连接到结构402。
在一些实施例中,结构402具有变化。例如,如图4A中所示,结构402具有“圆锥的”或者“锥形的”轮廓。位置420指示与结构402的锥形相关联的区域。例如,在图4A中,结构402在位置420(即,比位置420更靠近基板408)之下不是锥形的,并且结构402在位置420(即,比位置420更远离基板408)之上是锥形的。在图4A中,例如,位置420在储存元件404和406之间,因为结构402大致在储存元件404和406之间开始“变成锥形”。
通过识别位置420,在储存介质130处的操作的准确性可以被改善。例如,通过识别位置420,储存元件404和406可以与不同的ECC参数和/或不同的存储器访问参数相关联以补偿由于结构402的锥形的储存元件404和406的物理特征的差异。储存元件的物理特征的差异进一步参考图4B描述。
图4B是根据一些实施例的列400的部分450的示意图。根据一些实施例,部分450示出了被形成在结构402中的电荷捕获结构454和导电信道456。在图4B中,控制栅极452和控制栅极460连接到电荷捕获结构454。例如,控制栅极452被包括在图4A的储存元件404中,并且控制栅极460被包括在图4A的储存元件406中。在一些实施例中,控制栅极452和460由材料分开,诸如氧化区域458。
在一些实施例中,控制栅极452和460以及氧化区域458被形成在储存介质130的多个层中。例如,控制栅极452被形成在多晶硅层中,氧化区域458被形成在氧化层中,并且控制栅极460被形成在另一多晶硅层中。在一些实施例中,控制栅极452和460以及氧化区域458被形成在储存介质130的一个或多个“物理层”中。例如,物理层包括控制栅极452和氧化区域458。
应理解的是,一个或多个额外的材料可以被形成在结构402中。例如,电荷捕获结构454由栅极电介质从控制栅极452和导电信道456分开,该栅极电介质诸如氧化硅。在一些实施例中,电荷捕获结构454包括绝缘材料——诸如氮化硅。在一些实施例中,导电信道456包括导电的材料——诸如金属(例如,铜)。
在一些实施例中,部分450被偏置为将值写入到储存元件404并且感测储存在储存元件404处的值。在一些实施例中,部分450被偏置为将值写入到储存元件406并且感测储存在储存元件404处的值。例如,通过偏置相对于导电信道456的控制栅极452,电荷被注入到电荷捕获结构454中或者从电荷捕获结构454中被吸取。在该示例中,电荷捕获结构454中的电荷的量影响在储存元件404的读取操作期间通过导电信道456的电流的量并且指示储存在储存元件404中的一个或多个位值。作为另一示例,通过偏置相对于导电信道456的控制栅极460,电荷被注入到电荷捕获结构454中或者从电荷捕获结构454中被吸取。在该示例中,电荷捕获结构454中的电荷的量影响在储存元件406的读取操作期间通过导电信道456的电流的量并且指示储存在储存元件406的状态。储存元件406的状态对应于由储存元件406储存的一个或多个位值。
图4B示出了与结构402相关联的变化(或者“锥形”)。该变化对应于在离开基板408的第一距离处的结构402的第一宽度以及在离开基板408的第二距离处的结构402的第二宽度之间的差异,其中第二距离大于第一距离。为进一步说明,图4B示出了与结构402相关联的变化影响与控制栅极452相关联的信道宽度462(例如,信道的半径)。图4B还示出了由于结构402的锥形,与控制栅极460相关联的信道宽度464(例如,信道的半径)可能小于信道宽度462。因为信道宽度464大于信道宽度462,储存元件404的操作(图4A)可能不同于储存元件406的操作(图4A)。例如,因为导电信道456的宽度影响由结构402导电的电流的量,信道宽度462和464之间的差异影响包括部分450的存储器装置的操作。相应地,用电压偏置控制栅极452使得导电信道456相比将电压施加到控制栅极460导通较少的电流。
可替换地或者额外地,根据一些实施例,结构402的变化使得与储存元件404相关联的栅极到信道距离466大于与储存元件406相关联的栅极到信道距离468。在该情况中,电荷捕获结构454具有比导电信道456更大的锥形效应。在编程储存元件404的状态的写入操作期间,更大的电压(相对于储存元件406)被施加到控制栅极452以在电荷捕获结构454(例如,通过从导电信道456吸引电子到电荷捕获结构454中)中累积电荷。因此,结构402的锥形使得储存元件404的编程操作相对于储存元件406而不同,其可能导致“不正确的”状态被编程到储存元件404和/或从储存元件404被感测。结构402的锥形还使得储存元件406比储存元件404对于读取干扰更加易损。因此,用于使能垃圾收集的子块的易损度基准(如关于图8A-8C在下面更加详细地描述的)将关于子块离开基板的距离而变化。
图4B示出了延伸通过存储器装置的多个层(例如,储存介质130,图1)的结构(例如,结构402)的变化(例如,锥形)影响与存储器装置相关联的读取和写入操作。在一些实施例中,包括部分450的存储器装置的性能通过使用用于储存元件404和406的不同的ECC优势(或技术)和/或存储器访问技术(例如,编程参数)而改善。例如,因为结构402的变化出现在位置420处,第一ECC技术和/或第一存储器访问技术与储存元件406相关联,并且第二ECC技术和/或第二存储器访问技术与储存元件404相关联以改善存储器装置(例如,储存介质130,图1)的操作。例如,第二ECC技术补偿由于结构402的“锥形”,相比于储存元件406在储存元件404处出现的更多数量的误差。例如,第二ECC技术比第一ECC技术具有更高的误差校正能力,其可能改善误差校正。例如,第二存储器访问技术补偿由于结构402的“锥形”,相比于储存元件406在储存元件404处可能出现的更多数量的写入误差和/或读取误差。例如,第二存储器访问技术使用不同的编程电压(如与第一存储器访问技术相比)编程储存元件404以便于将储存元件404编程到“正确的”状态。作为另一示例,第二存储器访问技术使用不同的读取电压(如与第一存储器访问技术相比)感测储存元件404以便于以“正确的”阈值电压(例如,以补偿由结构402的锥形引起的在储存元件404处的编程操作的减少的有效性)读取储存元件404。如这里进一步所述的,ECC技术和/或存储器访问技术可以基于结构402的变化的位置选择性地施加到块的物理页。
图5是根据一些实施例的块500(例如,储存元件的擦除块)的示意图。例如,块500被包含在图1中的储存介质130中。在图5中,块500至少包括物理页508和510并且还包括来自图4A的列400。
在图5中,块500除了列400以外还包括列504和506。在图5中,列400、504和506被形成在基板408上。列400、504和506包括多个物理页(例如,储存元件的字线)被形成在储存介质130的多个层中(图1)。例如,物理页508和510被形成在块500的层中。块500的每个物理页包括多个储存元件。作为示例,图4A的储存元件404被形成在物理页508中,并且图4A的储存元件406被形成在物理页510中。如上所述,子块包括储存介质的一个或多个可选择的部分131(例如,页或字线)。此外,一组字线(例如,在块500的列506中的两个或多个连续的字线)包括区。
在图5中,变化(例如,锥形)发生在列400、504和506的每一个的结构中。应理解的是,取决于特定的制造工艺,块可以包括一个或多个列,该一个或多个列具有不包括(或者不基本上包括)变化的结构。在图5中,列400、504和506的每一个中的变化发生在(或者大致在)位置420处。在一些实施例中,应理解的是,列400、504和506的每一个中的变化发生在不同的地址处(例如,在基板408之上的不同的高度处)。
图5示出了结构的变化的位置(例如,位置420)可能发生在块(例如,块500)的物理页之间(或者大致之间)。在一些实施例中,储存控制器124应用技术以用于基于物理页相对于位置420的位置编码、写入、读取和译码来自块500的物理页的数据。如参考图6进一步描述的,在一些实施例中,位置420定义三维(3D)存储器的多个级(或层的组)。
图6是根据一些实施例的三维(3D)存储器装置600的示意图。例如,3D存储器装置600包含在储存介质130(图1)中。在图6中,3D存储器装置600包括图5的块500并且还包括块604和606。在一些实施例中,500、604和606的每一个被形成在基板408上。
在图6中,位置420定义了级610。根据一些实施例,级610将3D存储器装置600“分区”为多个级(例如,靠近基板408的“底部”级以及不靠近基板408的“顶部”级)。例如,级610定义在级k处贯穿块500、604和606的每一个的平面,其中k是指示基板408和位置420之间的距离的正整数。在一些实施例中,级k指示指示基板408和位置420之间的3D存储器装置600的物理页的数量或字线的数量。
在一些实施例中,级610在公共级k处贯穿块500、604和606的每一个。可替换地,在一些实施例中,取决于用于制造3D存储器装置600的特定的制造工艺,级610在不同的地址处贯穿块500、604和606的两个或多个。作为示例,级610在离开基板408第一距离处贯穿块500,在离开基板408第二距离处贯穿块604,并且在离开基板408第三距离处贯穿块606。在该示例中,级610对应于“非均匀”的平面,诸如倾斜的平面。
在一些实施例中,储存控制器124或其组件(例如,位置确定模块218,图2)确定对于储存介质130的每一列或块的变化位置(例如,锥形形状的结束处——诸如图4A-4B和5-6中的位置420)并且在位置表220中储存结果地址。例如,参考图4A,位置确定模块218,通过在设置和测试过程期间将相同的状态编程到不同的字线中的存储器元件(或存储器单元)所需要的编程参数与相对于储存介质130(例如,存储器元件404和406)的基板的不同的垂直的位置比较,而确定用于列400的位置420。例如,包括在第一字线中的第一页,相比于用相同的各个状态编程第二字线中的第二页的存储器单元所需要的编程参数,要求更加紧密的编程参数(例如,编程电压、编程脉冲的数量和/或编程脉冲的持续期间)来用各个状态编程第一页中的存储器单元。继续该示例,位置确定模块218可以确定变化位置位于第一和第二字线之间,由于存储器装置的锥形效应导致编程相同的各个状态所要求的编程参数中的差异。对于确定变化位置的进一步讨论,见于2014年5月8日提交的、名称为“用于具有三维存储器配置的存储器的结构变化检测”的美国专利申请号14/273,031,其全部内容通过引用结合于此。
在一些实施例中,位置确定模块218在储存介质130的第一上电时确定储存介质130的每一列或块的变化位置。在一些实施例中,储存控制器124或其组件(例如,位置更新模块219,图2)确定用于储存介质130的每一列或块的更新的变化位置并且用产生的更新的地址覆盖位置表220之前的地址。例如,位置更新模块219根据预定的调度——诸如每个储存介质130的X功率周期确定用于储存介质130的每一列或块的更新的变化地址。
在一些实施例中,位置表220储存用于储存介质130的每个块的确定的位置420,该位置420指示用于各个块中的列的锥形形状的结束处。例如,对于各个块,确定的位置420指示页或字线,在该处锥形区域相对于基板结束。在一些实施例中,位置表220储存用于储存介质130的每一列的确定的位置420,该位置420指示各个列的锥形形状的结束处。例如,对于各个列,确定的位置420指示在其处锥形区域相对于基板结束的页或字线。如此,在一些实施例中,储存控制器124能够从在各个列的确定的位置420之上和之下的页或字线选择性地编码、写入、读取和/或译码数据。例如,对于各个列,写入到确定的位置420之上的页或字线的数据用第一ECC技术编码,并且写入到确定的位置420之下的页或字线的数据用第二ECC技术编码。
图7是根据一些实施例的NAND闪速配置中的3D存储器装置700的示意图。例如,3D存储器装置700对应于储存介质130(图1)。在图7中,3D存储器装置700包括多个物理层702,每一个具有多个储存元件(例如,存储器单元)——诸如代表性的存储器单元710。在一些实施例中,储存元件以阵列布置在物理层702中。
在图7中,代表性的存储器单元710包括在字线/控制栅极(WL4)728和导电信道712之间的电荷捕获结构714。通过相对于字线728偏置导电信道712,电荷被注入到电荷捕获结构714或者从电荷捕获结构714吸取。例如,电荷捕获结构714包括氮化硅并且由栅极电介质(例如,氧化硅)从字线728和导电信道712分开。在一些实施例中,电荷捕获结构714中的电荷的量影响在存储器单元710的读取操作期间通过导电信道712的电流的量并且指示储存在存储器单元710中的一个或多个位值。
在一些实施例中,3D存储器装置700包括多个擦除块,包括第一块(块0)750、第二块(块1)752和第三块(块2)754。在图7中,块750-754的每一个包括物理层702的“垂直的片”,该物理层702包括字线的堆叠,被示出为第一字线(WL0)720、第二字线(WL1)722、第三字线(WL2)724、第四字线(WL3)726和第五字线(WL4)728。多个导电的信道(具有关于图7基本上垂直的定向)延伸通过字线的堆叠。每个导电信道与字线720-728的每一个中的储存元件耦接,形成储存元件的NAND串。为了说明的清楚性,图7示出了三个块750-754、每个块中五个字线720-728、以及每个块中三个导电的信道。但是,在一些实施例中,3D存储器装置700包括多于三个块、多于每块五个字线并且多于每块三个导电的信道。此外,在一些实施例中,单个块包括物理层702的多个垂直的片中的所有字线(例如,两个或四个垂直的片)。
在一些实施例中,读取/写入电路760(即,读取/写入电路135或者可替换地储存介质I/O 128中的读取/写入电路)经由多个导电的线与导电的信道耦接,被示出为在导电的信道(例如,相对于基板704)的“顶部”的结束处的第一位线(BL0)730、第二位线(BL1)732和第三位线(BL2)734以及在导电的信道(例如,相对于基板704)的“底部”的结束处的第一源极线(SL0)740、第二源极线(SL1)742和第三源极线(SL2)744)。在图7中,读取/写入电路760经由“P”控制线与位线730-734耦接,经由“M”控制线与源极线740-744耦接,并且经由“N”控制线与字线720-728耦接。在一些实施例中,P、M和N的每一个是基于3D存储器装置700的特定配置的正整数值。在图7中,P=3、M=3并且N=5。
在一些实施例中,位线730-734的每一个和源极线740-744的每一个与不同的导电的信道的相同的端部(例如,顶端或底端)耦接。例如,各个位线与导电信道792的顶部耦接并且各个源极线与导电信道712的顶端耦接。继续该示例,导电信道792的底部耦接到(例如,电耦接)导电信道712的底部。相应地,在该示例中,导电信道792和导电信道712串联耦接并且与各个位线和各个源极线耦接。
尽管图7中导电的信道(例如,导电的信道712、792)的每一个被示出为单个导电的信道,在一些实施例中,导电的信道的每一个包括在堆叠的配置中的多个导电的信道。例如,在堆叠的配置中的多个导电的信道可以由一个或多个连接器耦接。对于具有堆叠的配置中的多个导电的信道的3D存储器装置的进一步讨论,见于2014年5月8日提交的、名称为“具有堆叠的导电的信道的三维存储器装置”的美国专利申请号14/272,363,其全部内容通过引用结合于此。
在一些实施例中,读取/写入电路760从储存控制器124接收存储器操作命令(例如,来自数据读取模块212的读取命令、来自数据写入模块214的写入命令或来自数据擦除模块216的擦除命令)。例如,数据储存在于字线728耦接的储存元件中并且读取/写入电路760从这些储存元件读取位值。作为另一示例,读取/写入电路760将选择信号施加到与字线720-728、位线730-734和源极线740-742耦接的控制线以使得编程电压(例如,与阈值电压相关联的电压脉冲或者系列电压脉冲)被施加到选择的字线(例如,第四字线728)的(一个或多个)选择的储存元件之上,以便于将数据写入/编程到(一个或多个)选择的储存元件。
例如,在读取操作期间,储存控制器124接收来自主机(例如,计算机系统110,图1)的请求,并且作为响应,使得读取/写入电路760通过施加适当的信号到控制线以使得选择的字线的储存元件被感测,而从3D存储器装置700的特定的储存元件读取位。
图8A-8C示出了根据一些实施例的用于储存系统中的储存介质的垃圾收集的方法800的流程图表示。如关于图1在以上所注意到的,由于逐块进行储存介质的擦除,但是在许多实施例中,储存介质的编程在块的更小的子单元(例如,逐页)上进行,具有无效数据的页不能被覆盖直到包含那些页的整个块被擦除。储存装置(例如,储存装置120,图1)使用垃圾收集以回收存储器(例如,储存介质130,图1)不再包含有效数据的部分。但是,为减少垃圾收集在储存介质的耐受性上的影响,储存装置(例如,储存装置120,图1)首先仅垃圾收集块的易损的子块(即,写入易损的子块的副本到不同的块,并且无效化易损的子块中的数据),而持留块的剩余部分的垃圾收集直到作出垃圾收集块自身的单独的决定。在一些情况中,如果永远不满足垃圾收集的基准,则不垃圾收集块的剩余部分。
至少在一些实施例中,方法800由储存装置(例如,储存装置120,图1)或储存装置的一个或多个组件(例如,储存控制器124和/或储存介质130,图1)进行,其中储存装置可操作地与主机系统(例如,计算机系统110,图1)耦接。在一些实施例中,方法800由储存在非瞬时性计算机可读储存介质中并且由装置的一个或多个处理器执行的指令管理,该一个或多个处理器诸如管理模块121的一个或多个处理单元(CPU)122,图1和2中所示。在一些实施例中,方法800由储存系统(例如,数据储存系统100,图1)或储存系统的一个或多个组件(例如,计算机系统110和/或储存装置120,图1)进行。在一些实施例中,方法800的操作的一些在主机(例如,计算机系统110,图1)处进行,并且信息被发送到储存装置(例如,储存装置120,图1)。在一些实施例中,方法800至少部分通过储存在非瞬时性计算机可读储存介质中并且由主机的一个或多个处理器(图1未示出)执行的指令来管理。为了解释的方便,以下描述了由储存装置(例如,储存装置120,图1)进行的方法800。但是,本领域技术人员应理解,在其它实施例中,方法800中描述的操作的一个或多个由主机(例如,计算机系统110,图1)进行。
储存装置(例如,储存装置120,图1)根据储存装置中的储存介质中的擦除块的第一子块的一个或多个操作条件确定(802)第一触发参数。操作条件的示例是读取操作,或者在储存介质的特定的部分中进行的读取操作的数量。读取操作通过干扰邻近或者附近的存储器单元而劣化由储存装置的数据保留。写入操作和擦除操作也可能劣化数据保留。数据保留,有时被称为浮置栅极上的电荷保留,反映在当进行读取操作时存储器单元产生准确的数据值的能力。数据保留度量的示例包括与漂移单元阈值电压的检测或测量有关的度量以及与在读取操作期间数据误差的检测或测量有关的度量(例如,误码率)。
根据一个或多个操作条件确定的触发参数至少部分用于识别“弱的”子块,其比其他子块更可能经受减少的或者受损的数据保留,并且该子块为垃圾收集的候选,如这里所述的。如参考图1和3-7在上面详细描述的,子块可以包括储存介质的一个或多个可选择的部分,并且比块更小,其是在单个擦除操作中可以被擦除的储存介质中的储存的最小单元。
在一些实施例中,第一触发参数是第一子块的读取干扰计数。例如,如之前所述的,进行各个页的读取操作干扰邻近的页,并且从而增加包含那些邻近页的(一个或多个)子块的读取干扰计数。在一些实现方式中,读取干扰计数由用于每个子块的储存装置维持。例如,在一些实现方式中,进行各个子块的页(例如,区302-1,图3)的读取操作增加各个子块的读取干扰计数。额外地或者可替换地,进行各个子块的页(例如,区302-1,图3)的读取操作增加各个子块和任何邻近的子块(例如,邻近的区302-2,图3)两者的读取干扰计数,而在可替换的实现方式中,仅增加任何邻近的子块的读取干扰计数。此外,在一些实现方式中,读取干扰计数对于各个子块所增加的量取决于各个子块和干扰的存储器操作正在进行的子块之间的物理距离。例如,基于图3,在页304-4上进行的读取操作对用于页304-5的读取干扰计数增加5,而用于页304-1的读取干扰计数增加1。
在一些实施例中,第一触发参数是第一子块的数据保留参数、一组数据保留参数或数据保留参数的组合。数据保留参数包括,例如,子块中的检测的数据误差的数量的误差度量(例如,误码率)以及对应于一个或多个阈值电压的稳定性度量(例如,用于第一子块的移位读取、写入和/或擦除阈值电压)。此外,在一些实现方式中,数据保留参数包括编程-擦除(PE)周期计数(例如,擦除块的)和/或与储存介质130或其一部分(例如,可选择的部分131,图1)的累积损耗有关的其它信息。前述读取干扰计数是数据保留参数的另一示例。
如之前所述,在一些实施例中,储存装置定期地进行背景监控活动(例如,通过状态信息模块230,图2)以确定各个子块的触发参数(例如,读取干扰计数以及可选地其它数据保留参数,有时被统称为“状态信息”),其被储存在存储器中的数据表中(例如,状态信息表232)。例如,当在子块中的数据上进行读取操作时和/或当在邻近或靠近(例如,在预定的范围中)子块的区域中的数据上进行读取操作时,状态信息模块230执行指令以用于通过识别(例如,使用转换表216)数据将被写入到其的物理页跟踪用于擦除块的子块的读取干扰计数,并且增加用于子块的读取干扰计数。
在另一示例中,状态信息模块230执行指令以用于在子块(例如,页304-4,图3)上进行读取巡检操作以确定如果有的话,子块储存了多少错误的数据(例如,误差率)。在一些实现方式中,不断地或者根据预定的调度进行背景监控活动,例如,每20个读取操作之后进行读取巡检操作,或者在每预定的单位的时间(例如,N个小时,其中N是1和24之间的预定的正整数)中以预定的次数(例如,一次)在包含有效数据的每一页上进行读取巡检操作。
此外,在一些实现方式中,根据基于来自状态信息表230和/或特征表234(储存子块的特征,其在下面详细地描述)的信息设置的预定的调度进行背景监控活动。例如,读取巡检操作在基于子块的读取干扰计数(例如,子块的读取干扰计数超过阈值,易损度基准在下面被详细地描述)并且可选地结合相对于储存介质的基板的子块的位置(例如,WL0 720,图7),已经被识别为易损的子块上更加频繁地进行。
在一些实施例中,储存装置包括(804)一个或多个闪速存储器装置。换句话说,在一些实施例中,储存装置包括储存介质(例如,储存介质130,图1),并且储存介质包括一个或多个非易失性储存装置——诸如闪速存储器装置。在一些实施例中,储存介质(例如,储存介质130,图1)是单个闪速存储器装置,而在其它实施例中,储存介质包括多个闪速存储器装置。例如,在一些实现方式中,储存介质包括几十个或者上百个闪速存储器装置,以并联的存储器信道——诸如每个存储器信道16、32或64个闪速存储器装置、以及8、16或32个并联的存储器信道——来组织。在一些实施例中,非易失性储存介质(例如,储存介质130,图1)包括NAND型闪速存储器或NOR型闪速存储器。在其它实施例中,储存介质包括一个或多个其它类型的非易失性储存装置。
在一些实施例中,储存装置包括(806)一个或多个三维(3D)存储器装置和与一个或多个3D存储器装置中的存储器元件的操作相关联的电路。换句话说,在一些实施例中,储存装置包括储存介质(例如,储存介质130,图1),并且所述储存介质包括一个或多个3D存储器装置和与一个或多个3D存储器装置中的存储器元件的操作相关联的电路。在一些实施例中,储存介质(例如,储存介质130,图1)是单个3D存储器装置,而在其它实施例中,储存介质包括多个3D存储器装置。
此外,在一些实现方式中,一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件,在(808)相同的基板(例如,半导体基板)上。在一些实施例中,基板是在其上放置一个或多个存储器元件的材料层和/或在其中形成一个或多个存储器元件的晶片。在一些实施例中,基板是在一个或多个存储器元件形成之后附接到一个或多个存储器元件的承载基板。作为非限制性示例,在一些实施例中,基板包括半导体——诸如硅。
储存装置根据所述储存介质中的擦除块的第二子块的一个或多个操作条件(在上面关于第一触发参数找到对其的详细的讨论)确定(810)第二触发参数。
在一些实施例中,第一子块是所述擦除块的一部分并且第二子块是(812)擦除块的另一部分。因此,在一些实现方式中,第一子块和第二子块是相同的擦除块的不同的部分(例如,在图3中,第一子块是页304-4,并且第二子块是页304-5)。在一些实现方式中,第一子块是擦除块的区的页(例如,区1的页304-1),并且第二子块是擦除块的区的页的剩余部分(例如,区1的页304-2到304-4)。在一些实现方式中,第一子块是擦除块的页(例如,页304-1)并且第二子块是擦除块的页的剩余部分(例如,页304-2到304-n)。
根据第一触发参数满足(814)第一易损度基准的确定,储存装置使能(820)第一子块的垃圾收集。在一些实施例中,易损度基准是用于上述触发参数的一个或多个预定的阈值限度。在一些实现方式中,如果子块的触发参数满足相应的易损度基准,子块被指定为易损的。在一些实现方式中,例如,第一易损度基准是第一子块的读取干扰计数上的阈值(例如,100的读取干扰计数限度),而在一些其它实现方式中,第一易损度基准是通过进行读取巡检操作在第一子块中检测的阈值数量的数据误差(例如,在4K字节的大小的页中80个错误位,图3;但是注意,阈值数量的数据误差将是ECC优势的函数,并且可选地还有对于装置的可靠性要求)。此外,在一些实施例中,第一触发参数包括读取干扰计数和第一子块的另一数据保留参数两者,并且第一易损度基准包括用于读取干扰计数和数据保留参数两者的阈值。例如,一旦满足读取干扰阈值,则进行读取巡检操作,并且将检测的数据误差的数量与误差阈值比较。如果数据误差的数量超过误差阈值,第一子块被指定为易损的并且被调度以用于垃圾收集。
在其它示例中,将触发参数的加权的组合与阈值比较以确定垃圾收集是否应该被使能以用于第一子块。触发参数的加权的组合的示例为:
其中N是触发参数的数量(例如,N=2、3或4),“触发_参数i”是第i个触发参数,αi是用于第i个触发参数的权重,并且阈值i是用于第i个触发参数的阈值或者减法因素。在该示例中,计算加权的组合并且然后与预定的阈值比较以确定垃圾收集是否应该被使能以用于第一子块。
在一些实施例中,根据所述第一子块的一个或多个特征确定第一易损度基准(816)。一个或多个特征是影响数据保留的闪速存储器装置的内在品质。在一些实现方式中,根据子块的物理位置(例如,第一子块和储存介质的基板之间的距离)确定第一易损度基准。例如,由于关于图7在以上解释的原因,包含邻近基板704的字线0(例如,WL0,720)的子块,相比于包含字线4(例如,WL4,728)的子块具有更严格的易损度基准,其中该字线4被放置为比字线0更加远离基板704(例如,对于WL0的15,000的读取干扰阈值,相比于对于WL4的25,000的读取干扰阈值)。
此外,在一些实现方式中,根据第一子块所对应的区(擦除块中的多个区)确定第一易损度基准。例如,在擦除块300-1中(图3),包含区1的子块(例如,302-1)相比于包含区2的子块(例如,302-2)具有更严格的易损度基准(例如,对于区1的15,000的读取干扰阈值,相比于对于区2的25,000的读取干扰阈值)。此外,在一些实现方式中,根据第一子块所对应的页确定第一易损度基准。例如,在擦除块300-1的区1中(图3),页304-1相比于页304-2具有更严格的易损度基准。
在一些实施例中,子块的“使能垃圾收集”不同于子块的实际垃圾收集,其发生在子块的垃圾收集被使能之后。在一些实现方式中,使能子块的垃圾收集通过将子块添加到被调度以用于垃圾收集的子块的队列或者列表而实现。由储存装置的控制器或管理模块或存储器信道控制器执行的垃圾收集过程,进行垃圾收集已经被使能的子块的实际垃圾收集。这样的垃圾收集可以例如根据储存装置实现的存储器操作调度基准被延迟以便执行其它存储器操作。
在一些实施例中,垃圾收集包括将有效数据的副本从第一子块写入(822)到储存介质中的第二擦除块,其中第二擦除块不同于该擦除块,并且无效化(824)擦除块中的第一子块(即,当第一子块被垃圾收集时,无效化保留在第一子块中的任何有效数据)。关于图3更加详细地示出并且描述了垃圾收集的示例。
可选地,在一些实现方式中,储存装置根据擦除块或者包括所述擦除块的存储器部分满足预定的年龄基准的确定(818)以及第一触发参数满足所述第一易损度基准的确定(见814)使能第一子块的垃圾收集。在一些实现方式中,年龄基准包括编程-擦除(PE)周期计数上的一个或多个阈值限度,年龄(例如,参考储存装置的制造的日期确定)和/或用于擦除块的其它与年龄有关的度量、或者包括擦除块的存储器部分。作为非限制性示例,如果页304-4具有超过25,000的阈值的读取干扰计数,并且擦除块300-1(其包括页304-4)具有超过2500的PE周期计数,页304-4(图3)的垃圾收集被使能,其中“超过2500的PE周期计数”是前述的“预定的年龄基准”的示例。
在一些实施例中,储存装置使能(826)用于包括第一子块的校验条带的垃圾收集,其中所述校验条带包括在所述储存介质中的多个擦除块之上的多个子块。在一些实施例中,例如,跨过多个擦除块的校验条带(例如,超级块),并且为了维持校验保护,当垃圾收集被使能以用于第一子块(例如,第一擦除块中的页)时,垃圾收集还被使能以用于包括第一子块的整个校验条带(例如,一个或多个其它擦除块中的其它页)。
根据第二触发参数满足(828)第二易损度基准的确定,储存装置使能(834)第二子块的垃圾收集。在非限制性示例中,第二子块具有超过225,000的读取干扰阈值的读取干扰计数,并且从而第二子块两者的垃圾收集被使能。在一些情况中,发生使能第二子块的垃圾而不使能第一子块的垃圾收集,因为第二触发参数满足第二易损度基准而第一触发参数不(或者尚未)满足第一易损度基准。
在一些实施例中,根据所述第二子块的一个或多个特征确定第二易损度基准(830)。见以上对子块特征和易损度基准的讨论。在一些实现方式中,第一易损度基准不同于(832)第二易损度基准。
可选地,在一些实现方式中,在(或者没有)第二子块的垃圾收集之前进行第一子块的垃圾收集(836)。例如,在一些实现方式中,在第一触发参数满足所述第一易损度基准之后,第二触发参数满足第二易损度基准,并且从而第二子块的垃圾收集(例如,擦除块304-1)在比用于第一子块(例如,页304-5)的垃圾收集之后的时间处进行。
方法800减少了储存介质的耐受性上的垃圾收集的影响,因为储存在易损的擦除块的子块中的数据被保存而不擦除整个擦除块(至少直到作出垃圾收集擦除块中的剩余的有效数据的单独的决定)。
图9示出了根据一些实施例的用于储存系统中的储存介质的垃圾收集的方法900的流程图表示。如上所提到的,由于逐块地进行储存介质的擦除,但是在许多实施例中,储存介质的编程在块的更小的子单元(例如,逐页)上进行,具有无效数据的页不能被覆盖直到包含那些页的整个的块被擦除。储存装置(例如,储存装置120,图1)使用垃圾收集以回收存储器(例如,储存介质130,图1)不再包含有效数据的部分。为了减少垃圾收集对储存介质的耐受性的影响,但是,储存装置(例如,储存装置120,图1)首先将在易损的子块中的有效数据写入到另一擦除块,而暂时持留擦除块中的其它有效数据的副本并且擦除擦除块直到作出垃圾收集擦除块自身的单独的决定。(并且从而垃圾收集擦除块中的剩余的有效数据,如果有的话)。
至少在一些实施例中,方法900由储存装置(例如,储存装置120,图1)或储存装置的一个或多个组件(例如,储存控制器124和/或储存介质130,图1)进行,其中储存装置可操作地与主机系统(例如,计算机系统110,图1)耦接。在一些实施例中,方法900通过储存在非瞬时性计算机可读储存介质中并且由装置的一个或多个处理器执行的指令管理,该一个或多个处理器诸如管理模块121的一个或多个处理单元(CPU)122,图1和2中所示。在一些实施例中,方法900由储存系统(例如,数据储存系统100,图1)或储存系统的一个或多个组件(例如,计算机系统110和/或储存装置120,图1)进行。在一些实施例中,方法900的操作的一些在主机(例如,计算机系统110,图1)处进行并且信息被发送到储存装置(例如,储存装置120,图1)。在一些实施例中,方法900至少部分由储存在非瞬时性计算机可读储存介质中并且由主机的一个或多个处理器执行的指令(图1中未示出)管理。为了解释的方便,以下描述了由储存装置(例如,储存装置120,图1)进行的方法900。但是,本领域技术人员应理解,在其它实施例中,方法900中描述的操作的一个或多个由主机(例如,计算机系统110,图1)进行。
储存装置(例如,储存装置120,图1)根据储存装置中的储存介质中的擦除块的第一子块的一个或多个操作条件确定(902)第一触发参数。在上面关于图8A详细地讨论了触发参数和操作条件。
在一些实施例中,储存装置包括(904)一个或多个闪速存储器装置。换句话说,在一些实施例中,储存装置包括储存介质(例如,储存介质130,图1),并且所述储存介质包括一个或多个非易失性储存装置——诸如闪速存储器装置。在一些实施例中,储存介质(例如,储存介质130,图1)是单个闪速存储器装置,而在其它实施例中所述储存介质包括多个闪速存储器装置。例如,在一些实现方式中,储存介质包括几十个或者上百个闪速存储器装置,以并联的存储器信道阻止——诸如每存储器信道16、32或64个闪速存储器装置,以及8、16或32个并联的存储器信道。在一些实施例中,非易失性储存介质(例如,储存介质130,图1)包括NAND型闪速存储器或NOR型闪速存储器。在其它实施例中,储存介质包括一个或多个其它类型的非易失性储存装置。
在一些实施例中,储存装置包括(906)一个或多个三维(3D)存储器装置和与所述一个或多个3D存储器装置中的存储器元件的操作相关联的电路。换句话说,在一些实施例中,储存装置包括储存介质(例如,储存介质130,图1),并且所述储存介质包括一个或多个3D存储器装置和与所述一个或多个3D存储器装置中的存储器元件的操作相关联的电路。在一些实施例中,储存介质(例如,储存介质130,图1)是单个3D存储器装置,而在其它实施例中所述储存介质包括多个3D存储器装置。
此外,在一些实现方式中,一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件,在(908)相同的基板上(例如,半导体基板)。在一些实施例中,基板是在其上放置一个或多个存储器元件的材料层的和/或在其中形成一个或多个存储器元件的晶片或者晶片的一部分(例如,裸芯)。在一些实施例中,基板是在一个或多个存储器元件形成之后附接到一个或多个存储器元件的承载基板。作为非限制性示例,在一些实施例中,基板包括半导体——诸如硅。
根据第一触发参数满足(910)第一易损度基准的确定,储存装置使能(912)第一子块的垃圾收集。在上面参考图8B详细地描述了易损度基准。此外,在一些实施例中,垃圾收集第一子块包括将有效数据的副本从第一子块写入(914)到所述储存介质中的第二擦除块,其中第二擦除块不同于该擦除块,并且无效化(916)擦除块中的第一子块(即,当第一子块被垃圾收集时无效化保留在第一子块中的任何有效数据)。参考图3详细地示出并且描述了垃圾收集的示例。
此外,储存装置确定(918)擦除块是否满足预定的垃圾收集调度基准。根据擦除块满足垃圾收集调度基准的确定,储存装置使能(920)擦除块的垃圾收集。在一些实现方式中,垃圾收集调度基准包括保留在擦除块中的有效数据的量降低到阈值之下的确定。在一些实现方式中,垃圾收集调度基准包括擦除块是在具有最少量的有效数据的储存装置中的N个擦除块的一个的确定,其中N(正整数)是由可用于储存数据的储存装置所需要的擦除块的数量。
半导体存储器装置包括易失性存储器装置,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)装置,非易失性存储器装置,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器(也可以被认为是EEPROM的子集)、铁电的随机存取存储器(“FRAM”)以及磁阻的随机存取存储器(“MRAM”),以及其他能够贮存信息的半导体元件。每种类型的存储器装置可以具有不同的配置。例如,闪速存储器装置可以配置在NAND或NOR配置中。
存储器装置可以由无源和/或有源元件、任意组合构成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率切换贮存元件——诸如反熔丝、变相材料等,以及可选地控制元件——诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪速存储器装置元件,其在一些实施例中包括包含电荷贮存区域的元件——诸如浮置栅极、传导的纳米粒子或电荷贮存电介质材料。
多个存储器元件可以被配置为使得它们串联连接或者使得每个元件可被独立地访问。以非限制性示例的方式,在NAND配置(NAND存储器)中的闪速存储器装置通常包含串联连接的存储器元件。NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中串由共享单个位线并作为一组存取的多个存储器元件构成。可替换地,存储器元件可以被配置为使得每个元件可被独立地访问,(例如NOR存储器阵列)。NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。
位于基板中和/或在基板之上的半导体存储器元件可以以二维或三维布置——诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件布置在基本上平行于支撑存储器元件的基板的主表面地延伸的平面中(例如,在x-z方向平面中)。基板可以是在其上或其中形成存储器元件的层的晶片,或者它可以是在存储器元件形成之后附接到存储器元件的载体基板。作为非限制性示例,基板可以包括诸如硅的半导体。
存储器元件可以布置在有序的阵列中的单个存储器装置级中——诸如在多个行和/或列中。但是,存储器元件以不规则或者非正交的配置排列。存储器元件的每一个具有两个或多个电极或接触线,诸如位线和字线。
三维存储器阵列被布置为使得存储器元件占据多个平面或多个存储器装置级,从而在三维中形成结构(即,在x、y和z方向中,其中y方向基本上垂直于基板的主表面,并且x和z方向基本上平行于基板的主表面)。
作为非限制性示例,三维存储器结构可以垂直地布置为多个二维存储器装置级的堆叠。作为另一非限制性示例,三维存储器阵列可以布置为多个垂直的列(例如,基本上垂直地延伸到基板的主表面的列,即,在y方向中),其中每个列在每个列中具有多个存储器元件。列可以布置在二维配置中(例如,在x-z平面中),产生具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。存储器元件在三维中的其它配置也可以组成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平(例如,x-z)存储器装置级中形成NAND串。可替换地,存储器元件可以耦接在一起以形成穿过多个水平存储器装置级的垂直的NAND串。可以设想其它三维配置,其中一些NAND串在单个存储器级中包含存储器元件,而其它串包含跨过多个存储器级的存储器元件。三维存储器阵列也可以设计在NOR配置中和在ReRAM配置中。
通常,在单片三维存储器阵列中,一个或多个存储器装置级被形成在单个基板之上。可选地,单片三维存储器阵列还可以具有至少部分在单个基板中的一个或多个存储器层。作为非限制性示例,基板可以包括半导体——诸如硅。在单片三维阵列中,构成阵列的每个存储器装置级的层通常被形成在阵列的下面的存储器装置级的层上。但是,单片三维存储器阵列的邻近的存储器装置级的层可能被共享或者具有在存储器装置级之间的中间的层。
再次,二维阵列可以单独地形成并且然后封装在一起以形成具有存储器的多个层的非单片存储器装置。例如,非单片堆叠的存储器可以通过在单独的基板上形成存储器级并且然后在彼此之上堆叠存储器级而被构造。基板可以在堆叠之前被减薄或者从存储器装置级移除,但是由于存储器装置级初始地被形成在单独的基板之上,所产生的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以被形成在单独的芯片上并且然后被封装在一起以形成堆叠的芯片存储器装置。
通常需要相关联的电路以用于存储器元件的操作以及用于与存储器元件的通信。作为非限制性示例,存储器装置可以具有用于控制并且驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可以与存储器元件在相同的基板上和/或在单独的基板上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或位于与存储器元件相同的基板上。
术语“三维存储器装置”(或3D存储器装置)在这里被定义为意味着具有存储器元件的多个存储器层或多个级(例如,有时被称为多个存储器装置级)的存储器装置,包括以下的任一个:具有单片或非单片3D存储器阵列的存储器装置,其一些非限制性示例如上所述;或两个或多个2D和/或3D存储器装置,被封装在一起以形成堆叠的芯片存储器装置,其一些非限制性示例如上所述。
本领域技术人员应认识到本发明不限于所述的二维和三维示例性结构,而是覆盖如这里所述的本发明的精神和范围内以及由本领域技术人员理解的所有相关的存储器结构。
在一些实现方式中,关于上述任何方法,储存介质(例如,储存介质130,图1)是单个闪速存储器装置,而在其它实现方式中,储存介质(例如,储存介质130,图1)包括多个闪速存储器装置。
在一些实现方式中,关于上述任何方法,储存系统包括储存介质(例如,储存介质130,图1)、一个或多个处理器(例如,CPU 122,图1和2)和存储器(例如,存储器206,图2),该存储器储存被配置为由一个或多个处理器执行并且被配置为进行或控制上述任何方法的性能的一个或多个程序。
在一些实现方式中,关于上述任何方法,可操作为进行垃圾收集的装置包括用于将装置耦接到储存介质(例如,储存介质130,图1)的储存介质接口(例如,储存介质I/O128,图1)以及一个或多个模块,该一个或多个模块包括存储器管理模块(例如,管理模块121,图1和2),其包括一个或多个处理器(例如,CPU 122,图1和2)和存储器(例如,存储器206,图2),该存储器储存被配置为由一个或多个处理器执行的一个或多个程序,一个或多个模块耦接到储存介质接口(例如,储存介质I/O 128,图1)并且被配置为进行或控制上述任何方法的性能。
应理解的是,尽管可能在这里使用术语“第一”、“第二”等描述各种元件,这些元件不应被这些术语限制。这些术语仅被用于将一个元件与另一区分。例如,第一接触可以被叫做第二接触,并且类似地,第二接触可以被叫做第一接触,而只要“第一接触”的所有出现被一致地重新命名并且“第二接触”所有出现被一致地重新命名,其改变说明的含义。第一接触和第二接触都是接触,但是它们不是相同的接触。
这里所使用的术语仅是为了描述特定实施例的目的并且不意欲限制权利要求。如在实施例的描述以及所附权利要求中所使用的,单数形式的“一”、“一个”和“所述”也意欲包括复数形式,除非上下文明确地另有说明。还应理解的是,如这里所使用的术语“和/或”指代并且包含相关联的列出的项目的一个或多个的任何以及所有可能的组合。将进一步理解的是,术语“包含”和/或“包括”——当用在本说明书中时——指明出现所述的特征、整数、步骤、操作、元件和/或组件,但是不排除其它特征、整数、步骤、操作、元件、组件和/或其组合的一个或多个的出现或增加。
如这里所使用的,取决于上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,取决于上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。
为了解释的目的,已经参考特定实现方式描述了前述说明。但是,上述说明性讨论不意欲是穷举性的或者将权利要求限制到所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。实现方式被选中并且描述以便于最好地解释操作的原理和实际应用,从而使本领域技术人员能够实施。
Claims (27)
1.一种用于储存装置中的储存介质的垃圾收集的方法,所述方法包含:
根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数;
根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数;
根据所述第一触发参数满足第一易损度基准的确定,使能所述第一子块的垃圾收集;并且
根据所述第二触发参数满足第二易损度基准的确定,使能所述第二子块的垃圾收集,其中所述第一易损度基准不同于所述第二易损度基准,并且其中所述第一擦除块的特定子块的垃圾收集包括:
将有效数据的副本从所述特定子块写入到所述储存介质中的第二擦除块,其中所述第二擦除块不同于所述第一擦除块;并且
无效化所述第一擦除块中的特定子块。
2.如权利要求1所述的方法,其中所述第一子块是所述第一擦除块的一部分,并且所述第二子块是所述第一擦除块的另一部分。
3.如权利要求1-2的任一个所述的方法,其中所述第一易损度基准根据所述第一子块的一个或多个特征而确定,并且所述第二易损度基准根据所述第二子块的一个或多个特征而确定。
4.如权利要求1-3的任一个所述的方法,其中所述第一子块的垃圾收集在所述第二子块的垃圾收集之前进行。
5.如权利要求1-4的任一个所述的方法,还包括:
根据所述第一触发参数满足所述第一易损度基准的确定,使能用于包括所述第一子块的校验条带的垃圾收集,其中所述校验条带包括在所述储存介质中的多个擦除块之上的多个子块。
6.如权利要求1-5的任一个所述的方法,还包括根据所述第一触发参数满足所述第一易损度基准的确定和第一擦除块或包括所述第一擦除块的存储器部分满足预定的年龄基准的确定来使能所述第一子块的垃圾收集。
7.一种用于储存装置中的储存介质的垃圾收集的方法,所述方法包含:
根据所述储存介质中的第一擦除块的第一子块的一个或多个操作条件确定第一触发参数;
根据所述第一触发参数满足第一易损度基准的确定,使能所述第一子块的垃圾收集;
在使能所述第一子块的垃圾收集之后,确定所述第一擦除块是否满足预定的垃圾收集调度基准;以及
根据所述第一擦除块满足所述垃圾收集调度基准的确定,使能所述第一擦除块的子块垃圾收集。
8.如权利要求1或权利要求7所述的方法,其中所述第一子块的垃圾收集包括:
将有效数据的副本从所述第一子块写入到所述储存介质中的第二擦除块其中所述第二擦除块不同于所述第一擦除块;以及
无效化所述第一擦除块中的第一子块。
9.如权利要求1-8的任一个所述的方法,其中所述储存装置包括一个或多个闪速存储器装置。
10.如权利要求1-9的任一个所述的方法,其中所述储存装置包括一个或多个三维(3D)存储器装置和与所述一个或多个3D存储器装置中的存储器元件的操作相关联的电路。
11.如权利要求10所述的方法,其中所述一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件在相同的基板上。
12.一种储存装置,包含:
储存介质;
一个或多个处理器;以及
存储器,储存将由所述一个或多个处理器执行的一个或多个程序,所述一个或多个程序包含指令以用于:
根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数;
根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数;
根据所述第一触发参数满足第一易损度基准的确定、使能所述第一子块的垃圾收集;以及
根据所述第二触发参数满足第二易损度基准的确定,使能所述第二子块的垃圾收集,其中所述第一易损度基准不同于所述第二易损度基准,并且其中所述第一擦除块的特定子块的垃圾收集包括:
将有效数据的副本从所述特定子块写入到所述储存介质中的第二擦除块,其中所述第二擦除块不同于所述第一擦除块;以及
无效化所述第一擦除块中的特定子块。
13.如权利要求12所述的储存装置,其中所述第一子块是所述第一擦除块的一部分,并且所述第二子块是所述第一擦除块的另一部分。
14.如权利要求12-13的任一项所述的储存装置,其中所述第一易损度基准根据所述第一子块的一个或多个特征而确定,并且所述第二易损度基准根据所述第二子块的一个或多个特征而确定。
15.如权利要求12-14的任一项所述的储存装置,其中所述第一子块的垃圾收集在所述第二子块的垃圾收集之前进行。
16.如权利要求12-15的任一项所述的储存装置,其中所述一个或多个程序还包括指令以用于根据所述第一触发参数满足所述第一易损度基准的确定,被使能用于包括所述第一子块的校验条带的垃圾收集,其中所述校验条带包括在所述储存介质中的多个擦除块之上的多个子块。
17.如权利要求12-16的任一项所述的储存装置,其中所述一个或多个程序还包括指令以用于根据所述第一触发参数满足所述第一易损度基准的确定以及根据所述擦除块或者包括所述擦除块的存储器部分满足预定的年龄基准的确定使能所述第一子块的垃圾收集。
18.如权利要求12所述的储存装置,还被配置为根据权利要求2-11的任一个所述的方法操作。
19.一种储存系统,包含:
储存介质;
一个或多个处理器;以及
存储器,储存将由所述一个或多个处理器执行的一个或多个程序,所述一个或多个程序包含指令以用于:
根据所述储存介质中的第一擦除块的第一子块的一个或多个操作条件确定第一触发参数;
根据所述第一触发参数满足第一易损度基准的确定,使能所述第一子块的垃圾收集;
在使能所述第一子块的垃圾收集之后,确定所述第一擦除块是否满足预定的垃圾收集调度基准;以及
根据所述擦除块满足所述垃圾收集调度基准的确定,使能所述第一擦除块的垃圾收集。
20.如权利要求19所述的储存系统,其中所述第一子块的垃圾收集包括:
将有效数据的副本从所述第一子块写入到所述储存介质中的第二擦除块,其中所述第二擦除块不同于所述第一擦除块;以及
无效化所述第一擦除块中的第一子块。
21.如权利要求19所述的储存系统,其中所述储存介质包括一个或多个闪速存储器装置。
22.如权利要求19所述的储存系统,其中所述储存介质包括一个或多个三维(3D)存储器装置和与所述一个或多个3D存储器装置中的存储器元件的操作相关联的电路。
23.如权利要求22所述的储存系统,其中所述一个或多个3D存储器装置的各个3D存储器装置中的电路和一个或多个存储器元件在相同的基板上。
24.如权利要求19所述的储存系统,还被配置为根据权利要求2-11的任一个所述的方法操作。
25.一种储存装置,包含:
用于根据所述储存介质中的擦除块的第一子块的一个或多个操作条件确定第一触发参数的构件;
用于根据所述储存介质中的擦除块的第二子块的一个或多个操作条件确定第二触发参数的构件;
用于根据所述第一触发参数满足第一易损度基准的确定使能所述第一子块的垃圾收集的构件;以及
用于根据所述第二触发参数满足第二易损度基准的确定使能所述第二子块的垃圾收集的构件。
26.如权利要求25所述的储存系统,还被配置为根据权利要求2-11的任一个所述的方法操作。
27.一种储存系统,包含:
储存介质;
一个或多个处理器;以及
存储器,储存一个或多个程序,当由所述一个或多个处理器执行时使得储存系统进行或控制权利要求1-11的任一个的方法的性能。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462014461P | 2014-06-19 | 2014-06-19 | |
US62/014,461 | 2014-06-19 | ||
US14/311,152 | 2014-06-20 | ||
US14/311,152 US9652381B2 (en) | 2014-06-19 | 2014-06-20 | Sub-block garbage collection |
PCT/US2015/036807 WO2015196153A1 (en) | 2014-06-19 | 2015-06-19 | Sub-block garbage collection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106575256A true CN106575256A (zh) | 2017-04-19 |
CN106575256B CN106575256B (zh) | 2019-10-25 |
Family
ID=54869762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580025094.0A Active CN106575256B (zh) | 2014-06-19 | 2015-06-19 | 子块垃圾收集 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9652381B2 (zh) |
EP (1) | EP3158454B1 (zh) |
KR (1) | KR101903574B1 (zh) |
CN (1) | CN106575256B (zh) |
WO (1) | WO2015196153A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275673A (zh) * | 2018-03-13 | 2019-09-24 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111324300A (zh) * | 2018-12-14 | 2020-06-23 | 爱思开海力士有限公司 | 控制器以及控制器的操作方法 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956050B2 (en) | 2014-03-31 | 2021-03-23 | Sandisk Enterprise Ip Llc | Methods and systems for efficient non-isolated transactions |
US9916356B2 (en) | 2014-03-31 | 2018-03-13 | Sandisk Technologies Llc | Methods and systems for insert optimization of tiered data structures |
US10725668B1 (en) * | 2014-08-29 | 2020-07-28 | SK Hynix Inc. | Data separation during garbage collection and wear leveling |
US9798657B2 (en) * | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
US20160179399A1 (en) * | 2014-12-23 | 2016-06-23 | Sandisk Technologies Inc. | System and Method for Selecting Blocks for Garbage Collection Based on Block Health |
CN106257594B (zh) * | 2015-06-16 | 2021-01-05 | 爱思开海力士有限公司 | 读取干扰收回策略 |
US10665305B2 (en) * | 2015-09-09 | 2020-05-26 | Toshiba Memory Corporation | Host device connectable to memory device performing patrol read and memory device performing patrol read |
US10133764B2 (en) | 2015-09-30 | 2018-11-20 | Sandisk Technologies Llc | Reduction of write amplification in object store |
US10303536B2 (en) * | 2015-10-28 | 2019-05-28 | Via Technologies, Inc. | Non-volatile memory device and control method thereof |
US10002073B2 (en) * | 2015-11-06 | 2018-06-19 | SK Hynix Inc. | Selective data recycling in non-volatile memory |
TWI551991B (zh) * | 2015-11-20 | 2016-10-01 | 群聯電子股份有限公司 | 記憶體管理方法與系統及其記憶體儲存裝置 |
KR20170099018A (ko) * | 2016-02-22 | 2017-08-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10289340B2 (en) | 2016-02-23 | 2019-05-14 | Sandisk Technologies Llc | Coalescing metadata and data writes via write serialization with device-level address remapping |
US10747676B2 (en) | 2016-02-23 | 2020-08-18 | Sandisk Technologies Llc | Memory-efficient object address mapping in a tiered data structure |
US10185658B2 (en) | 2016-02-23 | 2019-01-22 | Sandisk Technologies Llc | Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes |
TWI587304B (zh) | 2016-03-09 | 2017-06-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10628306B2 (en) * | 2017-02-01 | 2020-04-21 | Microsoft Technology Licensing, Llc | Garbage collector |
US10340016B2 (en) * | 2017-06-26 | 2019-07-02 | Micron Technology, Inc. | Methods of error-based read disturb mitigation and memory devices utilizing the same |
US10802911B2 (en) * | 2017-08-16 | 2020-10-13 | Western Digital Technologies, Inc. | Non-volatile storage with wear-adjusted failure prediction |
US10346232B2 (en) * | 2017-08-16 | 2019-07-09 | Western Digital Technologies, Inc. | Non-volatile storage with failure prediction |
US10691572B2 (en) | 2017-08-30 | 2020-06-23 | Nvidia Corporation | Liveness as a factor to evaluate memory vulnerability to soft errors |
US10140042B1 (en) | 2017-09-13 | 2018-11-27 | Toshiba Memory Corporation | Deterministic read disturb counter-based data checking for NAND flash |
KR102447602B1 (ko) | 2017-10-25 | 2022-09-26 | 삼성전자주식회사 | 메모리 장치 및 그 동적 가비지 컬렉션 방법 |
US10908832B2 (en) * | 2017-10-31 | 2021-02-02 | Micron Technology, Inc. | Common pool management |
KR102369391B1 (ko) * | 2017-12-27 | 2022-03-02 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 소거 방법 및 이를 수행하는 비휘발성 메모리 장치 |
US10949113B2 (en) * | 2018-01-10 | 2021-03-16 | SK Hynix Inc. | Retention aware block mapping in flash-based solid state drives |
US11593262B1 (en) * | 2018-04-25 | 2023-02-28 | Seagate Technology Llc | Garbage collection command scheduling |
US10445022B1 (en) | 2018-04-26 | 2019-10-15 | Alibaba Group Holding Limited | Optimization of log-structured merge (LSM) tree-based databases using object solid state drive (SSD) devices |
US12007886B2 (en) | 2018-09-12 | 2024-06-11 | International Business Machines Corporation | Addressing page-correlated read issues using intra-block parity |
US10929069B2 (en) | 2018-09-12 | 2021-02-23 | International Business Machines Corporation | Addressing page-correlated read issues using intra-block parity |
KR102599046B1 (ko) * | 2018-11-16 | 2023-11-06 | 삼성전자주식회사 | 리커버리 동작을 수행하는 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 메모리 시스템 |
US10956317B2 (en) | 2019-02-11 | 2021-03-23 | International Business Machines Corporation | Garbage collection in non-volatile memory that fully programs dependent layers in a target block |
US11775189B2 (en) * | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US11287989B2 (en) | 2020-03-24 | 2022-03-29 | Western Digital Technologies, Inc. | Dynamic allocation of sub blocks |
US11210027B2 (en) | 2020-04-13 | 2021-12-28 | Western Digital Technologies, Inc. | Weighting of read commands to zones in storage devices |
US11016880B1 (en) * | 2020-04-28 | 2021-05-25 | Seagate Technology Llc | Data storage system with read disturb control strategy whereby disturb condition can be predicted |
US11455244B2 (en) | 2020-09-04 | 2022-09-27 | Western Digital Technologies, Inc. | Zoned namespace limitation mitigation using sub block mode |
CN112486415B (zh) * | 2020-11-30 | 2024-05-24 | 北京泽石科技有限公司 | 存储装置的垃圾回收方法及装置 |
US11342033B1 (en) * | 2020-12-28 | 2022-05-24 | Sandisk Technologies Llc | Look neighbor ahead for data recovery |
CN113724773B (zh) * | 2021-09-14 | 2024-03-26 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199024A (zh) * | 2005-03-31 | 2008-06-11 | 桑迪士克股份有限公司 | 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器 |
CN101681677A (zh) * | 2007-03-07 | 2010-03-24 | 莫塞德技术公司 | 用于闪速存储器的部分块擦除架构 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US20110078496A1 (en) * | 2009-09-29 | 2011-03-31 | Micron Technology, Inc. | Stripe based memory operation |
US20110199825A1 (en) * | 2010-02-17 | 2011-08-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method thereof, and memory system including the same |
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
US20120173797A1 (en) * | 2010-12-31 | 2012-07-05 | Yang-Chih Shen | Method for performing block management/flash memory management, and associated memory device and controller thereof |
US20130007343A1 (en) * | 2011-06-28 | 2013-01-03 | Seagate Technology Llc | Parameter Tracking for Memory Devices |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
US20130282955A1 (en) * | 2012-04-19 | 2013-10-24 | Liam M. Parker | System and method for limiting fragmentation |
CN103559911A (zh) * | 2013-10-13 | 2014-02-05 | 广东博观科技有限公司 | 一种提高芯片周期耐久性的方法 |
US20140136883A1 (en) * | 2012-11-15 | 2014-05-15 | Lsi Corporation | Read disturb effect determination |
Family Cites Families (507)
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 |
TW334532B (en) | 1996-07-05 | 1998-06-21 | Matsushita Electric Ind Co Ltd | The inspection system of semiconductor IC and the method of generation |
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 |
US6314501B1 (en) | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
US6295592B1 (en) | 1998-07-31 | 2001-09-25 | Micron Technology, Inc. | Method of processing memory requests in a pipelined memory controller |
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 |
US6104304A (en) | 1999-07-06 | 2000-08-15 | Conexant Systems, Inc. | Self-test and status reporting system for microcontroller-controlled devices |
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 |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
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 |
US7620769B2 (en) | 2000-01-06 | 2009-11-17 | Super Talent Electronics, Inc. | Recycling partially-stale flash blocks using a sliding window for multi-level-cell (MLC) flash memory |
US7333364B2 (en) | 2000-01-06 | 2008-02-19 | Super Talent Electronics, Inc. | Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory |
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 |
US7107480B1 (en) | 2000-12-22 | 2006-09-12 | Simpletech, Inc. | System and method for preventing data corruption in solid-state memory devices after a power failure |
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 |
US20020161850A1 (en) | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path accelerator for storage systems |
JPWO2002082435A1 (ja) | 2001-03-30 | 2004-07-29 | 富士通株式会社 | 記憶装置及びそのフォーカス制御方法 |
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 |
US8050085B2 (en) | 2002-08-29 | 2011-11-01 | Renesas Electronics Corporation | Semiconductor processing device and IC card |
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 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
US7121639B2 (en) | 2002-12-02 | 2006-10-17 | Silverbrook Research Pty Ltd | Data rate equalisation to account for relatively different printhead widths |
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 |
JP4110000B2 (ja) | 2003-01-28 | 2008-07-02 | 株式会社ルネサステクノロジ | 記憶装置 |
US7043505B1 (en) | 2003-01-28 | 2006-05-09 | Unisys Corporation | Method variation for collecting stability data from proprietary systems |
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 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
JP4170988B2 (ja) | 2003-05-09 | 2008-10-22 | 富士通株式会社 | 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体 |
US7380059B2 (en) | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
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 |
CA2523548C (en) | 2003-05-23 | 2014-02-04 | Washington University | Intelligent data processing system and method using fpga devices |
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 |
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 |
US7376887B2 (en) | 2003-12-22 | 2008-05-20 | International Business Machines Corporation | Method for fast ECC memory testing by software including ECC check byte |
US20050144516A1 (en) | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20050251617A1 (en) | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
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 | 株式会社日立製作所 | 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法 |
US7350044B2 (en) | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7389465B2 (en) | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
US20080147964A1 (en) | 2004-02-26 | 2008-06-19 | Chow David Q | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function |
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 |
US7809836B2 (en) | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
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 |
DK1797645T3 (en) | 2004-08-30 | 2018-11-19 | Google Llc | Systems and methods for providing non-volatile memory management in cordless 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 |
US7038948B2 (en) | 2004-09-22 | 2006-05-02 | Spansion Llc | Read approach for multi-level virtual ground memory |
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 |
WO2006068435A2 (en) | 2004-12-22 | 2006-06-29 | Lg Electronics Inc. | Apparatus and method for decoding using channel code |
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 |
US7437537B2 (en) | 2005-02-17 | 2008-10-14 | Qualcomm Incorporated | Methods and apparatus for predicting unaligned memory access |
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 |
US7251160B2 (en) | 2005-03-16 | 2007-07-31 | Sandisk Corporation | Non-volatile memory and method with power-saving read and program-verify operations |
JP2006277395A (ja) | 2005-03-29 | 2006-10-12 | Matsushita Electric Ind Co Ltd | 情報処理装置及び情報処理方法 |
US7426633B2 (en) | 2005-05-12 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | System and method for reflashing disk drive firmware |
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 |
EP1897223A1 (en) | 2005-06-27 | 2008-03-12 | Thomson Licensing S.A. | Stopping criteria in iterative decoders |
US7409489B2 (en) | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US20070061597A1 (en) | 2005-09-14 | 2007-03-15 | Micky Holtzman | 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 |
US8006161B2 (en) | 2005-10-26 | 2011-08-23 | Samsung Electronics Co., Ltd | Apparatus and method for receiving signal in a communication system using a low density parity check code |
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 |
WO2007058617A1 (en) | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
US7500062B2 (en) | 2005-11-17 | 2009-03-03 | International Business Machines Corporation | Fast path memory read request processing in a multi-level memory architecture |
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 |
US7742339B2 (en) | 2006-01-10 | 2010-06-22 | 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 |
US7681106B2 (en) | 2006-03-29 | 2010-03-16 | Freescale Semiconductor, Inc. | Error correction device and methods thereof |
JP4863749B2 (ja) | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
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 |
US7486561B2 (en) | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
JP4842719B2 (ja) | 2006-06-28 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びそのデータ保護方法 |
WO2008003094A2 (en) | 2006-06-29 | 2008-01-03 | Digital Fountain, Inc. | Efficient representation of symbol-based transformations with application to encoding and decoding of 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 |
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 |
KR20090102789A (ko) | 2006-12-06 | 2009-09-30 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법 |
KR100808664B1 (ko) | 2006-12-08 | 2008-03-07 | 한국전자통신연구원 | 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치 |
KR100881669B1 (ko) | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
WO2008075292A2 (en) | 2006-12-18 | 2008-06-26 | Nxp B.V. | Power-on temperature sensor/spd detect |
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 | 삼성전자주식회사 | 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법 |
US7707461B2 (en) | 2007-01-31 | 2010-04-27 | Hewlett-Packard Development Company, L.P. | Digital media drive failure prediction system and method |
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 |
US20080320110A1 (en) | 2007-06-25 | 2008-12-25 | Sharp Laboratories Of America, Inc. | Firmware rollback and configuration restoration for electronic devices |
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 | 株式会社デンソー | 電子制御装置及び信号監視回路 |
JP5399403B2 (ja) | 2007-10-31 | 2014-01-29 | アギア システムズ インコーポレーテッド | マルチレベルフラッシュメモリの系統誤差訂正 |
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 |
WO2009072102A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices |
US8185903B2 (en) | 2007-12-13 | 2012-05-22 | International Business Machines Corporation | Managing system resources |
US8775717B2 (en) | 2007-12-27 | 2014-07-08 | Sandisk Enterprise Ip Llc | Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories |
CN101632068B (zh) | 2007-12-28 | 2015-01-14 | 株式会社东芝 | 半导体存储装置 |
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 |
KR20090097673A (ko) | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치 |
KR20090106869A (ko) | 2008-04-07 | 2009-10-12 | 삼성전자주식회사 | 3차원 메모리 장치 및 그것의 구동 방법 |
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 |
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 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 프로그래밍 방법 |
JP2010055692A (ja) | 2008-08-28 | 2010-03-11 | Toshiba Corp | 読み出し回路及び読み出し方法 |
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 |
US8775741B1 (en) | 2009-01-13 | 2014-07-08 | Violin Memory Inc. | Using temporal access patterns for determining prefetch suitability |
US8214599B2 (en) | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Storage device prefetch system using directed graph clusters |
KR101516577B1 (ko) | 2008-11-10 | 2015-05-06 | 삼성전자주식회사 | 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법 |
US9063874B2 (en) | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
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 |
US20100281207A1 (en) | 2009-04-30 | 2010-11-04 | Miller Steven C | Flash-based data archive storage system |
KR101575248B1 (ko) | 2009-04-30 | 2015-12-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US8166258B2 (en) | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
US8161244B2 (en) | 2009-05-13 | 2012-04-17 | Microsoft Corporation | Multiple cache directories |
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 |
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 |
US8627117B2 (en) | 2009-06-26 | 2014-01-07 | Seagate Technology Llc | Device with power control feature involving backup power reservoir circuit |
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 |
EP2471068B1 (en) | 2009-08-25 | 2015-11-11 | 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 |
US8289801B2 (en) | 2009-09-09 | 2012-10-16 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
US8386731B2 (en) | 2009-09-14 | 2013-02-26 | Vmware, Inc. | Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics |
US8473680B1 (en) | 2009-09-18 | 2013-06-25 | Marvell International Ltd. | Hotspot detection and caching for storage devices |
KR101644125B1 (ko) | 2009-09-22 | 2016-07-29 | 삼성전자주식회사 | 비휘발성 메모리를 이용한 로깅 최적화 장치 및 방법 |
IES20100615A2 (en) | 2009-09-23 | 2011-03-30 | Conor Maurice Ryan | A flash memory device and control method |
US20110103391A1 (en) | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
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 |
JP5348248B2 (ja) | 2009-09-25 | 2013-11-20 | 富士通株式会社 | メモリシステム及びメモリシステムの制御方法 |
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 | 管理記憶體讀出資料之方法以及記憶裝置 |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
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 |
US8438361B2 (en) | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
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 |
EP2577830A2 (en) | 2010-06-01 | 2013-04-10 | Koninklijke Philips Electronics N.V. | System and method for sequential application of power to electrical loads |
WO2011153478A2 (en) | 2010-06-04 | 2011-12-08 | Flashsoft Corporation | Cache management and acceleration of storage media |
JP5596143B2 (ja) | 2010-06-29 | 2014-09-24 | パナソニック株式会社 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
US20120011393A1 (en) | 2010-07-06 | 2012-01-12 | Roberts Richard B | Bios recovery |
US8531888B2 (en) | 2010-07-07 | 2013-09-10 | Marvell World Trade Ltd. | Determining optimal reference voltages for progressive reads in flash memory systems |
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 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
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 |
KR20120011642A (ko) | 2010-07-29 | 2012-02-08 | 삼성전자주식회사 | 기준 셀을 포함하는 불휘발성 메모리 장치 및 그것의 기준 전류 설정 방법 |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US8510499B1 (en) | 2010-08-30 | 2013-08-13 | Symantec Corporation | Solid state drive caching using memory structures to determine a storage space replacement candidate |
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 |
WO2012051600A2 (en) | 2010-10-15 | 2012-04-19 | Kyquang Son | 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 |
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 |
US8489653B2 (en) | 2011-02-08 | 2013-07-16 | International Business Machines Corporation | Incremental class unloading in a region-based garbage collector |
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 |
JP2012181761A (ja) | 2011-03-02 | 2012-09-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
US8909894B1 (en) | 2011-03-16 | 2014-12-09 | Tintri Inc. | Automatically aligning virtual blocks to physical blocks |
US8601036B2 (en) | 2011-03-23 | 2013-12-03 | International Business Machines Corporation | Handling persistent/long-lived objects to reduce garbage collection pause times |
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 |
US9176864B2 (en) | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
US9378138B2 (en) | 2011-06-29 | 2016-06-28 | International Business Machines Corporation | Conservative garbage collection and access protection |
US8898373B1 (en) * | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US8645773B2 (en) | 2011-06-30 | 2014-02-04 | Seagate Technology Llc | Estimating temporal degradation of non-volatile solid-state memory |
US9898402B2 (en) | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
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 |
US8934311B2 (en) | 2011-09-06 | 2015-01-13 | Samsung Electronics Co., Ltd. | Semiconductor memory device capable of screening a weak bit and repairing the same |
US9047210B2 (en) | 2011-09-15 | 2015-06-02 | Sandisk Technologies Inc. | Data storage device and method to correct bit values using multiple read voltages |
US8924631B2 (en) | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
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 |
KR101522848B1 (ko) | 2011-10-05 | 2015-05-26 | 엘에스아이 코포레이션 | 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성 |
US8711619B2 (en) | 2011-10-18 | 2014-04-29 | Seagate Technology Llc | Categorizing bit errors of solid-state, non-volatile memory |
US8707090B2 (en) | 2011-10-19 | 2014-04-22 | Hitachi, Ltd. | Storage system |
CN103748564B (zh) | 2011-10-28 | 2016-06-29 | 株式会社日立制作所 | 存储系统及对象管理方法 |
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 |
CN103917964A (zh) | 2011-11-02 | 2014-07-09 | 国立大学法人东京大学 | 存储控制器和数据存储装置 |
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 |
US9081663B2 (en) | 2011-11-18 | 2015-07-14 | Stec, Inc. | Optimized garbage collection algorithm to improve solid state drive reliability |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US9274945B2 (en) | 2011-12-15 | 2016-03-01 | International Business Machines Corporation | Processing unit reclaiming requests in a solid state memory device |
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 |
US8897085B2 (en) | 2012-03-19 | 2014-11-25 | Sandisk Technologies Inc. | Immunity against temporary and short power drops in non-volatile memory: pausing techniques |
JP5853899B2 (ja) | 2012-03-23 | 2016-02-09 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 |
US20130290611A1 (en) | 2012-03-23 | 2013-10-31 | Violin Memory Inc. | Power management in a flash memory |
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 |
US20130343131A1 (en) | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US20130297613A1 (en) | 2012-05-04 | 2013-11-07 | Monmouth University | Indexing based on key ranges |
US8634267B2 (en) | 2012-05-14 | 2014-01-21 | Sandisk Technologies Inc. | Flash memory chip power management for data reliability and methods thereof |
US8605502B1 (en) | 2012-05-22 | 2013-12-10 | Sandisk Technologies Inc. | Systems and methods of updating read voltages |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
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 | 에스케이하이닉스 주식회사 | 쓰기 전류를 측정할 수 있는 반도체 메모리 장치 및 쓰기 전류 측정 방법 |
US8874992B2 (en) | 2012-08-31 | 2014-10-28 | Sandisk Technologies Inc. | Systems and methods to initiate updating of reference voltages |
US20140071761A1 (en) | 2012-09-10 | 2014-03-13 | Sandisk Technologies Inc. | Non-volatile storage with joint hard bit and soft bit reading |
US9329986B2 (en) | 2012-09-10 | 2016-05-03 | Sandisk Technologies Inc. | Peak current management in multi-die non-volatile memory devices |
US8886882B2 (en) | 2012-09-14 | 2014-11-11 | Hitachi, Ltd. | Method and apparatus of storage tier and cache management |
US8938656B2 (en) | 2012-09-14 | 2015-01-20 | Sandisk Technologies Inc. | Data storage device with intermediate ECC stage |
US9329948B2 (en) | 2012-09-15 | 2016-05-03 | Seagate Technology Llc | Measuring cell damage for wear leveling in a non-volatile memory |
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 |
JP5965541B2 (ja) | 2012-10-31 | 2016-08-10 | 株式会社日立製作所 | ストレージ装置及びストレージ装置の制御方法 |
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 |
US8949544B2 (en) | 2012-11-19 | 2015-02-03 | Advanced Micro Devices, Inc. | Bypassing a cache when handling memory requests |
US9183945B2 (en) | 2012-11-30 | 2015-11-10 | Sandisk Technologies Inc. | Systems and methods to avoid false verify and false read |
US9104532B2 (en) | 2012-12-14 | 2015-08-11 | International Business Machines Corporation | Sequential location accesses in an active memory device |
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 |
US9304928B2 (en) | 2013-07-26 | 2016-04-05 | Netapp, Inc. | Systems and methods for adaptive prefetching |
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 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US9274713B2 (en) | 2014-04-03 | 2016-03-01 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Device driver, method and computer-readable medium for dynamically configuring a storage controller based on RAID type, data alignment with a characteristic of storage elements and queue depth in a cache |
-
2014
- 2014-06-20 US US14/311,152 patent/US9652381B2/en active Active
-
2015
- 2015-06-19 KR KR1020177001577A patent/KR101903574B1/ko active IP Right Grant
- 2015-06-19 CN CN201580025094.0A patent/CN106575256B/zh active Active
- 2015-06-19 WO PCT/US2015/036807 patent/WO2015196153A1/en active Application Filing
- 2015-06-19 EP EP15735796.3A patent/EP3158454B1/en not_active Not-in-force
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199024A (zh) * | 2005-03-31 | 2008-06-11 | 桑迪士克股份有限公司 | 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器 |
CN101681677A (zh) * | 2007-03-07 | 2010-03-24 | 莫塞德技术公司 | 用于闪速存储器的部分块擦除架构 |
US20110055455A1 (en) * | 2009-09-03 | 2011-03-03 | Apple Inc. | Incremental garbage collection for non-volatile memories |
US20110078496A1 (en) * | 2009-09-29 | 2011-03-31 | Micron Technology, Inc. | Stripe based memory operation |
US20110199825A1 (en) * | 2010-02-17 | 2011-08-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, operating method thereof, and memory system including the same |
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
US20120173797A1 (en) * | 2010-12-31 | 2012-07-05 | Yang-Chih Shen | Method for performing block management/flash memory management, and associated memory device and controller thereof |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
US20130007343A1 (en) * | 2011-06-28 | 2013-01-03 | Seagate Technology Llc | Parameter Tracking for Memory Devices |
US20130282955A1 (en) * | 2012-04-19 | 2013-10-24 | Liam M. Parker | System and method for limiting fragmentation |
US20140136883A1 (en) * | 2012-11-15 | 2014-05-15 | Lsi Corporation | Read disturb effect determination |
CN103559911A (zh) * | 2013-10-13 | 2014-02-05 | 广东博观科技有限公司 | 一种提高芯片周期耐久性的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275673A (zh) * | 2018-03-13 | 2019-09-24 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
US11461227B2 (en) | 2018-03-13 | 2022-10-04 | SK Hynix Inc. | Storage device and operating method thereof |
CN110275673B (zh) * | 2018-03-13 | 2023-05-12 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111324300A (zh) * | 2018-12-14 | 2020-06-23 | 爱思开海力士有限公司 | 控制器以及控制器的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150370701A1 (en) | 2015-12-24 |
EP3158454A1 (en) | 2017-04-26 |
KR20170020884A (ko) | 2017-02-24 |
WO2015196153A1 (en) | 2015-12-23 |
EP3158454B1 (en) | 2019-04-17 |
KR101903574B1 (ko) | 2018-10-04 |
CN106575256B (zh) | 2019-10-25 |
US9652381B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575256B (zh) | 子块垃圾收集 | |
US10310924B2 (en) | Storage device and read reclaim method thereof | |
US9256530B2 (en) | Nonvolatile memory device and sub-block managing method thereof | |
US9349479B1 (en) | Boundary word line operation in nonvolatile memory | |
US10114557B2 (en) | Identification of hot regions to enhance performance and endurance of a non-volatile storage device | |
US9558847B2 (en) | Defect logging in nonvolatile memory | |
US10162748B2 (en) | Prioritizing garbage collection and block allocation based on I/O history for logical address regions | |
US10146448B2 (en) | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device | |
US10656842B2 (en) | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device | |
CN104916326B (zh) | 存储装置和使用定时器设置的相关方法 | |
US10656840B2 (en) | Real-time I/O pattern recognition to enhance performance and endurance of a storage device | |
US9703491B2 (en) | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device | |
US9804785B2 (en) | Nonvolatile memory adaptive to host boot up routine | |
US10372613B2 (en) | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device | |
CN109564532A (zh) | 存储器中基于概率数据结构的前瞻修正动作 | |
CN107799142A (zh) | 存储设备及其操作方法 | |
CN106971754A (zh) | 非易失性存储器设备、包括其的存储装置和操作其的方法 | |
CN107924701A (zh) | 基于捕获电荷的存储器的动态重调 | |
CN111538610A (zh) | 具有改进型扫描的存储器装置错误检测 | |
CN109426621A (zh) | 存储器受约束的转换表管理 | |
US11755237B2 (en) | Overwriting at a memory system | |
US11605434B1 (en) | Overwriting at a memory system | |
US11854644B2 (en) | Performing select gate integrity checks to identify and invalidate defective blocks | |
KR20230020706A (ko) | 블록 프로그램을 수행하는 반도체 장치 및 그의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |