CN102301340A - 固态盘中改进的错误校正 - Google Patents

固态盘中改进的错误校正 Download PDF

Info

Publication number
CN102301340A
CN102301340A CN2009801556055A CN200980155605A CN102301340A CN 102301340 A CN102301340 A CN 102301340A CN 2009801556055 A CN2009801556055 A CN 2009801556055A CN 200980155605 A CN200980155605 A CN 200980155605A CN 102301340 A CN102301340 A CN 102301340A
Authority
CN
China
Prior art keywords
data
groove
nonvolatile memory
ecc
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801556055A
Other languages
English (en)
Other versions
CN102301340B (zh
Inventor
A·W·沃根
R·库尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN102301340A publication Critical patent/CN102301340A/zh
Application granted granted Critical
Publication of CN102301340B publication Critical patent/CN102301340B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Abstract

在一些实施例中,一种固态盘包括非易失性存储器以及控制器。所述控制器对存储在所述非易失性存储器上的数据执行ECC,并且如果所述ECC不能校正所述数据,则对所述数据执行奇偶校验操作。描述并要求保护其它实施例。

Description

固态盘中改进的错误校正
技术领域
本发明总体上涉及固态大容量存储产品中改进的可靠性。
背景技术
固态盘(SSD)是包含非移动部件的高性能存储设备。SSD比具有传统旋转磁介质的典型硬盘驱动器快很多,并且通常包括控制器,用于管理数据存储。控制器管理SSD的操作,其包括数据存储和访问以及SSD和主机设备之间的通信。控制器还执行纠错码(ECC)以确保写在SSD上的数据的完整性。ECC识别和校正SSD和主机设备之间传送的数据中的错误。然而,存储介质的一些故障机制超过了ECC引擎的校正能力,从而引起不可恢复的数据或数据丢失。例如,灾难性的管芯失效。
2006年3月31日提交的美国专利申请序号11/396,262且标题为“Improving Reliability of Write Operations to a Non-Volatile Memory”通过保持写入到擦除区块的所有数据的副本直到最后的程序操作成功为止来解决程序失效(program failure)。该专利申请解决程序失效问题而不是ECC失效问题或者管芯失效问题。所以,出现了解决ECC失效和/或管芯失效的需要。
附图说明
从以下给出的详细描述并且从本发明的一些实施例的附图将更充分地理解本发明,然而其不应当被拿来将本发明限制到描述的特定实施例,而是仅为了解释和理解的目的。
图1说明了根据本发明的一些实施例的系统。
图2说明了根据本发明的一些实施例的流程图。
具体实施方式
本发明的一些实施例涉及固态盘中改进的错误校正。
在一些实施例中,固态盘(SSD)包括非易失性存储器和控制器。控制器对存储在非易失性存储器上的数据执行ECC(纠错码),并且如果ECC不能校正该数据,则对该数据执行奇偶校验操作。
在一些实施例中,系统包括主机和固态盘。固态盘包括非易失性存储器和控制器。控制器对存储在非易失性存储器上的主机数据执行ECC,并且如果ECC不能校正该数据,则对该数据执行奇偶校验操作。
在一些实施例中,对存储在固态盘的非易失性存储器上的数据执行ECC。如果ECC不能校正数据,则对该数据执行奇偶校验操作。
在一些实施例中,异或(XOR)纠错码(ECC)技术用于保护固态盘(SSD)免受部件级失效、编程失效(programming failure)(例如,NAND编程失效)和/或来自主ECC系统的不可校正的错误。例如,在一些实施例中,类似于在大容量存储环境中使用的那些技术的奇偶校验技术(例如,磁盘冗余阵列或RAID实现)可以实现在SSD的非易失性存储器环境中。在一些实施例中,通过XOR奇偶校验生成器写入来自主机流的数据流过XOR奇偶校验生成器,并且主机数据加上奇偶校验被写入到非易失性存储器。在SSD的主ECC引擎不能校正主机区段的情况下,或者在管芯(例如,NAND管芯)失效的情况下,第二级错误校正根据一些实施例被实现,以便获得校正数据。
在一些实施例中,除了不可校正的区段,从介质读取奇偶校验和主机数据,并且通过使用XOR操作恢复丢失数据。在诸如NAND程序失效的程序失效的情况下,其中当在同一擦除区块内随后的写入/编程上发生程序失败时先前写入到擦除区块的数据已经被破坏,擦除区块中的每个先前写入但当前被破坏的页面通过使用XOR操作每次恢复一页。同一类型的XOR操作可以用在主ECC失效或程序失效的情况下。
因为单个SSD可以包含大约80个NAND管芯,所以根据一些实施例的SSD产品的平均无故障时间(MTTF)能够由于能够容忍NAND管芯失效并且能够继续操作而没有数据丢失的能力而增加大约6倍。这种MTTF改进是非常显著的。此外,根据一些实施例,与使用主ECC的实现有关的数据可靠性增加了若干数量级。这是因为当读取时,如果由于超出了ECC可以校正的错误比特而引起ECC校正失效,则冗余的XOR数据可以用于重建原始数据。类似地,当写入时,如果程序失效发生,其破坏了同一擦除区块上的其它数据,则根据一些实施例可以执行破坏的数据的重建。在SSD和NAND存储器中这些是重要的改进,特别是因为NAND存储器变得基于更精细的光刻法。
图1说明了根据一些实施例的系统100。在一些实施例中,系统100包括主机102和SSD 104。在一些实施例中,SSD 104并不被限制地称为SSD,并且可以包括任何类型的非易失性存储器。SSD 104包括控制器106和存储器108。在一些实施例中,存储器108是非易失性存储器,诸如NAND存储器。在一些实施例中,控制器106包括ECC引擎(未在图1中示出),用于执行ECC以确保写在SSD 104的存储器108上的数据的完整性。ECC识别和校正SSD 104和主机102之间传送的数据中的错误。然而,控制器106中的ECC引擎有时不能校正主机区段的数据,并且管芯失效(例如,在包括在SSD 104的存储器108中的NAND管芯)可能引起数据完整性问题。所以,在一些实施例中,控制器106还包括XOR奇偶校验生成器,例如用于在主ECC引擎不能校正主机区段或存储器108中的管芯已经失效的情况下,执行XOR技术。
图2说明了根据一些实施例的非易失性存储器的图形表示200。图形表示200包括垂直轴上的页面(page)00至127和水平轴上的槽(slot)00至79。图2中的每个页面包括示例性的8个区段(sector)。槽用图形说明了例如在一些实施例中SSD上的80个存储器管芯,和/或是存储器通道和/或芯片使能的抽象。在一些实施例中,槽00至79中的每一个都表示能够与其它槽并行工作的引擎。
如图2所示,将来自主机的内容以时间顺序写入到存储器(例如,NAND存储器)。内容填充页面00和槽00处的8个区段页面,然后下一内容在页面00的下一槽01处写入,等等,如图形200的顶部处贯穿页面00的箭头所示。在主机内容被接收时,在此过程中生成XOR奇偶校验。当主机内容已经填满了页面的除了最后一槽之外的所有槽(也就是说,例如已经填满了槽00至槽78)时,奇偶页面例如被插在槽79处的流中,并且占据该页面的最后一槽。也就是说,在该示例中,写入到槽79的奇偶校验页面的区段0是对该页面的槽00至78的所有区段0的内容进行XOR,并且类似地,写入到槽79的奇偶校验页面的区段1是对该页面的槽00至78的所有区段1的内容进行XOR,等等。在一些实施例中,奇偶校验区段是对主机内容和元数据进行XOR,但不对ECC字段进行XOR。以这种方式,奇偶校验页面的每个区段都包含对其内容特定的ECC。
图2示出了写入到页面的一部分的内容和奇偶校验的示例。四个区段被写入到槽01的区段2至5,然后四个区段被写入到槽01的区段6至7和槽02的区段1至2。然后,四个区段被写入到槽02的区段3至6,并且一个区段被写入到槽02的区段7。然后,八个区段被写入到槽02的区段8、和槽03的区段1至7。例如通过使用XOR逐个区段地计算八个奇偶校验区段,然后将其写入到槽79的八个区段作为奇偶校验数据。
在如上所述具有一个奇偶校验槽79的实施例中,在出现槽00至78的任何页面的任何区段中的不可校正的错误的情况下,SSD可以读取来自所有页面的区段号除了有错误的那一页面以外,并且对这些区段的内容以及槽79中的对应的奇偶校验区段进行XOR操作,以便恢复丢失的内容。在一些实施例中,诸如Bose-Chaudhuri-Hocquengen(BCH)校正的ECC发生在包括奇偶校验的每个区段上,并且通过对内容进行XOR,不可校正的状态用于触发第二级ECC恢复。
在具有一个奇偶校验槽79的上述实施例中,槽00至78的每一阵列的单个奇偶校验页面将免受硬错误和灾难性管芯失效。在其中采用多于1个槽以避免部件失效的实施例中,其它实现根据一些实施例是可用的。例如,为了避免部件失效,将采用两个槽,两个奇偶校验页面可以被插在每个槽阵列中(例如,在槽39和79)。在一些实施例中,槽39处的奇偶校验可以用于覆盖槽00至38,并且槽79处的奇偶校验可以用于覆盖槽40至78。槽阵列可以相应地被调整,以使得封装失效将从槽00至39的奇偶校验条带中取出1个槽并且从槽40至79的奇偶校验条带中取出第二个槽。例如,如果将封装5以及2个CE映射至槽5和45,则所描述的奇偶校验条带将以2.5%的容量成本防止部件失效。如果防止了管芯失效(而没有防止封装失效),则容量成本可以减半。
虽然XOR先前已经被用在多个大容量存储设备环境中,但是根据一些实施例,在单个存储设备(例如,SSD)的上下文中,一种可用的技术可以令内容免于灾难性部件故障。在SSD环境中,其中间接地允许所有的写入在本质上是连续的,没有与随机写入操作相关联的惩罚。此外,诸如NAND编程失效的对SSD特定的问题(其导致先前写入的数据的丢失)可以根据一些实施例被解决。在一些实施例中,程序失效以低成本的方式被解决,并且附带地还解决了管芯失效和ECC失效。
尽管一些实施例已经在本文被描述为以特定方式实现,但是根据一些实现这些特定的实现可能不是必须的。例如,尽管图1说明并描述了用于执行ECC和XOR操作的一个控制器,但是应当指出,根据一些实施例,可以使用独立的控制器(和/或专用控制器)。
尽管已经参照特定实现描述了一些实施例,但是根据一些实施例其它实现也是可以的。此外,附图中说明的和/或本文描述的电路元件的布置和/或顺序或其它特征不需要以说明和描述的特定方式被布置。根据一些实施例,许多其它布置是可以的。
在附图中所示的每个系统中,在一些情况下的元件其每一个可能具有相同的标号或不同的标号,以表明所表示的元件可以是不同和/或类似的。然而,元件可以足够灵活以具有不同的实现并且与本文示出或描述的一些系统或所有系统一起工作。附图中示出的各种元件可以是相同的或不同的。哪一个被称为第一元件并且哪一个被叫做第二元件是任意的。
在说明书和权利要求中,术语“耦合”和“连接”以及其派生词可以被使用。应当理解,这些术语并不期望作为彼此的同义词。相反,在特定的实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可以意味着两个或更多个元件直接物理或电接触。然而,“耦合”还可以意味着两个或更多个元件彼此间接接触,但是仍然彼此相互协作或交互。
本文的算法总的来说被认为是导致期望结果的行动或操作的自相容的序列。这些包括物理量的物理操纵。通常,尽管不是必须的,这些量采用电信号或磁信号的形式,其能够被存储、传输、组合、比较或者操纵。主要是为了公共使用的原因,将这些信号称为位、值、元件、符号、特征、项、数量等已经被证明在有时是方便的。然而,应当理解,所有这些和类似的项都与合适的物理量相关联,并且仅为应用到这些量的方便标签。
可以以硬件、固件、和软件中的一个或组合来实现一些实施例。一些实现还可以被实现为存储在机器可读介质上的指令,该指令可以由计算平台读取和执行以执行本文描述的操作。机器可读介质可以包括:用于存储或发送机器(例如,计算机)可读的形式的信息的任何机构。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号、发送和/或接收信号的接口等)等等。
实施例是本发明的实现或示例。说明书中提及的“实施例”、“一个实施例”、“一些实施例”、或“其它实施例”意味着结合实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不必是在本发明的所有实施例中。各个地方出现的“实施例”、“一个实施例”、或“一些实施例”不必都是指同一实施例。
本文描述并说明的所有部件、特征、结构、特性等不是都需要被包括在特定实施例或多个实施例中。如果说明书声明:部件、特征、结构或特性例如“可以(may)”、“可以(might)”、“能够(can)”、“能够(could)”被包括,则特定部件、特征、结构或特性不是必须被包括。如果说明书或权利要求提及“一(a、an)”元件,则不意味着仅有一个元件。如果说明书或权利要求提及“附加的”元件,则不排除有多于一个的附加的元件。
尽管本文已经使用流程图和/或状态图描述了实施例,但是本发明并不受这些图或本文对应的描述的限制。例如,流程不必按照每个示出的框或状态来移动或者精确地以如本文说明和描述的同一顺序来移动。
本发明并不受到本文列出的特定细节的限制。受益于本公开的本领域的技术人员将意识到,可以在本发明的范围内对上述描述和附图进行许多其它改变。因此,包括对其任何修改的以下权利要求定义了本发明的范围。

Claims (21)

1.一种固态盘,包括:
非易失性存储器;以及
控制器,用于对存储在所述非易失性存储器上的数据执行ECC,并且如果所述ECC不能校正所述数据则对所述数据执行奇偶校验操作。
2.如权利要求1所述的固态盘,其中,所述奇偶校验操作包括XOR操作。
3.如权利要求1所述的固态盘,所述控制器用于将数据写在所述非易失性存储器上,并且用于生成ECC和奇偶校验信息,并且当所述数据被写入时将所述ECC和奇偶校验信息存储在所述非易失性存储器上。
4.如权利要求1所述的固态盘,其中,所述非易失性存储器被划分为多个槽,其中,所述多个槽中的每一个表示能够并行工作的引擎。
5.如权利要求4所述的固态盘,其中,所述非易失性存储器还被划分为多个页面,所述多个页面中的每一个都具有多个区段,其中,数据以区段顺序被写在第一槽中的一页面上,并且当所述页面被填满时,则数据被写在第二槽中的相同页面上。
6.如权利要求4所述的固态盘,其中,为奇偶校验信息预留所述多个槽中的一个或更多个。
7.如权利要求5所述的固态盘,其中,为奇偶校验信息预留所述多个槽中的一个或更多个。
8.一种系统,包括:
主机;以及
固态盘,包括:
非易失性存储器;以及
控制器,用于对存储在所述非易失性存储器上的主机数据执行ECC,并且如果所述ECC不能校正所述数据则对所述数据执行奇偶校验操作。
9.如权利要求8所述的系统,其中,所述奇偶校验操作包括XOR操作。
10.如权利要求8所述的系统,所述控制器用于将数据写在所述非易失性存储器上,并且用于生成ECC和奇偶校验信息,并且当所述数据被写入时将所述ECC和奇偶校验信息存储在所述非易失性存储器上。
11.如权利要求8所述的系统,其中,所述非易失性存储器被划分为多个槽,其中,所述多个槽中的每一个表示能够并行工作的引擎。
12.如权利要求11所述的系统,其中,所述非易失性存储器还被划分为多个页面,所述多个页面中的每一个都具有多个区段,其中,数据以区段顺序被写在第一槽中的一页面上,并且当所述页面被填满时,则数据被写在第二槽中的相同页面上。
13.如权利要求11所述的系统,其中,为奇偶校验信息预留所述多个槽中的一个或更多个。
14.如权利要求12所述的系统,其中,为奇偶校验信息预留所述多个槽中的一个或更多个。
15.一种方法,包括:
对存储在固态盘的非易失性存储器上的数据执行ECC;并且
如果所述ECC不能校正所述数据或者如果程序失效发生,则对所述数据执行奇偶校验操作。
16.如权利要求15所述的方法,其中,所述奇偶校验操作包括XOR操作。
17.如权利要求15所述的方法,还包括:
将数据写在所述非易失性存储器上;
生成ECC和奇偶校验信息;并且
当所述数据被写入时,将所述ECC和奇偶校验信息存储在所述非易失性存储器上。
18.如权利要求15所述的方法,还包括:
将所述非易失性存储器划分为多个槽,其中,所述多个槽中的每一个表示能够并行工作的引擎。
19.如权利要求18所述的方法,还包括:
将所述非易失性存储器划分为多个页面,所述多个页面中的每一个都具有多个区段;并且
数据以区段顺序被写在第一槽中的一页面上,并且当所述页面被填满时,则数据被写在第二槽中的相同页面上。
20.如权利要求18所述的方法,还包括:
为奇偶校验信息预留所述多个槽中的一个或更多个。
21.如权利要求19所述的方法,还包括:
为奇偶校验信息预留所述多个槽中的一个或更多个。
CN200980155605.5A 2008-12-31 2009-12-22 固态盘中改进的错误校正 Expired - Fee Related CN102301340B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/319,208 2008-12-31
US12/319,208 US8438455B2 (en) 2008-12-31 2008-12-31 Error correction in a solid state disk
PCT/US2009/069286 WO2010078167A2 (en) 2008-12-31 2009-12-22 Improved error correction in a solid state disk

Publications (2)

Publication Number Publication Date
CN102301340A true CN102301340A (zh) 2011-12-28
CN102301340B CN102301340B (zh) 2015-07-08

Family

ID=42286406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980155605.5A Expired - Fee Related CN102301340B (zh) 2008-12-31 2009-12-22 固态盘中改进的错误校正

Country Status (8)

Country Link
US (1) US8438455B2 (zh)
EP (1) EP2382542B1 (zh)
JP (1) JP2012514274A (zh)
KR (1) KR101298827B1 (zh)
CN (1) CN102301340B (zh)
BR (1) BRPI0923759A2 (zh)
TW (1) TWI449051B (zh)
WO (1) WO2010078167A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246708A (zh) * 2012-03-16 2014-12-24 马维尔国际贸易有限公司 针对nand闪存上数据的存储的架构
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
CN105009087A (zh) * 2012-11-29 2015-10-28 西部数据技术公司 用于数据存储系统的数据可靠性方案
CN107015881A (zh) * 2015-09-23 2017-08-04 Hgst荷兰公司 数据存储驱动器中的增强的低开销数据保护
CN110956997A (zh) * 2019-11-08 2020-04-03 苏州浪潮智能科技有限公司 一种固态硬盘ber的测试方法、测试装置及测试设备

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) * 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
KR20110050404A (ko) * 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8438455B2 (en) 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR20100091379A (ko) * 2009-02-10 2010-08-19 삼성전자주식회사 반도체 디스크 장치 및 그것의 프로그램 페일 처리 방법
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8924601B2 (en) 2009-04-06 2014-12-30 Intel Corporation Apparatus and method for defect revectoring in a multi-channel mass storage device
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8327224B2 (en) 2009-04-16 2012-12-04 Micron Technology, Inc. Data recovery in a solid state storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US9069687B2 (en) * 2010-01-29 2015-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with selective transmission of error correction data
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8638602B1 (en) 2010-09-10 2014-01-28 Western Digital Technologies, Inc. Background selection of voltage reference values for performing memory read operations
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9105305B2 (en) * 2010-12-01 2015-08-11 Seagate Technology Llc Dynamic higher-level redundancy mode management with independent silicon elements
KR101564569B1 (ko) * 2011-01-18 2015-11-03 엘에스아이 코포레이션 상위-레벨 리던던시 정보 계산
US8949686B1 (en) * 2011-02-13 2015-02-03 Apple Inc. Protection against word line failure in memory devices
US9058288B2 (en) * 2011-04-03 2015-06-16 Apple Inc. Redundant storage in non-volatile memory by storing redundancy information in volatile memory
US8503237B1 (en) 2011-05-18 2013-08-06 Western Digital Technologies, Inc. System and method for data recovery in a solid state storage device
WO2014051611A1 (en) * 2012-09-28 2014-04-03 Duke University Systems for and methods of extending lifetime of non-volatile memory
US9424946B2 (en) 2013-02-08 2016-08-23 Seagate Technology Llc Non-volatile buffering to enable sloppy writes and fast write verification
KR102050896B1 (ko) * 2013-02-19 2019-12-02 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법
US9069695B2 (en) 2013-03-14 2015-06-30 Apple Inc. Correction of block errors for a system having non-volatile memory
JP2015018451A (ja) * 2013-07-11 2015-01-29 株式会社東芝 メモリコントローラ、記憶装置およびメモリ制御方法
US9262267B2 (en) 2013-12-02 2016-02-16 Intel Corporation Error correction in solid state drives (SSD)
US9015561B1 (en) * 2014-06-11 2015-04-21 Sandisk Technologies Inc. Adaptive redundancy in three dimensional memory
US9619326B2 (en) 2014-12-09 2017-04-11 Western Digital Technologies, Inc. Methods and systems for implementing redundancy in memory controllers
US10275310B2 (en) 2015-03-09 2019-04-30 Western Digital Technologies, Inc. Updating exclusive-or parity data
US10198313B2 (en) 2016-03-11 2019-02-05 Western Digital Technologies, Inc. Redundancy of error correction encoded data in a storage system
US10606775B1 (en) 2018-12-28 2020-03-31 Micron Technology, Inc. Computing tile
US10949101B2 (en) 2019-02-25 2021-03-16 Micron Technology, Inc. Storage device operation orchestration
US10983795B2 (en) 2019-03-27 2021-04-20 Micron Technology, Inc. Extended memory operations
US10990389B2 (en) 2019-04-29 2021-04-27 Micron Technology, Inc. Bit string operations using a computing tile
US11016765B2 (en) 2019-04-29 2021-05-25 Micron Technology, Inc. Bit string operations using a computing tile
US11176065B2 (en) 2019-08-12 2021-11-16 Micron Technology, Inc. Extended memory interface
US11531590B2 (en) * 2019-09-17 2022-12-20 Western Digital Technologies, Inc. Method and system for host-assisted data recovery assurance for data center storage device architectures
JP2021047527A (ja) 2019-09-17 2021-03-25 キオクシア株式会社 メモリシステム
US11144203B2 (en) 2019-12-03 2021-10-12 Micron Technology, Inc. Selectively operable memory device
JP7443774B2 (ja) 2020-01-14 2024-03-06 ソニーグループ株式会社 符号化装置、および符号化方法、復号装置、および復号方法、並びにプログラム
US10910048B1 (en) 2020-01-16 2021-02-02 Micron Technology, Inc. Extended memory communication
US11275581B2 (en) 2020-06-19 2022-03-15 Micron Technology, Inc. Expended memory component
US11481317B2 (en) 2020-06-26 2022-10-25 Micron Technology, Inc. Extended memory architecture
US11625591B2 (en) 2020-06-26 2023-04-11 Micron Technology, Inc. Extended memory neuromorphic component
US11455254B2 (en) * 2020-12-10 2022-09-27 Macronix International Co., Ltd. Flash memory system and flash memory device thereof
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623506A (en) * 1994-01-28 1997-04-22 International Business Machines Corporation Method and structure for providing error correction code within a system having SIMMs
US6223301B1 (en) 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
JP4034949B2 (ja) 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2003303139A (ja) 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
JP2003346432A (ja) * 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
KR100546348B1 (ko) 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
US7543218B2 (en) 2004-01-31 2009-06-02 Samsung Electronics Co., Ltd. DVD decoding method and apparatus using selective po-correction
KR100604934B1 (ko) * 2004-01-31 2006-07-28 삼성전자주식회사 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
US7536625B2 (en) * 2004-06-30 2009-05-19 Seagate Technology Llc Maintaining data integrity in a data storage system
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US8200887B2 (en) * 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US20070233937A1 (en) 2006-03-31 2007-10-04 Coulson Richard L Reliability of write operations to a non-volatile memory
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
KR101254185B1 (ko) 2006-08-03 2013-04-18 삼성전자주식회사 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법
CN101622594B (zh) * 2006-12-06 2013-03-13 弗森-艾奥公司 使用空数据令牌指令管理来自于请求设备的数据的装置、系统和方法
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
JP2008287404A (ja) 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
KR100921748B1 (ko) * 2007-06-04 2009-10-15 삼성전자주식회사 Ecc 회로를 포함하는 메모리 시스템 및 그 구동 방법
US8037398B2 (en) * 2007-07-02 2011-10-11 Seagate Technology System for precoding parity bits to meet predetermined modulation constraints
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8261124B2 (en) * 2007-12-21 2012-09-04 Spansion Llc System and method for optimized error correction in flash memory arrays
KR20110050404A (ko) * 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
US8276028B2 (en) * 2008-05-23 2012-09-25 Intel Corporation Using error information from nearby locations to recover uncorrectable data in non-volatile memory
WO2010000020A1 (en) 2008-06-30 2010-01-07 Cathrx Ltd A catheter
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
CN102272731A (zh) * 2008-11-10 2011-12-07 弗森-艾奥公司 用于预测固态存储装置中的故障的设备、系统和方法
US8438455B2 (en) 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8726126B2 (en) * 2010-03-23 2014-05-13 Apple Inc. Non-regular parity distribution detection via metadata tag
US8533550B2 (en) * 2010-06-29 2013-09-10 Intel Corporation Method and system to improve the performance and/or reliability of a solid-state drive

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246708A (zh) * 2012-03-16 2014-12-24 马维尔国际贸易有限公司 针对nand闪存上数据的存储的架构
CN105009087A (zh) * 2012-11-29 2015-10-28 西部数据技术公司 用于数据存储系统的数据可靠性方案
CN105009087B (zh) * 2012-11-29 2018-01-23 西部数据技术公司 用于数据存储系统的数据可靠性方案
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
CN107015881A (zh) * 2015-09-23 2017-08-04 Hgst荷兰公司 数据存储驱动器中的增强的低开销数据保护
CN110956997A (zh) * 2019-11-08 2020-04-03 苏州浪潮智能科技有限公司 一种固态硬盘ber的测试方法、测试装置及测试设备
CN110956997B (zh) * 2019-11-08 2022-05-10 苏州浪潮智能科技有限公司 一种固态硬盘ber的测试方法、测试装置及测试设备

Also Published As

Publication number Publication date
US20100169743A1 (en) 2010-07-01
BRPI0923759A2 (pt) 2016-01-26
EP2382542A2 (en) 2011-11-02
WO2010078167A2 (en) 2010-07-08
EP2382542B1 (en) 2018-11-14
TW201030760A (en) 2010-08-16
CN102301340B (zh) 2015-07-08
WO2010078167A3 (en) 2010-09-30
KR101298827B1 (ko) 2013-08-23
JP2012514274A (ja) 2012-06-21
US8438455B2 (en) 2013-05-07
KR20110089452A (ko) 2011-08-08
EP2382542A4 (en) 2012-08-22
TWI449051B (zh) 2014-08-11

Similar Documents

Publication Publication Date Title
CN102301340B (zh) 固态盘中改进的错误校正
JP5341896B2 (ja) 自己回復形不揮発性メモリ
CN109815045B (zh) 存储系统以及在存储系统中处理数据的方法
KR101826051B1 (ko) 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR101925383B1 (ko) 불휘발성 메모리 장치 및 그것의 데이터 관리 방법
US11531590B2 (en) Method and system for host-assisted data recovery assurance for data center storage device architectures
CN110597654B (zh) 用于超快的具有奇偶校验的纠错码的系统和方法
KR101990972B1 (ko) 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
CN104035830A (zh) 一种数据恢复方法和装置
CN115083486A (zh) 带有混合奇偶的tlc数据编程
US20100287448A1 (en) Flash memory device with rectifiable redundancy bit and method of controlling the same
KR20190038964A (ko) 에러 정정 코드 유닛, 그것의 인코딩 및 디코딩 방법
JP2010079856A (ja) 記憶装置およびメモリ制御方法
US20090164711A1 (en) Semiconductor memory controller, semiconductor memory, and method of controlling semiconductor memory controller
US20130047056A1 (en) Flash memory device with rectifiable redundancy and method of controlling the same
US10186302B2 (en) Semiconductor systems performing double-write operations and methods of operating the same
JP6524126B2 (ja) メモリ制御装置及びメモリ制御方法
US20230236930A1 (en) Crc raid recovery from hard failure in memory systems
KR101645829B1 (ko) 장치들 및 유효 마스크들을 저장하고 장치들을 동작시키는 방법들
US20200356669A1 (en) Storage system with separated rpmb sub-systems and method of operating the same
US20210334041A1 (en) Storage Devices Having Minimum Write Sizes Of Data
KR20180078426A (ko) 데이터 저장 장치의 에러 정정 코드 처리 방법
US11385963B1 (en) Usage of data mask in DRAM write
US11681581B1 (en) Data integrity protection with partial updates

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150708

Termination date: 20191222

CF01 Termination of patent right due to non-payment of annual fee