CN105264496A - 用于软信息生成的数据传输的性能优化 - Google Patents

用于软信息生成的数据传输的性能优化 Download PDF

Info

Publication number
CN105264496A
CN105264496A CN201480015991.9A CN201480015991A CN105264496A CN 105264496 A CN105264496 A CN 105264496A CN 201480015991 A CN201480015991 A CN 201480015991A CN 105264496 A CN105264496 A CN 105264496A
Authority
CN
China
Prior art keywords
read operation
data value
additional read
storage medium
data values
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
CN201480015991.9A
Other languages
English (en)
Other versions
CN105264496B (zh
Inventor
J.E.弗雷尔
A.K.奥尔布里克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Enterprise IP LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Enterprise IP LLC filed Critical SanDisk Enterprise IP LLC
Publication of CN105264496A publication Critical patent/CN105264496A/zh
Application granted granted Critical
Publication of CN105264496B publication Critical patent/CN105264496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3769Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information

Abstract

单个命令启动第一读取操作和来自存储器的所述相同部分的一个或多个附加的读取操作的序列。在所述第一读取操作提供可提供给请求设备和/或模块的第一多个数据值之后,所述一个或多个附加的读取操作终止。在一些实现方式中,所述第一多个数据值包含硬信息值。后续的多个数据值从存储器的所述相同部分生成,直到终止事件发生。在一些实现方式中,直到终止事件发生,通过将最新读取的多个数据值与先前生成的混合的多个数据值的一个以及所述第一多个数据值组合生成各自的混合的多个数据值。每个混合的多个数据值表示相应的多个软信息值。

Description

用于软信息生成的数据传输的性能优化
技术领域
本公开涉及存储器系统中的差错控制,特别是,管理用于软信息差错控制解码的数据。
背景技术
半导体存储器设备,包含快闪存储器,通常利用存储器单元存储数据作为电值,例如电荷或电压。快闪存储器单元包含例如具有浮置栅极的单个晶体管,浮置栅极用于存储代表数据值的电荷。已经以各种方式促进存储密度的增加,包含通过制造业发展带来的增加芯片上的存储器单元的密度,以及从单层快闪存储器单元转换到多层快闪存储器单元,以便能够由每个快闪存储器单元存储两位或多位。
增加存储密度的缺点是存储的数据越来越易于错误地存储和/或读取。利用差错控制编码(errorcontrolcoding,ECC)引擎以限制由电波动引入的不可校正的差错的数量、存储介质中的缺陷、操作条件、设备历史、和/或写入-读取电路等。此外,对于很多差错控制编码,通过使用软信息可以改进解码过程,其考虑一个或多个读取操作的结果的不同解译的相关的概率。硬信息解码通常意味着:作出关于数据值是一个值还是另一个值的绝对的判决。与之相比,软信息包含与一个或多个读取操作的结果相应的感测的电信号的不同解译可能被校正的概率。通过考虑更多信息,软信息解码常常改进特定差错控制编码的差错检测和校正能力,并因此改进系统的数据存储容量。然而,利用软信息解码具有一些先前不能解决的缺点。例如,软信息解码实现方式倾向于引入不期望的延迟(即,等待时间),具有相对大的半导体占用空间,以及通常是功率和存储器密集型。
发明内容
在所附权利要求的保护范围内的系统、方法和设备的各种实现方式的每个具有若干方面,它们中没有单独的一个仅仅负责这里所描述的属性。在一个方面,单个命令启动第一读取操作和从存储器的所述相同部分的一个或多个附加的读取操作的序列。这有助于及时产生表示存储在存储介质中的数据的硬信息值和之后的软信息值。
附图说明
所以本发明可以更详细地理解,通过参加各种实现方式的特征可能具有更特别的描述,各种实现方式的一些在附图中示出。然而,附图仅仅示出本公开的更相关的特征,因此非限制性的考虑,描述可能承认其他有效的特征。
图1是根据一些实施例的数据存储系统的实现方式的图。
图2是根据一些实施例的数据存储系统的实现方式的图,包含可操作以响应于如下命令结构而产生软信息的元件,该命令结构有助于从多个读取操作及时产生硬信息值和之后的软信息值。
图3是根据一些实施例的图2中包含的软信息生成模块的实现方式的图。
图4是根据一些实施例的响应于如下命令结构传递读取数据作为硬信息值和之后的软信息值的方法的实现方式的流程图表示,该命令结构有助于从多个读取操作及时产生硬信息和软信息。
图5是根据一些实施例的响应于如下命令结构传递读取数据作为硬信息值和之后的软信息值的方法的实现方式的流程图表示,该命令结构有助于从多个读取操作及时产生硬信息和软信息。
具体实施方式
根据惯例,在图中示出的各种特征可能不是按比例绘图的。因此,为了清楚,各种特征的尺寸可能随意的扩大或减小。此外,一些图可能没有描述给定的系统、方法或设备的所有组件。最后,可能使用相同的标记数字表示整个说明书和图中的相同特征。
具体实施例
如上所述,采用软信息解码的缺点是先前可用的努力倾向于引入不期望的延迟(即,等待时间),具有相对大的半导体占用空间,以及通常是功率和存储器密集型。与之相比,这里描述的各种实现方式提供一种命令结构、以及响应于命令结构对促进硬信息值和之后表示存储在存储介质中的数据的软信息值的及时产生的的操作方法。
一些实现方式包含一种命令结构,该命令结构启动第一读取操作和从与存储器的第一读取操作所述相同部分的一个或多个附加的读取操作的序列。在所述第一读取操作提供第一多个数据值之后,所述一个或多个附加的读取操作终止,并且使得请求设备和/或模块可得到所述第一多个数据值。在一些实现方式中,所述第一多个数据值包含硬信息值。后续的多个数据值由后续的读取操作生成,直到终止事件发生。在一些实现方式中,只要还没有终止一个或多个附加的读取操作的执行,响应于一个或多个附加的读取操作的每个的完成,通过将最新读取的多个数据值与先前生成的混合的多个数据值和所述第一多个数据值中的一个组合来生成各自的混合的多个数据值。如在本公开中使用的,混合的多个数据值表示从来自存储器的相同部分的两个或多个读取操作产生的对应的多个软信息值。
更具体地,一些实现方式包含从存储介质读取的方法。在一些实现方式中,所述方法包含从请求设备接收第一类型的控制命令。所述方法还包含通过如下步骤来响应于接收到所述第一类型的控制命令:(1)使用第一读取信号值,执行第一读取操作,以从所述存储介质的部分获得第一多个数据值,(2)在执行所述第一读取操作之后,启动执行一个或多个附加的读取操作,每个附加的读取操作使用与所述第一读取信号值不同的各自的读取信号值,以从所述存储介质的与所述第一读取操作的相同的部分获得后续的多个数据值,以及(3)在完成预定数量的所述附加的读取操作和接收后续的控制命令中的较早的一个出现时,终止所述一个或多个附加的读取操作的执行。
在一些实现方式中,后续控制命令是引起一个或多个附加的读取操作的终止的类型。
在一些实现方式中,所述方法还包含在缓冲器中存储所述第一多个数据值,从所述缓冲器向所述请求设备传输所述第一多个数据值,以及在与从所述缓冲器向所述请求设备传输所述第一多个数据值重叠的时间段期间,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
在一些实现方式中,所述方法还包含在缓冲器中存储所述第一多个数据值,设置配置为通过所述请求设备读取的状态位,以及在与设置所述状态位的时间最接近的时间段,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
在一些实现方式中,只要所述一个或多个附加的读取操作的执行还没有终止,所述方法包含,响应于所述一个或多个附加的读取操作的每个的完成,通过将最新读取的多个数据值与先前产生的混合的多个数据值和所述第一多个数据值中的一个组合来产生各自的混合的多个数据值。
在一些实现方式中,所述方法还包含从请求设备接收第二类型的控制命令,其中所述第二类型与所述第一类型的不同之处在于指示对所述存储介质的各自的部分的单个读取的请求。所述方法还包含通过如下步骤来响应于接收到所述第二类型的所述控制命令:(1)执行单个读取操作以从所述存储介质的一部分获得数据值,(2)在缓冲器中存储所获得的数据值,以及(3)从所述缓冲器向所述请求设备传输所获得的数据值。
在一些实施例中,所述一个或多个附加的读取操作被限制成预定数量的读取操作。
在一些实施例中,响应于第一条件,发生启动一个或多个附加的读取操作的执行。在一些实施例中,所述第一条件包含接收到指示所述第一多个数据值不能被解码的消息。在一些实施例中,所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值能够成功地被解码。在一些实施例中,所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值已经成功地被解码。
在一些实施例中,所述方法还包含在缓冲器中存储所述第一多个数据值,以及传送指示所述第一多个数据值可用于从所述缓冲器读取的第一消息。
在一些实施例中,所述方法还包含通过重写存储在所述缓冲器中的任何先前生成的混合的多个数据值,在所述缓冲器中存储每个各自的混合的多个数据值,以及传送后续信息,所述后续信息指示每次混合的多个数据值重新存储在缓冲器中时,新的混合的多个数据值可用于从缓冲器读取。
在一些实施例中,生成每个各自的混合的多个数据值包含:在最新读取的所述一个或多个后续的多个数据值中的每个以及先前生成的混合的多个数据值和所述第一多个数据值中的一个之间异或(exclusive-or,XOR)。
在另一个方面,可操作以从存储介质中读取的的设备配置为根据上述的方法的任一个来读取数据。
在一些实现方式中,关于上述的方法的任一个,可操作以从存储介质中读取的设备包含存储介质和控制器,所述控制器配置为根据上述的方法的任一个来读取数据。
这里描述了很多的细节以便于提供在附图中示出的示例的实现方式的完全理解。然而,一些实施例可以在没有很多具体的细节的情况下实施,并且权利要求的保护范围仅由在权利要求中明确列举的那些特征和方面来限制。此外,已知的方法、组件和电路没有以详尽的细节描述以便不必要地模糊这里描述的实现方式的更多相关的方面。
图1是根据一些实施例的数据存储系统100的实现方式的图。虽然一些示例的特征被示出,为了简洁的目的,各种其他特征没有被示出,以免模糊这里公开的示例的实现方式的更多相关方面。为此,作为非限制性示例,数据存储系统100包含存储器控制器120、以及存储介质130,且数据存储系统100与计算机系统110组合使用。在一些实现方式中,存储介质130是单个快闪存储器设备,而在其他实现方式中,存储介质130包含多个快闪存储器设备。在一些实现方式中,存储介质130是NAND类型快闪存储器或者NOR类型快闪存储器。此外,在一些实现方式中,存储器控制器120是固态驱动器(solid-statedrive,SSD)控制器。然而,根据多种实现方式的方面,可能包含其他类型的存储介质。
计算机系统110通过数据连接101耦合至存储器控制器120。然而,在一些实现方式中,计算机系统110包含作为组件和/或子系统的存储器控制器120。计算机系统110可能是任何合适的计算机设备,例如计算机、笔记本计算机、平板设备、上网本、网络信息站、个人数字助理、移动电话、智能电话、游戏设备、计算机服务器、或任何其他计算设备。计算机系统110有时称为主机或主机系统。在一些实现方式中,计算机系统110包含一个或多个处理器、一种或多种类型的存储器、显示器和/或其他用户界面组件,例如,键盘、触摸屏显示器、鼠标、触控板、数字照相机和/或任何数量的补充设备以添加功能。
存储介质130通过连接103耦合至存储器控制器120。连接103有时称为数据连接,但是通常传达除了数据之外的命令,并且可选地传达元数据、差错校正信息和/或除了要存储在存储介质130中的数据值和从存储介质130读取的数据值之外的其他信息。然而,在一些实现方式中,存储器控制器120和存储介质130被包含在相同的设备中作为其组件。此外,在一些实现方式中,存储器控制器120和存储介质130嵌入在主机设备中,该主机设备例如移动设备、平板、其他计算机或计算机控制的设备。存储介质130可能包含任何数量(即,一个或多个)的存储器设备,存储器设备包含、但不限于非易失性半导体存储器设备,例如快闪存储器。例如,快闪存储器设备可以配置用于适于例如云计算的应用的企业存储器,或者用于高速缓存被存储在(或要存储在)例如硬盘驱动器的二级(secondary)存储器中的数据。此外和/或作为选择,快闪存储器也可以配置用于相对较小规模的应用,例如,个人快闪驱动器或个人、笔记本和平板计算机的硬盘替代品。
存储介质130被分成一些可寻址的和可单独选择的块,例如可选择部分131。在一些实现方式中,可单独选择的块是快闪存储器设备中的最小尺寸的可擦除单元。换句话说,每个块包含可被同时擦除的最小数量的存储器单元。每个块通常被进一步分成多个页面和/或字线,其中每个页面或字线通常是在块中的最小的可单独访问的(可读取的)的部分的一个实例。在一些实现方式中(例如,使用一些类型的闪速存储器),然而,数据组的最小的可单独访问的单元是扇区,该扇区是一个网页的子单元。即,块包含多个页面,每个页面包含多个扇区,并且每个扇区是用于从快闪存储器设备读取数据的数据的最小单元。
例如,一个块包括任何数量的页面,例如,64个页面、128个页面、256个页面、或另一个合适的数量的页面。块通常被分成多个区域。每个块区域可在一定程度上被独立地管理,这增加了并行操作的并行度并且简化了存储介质130的管理。
如上所述,虽然非易失性半导体存储器设备的数据存储密度通常增加,但是增加的存储密度的缺点是存储的数据是更易于错误地被存储和/或读取。如下面更详细的描述,可以利用差错控制编码以限制由电波动引入的不可校正的差错的数量、存储介质中的缺陷、操作条件、设备历史、写入-读取电路等、或者这些和各种其它因素的组合。
在一些实现方式中,存储器控制器120包含管理模块121、输入缓冲器123、输出缓冲器124、差错控制模块125和存储介质接口(I/O)128。存储器控制器120可能包含各种附加的特征,为了简洁的目的没有示出这些附加的特征,以免模糊这里所公开的示例的实现方式的更多相关的特征,并且特征的不同布置是可能的。输入和输出缓冲器123、124通过数据连接101为计算机系统110提供接口。类似地,存储介质I/O128通过数据连接103为存储介质130提供接口。在一些实现方式中,存储介质的I/O128包含读取和写入电路,包含能够将读取信号(readingsignal)提供给存储介质130(例如,为NAND类型快闪存储器读取阈值电压)的电路。
在一些实现方式中,管理模块121包含一个或多个处理单元(CPU,有时也称为处理器)122,配置为执行在一个或多个程序中(例如,在管理模块121中)的指令。在一些实现方式中,一个或多个CPU122由存储器控制器120的功能内部、并且在一些情况下超出存储器控制器120的功能的一个或多个组件共享。管理模块121被耦合至输入缓冲器123、输出缓冲器124(连接未示出)、差错控制模块125和存储介质I/O128,以协调这些组件的操作。
差错控制模块125被耦合至存储介质I/O128、输入缓冲器123和输出缓冲器124。提供差错控制模块125以限制无意中引入到数据中的不可校正的差错的数量。在一些实施例中,差错控制模块125由管理模块121的一个或多个CPU122在软件中执行,并且,在其他实施例中,使用专用电路全部或部分地实现差错控制模块125以执行编码和解码功能。为了达到那个目的,差错控制模块125包含编码器126和解码器127。编码器126通过施加差错控制编码以产生码字来编码数据,该码字随后存储在存储介质130中。
当从存储介质130读取编码数据(例如,一个或多个码字)时,解码器127向编码数据施加解码过程以恢复数据,并且在差错控制编码的差错校正能力内校正所恢复的数据中的差错。本领域的技术人员将理解,各种差错控制编码具有不同的差错检测和校正能力,以及选择具体编码(code)以用于由于超出本公开的范围的理由的各种应用。如此,这里不提供各种类型的差错控制编码的详尽展示。此外,本领域的技术人员将理解,每种类型或族的差错控制编码可能具有对该类型或族的差错控制编码特有的编码和解码的算法。另一方面,一些算法、诸如Viterbi算法可能至少在一定程度上被利用于很多不同类型或族的差错控制编码的解码中。如此,为了简洁的目的,在这里不提供本领域的技术人员通常可用的和已知的各种类型的编码和解码算法的详尽描述。
在写入操作期间,输入缓冲器123从计算机系统110接收要存储在存储介质130中的数据。使得编码器126可得在输入缓冲器123中保持的数据,其中编码器126编码数据以产生一个或多个码字。使得存储介质I/O128可得一个或多个码字,其中存储介质I/O128以依赖于被利用的存储介质的类型的方式将一个或多个码字传输至存储介质130。
当计算机系统(主机)110在控制线111上发送一个或多个主机读取命令至从存储介质130请求数据的存储器控制器120时,开始读取操作。存储器控制器120经由存储介质I/O128发送一个或多个读取访问命令至存储介质130,以根据由一个或多个主机读取命令指定的存储器位置(地址)获得原始(raw)读取数据。存储介质I/O128将原始读取数据(例如,包括一个或多个码字)提供给解码器127。如果解码成功,解码的数据被提供给输出缓冲器124,其中使得计算机系统110可得该解码的数据被。在一些实现方式中,如果解码不成功,存储器控制器120可能诉诸于很多补救行动或者提供不能解决差错情况的指示。
快闪存储器设备利用存储器单元以存储数据作为电值,例如电荷或电压。每个快闪存储器单元通常包含具有浮置栅极的单个晶体管,其中,该浮置栅极用于存储电荷,其修改了晶体管的阈值电压(即,导通晶体管所需要的电压)。电荷的幅值、以及电荷创造的相应的阈值电压用于表示一个或多个数据值。在一些实现方式中,在读取操作期间,读取阈值电压被施加给晶体管的控制栅极,并且得到的感测电流或电压被映射为数据值。
在快闪存储器单元的背景下,词语“单元电压”和“存储器单元电压”意味着存储器单元的阈值电压,这是为了使晶体管传导电流而需要施加给存储器单元的晶体管的栅极的最小电压。类似地,施加给快闪存储器单元的读取阈值电压(有时也称为读取信号和读取电压)是如下栅极电压,该栅极电压是施加给快闪存储器单元的栅极以确定存储器单元在该栅极电压下是否传导电流的栅极电压。在一些实现方式中,当快闪存储器单元的晶体管在给定的读取阈值电压下传导电流时,指示单元电压小于读取阈值电压,该读取操作的原始数据值是“1”,否则原始数据值是“0”。
在一些实现方式中,存储器单元的存储器单元电压通过使用一个或多个读取阈值电压来读取存储器单元来间接读取。更具体地,每个读取操作产生如下结果,该结果指示存储器单元的单元电压是大于还是小于在该读取操作期间使用的读取阈值电压。通过使用多个读取阈值电压来读取存储器单元,相比于如果仅使用单个读取阈值单元读取存储器单元,可以更精确地确定单元电压。换句话说,已经知道,在存储单元上执行的读取操作越多,每次使用不同的读取阈值电压,存储器单元的单元电压更精确。
图2是数据存储系统200的实现方式的图,包含可操作以响应于如下命令结构来产生软信息的元件,该命令结构促进及时从多个读取操作产生硬信息值和之后的软信息值。在图2中示出的数据存储系统200类似于图1中示出的数据存储系统100并且从图1中示出的数据存储系统100改变而来。每个共同的元件包含共同的标记数字,并且为了简洁的目的,这里仅描述图1和图2之间的差异。此外,虽然某些具体的特征被示出,为了简洁的目的,各种其他特征没有被示出,以免模糊这里公开的示例的实现方式的更多相关方面。
参见图2,作为非限制性示例,存储介质230通常包括存储器芯片。本领域的技术人员从本公开将理解,在各种其他的实现方式中,存储介质230包含各种其他类型的存储器设备,包含两个或更多存储器芯片。存储介质230包含NAND快闪单元阵列231、写入缓冲器232、芯片控制器236、读取-写入(read-write,R/W)访问电路237、页面缓冲器235、和多路复用器(multiplexer,MUX)234。
存储介质I/O128通过连接103耦合至存储介质230。连接103有时称为数据连接,但是通常传达除了数据之外的命令,并且可选地传达元数据、误差校正信息和/或除了要存储在存储介质130中的数据值和从存储介质230读取的数据值之外的其他信息。更具体地,继续参见图2,存储介质I/O128被耦合以传送写入数据至写入缓冲器232,并且还被耦合至芯片控制器236以传送命令、元数据和一个或多个读取信号值(例如,读取阈值电压)的表示中的至少一个。芯片控制器236被耦合以提供控制命令给R/W访问电路237,该控制命令包含读取和写入命令。R/W访问电路237还被耦合以从写入缓冲器232接收(或检索)写入数据。
R/W访问电路237还被耦合至NAND快闪单元阵列231。在写入操作期间,R/W访问电路237操作以将数据从写入缓冲器232写入NAND快闪单元阵列231的可选择部分,例如,快闪阵列231-1的可选择部分。在读取操作期间,R/W访问电路237操作以读取存储在NAND快闪单元阵列231中的数据。读取的数据被复制进页面缓冲器235中。存储介质I/O128还被耦合以通过MUX234接收读取的数据(如硬或软信息值)。从NAND快闪单元阵列231读取的数据存储在页面缓冲器235中,并且使得存储介质I/O128通过MUX234可得该读取的数据。芯片控制器236向MUX234提供控制信号该控制信号允许存储介质I/O128通过MUX234访问页面缓冲器235中的读取的数据。而又,存储介质I/O128在页面缓冲器228中存储来自缓冲器235的该读取的数据。
图3是根据一些实施例的在图2中包含的软信息生成模块229的实现方式的图。此外,如上所述,虽然某些具体的特征被示出,本领域的技术人员从本公开将理解,为了简洁的目的,各种其他特征没有被示出,以免模糊这里公开的示例的实现方式的更多相关方面。为此,作为非限制性的示例,软信息生成模块229包含软信息管理控制器510、特征化(characterization)模块520、计算/调整模块530、和输出多路复用器(MUX)540。软信息生成模块229被耦合至解码器127。
软信息管理控制器510被耦合至特征化模块520、计算/调整模块530、和MUX540中的每个,以便协调软信息生成模块229的操作。更具体地,在一些实现方式中,软信息管理控制器510被连接以分别在控制线501和数据线502上接收读取请求和一个或多个存储介质特征化参数。软信息管理控制器510还被连接以在控制线511上向特征化模块520提供选择控制信号,并且在数据线512上接收已选择的特征化向量。在一些实现方式中,软信息管理控制器510还被连接以通过数据线514向存储介质I/O128提供读取阈值电压,并且在数据线515上通过页面缓冲器235(图2)和多路复用器234(图2)从存储介质I/O128接收原始读取数据。软信息管理控制器510还被连接以通过相应的数据线516和517向计算/调整模块530和输出MUX540提供软信息值的序列,以及通过控制线503向输出MUX540提供控制信号。输出MUX540还被连接以在数据线531上从计算/调整模块530接收调整的软信息值。输出MUX540被连接,以依赖于在控制线503上接收的控制信号来在数据线541上有选择性地提供来自转换模块533和计算/调整模块530之一的软信息值。
特征化模块520包含特征化向量521-1、521-2、521-3、...、521-n的集合,特征化向量每个特征化向量与用于一个或多个存储介质特征化参数值的存储介质130相关联地存储特征化数据,例如用于位元组的软信息值和读取比较信号值。在一些实现方式中,统计得出存储在特征化向量521中的特征化数据。存储介质特征化参数值的每个组合表示可能以设备特征化过程为特点的存储介质的各自的状态,并且可能存在用于由相同制造过程生产的其他设备。
软信息管理控制器510包含选择模块531、可选读取控制器532、和转换模块533。选择模块531配置为使用一个或多个存储介质特征化参数值以根据存储介质130的当前状态从存储的特征化向量521-1、521-2、521-3、...、521-n的集合中选择特征化向量。选择控制信号包含一个或多个存储介质特征化参数值和/或与一个或多个存储介质特征化参数值的组合相关联的索引键(indexkey),索引键能够使特征化模块520基于与存储介质130的当前状态相关联的一个或多个存储介质特征化参数值来选择特征化向量。
可选的读取控制器532配置为通过存储介质I/O128读取存储介质130的一部分。在一些实现方式中,读取控制器532配置为向存储介质I/O128提供用于读取操作的读取比较信号值。在一些实现方式中,读取控制器532从基于与存储介质130的当前状态相关联的一个或多个存储介质特征化参数值而选择的特征化向量中选择一个或多个统计确定的读取比较信号值。
转换模块533配置为生成与原始硬判决(hard-decision)读取数据相应的软信息值的序列。至少部分地通过从用于原始硬判决读取数据的每个位元组的已选择的特征化向量中选择各自的软信息值,来生成软信息值序列,其中该原始硬判决读取数据的每个位元组由读取操作使用相应的读取阈值电压值产生。更具体地,在一些实现方式中,转换模块533在至少一个软信息值处以LLR的形式分配至硬判决读取数据中的每个位元组,以产生相应的LLR序列yLLR=(y1,y2,...,yn-1),其中n是码字长度。
计算/调整模块530配置为响应于与存储介质化的当前状态和/或先前检测到的差错特征相关联的一个或多个特征化参数值来可选地调整软信息值。
图4是响应于如下命令结构来传递作为硬信息值和软信息值的读取数据的方法400的实现方式的流程图表示,该命令结构促进及时从多个读取操作产生硬信息值和之后的软信息值。在一些实现方式中,方法400由与存储器单元阵列相关联的例如芯片控制器236(图2中示出)的芯片控制器执行。简要地说,方法400包含通过启动第一读取操作和之后来自存储器的与第一读取操作的相同的部分的一个或多个附加的读取操作的序列,来响应于接收到第一类型的控制命令。附加的读取操作在向请求设备提供第一多个数据值之后是可终止的。
为此,如方框4-1所表示,方法400包含从请求设备接收第一类型的控制命令。如方框4-1a所表示,第一类型的控制命令指示接收设备启动第一读取操作和之后从存储器的与第一读取操作的相同的部分启动一个或多个附加的读取操作的序列。换句话说,第一类型的控制命令是连续的读取命令。例如,参见图2和图4,芯片控制器236接收从存储介质的I/O128发送的连续读取命令。
如方框4-2所表示,方法400包含,通过使用第一读取信号值(例如,读取阈值电压)执行第一读取操作,来响应于接收到第一类型的控制命令,以从存储介质的一部分获得第一多个数据值。例如,继续参见图2和图4,芯片控制器236向R/W访问电路237提供第一读取命令和第一读取阈值电压。R/W访问电路237操作以从NAND快闪单元阵列231读取第一多个数据。从NAND快闪单元阵列231读取的第一多个数据值被复制进页面缓冲器235中。
如方框4-3所表示,在执行第一读取操作之后,方法400还包含,通过启动一个或多个附加的读取操作的执行,来响应于接收到第一类型的控制命令,每个附加的读取操作使用与第一读取信号值不同的各自的读取信号值以从存储介质的与第一读取操作的相同的部分获得后续的多个数据值。例如,继续参见图2和图4,芯片控制器236迭代地向R/W访问电路237提供后续读取命令和各自的后续读取阈值电压。响应于接收到每个后续读取命令和各自的后续读取阈值电压,R/W访问电路237操作以从NAND快闪单元阵列231读取各自的后续多个数据。从NAND快闪单元阵列231读取的各自的后续多个数据值被复制进页面缓冲器235中。
此外,在一些实现方式中,响应于第一条件,发生启动一个或多个附加的读取操作的执行。在一些实现方式中,第一条件包含接收指示第一多个数据值不能被解码的消息。在一些实现方式中,第一条件包含确定如下消息在第一持续时间内还没有被接收,该消息指示第一多个数据值可以成功地被解码。在一些实现方式中,第一条件包含确定如下消息在第一持续时间内还没有被接收,该消息指示第一多个数据值已经成功地被解码。
如方框4-4所表示,方法400包含确定是否已经达到迭代限制。在一些实现方式中,迭代限制对响应于第一类型的控制命令而执行的一个或多个附加的读取操作的数量限定了限制。这样,一个或多个附加的读取操作被限制为预定数量的读取操作。如果已经达到迭代限制(方框4-4的路径“是”),方法400终止。另一方面,如果未达到迭代限制(方框4-4的路径“否”),如方框4-5所表示,方法400包含确定是否已经接收另一个命令。如果已经接收另一个命令(方框4-5的路径“是”),方法400终止。另一方面,如果还没有接收到另一个命令(方框4-4的路径“否”),方法400循环回到由方框4-3所表示的方法的部分,以便可以如描述的执行后续读取操作。在一些实现方式中,后续控制命令是引起一个或多个附加的读取操作的终止的类型。在一些实现方式中,任意随后接收的控制命令发出终止一个或多个附加的读取操作的信号。
在一些实现方式中,如方框4-4和4-5的组合所表示,方法400包含在完成预定数量的附加的读取操作和接收到后续控制命令中的较早的一个时终止一个或多个附加的读取操作的执行。此外,在一些实现方式中,方框4-4和4-5所表示的方法400的部分以相反的顺序发生,或相对于彼此同时发生。在一些实现方式中,方框4-4和4-5所表示的方法400的部分还与方框4-3所表示的方法400的部分同时发生,因此能够使一个或多个附加的读取操作可在使得请求设备和/或模块可得第一多个数据值之后的任何时间终止。
图5是根据一些实现方式的响应于如下命令结构传递读取数据作为硬信息值和软信息值的方法500的实现方式的流程图表示,该命令结构促进从多个读取操作及时产生硬信息值和之后的软信息值。在一些实现方式中,方法500由与存储器单元阵列相关联的例如芯片控制器236(图2中示出)的芯片控制器执行。简要地说,方法500包含通过启动第一读取操作和之后从存储器的与第一读取操作的相同的部分的一个或多个附加的读取操作的序列,来响应于接收到第一类型的控制命令。附加的读取操作可在向请求设备提供第一多个数据值之后终止。
为此,如方框5-1所表示,方法500包含从请求设备接收第一类型的控制命令。换句话说,第一类型的控制命令是连续的读取命令。例如,参见图2和图5,芯片控制器236接收从存储介质的I/O128发送的连续读取命令。
如方框5-2所表示,方法500包含,通过使用第一读取信号值执行第一读取操作以从存储介质的一部分获得第一多个数据值来响应于接收到第一类型的控制命令。例如,继续参见图2和图5,芯片控制器236向R/W访问电路237提供第一读取命令和第一读取阈值电压。R/W访问电路237操作以从NAND快闪单元阵列231读取第一多个数据。从NAND快闪单元阵列231读取的第一多个数据值被复制进页面缓冲器235中。
如方框5-3所表示,方法500包含在缓冲器中存储第一多个数据值。例如,继续参加图2和图5,从NAND快闪单元阵列231读取的第一多个数据值被复制进页面缓冲器235中。从方框5-3所表示的方法的部分中,方法500采取在时间上彼此最接近和/或同时执行的两个操作路径。沿着一个路径,如方框5-4所表示,方法500包含促进第一多个数据值传输至请求设备。在一些实现方式中,如方框5-4所表示,促进第一多个数据值传输至请求设备包含设置被配置用于由请求设备读取的状态位。例如,参见图2和图5,芯片控制器236设置如下状态位,高状态位可在连接103上通过存储介质I/O128读取。在一些实现方式中,如方框5-4所表示,促进第一多个数据值传输至请求设备包含从缓冲器向请求设备传输第一多个数据值。例如,继续参见图2和图5,芯片控制器236向MUX234提供驱动信号,该驱动信号能够使MUX234在连接103上从页面缓冲器235推送第一多个数据至存储器控制器120中的存储介质I/O128。
沿着另一个路径,如方框5-5所表示,在执行第一读取操作之后,方法500还包含,通过启动附加的读取操作的执行,来响应于接收到第一类型的控制命令,附加的读取操作使用与第一读取信号值不同的各自的读取信号值,以从存储介质的与第一读取操作的相同的部分获得后续的多个数据值。例如,继续参见图2和图5,芯片控制器236迭代地向R/W访问电路237提供后续读取命令和各自的后续读取阈值电压。响应于接收到每个后续读取命令和各自的后续读取阈值电压,R/W访问电路237操作以从NAND快闪单元阵列231读取各自的后续的多个数据。从NAND快闪单元阵列231读取的每个各自的后续多个数据值被复制进页面缓冲器235中。在一些实现方式中,方法500包含,在与从缓冲器向请求设备传输第一多个数据值重叠的时间段期间,启动一个或多个附加的读取操作中的第一附加的读取操作的执行。在一些实现方式中,方法500包含,在与设置状态位的时间最接近的时间段,启动一个或多个附加的读取操作中的第一附加的读取操作的执行。
此外,在一些实现方式中,响应于第一条件,发生启动一个或多个附加的读取操作的执行。在一些实现方式中,第一条件包含接收指示第一多个数据值不能被解码的消息。在一些实现方式中,第一条件包含确定如下消息在第一持续时间内还没有被接收,该消息指示第一多个数据值能够成功地被解码。在一些实现方式中,第一条件包含确定如下消息在第一持续时间内还没有被接收,该消息指示第一多个数据值已经成功地被解码。
如方框5-6所表示,方法500包含在缓冲器中存储每个附加的多个数据值。例如,继续参加图2和图5,从NAND快闪单元阵列231读取的每个各自的后续多个数据值被复制进页面缓冲器235中。如方框5-7所表示,方法500包含在缓冲器中产生混合的多个数据值。换句话说,在一些实现方式中,只要一个或多个附加的读取操作的执行还没有终止,方法500包含,响应于完成一个或多个附加的读取操作的每个,通过将最新读取的多个数据值与先前产生的混合的多个数据值和第一多个数据值中的一个组合来产生各自的混合的多个数据值。在一些实现方式中,方法500还包含通过重写存储在缓冲器中的任何先前生成的混合的多个数据值,在缓冲器中存储每个各自的混合的多个数据值。在一些实现方式中,生成每个各自的混合的多个数据值包含在一个或多个后续的多个数据值的最新读取的每个以及先前生成的混合的多个数据值和第一多个数据值中的一个之间异或(exclusive-or,XOR)。
如方框5-8所表示,方法500包含促进混合的多个数据值传输至请求设备。在一些实现方式中,通过传送第一消息来促进混合的多个数据值传输至请求设备,第一消息指示第一多个数据值可以用从缓冲器中读取。在一些实现方式中,通过传送后续消息来促进混合的多个数据值传输至请求设备,该后续消息指示每次混合的多个数据值重新存储在缓冲器中时,新的混合的多个数据值可用于从缓冲器读取。
如方框5-9所表示,方法500包含确定是否已经达到迭代限制。在一些实现方式中,迭代限制对响应于第一类型的控制命令而执行的一个或多个附加的读取操作的数量限定了限制。如果已经达到迭代限制(方框5-9的路径“是”),方法500终止。另一方面,如果未达到迭代限制(方框5-9的路径“否”),如方框5-10所表示,方法500包含确定是否已经接收另一个命令。如果已经接收另一个命令(方框5-10的路径“是”),方法500终止。另一方面,如果还没有接收到另一个命令(方框5-10的路径“否”),方法500循环回到由方框5-5所表示的方法的部分,以便可以如描述的执行后续读取操作。在一些实现方式中,后续控制命令是引起一个或多个附加的读取操作的终止的类型。在一些实现方式中,任意随后接收是控制命令发出终止一个或多个附加的读取操作的信号。
在一些实现方式中,如方框5-9和5-10的组合所表示,方法500包含在完成预定数量的附加的读取操作和接收到后续控制命令中的较早的一个时终止一个或多个附加的读取操作的执行。此外,在一些实现方式中,方框5-9和5-10所表示的方法500的部分以相反的顺序发生,或相对于彼此同时发生。在一些实现方式中,方框5-9和5-10所表示的方法500的部分还与方框5-5所表示的方法500的部分同时发生,因此能够使一个或多个附加的读取操作可在使得请求设备和/或模块可得第一多个数据值之后的任何时间终止。
可以理解地是,虽然“第一”、“第二”等词语可能在这里使用以描述各自元件,这些元件不应该由这些词语限制。这些元件只是用来将一个元件与另一个元件区分。例如,第一接触可以叫做第二接触,并且,类似地,第二接触可以叫做第一接触,这改变了描述的意义,只要“第一接触”的所有出现一致地改名,并且“第二接触”的所有出现一致地改名。第一接触和第二接触都是接触,但它们不是相同的接触。
这里使用的技术术语仅仅是为了描述特殊实施例的目的,不意在限制权利要求。如实施例和所附权利要求的描述中使用的,单数形式“一个”和“一”意在同样包含复数形式,否则除非上下文清楚地指示。还可以理解地是,词语这里使用的“和/或”指的是和包含一个或多个相关联的列出的项目的任何或所有可能的组合。还可以理解地是,当在本说明书中使用词语“包括”和/或“包含”时,说明存在陈述的特征、整数、步骤、操作、元件、和/或组件,但是不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件、和/或它们的群组。
如这里所使用的,依赖于上下文,词语“如果”可能解释成意为“当”或者“根据”或者“响应于确定”或者“根据确定”或者“响应于检测”,陈述的先前条件是真实的。类似的,依赖于上下文,短语“如果确定[陈述的先前条件是真实的]”或者“如果[陈述的先前条件是真实的]”或者“当[陈述的先前条件是真实的]”可能解释成意为“根据确定”或者“响应于确定”或者“根据检测”或者“响应于检测”陈述的先前条件是真实的。
为了说明的目的,前面的描述已经参见具体的实施例描述。然而,上面说明性的讨论不意在详尽的或者限制权利要求公开的准确形式。鉴于上述教导,很多修改和变型是可能的。选择和描述实现方式以便最好的说明操作原则和实际应用,从而使本领域的其他人员精通。

Claims (28)

1.一种从存储介质中读取的方法,所述方法包括:
从请求设备中接收第一类型的控制命令;
通过如下步骤来响应于接收到所述第一类型的控制命令:
使用第一读取信号值,执行第一读取操作,以从所述存储介质的一部分获得第一多个数据值;
在执行所述第一读取操作之后,启动一个或多个附加的读取操作的执行,每个附加的读取操作使用与所述第一读取信号值不同的各自的读取信号值,以从所述存储介质的与所述第一读取操作的相同的部分获得后续的多个数据值;以及
在完成预定数量的附加的读取操作和接收后续的控制命令中的较早的一个出现时,终止所述一个或多个附加的读取操作的执行。
2.如权利要求1所述的方法,其中所述后续的控制命令是引起所述一个或多个附加的读取操作的终止的类型。
3.如权利要求1所述的方法,还包括:
在缓冲器中存储所述第一多个数据值;
从所述缓冲器向所述请求设备传输所述第一多个数据值;以及
在与从所述缓冲器向所述请求设备传输所述第一多个数据值重叠的时间段期间,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
4.如权利要求1所述的方法,还包括:
在缓冲器中存储所述第一多个数据值;
设置配置为通过所述请求设备读取的状态位;以及
在设置所述状态位的时间最接近的时间段,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
5.如权利要求1所述的方法,其中只要所述一个或多个附加的读取操作的执行还没有终止,所述方法包含,响应于所述一个或多个附加的读取操作的每个的完成,通过将最新读取的多个数据值与先前产生的混合的多个数据值中和所述第一多个数据值中的一个组合来生成各自的混合的多个数据值。
6.如权利要求1所述的方法,还包括:
从请求设备接收第二类型的控制命令,其中所述第二类型与所述第一类型不同之处在于指示对所述存储介质的各自的部分的单个读取的请求;
通过如下步骤来响应于接收到所述第二类型的控制命令:
执行单个读取操作以从所述存储介质的一部分获得数据值;
在缓冲器中存储所获得的数据值;以及
从所述缓冲器向所述请求设备传输所获得的数据值。
7.如权利要求1-5的任一项所述的方法,其中所述一个或多个附加的读取操作被限制成预定数量的读取操作。
8.如权利要求1-5的任一项所述的方法,其中,响应于第一条件,发生启动一个或多个附加的读取操作的执行。
9.如权利要求8所述的方法,其中所述第一条件包含接收到指示所述第一多个数据值不能被解码的消息。
10.如权利要求8所述的方法,其中所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值能够成功地被解码。
11.如权利要求8所述的方法,其中所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值已经成功地被解码。
12.如权利要求5所述的方法,还包括:
在缓冲器中存储所述第一多个数据值;以及
传送指示所述第一多个数据值可用于从所述缓冲器读取的第一消息。
13.如权利要求12所述的方法,还包括:
通过重写存储在所述缓冲器中的任何先前生成的混合的多个数据值,在所述缓冲器中存储每个各自的混合的多个数据值;以及
传送后续信息,所述后续信息指示每次混合的多个数据值重新存储在所述缓冲器中时,新的混合的多个数据值可用于从所述缓冲器读取。
14.如权利要求5所述的方法,其中生成每个各自的混合的多个数据值包含:在所述一个或多个后续的多个数据值中的最新读取的每个与先前生成的混合的多个数据值和所述第一多个数据值中的一个之间异或(XOR)。
15.一种设备,包括:
存储介质;以及
控制器,其配置为:
从请求设备中接收第一类型的控制命令;
通过如下步骤来响应于接收到所述第一类型的控制命令:
使用第一读取信号值,执行第一读取操作,以从所述存储介质的一部分获得第一多个数据值;
在执行所述第一读取操作之后,启动一个或多个附加的读取操作的执行,每个附加的读取操作使用与所述第一读取信号值不同的各自的读取信号值,以从所述存储介质的与所述第一读取操作相同部分获得后续的多个数据值;
在完成预定数量的所述附加的读取操作和接收后续的控制命令中的较早的一个出现时,终止所述一个或多个附加的读取操作的执行。
16.如权利要求15所述的设备,其中所述后续控制命令是引起所述一个或多个附加的读取操作的终止的类型。
17.如权利要求15所述的设备,其中所述控制器还配置为:
在缓冲器中存储所述第一多个数据值;
从所述缓冲器向所述请求设备传输所述第一多个数据值;以及
在与从所述缓冲器向所述请求设备传输所述第一多个数据值重叠的时间段期间,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
18.如权利要求15所述的设备,其中所述控制器还配置为:
在缓冲器中存储所述第一多个数据值;
设置配置为通过所述请求设备读取的状态位;以及
在设置所述状态位的时间最接近的时间段,启动所述一个或多个附加的读取操作中的第一附加的读取操作的执行。
19.如权利要求15所述的设备,其中只要所述一个或多个附加的读取操作的执行还没有终止,所述方法包含:响应于所述一个或多个附加的读取操作的每个的完成,通过将最新读取的多个数据值与先前产生的混合的多个数据值中和所述第一多个数据值中的一个组合来产生各自的混合的多个数据值。
20.如权利要求15所述的设备,其中所述控制器配置为:
从请求设备接收第二类型的控制命令,其中其中所述第二类型与所述第一类型不同之处在于指示对所述存储介质的各自的部分的单个读取的请求;
通过如下步骤来响应于接收到所述第二类型的控制命令:
执行单个读取操作以从所述存储介质的一部分获得数据值;
在缓冲器中存储所获得的数据值;以及
从所述缓冲器向所述请求设备传输所获得的数据值。
21.如权利要求15-19的任一项所述的设备,其中所述一个或多个附加的读取操作被限制成预定数量的读取操作。
22.如权利要求15-19的任一项所述的设备,其中响应于第一条件发生启动一个或多个附加的读取操作的执行。
23.如权利要求22所述的设备,其中所述第一条件包含接收指示所述第一多个数据值不能被解码的消息。
24.如权利要求22所述的设备,其中所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值能够成功地被解码。
25.如权利要求22所述的设备,其中所述第一条件包含确定如下消息在第一持续时间内还没有被接收,所述消息指示所述第一多个数据值已经成功地被解码。
26.如权利要求19所述的设备,其中所述控制器还配置为:
在缓冲器中存储所述第一多个数据值;以及
传送指示所述第一多个数据值可用于从所述缓冲器读取的第一消息。
27.如权利要求26所述的设备,其中所述控制器还配置为:
通过重写存储在所述缓冲器中的任何先前生成的混合的多个数据值,在所述缓冲器中存储每个各自的混合的多个数据值;以及
传送后续信息,所述后续信息指示混合的多个数据值重新存储在所述缓冲器中时,每次新的混合的多个数据值可用于从所述缓冲器读取。
28.如权利要求19所述的设备,其中生成每个各自的混合的多个数据值包含:在所述一个或多个后续的多个数据值中的最新读取的每个与先前生成的混合的多个数据值和所述第一多个数据值中的一个之间异或(XOR)。
CN201480015991.9A 2013-03-15 2014-03-14 用于软信息生成的数据传输的性能优化 Active CN105264496B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361801463P 2013-03-15 2013-03-15
US61/801,463 2013-03-15
US13/963,444 2013-08-09
US13/963,444 US9367246B2 (en) 2013-03-15 2013-08-09 Performance optimization of data transfer for soft information generation
PCT/US2014/029453 WO2014144864A1 (en) 2013-03-15 2014-03-14 Performance optimization of data transfer for soft information generation

Publications (2)

Publication Number Publication Date
CN105264496A true CN105264496A (zh) 2016-01-20
CN105264496B CN105264496B (zh) 2018-06-22

Family

ID=51533763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480015991.9A Active CN105264496B (zh) 2013-03-15 2014-03-14 用于软信息生成的数据传输的性能优化

Country Status (4)

Country Link
US (1) US9367246B2 (zh)
KR (1) KR101982381B1 (zh)
CN (1) CN105264496B (zh)
WO (1) WO2014144864A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9761312B1 (en) 2016-03-16 2017-09-12 Micron Technology, Inc. FeRAM-DRAM hybrid memory

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129089A (en) * 1987-12-18 1992-07-07 Digital Equipment Corporation Distributed interlock apparatus and distributed interlock management method
US5381528A (en) * 1992-10-15 1995-01-10 Maxtor Corporation Demand allocation of read/write buffer partitions favoring sequential read cache
US20070091677A1 (en) * 2005-10-25 2007-04-26 M-Systems Flash Disk Pioneers Ltd. Method for recovering from errors in flash memory
US20070201274A1 (en) * 2000-01-06 2007-08-30 Super Talent Electronics Inc. Cell-Downgrading and Reference-Voltage Adjustment for a Multi-Bit-Cell Flash Memory
US20070263442A1 (en) * 2006-05-15 2007-11-15 Apple Inc. Off-Die Charge Pump that Supplies Multiple Flash Devices
US20080056005A1 (en) * 2006-08-30 2008-03-06 Micron Technology, Inc. Non-volatile memory cell read failure reduction
CN101484947A (zh) * 2006-05-15 2009-07-15 苹果公司 多级数据存储单元的维护操作
US20090292972A1 (en) * 2008-05-23 2009-11-26 Samsung Electronics Co., Ltd. Error correction apparatus, method thereof and memory device comprising the apparatus
US20100199138A1 (en) * 2009-02-02 2010-08-05 Jun Rye Rho Nonvolatile memory device and method of operating the same
US20110179249A1 (en) * 2010-01-15 2011-07-21 Silicon Motion, Inc. Data Storage Device and Method for Handling Data Read Out from Memory
CN102473460A (zh) * 2009-08-25 2012-05-23 桑迪士克以色列有限公司 将数据恢复到闪存器件中
CN102483955A (zh) * 2009-08-25 2012-05-30 美光科技公司 用于处理存储器装置中的阈值电压改变的方法、装置及系统

Family Cites Families (414)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4173737A (en) 1978-05-04 1979-11-06 Zenith Radio Corporation Limited position, non-volatile memory tuning system
US4888750A (en) 1986-03-07 1989-12-19 Kryder Mark H Method and system for erase before write magneto-optic recording
US4916652A (en) 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
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
US5416915A (en) 1992-12-11 1995-05-16 International Business Machines Corporation Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5537555A (en) 1993-03-22 1996-07-16 Compaq Computer Corporation Fully pipelined and highly concurrent memory controller
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
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
US6016560A (en) 1995-06-14 2000-01-18 Hitachi, Ltd. Semiconductor memory, memory device, and memory card
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
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
US6564271B2 (en) 1999-06-09 2003-05-13 Qlogic Corporation Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US20050114587A1 (en) 2003-11-22 2005-05-26 Super Talent Electronics Inc. ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines
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
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
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
US7318117B2 (en) 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
US6412042B1 (en) 1999-11-17 2002-06-25 Maxtor Corporation System and method for improved disk drive performance and reliability
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
DE19961138C2 (de) 1999-12-17 2001-11-22 Siemens Ag Multiport-RAM-Speichervorrichtung
US7082056B2 (en) 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
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
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
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
US6865650B1 (en) 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling
US6862651B2 (en) 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
US6738870B2 (en) 2000-12-22 2004-05-18 International Business Machines Corporation High speed remote storage controller
KR100381955B1 (ko) 2001-01-03 2003-04-26 삼성전자주식회사 기입 드라이버를 이용한 셀 전류 측정 스킴을 갖는 플래시메모리 장치
US6754773B2 (en) 2001-01-29 2004-06-22 Snap Appliance, Inc. Data engine with metadata processor
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
JP4177329B2 (ja) 2002-08-29 2008-11-05 株式会社ルネサステクノロジ 半導体処理装置及びicカード
US7120856B2 (en) 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
JP2004178782A (ja) 2002-10-04 2004-06-24 Sharp Corp 半導体記憶装置およびその制御方法および携帯電子機器
KR100457812B1 (ko) 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
US7399043B2 (en) 2002-12-02 2008-07-15 Silverbrook Research Pty Ltd Compensation for uneven printhead module lengths in a multi-module printhead
US20040114265A1 (en) 2002-12-16 2004-06-17 Xerox Corporation User-selectable automatic secure data file erasure of job after job completion
US7155579B1 (en) 2002-12-27 2006-12-26 Unisys Corporation Memory controller having programmable initialization sequence
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7296216B2 (en) 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
US7043505B1 (en) 2003-01-28 2006-05-09 Unisys Corporation Method variation for collecting stability data from proprietary systems
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
KR100543447B1 (ko) 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7527466B2 (en) 2003-04-03 2009-05-05 Simmons Robert J Building-erection structural member transporter
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
JP4170988B2 (ja) 2003-05-09 2008-10-22 富士通株式会社 実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体
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
EP2511787B1 (en) 2003-05-23 2017-09-20 IP Reservoir, LLC Data decompression and search 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
US7054968B2 (en) 2003-09-16 2006-05-30 Denali Software, Inc. Method and apparatus for multi-port memory controller
US7100002B2 (en) 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
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
TW200516821A (en) 2003-11-14 2005-05-16 Hon Hai Prec Ind Co Ltd System and method for starting up devices orderly
US7401174B2 (en) 2003-12-16 2008-07-15 Matsushita Electric Industrial Co., Ltd. File system defragmentation and data processing method and apparatus for an information recording medium
US7376887B2 (en) 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
US7197652B2 (en) 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US20050251617A1 (en) 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
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
US7035159B2 (en) 2004-04-01 2006-04-25 Micron Technology, Inc. Techniques for storing accurate operating current values
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
EP1870814B1 (en) 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
JP2005332471A (ja) 2004-05-19 2005-12-02 Hitachi Ltd ディスクアレイ装置
US20050273560A1 (en) 2004-06-03 2005-12-08 Hulbert Jared E Method and apparatus to avoid incoherency between a cache memory and flash memory
US7334179B2 (en) 2004-06-04 2008-02-19 Broadcom Corporation Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems
US7159069B2 (en) 2004-06-23 2007-01-02 Atmel Corporation Simultaneous external read operation during internal programming in a flash memory device
US7126873B2 (en) 2004-06-29 2006-10-24 Super Talent Electronics, Inc. Method and system for expanding flash storage device capacity
US7529898B2 (en) 2004-07-09 2009-05-05 International Business Machines Corporation Method for backing up and restoring data
US8190808B2 (en) 2004-08-17 2012-05-29 Rambus Inc. Memory device having staggered memory operations
DK3422583T3 (da) 2004-08-30 2020-09-28 Google Llc System og fremgangsmåde for at tilvejebringe ikke-flygtig hukommelsesadministration i trådløse telefoner
FR2875358B1 (fr) 2004-09-15 2006-12-15 Eads Telecom Soc Par Actions S Insertion d'un flux secondaire d'informations binaires dans un flux principal de symboles d'une modulation numerique
JP2006099665A (ja) 2004-09-30 2006-04-13 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
US7760880B2 (en) 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
KR100695891B1 (ko) 2004-11-17 2007-03-19 삼성전자주식회사 동작 모드에 따라 락 아웃을 선택적으로 수행하는 장치 및방법
US20060136681A1 (en) 2004-12-21 2006-06-22 Sanjeev Jain Method and apparatus to support multiple memory banks with a memory block
US8438459B2 (en) 2004-12-22 2013-05-07 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
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
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
US8171367B2 (en) 2005-06-27 2012-05-01 Thomson Licensing Stopping criteria in iterative decoders
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 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
KR20080054412A (ko) 2005-09-27 2008-06-17 엔엑스피 비 브이 에러 검출/보정 회로 및 방법과, 전자 메모리 소자 또는메모리 모듈
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
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
KR100966043B1 (ko) 2005-10-31 2010-06-25 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US7500062B2 (en) 2005-11-17 2009-03-03 International Business Machines Corporation Fast path memory read request processing in a multi-level memory architecture
WO2007058617A1 (en) 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
US8813052B2 (en) 2005-12-07 2014-08-19 Microsoft Corporation Cache metadata for implementing bounded transactional memory
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
US7546515B2 (en) 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
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
JP4863749B2 (ja) 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7681106B2 (en) 2006-03-29 2010-03-16 Freescale Semiconductor, Inc. Error correction device and methods thereof
US20070245061A1 (en) 2006-04-13 2007-10-18 Intel Corporation Multiplexing a parallel bus interface and a flash memory interface
US7685494B1 (en) 2006-05-08 2010-03-23 Marvell International, Ltd. Error correction coding for varying signal-to-noise ratio channels
US7707481B2 (en) 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
US20070300130A1 (en) 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
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
US7606084B2 (en) 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
JP4842719B2 (ja) 2006-06-28 2011-12-21 株式会社日立製作所 ストレージシステム及びそのデータ保護方法
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
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
KR20090087119A (ko) 2006-12-06 2009-08-14 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법
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 삼성전자주식회사 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
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 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
JP4897524B2 (ja) 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
KR100907218B1 (ko) 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
WO2008121553A1 (en) 2007-03-29 2008-10-09 Sandisk Corporation Non-volatile storage with decoding of data using reliability metrics based on multiple reads
WO2008121577A1 (en) 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US8032724B1 (en) 2007-04-04 2011-10-04 Marvell International Ltd. Demand-driven opportunistic garbage collection in memory components
US7996642B1 (en) 2007-04-25 2011-08-09 Marvell International Ltd. Digital locked loop on channel tagged memory requests for memory optimization
EP1988474A1 (en) 2007-05-04 2008-11-05 Axalto SA System and method of managing indexation of flash memory
US8151171B2 (en) 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
US8073648B2 (en) 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
US7930547B2 (en) 2007-06-15 2011-04-19 Alcatel-Lucent Usa Inc. High accuracy bloom filter using partitioned hashing
KR100891005B1 (ko) 2007-06-28 2009-03-31 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
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 株式会社デンソー 電子制御装置及び信号監視回路
WO2009058140A1 (en) 2007-10-31 2009-05-07 Agere Systems Inc. Systematic error correction for multi-level flash memory
US7894264B2 (en) 2007-11-07 2011-02-22 Micron Technology, Inc. Controlling a memory device responsive to degradation
US7945825B2 (en) 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8429492B2 (en) 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
JP4533968B2 (ja) 2007-12-28 2010-09-01 株式会社東芝 半導体記憶装置及びその制御方法、コントローラ、情報処理装置
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 株式会社東芝 誤り訂正装置および誤り訂正方法
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
JP2009266349A (ja) 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
US8185706B2 (en) 2008-04-30 2012-05-22 Apple Inc. Copyback optimization for memory system
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
KR101412974B1 (ko) 2008-05-28 2014-06-30 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
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 삼성전자주식회사 메모리 장치 및 메모리 데이터 프로그래밍 방법
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US8429514B1 (en) 2008-09-24 2013-04-23 Network Appliance, Inc. Dynamic load balancing of distributed parity in a RAID array
KR101484556B1 (ko) 2008-10-28 2015-01-20 삼성전자주식회사 독출 보상 회로
US8023334B2 (en) 2008-10-31 2011-09-20 Micron Technology, Inc. Program window adjust for memory cell signal line delay
US8214599B2 (en) 2008-11-04 2012-07-03 Gridiron Systems, Inc. Storage device prefetch system using directed graph clusters
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 삼성전자주식회사 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
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
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 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템
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
US20120117317A1 (en) 2009-08-20 2012-05-10 Rambus Inc. Atomic memory device
US8464106B2 (en) 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
KR101689420B1 (ko) 2009-09-09 2016-12-23 샌디스크 테크놀로지스 엘엘씨 저장 장치의 전력 감소 관리를 위한 장치, 시스템, 및 방법
US8478725B2 (en) 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
WO2011036228A1 (en) 2009-09-23 2011-03-31 Conor Maurice Ryan A flash memory device and control method
US8479061B2 (en) 2009-09-24 2013-07-02 AGIGA Tech Solid state memory cartridge with wear indication
EP2482194B1 (en) 2009-09-25 2013-12-25 Fujitsu Limited Memory system and memory system control method
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
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
US8380915B2 (en) 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
JP5788183B2 (ja) 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8355280B2 (en) 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
US8458417B2 (en) 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US8164967B2 (en) 2010-03-24 2012-04-24 Apple Inc. Systems and methods for refreshing non-volatile memory
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
JP2011233114A (ja) 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
US8321481B2 (en) 2010-05-13 2012-11-27 Assa Abloy Ab Method for incremental anti-tear garbage collection
US20110283119A1 (en) 2010-05-13 2011-11-17 GCCA Inc. System and Method for Providing Energy Efficient Cloud Computing
EP2577830A2 (en) 2010-06-01 2013-04-10 Koninklijke Philips Electronics N.V. System and method for sequential application of power to electrical loads
EP2577470A4 (en) 2010-06-04 2013-12-25 Sandisk Entpr Ip Llc CACHE ADMINISTRATION AND ACCELERATION IN STORAGE MEDIA
WO2012001917A1 (ja) 2010-06-29 2012-01-05 パナソニック株式会社 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置
US20120011393A1 (en) 2010-07-06 2012-01-12 Roberts Richard B Bios recovery
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
KR101131560B1 (ko) 2010-07-15 2012-04-04 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
US20120023144A1 (en) 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
US8503238B1 (en) 2010-07-21 2013-08-06 Sk Hynix Memory Solutions Inc. Error recovery for flash memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
CN102385902A (zh) 2010-09-01 2012-03-21 建兴电子科技股份有限公司 固态储存装置及其数据控制方法
JP2012058860A (ja) 2010-09-06 2012-03-22 Toshiba Corp メモリシステム
US8417878B2 (en) 2010-09-20 2013-04-09 Seagate Technology Llc Selection of units for garbage collection in flash memory
US8738846B2 (en) 2010-10-15 2014-05-27 Arkologic Limited File system-aware solid-state storage management system
US20120275466A1 (en) 2010-10-21 2012-11-01 Texas Instruments Incorporated System and method for classifying packets
US20140136927A1 (en) 2010-10-27 2014-05-15 Lsi Corporation Adaptive ecc techniques for flash memory based data storage
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
KR101774496B1 (ko) 2010-12-08 2017-09-05 삼성전자주식회사 비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법
KR20120064462A (ko) 2010-12-09 2012-06-19 삼성전자주식회사 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템
US8615681B2 (en) 2010-12-14 2013-12-24 Western Digital Technologies, Inc. System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss
US9038066B2 (en) 2010-12-22 2015-05-19 Vmware, Inc. In-place snapshots of a virtual disk configured with sparse extent
TWI446345B (zh) 2010-12-31 2014-07-21 Silicon Motion Inc 用來進行區塊管理之方法以及記憶裝置及控制器
JP2012151676A (ja) 2011-01-19 2012-08-09 Jvc Kenwood Corp 復号装置および復号方法
US8364888B2 (en) 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
US9251087B2 (en) 2011-02-11 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for virtual memory management
US8966319B2 (en) 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US8909888B2 (en) 2011-04-29 2014-12-09 Seagate Technology Llc Secure erasure of data from a non-volatile memory
US8713380B2 (en) 2011-05-03 2014-04-29 SanDisk Technologies, Inc. Non-volatile memory and method having efficient on-chip block-copying with controlled error rate
US8745318B2 (en) 2011-06-28 2014-06-03 Seagate Technology Llc Parameter tracking for memory devices
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9378138B2 (en) 2011-06-29 2016-06-28 International Business Machines Corporation Conservative garbage collection and access protection
US8645773B2 (en) 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory
US20130024735A1 (en) 2011-07-19 2013-01-24 Ocz Technology Group Inc. Solid-state memory-based storage method and device with low error rate
US8566667B2 (en) 2011-07-29 2013-10-22 Stec, Inc. Low density parity check code decoding system and method
US8692561B2 (en) 2011-08-11 2014-04-08 International Business Machines Corporation Implementing chip to chip calibration within a TSV stack
US20130047045A1 (en) 2011-08-19 2013-02-21 Stec, Inc. Error indicator from ecc decoder
US9047210B2 (en) 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages
CN103946814B (zh) 2011-09-30 2017-06-06 英特尔公司 计算机系统中的非易失性随机存取存储器的自主初始化
US8516019B2 (en) 2011-10-03 2013-08-20 Oracle America, Inc. Time-based object aging for generational garbage collectors
US8825721B2 (en) 2011-10-03 2014-09-02 Oracle International Corporation Time-based object aging for generational garbage collectors
US8949517B2 (en) 2011-10-05 2015-02-03 Lsi Corporation Self-journaling and hierarchical consistency for non-volatile storage
US8711619B2 (en) 2011-10-18 2014-04-29 Seagate Technology Llc Categorizing bit errors of solid-state, non-volatile memory
US10359949B2 (en) 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
US8683297B2 (en) 2011-11-02 2014-03-25 Sandisk Technologies Inc. Systems and methods of generating a replacement default read threshold
US20140359381A1 (en) 2011-11-02 2014-12-04 The University Of Tokyo Memory controller and data storage device
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
US8954822B2 (en) * 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US8830746B2 (en) 2011-12-28 2014-09-09 Apple Inc. Optimized threshold search in analog memory cells using separator pages of the same type as read pages
JP2013142947A (ja) 2012-01-10 2013-07-22 Sony Corp 記憶制御装置、記憶装置および記憶制御装置の制御方法
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
WO2013112332A1 (en) 2012-01-24 2013-08-01 Apple Inc. Enhanced programming and erasure schemes for analog memory cells
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
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
US8964482B2 (en) 2012-01-30 2015-02-24 Freescale Semiconductor, Inc. Dynamic healing of non-volatile memory cells
US8832050B2 (en) 2012-03-09 2014-09-09 Hewlett-Packard Development Company, L.P. Validation of distributed balanced trees
US8817569B2 (en) 2012-03-19 2014-08-26 Sandisk Technologies Inc. Immunity against temporary and short power drops in non-volatile memory
US20130290611A1 (en) 2012-03-23 2013-10-31 Violin Memory Inc. Power management in a flash memory
US9311501B2 (en) 2012-03-26 2016-04-12 International Business Machines Corporation Using different secure erase algorithms to erase chunks from a file associated with different security levels
US8923066B1 (en) 2012-04-09 2014-12-30 Sk Hynix Memory Solutions Inc. Storage of read thresholds for NAND flash storage using linear approximation
US8990477B2 (en) 2012-04-19 2015-03-24 Sandisk Technologies Inc. System and method for limiting fragmentation
US20130297613A1 (en) 2012-05-04 2013-11-07 Monmouth University Indexing based on key ranges
US20130343131A1 (en) 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
US8634267B2 (en) 2012-05-14 2014-01-21 Sandisk Technologies Inc. Flash memory chip power management for data reliability and methods thereof
US20130346672A1 (en) 2012-06-22 2013-12-26 Microsoft Corporation Multi-Tiered Cache with Storage Medium Awareness
KR101997079B1 (ko) 2012-07-26 2019-07-08 삼성전자주식회사 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법
KR20140028481A (ko) 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 쓰기 전류를 측정할 수 있는 반도체 메모리 장치 및 쓰기 전류 측정 방법
US9329986B2 (en) 2012-09-10 2016-05-03 Sandisk Technologies Inc. Peak current management in multi-die non-volatile memory devices
US8938656B2 (en) 2012-09-14 2015-01-20 Sandisk Technologies Inc. Data storage device with intermediate ECC stage
US9128690B2 (en) 2012-09-24 2015-09-08 Texas Instruments Incorporated Bus pin reduction and power management
US9104328B2 (en) 2012-10-31 2015-08-11 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
US8634248B1 (en) 2012-11-09 2014-01-21 Sandisk Technologies Inc. On-device data analytics using NAND flash based intelligent memory
US8817541B2 (en) 2012-11-09 2014-08-26 Sandisk Technologies Inc. Data search using bloom filters and NAND based content addressable memory
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US8949544B2 (en) 2012-11-19 2015-02-03 Advanced Micro Devices, Inc. Bypassing a cache when handling memory requests
US9135185B2 (en) 2012-12-23 2015-09-15 Advanced Micro Devices, Inc. Die-stacked memory device providing data translation
US8869008B2 (en) 2013-01-17 2014-10-21 Apple Inc. Adaptation of analog memory cell read thresholds using partial ECC syndromes
KR20140100330A (ko) 2013-02-06 2014-08-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9383795B2 (en) 2013-03-10 2016-07-05 Seagate Technololgy Llc Storage device power failure infrastructure
US9042181B2 (en) 2013-03-15 2015-05-26 SanDisk Technologies, Inc. Periodic erase operation for a non-volatile medium
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9531038B2 (en) 2013-07-31 2016-12-27 Dell Products, Lp System and method of cell block voltage analytics to improve balancing effectiveness and identify self-discharge rate
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

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129089A (en) * 1987-12-18 1992-07-07 Digital Equipment Corporation Distributed interlock apparatus and distributed interlock management method
US5381528A (en) * 1992-10-15 1995-01-10 Maxtor Corporation Demand allocation of read/write buffer partitions favoring sequential read cache
US20070201274A1 (en) * 2000-01-06 2007-08-30 Super Talent Electronics Inc. Cell-Downgrading and Reference-Voltage Adjustment for a Multi-Bit-Cell Flash Memory
US20070091677A1 (en) * 2005-10-25 2007-04-26 M-Systems Flash Disk Pioneers Ltd. Method for recovering from errors in flash memory
US20070263442A1 (en) * 2006-05-15 2007-11-15 Apple Inc. Off-Die Charge Pump that Supplies Multiple Flash Devices
CN101484947A (zh) * 2006-05-15 2009-07-15 苹果公司 多级数据存储单元的维护操作
US20080056005A1 (en) * 2006-08-30 2008-03-06 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US20090292972A1 (en) * 2008-05-23 2009-11-26 Samsung Electronics Co., Ltd. Error correction apparatus, method thereof and memory device comprising the apparatus
US20100199138A1 (en) * 2009-02-02 2010-08-05 Jun Rye Rho Nonvolatile memory device and method of operating the same
CN102473460A (zh) * 2009-08-25 2012-05-23 桑迪士克以色列有限公司 将数据恢复到闪存器件中
CN102483955A (zh) * 2009-08-25 2012-05-30 美光科技公司 用于处理存储器装置中的阈值电压改变的方法、装置及系统
US20110179249A1 (en) * 2010-01-15 2011-07-21 Silicon Motion, Inc. Data Storage Device and Method for Handling Data Read Out from Memory

Also Published As

Publication number Publication date
WO2014144864A1 (en) 2014-09-18
CN105264496B (zh) 2018-06-22
KR20160009527A (ko) 2016-01-26
US9367246B2 (en) 2016-06-14
KR101982381B1 (ko) 2019-05-27
US20140281044A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
US20200042223A1 (en) System and method for facilitating a high-density storage device with improved performance and endurance
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102102828B1 (ko) 메모리에서 에러 정정 코드(ecc) 연산
US9384126B1 (en) Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9213598B2 (en) Nonvolatile memory device and method of operating the same
US20150043282A1 (en) Method of estimating deterioration state of memory device and related method of wear leveling
KR101990972B1 (ko) 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
CN105637490A (zh) 用于在闪速存储器装置之间迁移数据的方法和系统
TW201229757A (en) Stripe-based non-volatile multilevel memory operation
CN105683927A (zh) 用于重新平衡贮存在闪速存储器装置中的数据的方法和系统
KR20110089728A (ko) 솔리드 스테이트 드라이브의 에러 제어 방법
KR20130060791A (ko) 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
CN102682841A (zh) 具有存储设备的温度传感器的使用
CN110827906B (zh) 存储器系统及其操作方法
US20150143185A1 (en) Data storage and variable length error correction information
KR20130097995A (ko) 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템
KR20130130485A (ko) 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템
US9524235B1 (en) Local hash value generation in non-volatile data storage systems
US10430278B2 (en) RAID system including nonvolatile memory and operating method of the same
US10055286B2 (en) Data storage device and operating method thereof
CN107924700A (zh) 自适应多阶段擦除
CN111477256B (zh) 用于使用异步独立平面读取功能改善存储设备的性能的方法和系统
TW202008355A (zh) 記憶體系統、記憶體控制器及其操作方法
KR102440704B1 (ko) 예측 메모리 관리
TW201636850A (zh) 記憶體系統及其操作方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160518

Address after: texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Enterprise Intellectual Property Co., Ltd.

CB02 Change of applicant information

Address after: texas

Applicant after: DELPHI INT OPERATIONS LUX SRL

Address before: texas

Applicant before: Sandisk Corp.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant