CN101681281B - 检测出现的坏块 - Google Patents
检测出现的坏块 Download PDFInfo
- Publication number
- CN101681281B CN101681281B CN200880018929XA CN200880018929A CN101681281B CN 101681281 B CN101681281 B CN 101681281B CN 200880018929X A CN200880018929X A CN 200880018929XA CN 200880018929 A CN200880018929 A CN 200880018929A CN 101681281 B CN101681281 B CN 101681281B
- Authority
- CN
- China
- Prior art keywords
- page
- mistake
- read
- leaf
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
本发明揭示设备及方法,例如从非易失性集成电路存储器装置(106)(例如NAND快闪)读取数据的那些设备及方法。例如,所揭示的技术可体现于操作系统(104)的装置驱动器(110)中。在读取操作期间追踪错误。如果在读取操作期间观察到(204)足够多的错误,那么当请求擦除块或请求写入(210)、(212)、(214)、(310)所述块的页时使所述块退出。一个实施例为从不可校正的错误恢复数据的技术。例如,可将读取模式改变(410)为更可靠的读取模式来尝试恢复数据。一个实施例进一步从所述存储器装置(106)返回数据,而不管所述数据是否可通过解码错误校正代码数据来校正(430)。
Description
技术领域
一般来说,本发明的实施例涉及集成电路。特定来说,实施例涉及用于存储器电路的软件或硬件。
背景技术
快闪存储器是一种形成的可擦除且可重新编程非易失性集成电路存储器。在快闪存储器中,存储器单元按“块”布置以供擦除。在块已被擦除后,其视需要准备好编程。NOR快闪存储器是一种类型的快闪存储器,其提供对个别字节的存取以供数据检索,但具有相对低的密度。
NAND快闪存储器是一种类型的快闪存储器,其提供相对高的密度。所述高密度是部分地通过形成串联连接的单元行来实现。另外,借助NAND快闪存储器,按相对大的字节群组(诸如,数据页)来编程及存取数据。例如,页可对应于阵列中的行或对应于行的一部分。
通常一次一数据“页”地将数据写入到NAND快闪存储器阵列或一次一数据“页”地从NAND快闪存储器阵列读取数据。例如,页可具有2,112个字节,其中2048个为数据字节且64个为备用字节。这些备用字节通常用于错误校正代码(ECC)、耗损均衡信息或其它额外开销数据。错误校正代码增加所存储数据的强健性。通常,一种形式的块码用于产生错误校正代码,诸如循环冗余检查(CRC)总和检查码、汉明码、里德-所罗门错误校正代码或类似码。这些错误校正代码检测在对数据字节的读取中是否存在错误,且只要错误不超过所述错误校正代码的能力即通常可校正这些数据字节中的错误。
快闪存储器具有许多用途。实例包含快闪存储器硬盘驱动器(取代硬盘驱动器)、USB快闪驱动器或拇指驱动器、移动电话、数字相机、数字媒体播放器、游戏机、存储器卡、导航装置、个人数字助理、计算机或类似物。在限制内,错误校正代码可校正数据字节中的数据中的许多错误。然而,超出这些限制,则通常不能校正具有错误的数据。常规技术的一个缺点是到错误变得不可校正时,通常太迟了。
许多将快闪存储器用于数据存储的装置还使用操作系统。所述操作系统充当硬件与其它软件之间的抽象层。例如,所述操作系统的文件系统及装置驱动器通常提供对存储于存储器装置上的数据的存取。在操作系统内可存在额外层。
图1图解说明处理环境的一部分的实例,其包含呈CPU 102形式的微处理器、操 作系统104及存储器装置106。存储器装置106可为NAND快闪存储器装置。操作系统104进一步包含文件系统108及装置驱动器110。将理解,操作系统104可具有对不止一个文件系统及不止一个装置驱动器及与本论述无关的其它组件的支持。还图解说明易失性存储器装置114(例如DRAM)及直接存储器存取(DMA)控制器116。
CPU 102执行指令,包含操作系统104的代码。文件系统108的代码提供低级信息(例如,存储器装置106的逻辑地址)与高级信息(例如,文件名称及目录)之间的抽象。用于装置驱动器110的代码通常处置到及从存储器装置106的数据传送的低级信息。装置驱动器110可为CPU 102提供代码以直接存取存储器装置106(称作处理器输入/输出),或可提供启动存储器控制器116以处置总线控制从而使得数据传送到存储器装置106或从存储器装置106传送的代码。存储器控制器116的使用释放CPU102来处置其它任务。
借助处理器输入/输出(PIO)及DMA输入/输出两者,装置驱动器110可处置与写入及读取操作相关联的ECC信息。在许多操作系统中,许多装置驱动器存在以支持到各种不同类型的存储器装置的读取及从各种不同类型的存储器装置的写入。除借助文件系统108映射之外,应注意,许多NAND快闪存储器装置针对坏块管理及耗损管理在逻辑地址与物理地址之间利用虚拟映射(其可称作快闪转译层)。
附图说明
本文中提供这些图式及相关联的描述来图解说明本发明的具体实施例,而不是打算限制本发明。
图1图解说明处理环境,其包含CPU、操作系统及存储器装置。
图2为大致图解说明用于从存储器装置读取数据页的过程的实施例的流程图。
图3为大致图解说明用于经降格的块的抢先退出的过程的实施例的流程图。
图4为大致图解说明用于恢复确定具有不可校正的错误的数据的过程的实施例的流程图。
具体实施方式
设备及方法从非易失性集成电路存储器装置(例如NAND快闪)读取数据。例如,这些技术可体现于操作系统的装置驱动器中。在读取操作期间维持(例如,追踪)至少部分错误历史。页的读取操作通常比对应块的擦除操作或对所述页的编程更加频繁地发生。在这些读取操作期间所遇到及追踪的错误可提供对正读取的页及块的可靠性的指示。
如果在读取操作期间观察到足够多的错误,那么指示(例如,指定)所述块的退出。可(例如)通过在请求擦除或写入(编程)所述块时将所述块添加到坏块表来使所述块退出。
一个实施例包含从不可校正的错误恢复数据的技术。例如,可将读取模式改变为更可靠的读取模式来尝试恢复数据。此读取模式可具有较不进取性的定时。一个实施例进一步从存储器装置返回数据,而不管所述数据是否可通过解码错误校正代码数据来校正。与通常发生灾难性失败的硬盘装置相反,集成电路存储器装置通常具有小数目个位故障,即时在错误校正失败时此也使得大多数数据可用。
体现所揭示技术的操作系统的装置驱动器可体现于软件中(代码中)、硬件中(模块中)或软件与硬件的组合中。另外,虽然在NAND快闪存储器的背景中进行描述,但本文中所述的原理及优点也将可应用于其它形式的非易失性集成电路。所属领域的技术人员将明了本发明的其它实施例,包含不提供本文中所阐明的全部益处及特征的实施例。
图2为大致图解说明用于从存储器装置106(图1)读取数据页且维持错误历史的过程的流程图。在一个实施例中,由操作系统的装置驱动器110(图1)执行所述过程,且存储器装置106为NAND快闪存储器装置。所属领域的技术人员将了解,所图解说明的过程可按各种方式加以修改。例如,在另一实施例中,可对所图解说明的过程的各个部分加以组合、以替代顺序重新布置、予以移除及进行类似操作。在所述过程的开始,假定数据已连同对应错误校正代码数据一起存储于存储器装置中。
通常将结合读取存储器装置106(图1)的块的单个页来描述所述过程的所图解说明的实施例。使用计数器来维持所述块的错误历史。存储器装置106具有许多块且每一块可具有一个计数器用于错误追踪。在一个实施例中,使用计数器阵列来存储所述计数器。当块的计数器达到特定阈值水平MAX(其可为预先确定的值,例如为10的值)时,所述过程确定使所述块及早退出。例如,如稍后将结合图3更详细地描述,可在将擦除所述块时或在将写入所述块的页时使所述块退出。可使用易失性或非易失性存储器来存储所述计数器。然而,出于强健性考虑,通常优选地在与存储器装置106自身不同的装置上存储这种类型的信息。在一个实施例中,在加电时将计数器复位为零以使得历史在加电时复位。此复位提供对块中突然降格的相对快速回应。
所述过程通过接收对存储器装置106(图1)的特定页的读取的请求来开始。所述请求可经由来自操作系统104(图1)的比装置驱动器110(图1)高的层(例如来自文件系统108(图1))的子例程调用。所述过程使用低级指令请求202特定页,例如允许CPU 102与存储器装置106通信的机器代码或用于使CPU 102指令DMA控制器116与存储器装置106通信的指令。存储器装置106在内部存取存储器阵列且为所述页提供数据。解码ECC数据以检测是否存在任何错误且还用于在错误存在且是可校正的情况下校正错误。对ECC的解码可为软件功能或硬件功能。在一个实施例中,编码及解码ECC是由装置驱动器110执行的功能。在替代实施例中,对ECC的编码及解码是DMA控制器116的功能。
所述过程确定204是否在读取所述页时检测到一个或一个以上错误。错误可被校正或不可被校正。如果在错误检测过程期间没遇到错误,那么所述过程继续进行以退 出(不更新对应于所述页的所述块的计数器)并向装置驱动器110(图1)的调用例程(例如文件系统108(图1))返回状况“OK”。所请求的数据在存储器装置106(图1)的输出缓冲器处可用,在数据总线的逻辑地址处,可被传送到另一位置,例如传送到另一缓冲器或类似物。
如果所述过程确定204已发生错误,那么所述过程继续进行以确定206所述错误(s)是否可经由解码错误校正代码(ECC)数据来校正。如果所述错误可在ECC的限制内被校正,那么所述过程继续进行以确定208所述错误已被校正到达的程度。例如,在一个实施例中,所述过程将未校正数据与已校正数据进行比较以获得错误数目的计数。否则,如果对错误校正代码的校正来说错误太多,那么所述过程指示所述块的及早退出210。在一个实施例中,将计数器设定210为阈值MAX以提供对及早退出的指示。指示将待及早退出的块与实际退出的块不同。
可通过将块标记为坏的(例如通过将所述块添加到坏块表)来使所述块退出。通常在存储器装置106(图1)自身上存储坏块表。然而,在不再想要来自块的数据以前,尚不应将所述块标记为坏的。将块标记为坏的将防止对所述块的读取存取。因此,在一个实施例中,所述过程在请求擦除操作或请求写入来将块标记为坏的以前保持等待,如稍后将结合图3的更多描述。在一个实施例中,所述过程向调用例程(例如文件系统108(图1))返回错误,所述文件系统接着起始使所述块退出的程序。
在一个实施例中,所述过程从指示及早退出状态210前进到数据恢复过程来尝试恢复数据。稍后将结合图4更详细地描述此数据恢复过程的一个实施例。在替代实施例中,所述过程从指示及早退出状态210前进且向装置驱动器的调用例程(例如文件系统108(图1))返回“读取错误”状况,并退出。
现返回到对错误是否可被校正的确定206,如果错误可被校正,那么所述过程确定208经ECC校正这些错误所到达的程度。视为相对少或相对多的错误数目可取决于页大小及特定存储器装置106(图1)的特性。所属领域的技术人员将容易确定适当的阈值。另外,虽然所图解说明的确定208为二元(即,两个可能决策),但将理解,还可使用一个或一个以上中间水平。
在一个实施例中,在2048字节页(不包含ECC)的情况下,“少”视为所述页上的可校正的错误,且“多”视为两个或两个以上可校正的错误。在此实例中,在所述页上存在一个可校正的错误时,所述过程从确定208继续进行到递增计数器状态212,且在存在不止一个可校正的错误时,所述过程从确定208继续进行到指示及早退出状态214。
在递增计数器状态212中,所述过程针对页的正被读取的特定块使计数器递增计数1。计数器阵列可存储存储器装置106(图1)的多个块的各种计数,例如,存储器装置106的每一块一个计数器。因为块含有许多页,所以来自多个页的错误可对特定块的计数做出贡献。所述过程接着继续进行以向装置驱动器110(图1)的调用例程(例如文件系统108(图1))返回状况“OK”并退出。如将观察到,如果在重复读取块 的相同页或其它页时具有错误,那么存储于用于所述块的计数器中的计数将增加。所述计数存储在读取所述块的页时所遇到的错误历史。
现返回到在遇到相对多的(例如,两个或两个以上)错误时所使用的确定208的路线,在指示及早退出状态214中,所述过程更新计数器以指定所述块的及早退出。例如,可将计数器设定为阈值水平MAX,如结合状态210所述。在所图解说明的实施例中,状态210及状态214各自将计数器设定为阈值水平MAX以指定所述块的及早退出。在替代实施例中,状态214以增量调整计数器,所述增量等于或大于状态212的增量,但可能小于计数器值从状态210的跳跃。所述过程接着继续进行以向装置驱动器110(图1)的调用例程(例如文件系统108(图1))返回状况“OK”并退出。在图2中所图解说明的过程识别正降格且应使其退出的块。出于可靠性目的,相对早地(例如当正从块读取数据时)而不是相对迟地(例如当新的数据正写入到块时)辨识降格块可有利。
图3为大致图解说明用于经降格的块的抢先退出的过程的实流程图。在一个实施例中,由操作系统的装置驱动器执行所述过程,且所述存储器装置为NAND快闪存储器装置。所属领域的技术人员将了解,所图解说明的过程可按各种方式加以修改。例如,在另一实施例中,可对所图解说明的过程的各个部分加以组合、以替代顺序重新布置、予以移除或进行类似操作。在NAND快闪存储器中,虽然是以页级执行的读取或写入,但擦除是以块级执行的。
所述过程由擦除来自存储器装置的块的请求或由写入到块的页的请求起始。例如,所述请求可来自操作系统104(图1)的文件系统108(图1)。所述请求可处于更新数据的背景中,可用于删除数据,可用于格式化或类似操作。
所述过程检索310与将擦除的块或将写入的页的对应块相关联的错误历史。例如,错误历史可为较早结合图2所述的计数。
所述过程继续进行以确定所述块是否可靠320。在认为所述块可靠时,所述过程继续进行以指挥存储器装置106(图1)擦除330所述块。所述过程确定350在存储器装置106内的擦除过程或写入过程期间是否发生错误。假定存储器装置106擦除所述块或无错地写入到页,则所述过程以对调用例程(例如文件系统108(图1))状况“OK”退出。如果在擦除或写入过程中存在错误(例如被卡的位),那么所述过程以可以错误状况退出。
如果认为所述块不可靠,那么所述过程继续进行以拒绝360所请求的擦除或写入操作并以错误状况(例如I/O错误)退出。例如,如果计数器处于或高于用于识别可能不可靠的块的阈值,那么可认为所述块不可靠。响应于所述错误状况,较高层调用例程(例如文件系统108(图1))可接着在请求装置驱动器110(图1)将所述块标记为坏的之前回收所述块的先前已写入页(如果存在)。可将这些先前已写入页以及待写入的当前页写入到不同块。在将块标记为坏的之后,所述块不可用。在一些存储器装置中,通过将块添加到存储器装置106(图1)中的坏块表来完成将所述块标记为坏的。在一个实施例中,在文件系统108的请求下,将块添加到坏块表也由装置驱动器110(图1)处置。所述块的及早退出可有利地准许将在所述块变坏之前使所述块退出。此可帮助避免以后的数据损失。
图4为大致图解说明用于恢复确定具有不可校正的错误的数据的过程的流程图。在一个实施例中,由操作系统104(图1)的装置驱动器110(图1)执行所述过程,且存储器装置106(图1)为NAND快闪存储器装置。所属领域的技术人员将了解,所图解说明的过程可按各种方式加以修改。例如,在另一实施例中,可对所图解说明的过程的各个部分加以组合、以替代顺序重新布置、予以移除及进行类似操作。
在一个实施例中,所述过程在从存储器装置的产生不可校正的错误的数据读取时开始。当存在错误校正代码(ECC)要校正太多错误时,可产生不可校正的错误。例如,所述过程可在图2的指示及早退出状态210后开始。
在状态410中,所述过程改变读取操作模式来尝试以可校正方式读取数据。大多数计算机系统经配置以在正常操作期间以最高兼容速度(快速读取模式)存取存储器装置(例如存储器装置106(图1))。在一个实施例中,读取操作模式改变为可靠的读取模式。此可包含(例如)较慢总线速度、较长等待时间或类似物。在另一实例中,可将读取模式从直接存储器存取(DMA)模式改变为使用微处理器来控制存取的模式,其也称为处理器输入/输出或PIO。通常,所述DMA模式优选,因为其使用释放微处理器来执行其它任务。然而,借助PIO,微处理器可以比借助DMA多的控制来执行读取操作。例如,所述过程可请求临时停用产生噪声的装置,例如扬声器或蜂窝电话。在另一实例中,所述过程可故意减慢存储器装置106的定时。所属领域的技术人员将容易确定其它技术。还可组合这些计数的各种特征。
所述过程继续进行以请求对从存储器装置先前读取的页的读取420。此读取对应于重新读取。错误校正代码数据还检索并重新应用于确定430数据是否现在可校正。在许多情况下,数据可在使用更可靠的模式的读取之后校正。如果数据可校正,那么所述过程继续进行以提供440已校正数据,且所述过程以状况“OK”退出。
如果数据不可校正,那么所述过程确定450是重试还是提供具有错误的数据460。对重试或提供数据的确定450可基于(例如)循环计数器、定时器及类似物。所述过程可返回到状态410或读取状态420以重新读取数据。如果所述过程返回到状态410,那么还可尝试不同的(例如,第三、第四等等)读取模式。例如,如果存在不止一个可靠的读取模式,那么可单独及/或按组合尝试各种读取模式的特征。
如果数据仍不可校正,那么一个实施例仍然提供具有错误的数据460。不同于往往发生灾难性失败的硬盘装置,固态装置(例如NAND快闪)中的错误通常由单个位故障表征。虽然当页不可校正时,错误的数目将通常大于一个位,但返回具有错误的数据可比不返回数据好。例如,在许多情况下,数据的具有错误的部分将不明显。例如,如果程序代码存储于页中,那么具有错误的部分可对应于代码的并不始终执行的部分。相反,当不提供数据时,那么整个页的数据不可用,在此情况下,程序几乎始终崩溃。
一个实施例为一种监视非易失性集成电路存储器装置的块的方法,其中所述方法包含:解码错误校正代码以确定在读取所述存储器装置的所述块的数据页时是否具有至少一个错误;及至少在读取所述页时具有至少一个错误时维持所述存储器装置的所述块的对应于所读取的所述页的错误历史,其中所述错误历史用于指示是否使所述块及早退出。
一个实施例为一种管理非易失性集成电路存储器装置的块的方法,其中所述方法包含:接收擦除存储器块或写入到所述存储器块的页的命令;及至少部分地基于与所述块的一个或一个以上页的读取操作相关联的错误历史停用擦除或写入。
一个实施例为一种从非易失性集成电路存储器装置存取数据页的方法,其中所述方法包含:请求从所述存储器装置对所述数据页的读取;检查与所述页相关联的错误校正代码(ECC);及向操作系统提供指示正确地读取了所述数据页的状况而不管所述数据页是否包含任何不可校正的错误。
一个实施例为一种维持用于指示非易失性集成电路存储器装置的块的一个或一个以上指示的方法,其中所述方法包含至少部分地响应于以下步骤中的至少一者防止对所述块的进一步擦除或重新编程:确定作为相对于所述存储器块的至少一个页执行的至少一个读取操作的一部分检测到的错误是经由解码错误校正代码不可校正的;或确定针对所述存储器装置的所述块收集的错误历史指示在所述块的先前读取操作期间已发生至少一个错误。
一个实施例为一种用于监视非易失性集成电路存储器装置的块的设备,其中所述装置包含:经配置以解码错误校正代码从而确定在读取所述存储器装置的所述块的数据页时是否具有至少一个错误的模块;经配置以至少在读取所述页时具有至少一个错误时维持所述存储器装置的所述块的对应于所读取的所述页的错误历史的模块,其中所述错误历史用于指示是否使所述块及早退出。
上文已描述各种实施例。虽然是参照这些具体实施例加以描述,但这些描述打算具有说明性而不是打算具有限制性。所属领域的技术人员可想出各种修改及应用,而不背离如所附权利要求书中所界定的本发明的真正精神及范围。
Claims (12)
1.一种监视非易失性集成电路存储器装置的块的方法,所述方法包括:
解码错误校正代码以确定在读取所述存储器装置的所述块的数据页时是否具有至少一个错误;
至少在读取所述页时具有至少一个错误时维持所述存储器装置的所述块的对应于所读取的所述页的错误历史,其中所述错误历史用于指示是否使所述块及早退出,其中维持所述历史进一步包括:
维持计数,其中至少部分地响应于确定所述至少一个错误对应于一个错误而递增所述计数;及
在给使用所述存储器装置的装置加电时复位所述计数;
其中响应于所述计数达到阈值指示所述块的及早退出。
2.如权利要求1所述的方法,其中维持所述历史进一步包括在当读取所述块的所述页时遇到多个错误时更新所述历史以指示所述块的及早退出,其中通过将未校正数据与已校正数据进行比较来确定错误数目的计数。
3.如权利要求1所述的方法,其中维持所述历史包括将所述历史的计数设定为至少阈值,其中如果所述计数达到至少所述阈值,那么指示所述块的及早退出。
4.如权利要求1所述的方法,其中当所述至少一个错误包括以直接存储器存取(DMA)模式读取时通过解码错误校正代码(ECC)不可校正的多个错误时,将所述DMA模式改变为处理器输入/输出(PIO)模式并重新读取所述页。
5.如权利要求1所述的方法,其中当所述至少一个错误包括不可通过解码错误校正代码(ECC)校正的多个错误时,且其中使用第一读取模式读取所述页,改变为与所述第一读取模式相比具有至少较慢总线速度或较长等待时间之一的不同的读取模式并重新读取所述页。
6.如权利要求1所述的方法,其中所述至少一个错误包括不可校正的错误,所述方法进一步包括即使在读取到不可校正的错误时也向操作系统返回成功读取操作的状况。
7.如权利要求1所述的方法,其进一步包括在与所述存储器装置自身不同的装置上维持所述存储器装置的所述块的所述错误历史。
8.如权利要求1所述的方法,其中所述存储器装置包括NAND快闪存储器装置。
9.如权利要求1所述的方法,其中由操作系统执行所述方法。
10.一种用于监视非易失性集成电路存储器装置的块的设备,所述设备包括:
经配置以解码错误校正代码从而确定在读取所述存储器装置的所述块的数据页时是否具有至少一个错误的模块;
经配置以至少在读取所述页时具有至少一个错误时维持所述存储器装置的所述块的对应于所读取的所述页的错误历史的模块,其中所述错误历史用于指示是否使所述块及早退出,其中所述模块进一步配置成:
维持计数,其中至少部分地响应于确定所述至少一个错误对应于一个错误而递增所述计数;及
在给使用所述存储器装置的装置加电时复位所述计数;
其中响应于所述计数达到阈值指示所述块的及早退出。
11.如权利要求10所述的设备,其中至少一个错误包括在以直接存储器存取(DMA)模式读取所述页时通过所述经配置以解码错误校正代码的模块不可校正的多个错误,其中所述设备进一步经配置以将所述DMA模式改变为处理器输入/输出(PIO)模式并重新读取所述页。
12.如权利要求10所述的设备,其中至少一个错误包括在以第一读取模式读取所述页时通过所述经配置以解码错误校正代码的模块不可校正的多个错误,其中所述设备进一步经配置以改变为与所述第一读取模式相比具有至少较慢总线速度或较长等待时间之一的不同的读取模式并重新读取所述页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210298956.5A CN102880521B (zh) | 2007-06-07 | 2008-05-16 | 非易失性存储器装置中管理块和存取数据页的方法及设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/759,585 US7765426B2 (en) | 2007-06-07 | 2007-06-07 | Emerging bad block detection |
US11/759,585 | 2007-06-07 | ||
PCT/US2008/063938 WO2008154119A1 (en) | 2007-06-07 | 2008-05-16 | Emerging bad block detection |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210298956.5A Division CN102880521B (zh) | 2007-06-07 | 2008-05-16 | 非易失性存储器装置中管理块和存取数据页的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101681281A CN101681281A (zh) | 2010-03-24 |
CN101681281B true CN101681281B (zh) | 2012-10-10 |
Family
ID=39628943
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210298956.5A Active CN102880521B (zh) | 2007-06-07 | 2008-05-16 | 非易失性存储器装置中管理块和存取数据页的方法及设备 |
CN200880018929XA Active CN101681281B (zh) | 2007-06-07 | 2008-05-16 | 检测出现的坏块 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210298956.5A Active CN102880521B (zh) | 2007-06-07 | 2008-05-16 | 非易失性存储器装置中管理块和存取数据页的方法及设备 |
Country Status (8)
Country | Link |
---|---|
US (4) | US7765426B2 (zh) |
EP (3) | EP2372549B1 (zh) |
JP (1) | JP2010529557A (zh) |
KR (2) | KR101522744B1 (zh) |
CN (2) | CN102880521B (zh) |
AT (1) | ATE514131T1 (zh) |
TW (1) | TWI370355B (zh) |
WO (1) | WO2008154119A1 (zh) |
Families Citing this family (244)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
KR101473344B1 (ko) * | 2007-08-24 | 2014-12-17 | 삼성전자 주식회사 | 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법 |
KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
TW200919448A (en) * | 2007-10-17 | 2009-05-01 | Silicon Motion Inc | Storage device and method of accessing a status thereof |
US8074145B2 (en) * | 2007-11-12 | 2011-12-06 | Harris Corporation | Memory system and related method using software-defined radio with write-protected, non-volatile memory |
TWI381390B (zh) * | 2008-04-10 | 2013-01-01 | Phison Electronics Corp | 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器 |
US20100332942A1 (en) * | 2008-09-10 | 2010-12-30 | Arm Limited | Memory controller for NAND memory using forward error correction |
US8510614B2 (en) * | 2008-09-11 | 2013-08-13 | Mediatek Inc. | Bad block identification methods |
US8161354B2 (en) * | 2008-10-16 | 2012-04-17 | Genesys Logic, Inc. | Flash memory controller having configuring unit for error correction code (ECC) capability and method thereof |
US9063874B2 (en) | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
US9170897B2 (en) | 2012-05-29 | 2015-10-27 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing solid-state storage reliability |
US8516343B2 (en) * | 2008-11-10 | 2013-08-20 | Fusion-Io, Inc. | Apparatus, system, and method for retiring storage regions |
US9449719B2 (en) * | 2008-12-19 | 2016-09-20 | Seagate Technology Llc | Solid-state storage device including a high resolution analog-to-digital converter |
CN102077173B (zh) * | 2009-04-21 | 2015-06-24 | 艾格瑞系统有限责任公司 | 利用写入验证减轻代码的误码平层 |
US8176367B2 (en) * | 2009-05-28 | 2012-05-08 | Agere Systems Inc. | Systems and methods for managing end of life in a solid state drive |
US8151137B2 (en) * | 2009-05-28 | 2012-04-03 | Lsi Corporation | Systems and methods for governing the life cycle of a solid state drive |
US8549384B1 (en) * | 2009-06-26 | 2013-10-01 | Marvell International Ltd. | Method and apparatus for determining, based on an error correction code, one or more locations to store data in a flash memory |
US8321727B2 (en) * | 2009-06-29 | 2012-11-27 | Sandisk Technologies Inc. | System and method responsive to a rate of change of a performance parameter of a memory |
US8910002B2 (en) * | 2009-08-24 | 2014-12-09 | OCZ Storage Solutions Inc. | NAND flash-based storage device with built-in test-ahead for failure anticipation |
KR101678909B1 (ko) * | 2009-09-17 | 2016-11-23 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법 |
TWI408688B (zh) * | 2009-10-12 | 2013-09-11 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 |
US8312349B2 (en) * | 2009-10-27 | 2012-11-13 | Micron Technology, Inc. | Error detection/correction based memory management |
US8429468B2 (en) * | 2010-01-27 | 2013-04-23 | Sandisk Technologies Inc. | System and method to correct data errors using a stored count of bit values |
US8327226B2 (en) * | 2010-02-03 | 2012-12-04 | Seagate Technology Llc | Adjustable error correction code length in an electrical storage device |
US20110230711A1 (en) * | 2010-03-16 | 2011-09-22 | Kano Akihito | Endoscopic Surgical Instrument |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9146875B1 (en) | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US8683295B1 (en) | 2010-08-31 | 2014-03-25 | Western Digital Technologies, Inc. | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8825977B1 (en) * | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8670205B1 (en) | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US8699171B1 (en) | 2010-09-30 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive selecting head for write operation based on environmental condition |
US8427771B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors |
US8612798B1 (en) | 2010-10-21 | 2013-12-17 | Western Digital Technologies, Inc. | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails |
US8429343B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk |
US8560759B1 (en) | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8649215B2 (en) | 2010-12-22 | 2014-02-11 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
US8422303B2 (en) | 2010-12-22 | 2013-04-16 | HGST Netherlands B.V. | Early degradation detection in flash memory using test cells |
US8369143B2 (en) | 2010-12-22 | 2013-02-05 | HGST Netherlands B.V. | Early detection of degradation in NOR flash memory |
US8422296B2 (en) | 2010-12-22 | 2013-04-16 | HGST Netherlands B.V. | Early detection of degradation in NAND flash memory |
US8599609B2 (en) | 2010-12-22 | 2013-12-03 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
IT1403899B1 (it) | 2010-12-30 | 2013-11-08 | Incard Sa | Metodo e sistema per controllare la perdita di affidabilita' di una memoria non volatile |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
KR101739878B1 (ko) * | 2011-02-22 | 2017-05-26 | 삼성전자주식회사 | 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템 |
US8560922B2 (en) | 2011-03-04 | 2013-10-15 | International Business Machines Corporation | Bad block management for flash memory |
TW201239893A (en) * | 2011-03-25 | 2012-10-01 | Silicon Motion Inc | Method for enhancing data protection performance, and associated personal computer and storage medium |
KR20120128014A (ko) | 2011-05-16 | 2012-11-26 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 메모리 시스템의 동작 방법 |
US9086983B2 (en) | 2011-05-31 | 2015-07-21 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
US8693252B2 (en) | 2011-07-12 | 2014-04-08 | Samsung Electronics Co., Ltd. | Method and system for adjusting read voltage in flash memory device |
KR101824068B1 (ko) | 2011-07-28 | 2018-03-15 | 삼성전자주식회사 | 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치 |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8630056B1 (en) | 2011-09-12 | 2014-01-14 | Western Digital Technologies, Inc. | Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory |
US8909889B1 (en) | 2011-10-10 | 2014-12-09 | Western Digital Technologies, Inc. | Method and apparatus for servicing host commands by a disk drive |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US8904091B1 (en) | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US9047187B2 (en) * | 2012-06-28 | 2015-06-02 | Intel Corporation | Defect management in memory systems |
CN103631721A (zh) * | 2012-08-23 | 2014-03-12 | 华为技术有限公司 | 一种隔离内存中坏块的方法及系统 |
US8793558B2 (en) * | 2012-08-27 | 2014-07-29 | Freescale Semiconductor, Inc. | Adaptive error correction for non-volatile memories |
US8930776B2 (en) | 2012-08-29 | 2015-01-06 | International Business Machines Corporation | Implementing DRAM command timing adjustments to alleviate DRAM failures |
KR101991437B1 (ko) * | 2012-08-30 | 2019-06-20 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작방법 |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
JP2014086062A (ja) * | 2012-10-29 | 2014-05-12 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
US8935592B2 (en) * | 2012-11-20 | 2015-01-13 | Arm Limited | Apparatus and method for correcting errors in data accessed from a memory device |
US9116822B2 (en) | 2012-12-07 | 2015-08-25 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
US9063967B2 (en) | 2013-01-10 | 2015-06-23 | Pure Storage, Inc. | Performing copies in a storage system |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
CN103116550A (zh) * | 2013-01-11 | 2013-05-22 | 深圳市硅格半导体有限公司 | 切换闪存中物理块工作模式的方法和装置 |
US9025364B2 (en) | 2013-03-14 | 2015-05-05 | Micron Technology, Inc. | Selective self-reference read |
US9690953B2 (en) * | 2013-03-14 | 2017-06-27 | Apple Inc. | Generating efficient reads for a system having non-volatile memory |
WO2014193350A1 (en) * | 2013-05-29 | 2014-12-04 | Hewlett-Packard Development Company, L.P. | Invoking an error handler to handle an uncorrectable error |
KR102252379B1 (ko) * | 2013-06-24 | 2021-05-14 | 삼성전자주식회사 | 메모리 시스템 및 이의 독출 방법 |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US9164828B2 (en) | 2013-09-26 | 2015-10-20 | Seagate Technology Llc | Systems and methods for enhanced data recovery in a solid state memory system |
US9424179B2 (en) | 2013-10-17 | 2016-08-23 | Seagate Technology Llc | Systems and methods for latency based data recycling in a solid state memory system |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9201729B2 (en) | 2013-10-21 | 2015-12-01 | Seagate Technology, Llc | Systems and methods for soft data utilization in a solid state memory system |
US9378840B2 (en) | 2013-10-28 | 2016-06-28 | Seagate Technology Llc | Systems and methods for sub-zero threshold characterization in a memory cell |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US9276609B2 (en) | 2013-11-16 | 2016-03-01 | Seagate Technology Llc | Systems and methods for soft decision generation in a solid state memory system |
US9389937B2 (en) | 2013-11-19 | 2016-07-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Managing faulty memory pages in a computing system |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US9576683B2 (en) | 2014-02-06 | 2017-02-21 | Seagate Technology Llc | Systems and methods for hard error reduction in a solid state memory device |
US9378810B2 (en) | 2014-02-11 | 2016-06-28 | Seagate Technology Llc | Systems and methods for last written page handling in a memory device |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9443616B2 (en) * | 2014-04-02 | 2016-09-13 | Seagate Technology Llc | Bad memory unit detection in a solid state drive |
US9431129B2 (en) * | 2014-04-30 | 2016-08-30 | Qualcomm Incorporated | Variable read delay system |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
TWI602185B (zh) * | 2015-03-04 | 2017-10-11 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10652103B2 (en) | 2015-04-24 | 2020-05-12 | Goldman Sachs & Co. LLC | System and method for handling events involving computing systems and networks using fabric monitoring system |
CN106155585B (zh) * | 2015-05-13 | 2020-05-15 | 爱思开海力士有限公司 | 自适应读取干扰收回策略 |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US9417809B1 (en) | 2015-12-07 | 2016-08-16 | International Business Machines Corporation | Efficient management of page retirement in non-volatile memory utilizing page retirement classes |
US9620227B1 (en) * | 2016-01-08 | 2017-04-11 | Western Digital Technologies, Inc. | Characterizing and operating a non-volatile memory device |
CN105843700B (zh) * | 2016-03-25 | 2019-01-15 | 中国科学院微电子研究所 | 一种控制器 |
TWI576699B (zh) * | 2016-03-31 | 2017-04-01 | 慧榮科技股份有限公司 | 紀錄資料區塊的使用時間的方法及其裝置 |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10146604B2 (en) * | 2016-08-23 | 2018-12-04 | Oracle International Corporation | Bad block detection and predictive analytics in NAND flash storage devices |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10545861B2 (en) | 2016-10-04 | 2020-01-28 | Pure Storage, Inc. | Distributed integrated high-speed solid-state non-volatile random-access memory |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10204693B2 (en) * | 2016-12-31 | 2019-02-12 | Western Digital Technologies, Inc. | Retiring computer memory blocks |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
KR20180090422A (ko) | 2017-02-02 | 2018-08-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP2018156556A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | 計算機システム及びメモリデバイス |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
CN108039191A (zh) * | 2017-12-20 | 2018-05-15 | 宣城新维保网络技术有限公司 | 一种存储器模拟测试方法 |
US11586498B2 (en) * | 2018-01-12 | 2023-02-21 | Micron Technology, Inc. | Read retry scratch space |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US20190294346A1 (en) * | 2018-03-26 | 2019-09-26 | International Business Machines Corporation | Limiting simultaneous failure of multiple storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
TWI649754B (zh) * | 2018-04-16 | 2019-02-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US11003537B2 (en) * | 2018-05-29 | 2021-05-11 | Micron Technology, Inc. | Determining validity of data read from memory by a controller |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US10747613B2 (en) * | 2018-09-07 | 2020-08-18 | Toshiba Memory Corporation | Pooled frontline ECC decoders in memory systems |
US11169726B2 (en) | 2018-09-13 | 2021-11-09 | Toshiba Memory Corporation | Pool-level storage management |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
CN109828894B (zh) * | 2018-12-27 | 2022-06-21 | 东软集团股份有限公司 | 设备状态数据的采集方法、装置、存储介质和电子设备 |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
CN111522500A (zh) * | 2019-02-01 | 2020-08-11 | 睿宽智能科技有限公司 | 重复读取方法 |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11567670B2 (en) | 2019-10-25 | 2023-01-31 | Samsung Electronics Co., Ltd. | Firmware-based SSD block failure prediction and avoidance scheme |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US20220050898A1 (en) * | 2019-11-22 | 2022-02-17 | Pure Storage, Inc. | Selective Control of a Data Synchronization Setting of a Storage System Based on a Possible Ransomware Attack Against the Storage System |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11340979B2 (en) * | 2019-12-27 | 2022-05-24 | Seagate Technology Llc | Mitigation of solid state memory read failures with a testing procedure |
KR20210123884A (ko) * | 2020-04-06 | 2021-10-14 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US20220027464A1 (en) * | 2020-07-23 | 2022-01-27 | Nxp Usa, Inc. | Systems and methods for constraining access to one time programmable storage elements |
US11500752B2 (en) | 2020-09-02 | 2022-11-15 | Samsung Electronics Co., Ltd. | Multi-non-volatile memory solid state drive block-level failure prediction with separate log per non-volatile memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480416B2 (en) * | 1999-09-17 | 2002-11-12 | Hitachi, Ltd. | Storage device counting error correction |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JP3941149B2 (ja) * | 1996-12-03 | 2007-07-04 | ソニー株式会社 | 半導体不揮発性記憶装置 |
US5923897A (en) * | 1996-04-01 | 1999-07-13 | Microsoft Corporation | System for adapter with status and command registers to provide status information to operating system and processor operative to write eject command to command register |
US5715193A (en) * | 1996-05-23 | 1998-02-03 | Micron Quantum Devices, Inc. | Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks |
US6832329B2 (en) * | 2001-02-08 | 2004-12-14 | International Business Machines Corporation | Cache thresholding method, apparatus, and program for predictive reporting of array bit line or driver failures |
US6614689B2 (en) | 2001-08-13 | 2003-09-02 | Micron Technology, Inc. | Non-volatile memory having a control mini-array |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
JP4034949B2 (ja) * | 2001-09-06 | 2008-01-16 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US6895285B2 (en) * | 2002-05-23 | 2005-05-17 | American Megatrends, Inc. | Computer system status monitoring |
US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US6948041B2 (en) | 2002-10-24 | 2005-09-20 | Micron Technology, Inc. | Permanent memory block protection in a flash memory device |
JP4073799B2 (ja) * | 2003-02-07 | 2008-04-09 | 株式会社ルネサステクノロジ | メモリシステム |
JP2004259324A (ja) * | 2003-02-24 | 2004-09-16 | Alpine Electronics Inc | 記録装置の動作制御装置および記録装置の動作制御方法 |
JP4299558B2 (ja) * | 2003-03-17 | 2009-07-22 | 株式会社ルネサステクノロジ | 情報記憶装置および情報処理システム |
JP2004005628A (ja) * | 2003-05-01 | 2004-01-08 | Mitsubishi Electric Corp | 二重化メモリシステム |
US7203874B2 (en) | 2003-05-08 | 2007-04-10 | Micron Technology, Inc. | Error detection, documentation, and correction in a flash memory device |
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 |
US6975538B2 (en) | 2003-10-08 | 2005-12-13 | Micron Technology, Inc. | Memory block erasing in a flash memory device |
US20050144524A1 (en) * | 2003-12-04 | 2005-06-30 | International Business Machines Corporation | Digital reliability monitor having autonomic repair and notification capability |
US7370260B2 (en) * | 2003-12-16 | 2008-05-06 | Freescale Semiconductor, Inc. | MRAM having error correction code circuitry and method therefor |
US7272758B2 (en) | 2004-08-31 | 2007-09-18 | Micron Technology, Inc. | Defective memory block identification in a memory device |
JP3942612B2 (ja) | 2004-09-10 | 2007-07-11 | 東京エレクトロンデバイス株式会社 | 記憶装置、メモリ管理方法及びプログラム |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
US7275190B2 (en) | 2004-11-08 | 2007-09-25 | Micron Technology, Inc. | Memory block quality identification in a memory device |
JP4691355B2 (ja) * | 2004-12-28 | 2011-06-01 | 日本電産サンキョー株式会社 | 不揮発性メモリ |
US9092361B2 (en) * | 2005-07-15 | 2015-07-28 | Panasonic Intellectual Property Management Co., Ltd. | Nonvolatile storage device, memory controller, and defective region detection method |
US20070047327A1 (en) | 2005-08-31 | 2007-03-01 | Micron Technology, Inc. | Erase method for flash memory |
US7478268B2 (en) * | 2005-09-13 | 2009-01-13 | International Business Machines Corporation | Deallocation of memory in a logically-partitioned computer |
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
JP4840859B2 (ja) * | 2006-05-10 | 2011-12-21 | ルネサスエレクトロニクス株式会社 | 半導体装置、及び起動方法 |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
US8276043B2 (en) * | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
-
2007
- 2007-06-07 US US11/759,585 patent/US7765426B2/en active Active
-
2008
- 2008-05-16 KR KR1020107000248A patent/KR101522744B1/ko active IP Right Grant
- 2008-05-16 EP EP20110165755 patent/EP2372549B1/en active Active
- 2008-05-16 KR KR1020147030099A patent/KR101557736B1/ko active IP Right Grant
- 2008-05-16 EP EP20110165727 patent/EP2367110B1/en active Active
- 2008-05-16 CN CN201210298956.5A patent/CN102880521B/zh active Active
- 2008-05-16 CN CN200880018929XA patent/CN101681281B/zh active Active
- 2008-05-16 EP EP20080755737 patent/EP2162822B1/en active Active
- 2008-05-16 JP JP2010511237A patent/JP2010529557A/ja active Pending
- 2008-05-16 WO PCT/US2008/063938 patent/WO2008154119A1/en active Application Filing
- 2008-05-16 AT AT08755737T patent/ATE514131T1/de not_active IP Right Cessation
- 2008-05-28 TW TW097119742A patent/TWI370355B/zh active
-
2010
- 2010-07-19 US US12/839,048 patent/US7954004B2/en active Active
-
2011
- 2011-05-26 US US13/116,407 patent/US8930771B2/en active Active
-
2015
- 2015-01-02 US US14/588,869 patent/US9405639B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480416B2 (en) * | 1999-09-17 | 2002-11-12 | Hitachi, Ltd. | Storage device counting error correction |
Also Published As
Publication number | Publication date |
---|---|
TWI370355B (en) | 2012-08-11 |
US9405639B2 (en) | 2016-08-02 |
WO2008154119A1 (en) | 2008-12-18 |
KR20100033507A (ko) | 2010-03-30 |
EP2162822B1 (en) | 2011-06-22 |
US20080307270A1 (en) | 2008-12-11 |
CN102880521A (zh) | 2013-01-16 |
CN102880521B (zh) | 2015-09-30 |
KR101522744B1 (ko) | 2015-05-26 |
CN101681281A (zh) | 2010-03-24 |
US20150121128A1 (en) | 2015-04-30 |
EP2372549A1 (en) | 2011-10-05 |
JP2010529557A (ja) | 2010-08-26 |
KR20140141684A (ko) | 2014-12-10 |
US8930771B2 (en) | 2015-01-06 |
ATE514131T1 (de) | 2011-07-15 |
TW200912631A (en) | 2009-03-16 |
US20100287410A1 (en) | 2010-11-11 |
US20110239061A1 (en) | 2011-09-29 |
KR101557736B1 (ko) | 2015-10-06 |
EP2372549B1 (en) | 2013-06-26 |
EP2367110A1 (en) | 2011-09-21 |
US7765426B2 (en) | 2010-07-27 |
US7954004B2 (en) | 2011-05-31 |
EP2367110B1 (en) | 2013-06-26 |
EP2162822A1 (en) | 2010-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681281B (zh) | 检测出现的坏块 | |
CN102023815B (zh) | 在固态存储器中实现raid | |
US8671330B2 (en) | Storage device, electronic device, and data error correction method | |
US20110029716A1 (en) | System and method of recovering data in a flash storage system | |
US8423838B2 (en) | Block management method, memory controller, and memory storage apparatus | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US10635527B2 (en) | Method for processing data stored in a memory device and a data storage device utilizing the same | |
CN103955431A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN111755039A (zh) | 在恢复进程期间减少存储器系统中单元干扰的设备及方法 | |
CN105808371A (zh) | 数据备份与恢复方法、控制芯片及存储装置 | |
CN112612634A (zh) | 存储器系统和主机的操作方法以及计算系统 | |
CN103218274A (zh) | 一种预防故障累加的方法和固态硬盘 | |
CN113722144B (zh) | 数据储存装置与数据处理方法 | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
CN104881370A (zh) | 协同使用纠删码和纠错码的可靠闪存存储系统构建方法 | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
US20130036259A1 (en) | Solid state drive and data storing method thereof | |
KR102680511B1 (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US9274709B2 (en) | Indicators for storage cells | |
US7500052B2 (en) | Quick drive replacement detection on a live RAID system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |