CN102629237B - 非易失性半导体存储器及搜索最后写入地址的方法 - Google Patents

非易失性半导体存储器及搜索最后写入地址的方法 Download PDF

Info

Publication number
CN102629237B
CN102629237B CN201210022242.1A CN201210022242A CN102629237B CN 102629237 B CN102629237 B CN 102629237B CN 201210022242 A CN201210022242 A CN 201210022242A CN 102629237 B CN102629237 B CN 102629237B
Authority
CN
China
Prior art keywords
address
storage component
component part
hunting zone
nonvolatile semiconductor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210022242.1A
Other languages
English (en)
Other versions
CN102629237A (zh
Inventor
E·O·阿巴斯托
J·娄
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN102629237A publication Critical patent/CN102629237A/zh
Application granted granted Critical
Publication of CN102629237B publication Critical patent/CN102629237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及非易失性半导体存储器的多个器件的并行搜索。公开了一种非易失性半导体存储器,其包括N个存储器器件,每个存储器器件包括多个块,其中每个块包括通过地址访问的多个存储器段。通过为N个存储器器件的每个发出读取命令来进行搜索,其中每个读取命令的地址间隔的距离是响应于地址的搜索范围和N确定的距离;地址的搜索范围大于N。从至少一个存储器器件读取的数据被评估以确定搜索是否完成。

Description

非易失性半导体存储器及搜索最后写入地址的方法
技术领域
本公开总体涉及非易失性半导体存储器的多个器件的并行搜索。
背景技术
非易失性半导体存储器(NVSM)可以被用作计算机系统(例如,桌上型计算机、膝上型计算机、便携式计算机等)或者消费类设备(例如,音乐播放器、手机、相机等)或者其它合适应用的大容量存储器。NVSM可以包括一个或更多个存储器器件(诸如闪存存储器)和用于存取/访问每个存储器器件的控制电路。每个存储器器件被耦合到I/O总线以及多个接口控制线。当向存储器器件发出编程命令或者擦除命令时,控制电路经由I/O总线传递地址和命令数据(以及用于编程操作的写入数据)。当发出读取命令时,控制电路经由I/O总线传递地址和命令数据,然后经由I/O总线接收读取数据。
每个存储器器件通常包括以段编程的一个或更多个存储器阵列,这些段被称为“页”。多个页被分组为“块”,其中通过擦除整块的页来擦除页。因此,在擦除周期期间擦除块之前,单个块的不同页(或者部分页)可以在多个编程周期上被编程。
通常保持写日志,该写日志包括地址映射(逻辑块地址到物理块地址)以及最后写入的页。将写日志周期性地写到NVSM从而使其跨过加电周期被保存。然而,当发生电力故障时可能不能保存写日志,因此当NVSM被加电时不能从写日志确定最后写入的块。相反,通常搜索NVSM以定位最后写入的页,例如通过搜索标识最后写入页的地址的特定模式。
发明内容
根据本公开的一个实施例,一种非易失性半导体存储器,其包括N个存储器器件和控制电路,其中每个存储器器件包括多个块,其中多个块中的每个块包括通过地址访问的多个存储器段,控制电路可操作用于通过以下操作在地址的搜索范围内通过进行搜索来定位最后写入的地址:为N个存储器器件的每个发出读取命令,其中每个读取命令的地址间隔一距离,该距离是基于地址的搜索范 围和N确定的;并且地址的搜索范围大于N;以及评估从至少一个存储器器件中读取的数据以确定搜索是否完成。
根据本公开的另一个实施例,一种搜索非易失性半导体存储器中的最后写入的地址的方法,该非易失性半导体存储器包括N个存储器器件,每个存储器器件包括多个块,其中多个块中的每个块包括通过地址访问的多个存储器段,该方法包括:为N个存储器器件的每个发出读取命令,其中每个读取命令的地址间隔一距离,该距离是基于非易失性半导体存储器的地址的搜索范围和N确定的;并且地址的搜索范围大于N;以及评估从至少一个存储器器件读取的数据以确定搜索是否完成。
附图说明
图1A示出根据本发明实施例包括N个存储器器件的非易失性半导体存储器。
图1B示出根据本发明实施例的流程图,其中通过向N个存储器器件的每个发出读取命令来进行搜索,其中每个读取命令的地址间隔的距离是由搜索范围和N确定的距离。
图1C图示说明示例性实施例,其中存在3个存储器器件,搜索范围是27个地址,并且读取命令的地址之间的距离是9。
图2A图示说明示例性实施例,其中存在4个存储器器件,初始搜索范围是81个地址,并且读取命令的地址之间的初始距离是20。
图2B图示说明示例性实施例,其中在第一搜索迭代之后,搜索范围更新为20,并且读取命令的地址之间的距离更新为5。
图2C图示说明示例性实施例,其中调整读取命令的地址从而使得地址对N取模的结果是唯一的(从而读取命令被发送到N个存储器器件的每个)。
图2D图示说明第三和最后搜索迭代的示例性实施例,其中发出读取命令的连继的地址,每个地址针对N个存储器器件的每个。
图3是根据本发明实施例的流程图,其中在每次搜索迭代之后更新搜索范围和读取命令的地址之间的距离。
图4A-图4C示出替代实施例,其中调整读取命令的地址从而使得地址对N取模的结果是唯一的(从而读取命令被发送到N个存储器器件的每个)。
具体实施方式
图1A示出根据本发明实施例的非易失性半导体存储器2,其包括N个存储器器件41-4N,每个存储器器件包括多个块,其中每个块包括通过地址访问的多个存储器段。非易失性半导体存储器2还包括控制电路6,控制电路6可操作用于执行图1B的流程图,其中通过对N个存储器器件的每个发出读取命令来执行搜索,并且每个读取命令的地址间隔一定的距离,该距离是响应于地址的搜索范围和N确定的,并且该地址的搜索范围大于N(步骤8)。从至少一个存储器器件读取的数据被评估以确定搜索是否完成(步骤10)。
非易失性半导体存储器2可以包括控制电路6和存储器器件41-4N的任意适当配置。在一个实施例中,每个存储器器件41-4N包括适当的闪存存储器(例如,NAND或者NOR闪存),并且控制电路6包括适当的闪存控制器。在一个实施例中,控制电路6通过对磁盘驱动器进行仿真来实现固态驱动器(SSD),该磁盘驱动器可由主机系统使用标准磁盘驱动器通信协议(例如,ATA协议)访问。在图1A的实施例中,每个存储器器件包括多个块,并且每个块包括多个被称为页的存储器段。在读/写命令期间访问的存储器段可以包括任意适当大小,诸如一块页中的完整页或者部分页。在本发明的实施例中,例如,当尝试找到电力故障期间最后写入的页时,可以搜索分配给存储器器件的存储器段的地址范围。
图1C示出示例性实施例,其中非易失性半导体存储器2包括能够并行处理读/写命令的3个存储器器件(N=3)。例如,当处理写命令时,数据可以并行地作为“超级块”写入到三个连继地址(例如,A1、A2和A3),每个地址被分配到3个存储器器件的每个中的块的相应存储器段。接着可以通过读取三个连继地址的超级块即并行地从每个存储器器件读取相应存储器段来处理读取操作。
在一个实施例中,为了加速搜索存储器器件(例如,找到电力故障期间最后写入的存储器段),读取命令并行发出到N个存储器器件的每个,其中读取地址间隔的距离是由搜索范围和存储器器件的数量N确定的距离。在图1C的示例中,读取命令的地址之间的距离是9(搜索范围除以N)。如以下更详细描述,然后评估从存储器器件读取的数据,以便更新地址的搜索范围和读取地址之间的距离,因而通过减少搜索迭代次数来加速搜索操作。
图2A-图2D图示说明搜索一定范围的地址以确定电力故障期间的最后写入页的本发明的实施例。在图2A的示例中,非易失性半导体存储器包括4个存储器器件(N=4),并且在电力故障期间最后写入的地址是A47。因此,在从A1到A80的地址搜索范围内进行搜索,以找到最后写入的地址A47,其中从A1到A80 的初始搜索范围表示在保存写日志之前写入的地址块。
在图2A-图2D基础上参照图3的流程图来理解根据本发明的实施例的迭代搜索步骤。通过用N=4整除初始搜索范围(81),确定读取地址之间的初始距离等于20(步骤12)。起始地址被初始化(步骤14),诸如通过将读取距离除以2并且将得到的地址调整到第一存储器器件。然后当前地址被分配到起始地址(步骤16),并且通过将读取距离与当前地址相加来确定下一个地址(步骤18)。然后当前地址被分配到下一地址(步骤20),并且重复该过程直到为N个存储器器件的每个产生了读取地址(步骤22)。因此,在图2A的示例中,在第一搜索迭代期间,发出4个读取命令(分别对应N个存储器器件的每个),其中读取命令的地址间隔距离为20。
在产生读取命令之后,如果必要则调整读取地址(步骤24)从而使得每个地址除以N的模是唯一值(从而读取命令被发送到N个存储器器件的每个)。接着向N个存储器器件的每个发出读取命令(步骤26),并且从存储器器件读取的数据被评估以确定搜索是否完成(步骤28)。如果搜索未完成,则更新搜索范围(步骤30)并且从步骤12开始执行另一个迭代。
例如,可以相对于与写入的存储器段对应的最后读取地址和与未写入的存储器段对应的第一读取地址,更新搜索范围(图3的步骤30)。参照图2A的示例,地址A30对应于先前写入的最后读取存储器段,并且地址A51对应于未写入的第一读取存储器段。因此,搜索范围被更新为A50减去A31加1(20)。接着读取命令之间的距离被更新(步骤12)为20除以4等于5。接着通过将更新距离(5)加到每个随后的地址,从起始地址(例如,A31)确定读取命令的地址,如图2B所例示。然而,当除以N取模后,得到的地址将不是唯一的(即,多个读取地址分配到同一存储器器件)。因此,调整读取地址(步骤24)从而使得地址除以N取模后是唯一的(从而读取命令被发送到N个存储器器件的每个)。图2C示出调整的读取地址的示例,其中最后两个地址递增1。
如图2C所示,在并行执行读取命令之后,读取地址被评估以找到最后写入地址(A44)和第一个未写入地址(A50)。接着更新搜索范围并且执行最后一次搜索迭代,如图2D所示。如图2D所示,在执行读取命令之后,最后写入地址(A47)与第一个未写入地址(A48)相邻,因此最后写入地址(A47)被定位并且搜索结束。
任意适当技术可以被用来标识写入的存储器段和未写入的存储器段。例 如,在一个实施例中,块中的每个存储器段可以包括扩展数据(例如,标记),该扩展数据标识存储器段为已写入或者未写入。因此,在本实施例中,从每个存储器段读取的数据可以与目标数据(例如,标记)相比较以确定存储器段是已写入还是未写入。在另一个实施例中,从每个存储器段读取的数据可以被处理以产生校验值(例如,错误校正值),该校验值标识存储器段为已写入或者未写入。此处描述的搜索技术还可以被用来找到存储在存储器段中的其它类型的数据或者存储器段的其它状态(不同于最后写入的存储器段)。
在图3的步骤24,可以使用任意适当技术来调整地址,从而使得地址除以N取模后是唯一值(从而读取命令被发送到N个存储器器件的每个)。图4A是根据用于调整地址的实施例的流程图,其中计数器被初始化为零(步骤32),接着为N个地址的每个产生调整值(步骤34)。以对应的调整值调整每个地址(步骤36),并且重复该过程直至N个地址的每个已经被调整(步骤38)。
图4B是示出替代实施例的流程图,其用于调整地址从而使得地址除以N取模(即地址MOD N)是唯一值。计数器被初始化为零(步骤40),并且为N个地址的每个产生调整值(步骤42)。以对应的调整值调整每个地址(步骤44),并且重复该过程直至N个地址的每个已经被调整(步骤46)。
图4C是示出替代实施例的流程图,其用于调整地址从而使得地址除以N取模是唯一值。计数器被初始化为零(步骤48),并且产生偏移量(步骤50)。使用该偏移量为N个地址的每个产生调整值(步骤42)。以对应的调整值调整每个地址(步骤54),并且重复该过程直至N个地址的每个已经被调整(步骤56)。
非易失性半导体存储器中的控制电路6(图1A)可以包括任意适当电路,诸如一个或更多个集成电路。在一个实施例中,控制电路6包括微处理器,该微处理器执行用于实现上述流程图的控制程序的代码段。可替换地或者除了微处理器之外,控制电路6还可以包括实现为专用集成电路的状态机电路。

Claims (14)

1.一种非易失性半导体存储器,其包括N个存储器器件和控制电路,其中每个存储器器件包括多个块,其中所述多个块中的每个块包括通过地址访问的多个存储器段,所述控制电路可操作用于通过以下操作在地址的搜索范围内通过进行搜索来定位最后写入的地址:
为所述N个存储器器件的每个发出读取命令,其中:
每个读取命令的地址间隔一定的距离,所述距离是基于所述地址的所述搜索范围和N确定的;并且
所述地址的所述搜索范围大于N;以及
评估从至少一个所述存储器器件中读取的数据以确定搜索是否完成。
2.根据权利要求1所述的非易失性半导体存储器,其中所述N个存储器器件可操作用于并行地处理各个读取命令。
3.根据权利要求1所述的非易失性半导体存储器,其中所述控制电路可操作用于通过将所述地址的所述搜索范围除以N来确定所述距离。
4.根据权利要求1所述的非易失性半导体存储器,其中所述控制电路可操作用于响应于评估从所述至少一个所述存储器器件中读取的数据来更新所述搜索范围。
5.根据权利要求4所述的非易失性半导体存储器,其中所述控制电路可操作用于响应于评估从所述至少一个所述存储器器件中读取的数据来减小所述搜索范围。
6.根据权利要求5所述的非易失性半导体存储器,其中所述控制电路可操作用于至少部分基于与写入的存储器段对应的最后读取地址和与未写入的存储器段对应的第一读取地址减小所述搜索范围。
7.根据权利要求1所述的非易失性半导体存储器,其中所述控制电路可操作用于响应于第一地址除以N的模来调整第一读取命令的所述第一地址。
8.一种搜索非易失性半导体存储器中的最后写入的地址的方法,所述非易失性半导体存储器包括N个存储器器件,每个存储器器件包括多个块,其中所述多个块中的每个块包括通过地址访问的多个存储器段,所述方法包括:
为所述N个存储器器件的每个发出读取命令,其中:
每个读取命令的地址间隔一定的距离,所述距离是基于所述非易失性半导体存储器的地址的搜索范围和N确定的;并且
所述地址的所述搜索范围大于N;以及
评估从至少一个所述存储器器件读取的数据以确定搜索是否完成。
9.根据权利要求8所述的方法,其中所述N个存储器器件可操作用于并行地处理各个读取命令。
10.根据权利要求8所述的方法,所述方法还包括通过将所述地址的所述搜索范围除以N来确定所述距离。
11.根据权利要求8所述的方法,所述方法还包括响应于评估从所述至少一个所述存储器器件中读取的数据来更新所述搜索范围。
12.根据权利要求11所述的方法,所述方法还包括响应于评估从所述至少一个所述存储器器件中读取的数据来减小所述搜索范围。
13.根据权利要求12所述的方法,所述方法还包括至少部分基于与写入的存储器段对应的最后读取地址和与未写入的存储器段对应的第一读取地址减小所述搜索范围。
14.根据权利要求8所述的方法,所述方法还包括响应于第一地址除以N的模来调整第一读取命令的所述第一地址。
CN201210022242.1A 2011-02-04 2012-02-01 非易失性半导体存储器及搜索最后写入地址的方法 Active CN102629237B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/021,456 2011-02-04
US13/021,456 US8683113B2 (en) 2011-02-04 2011-02-04 Concurrently searching multiple devices of a non-volatile semiconductor memory

Publications (2)

Publication Number Publication Date
CN102629237A CN102629237A (zh) 2012-08-08
CN102629237B true CN102629237B (zh) 2016-09-14

Family

ID=46587497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210022242.1A Active CN102629237B (zh) 2011-02-04 2012-02-01 非易失性半导体存储器及搜索最后写入地址的方法

Country Status (2)

Country Link
US (1) US8683113B2 (zh)
CN (1) CN102629237B (zh)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US8959284B1 (en) 2010-06-28 2015-02-17 Western Digital Technologies, Inc. Disk drive steering write data to write cache based on workload
US9058280B1 (en) 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
US8769190B1 (en) 2010-09-15 2014-07-01 Western Digital Technologies, Inc. System and method for reducing contentions in solid-state memory access
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9069475B1 (en) 2010-10-26 2015-06-30 Western Digital Technologies, Inc. Hybrid drive selectively spinning up disk when powered on
US8700950B1 (en) 2011-02-11 2014-04-15 Western Digital Technologies, Inc. System and method for data error recovery in a solid state subsystem
US8700951B1 (en) 2011-03-09 2014-04-15 Western Digital Technologies, Inc. System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata
US9361044B2 (en) 2011-03-28 2016-06-07 Western Digital Technologies, Inc. Power-safe data management system
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US9268701B1 (en) 2011-11-21 2016-02-23 Western Digital Technologies, Inc. Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability
US8977804B1 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Varying data redundancy in storage systems
US8959416B1 (en) 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
US9348741B1 (en) 2011-12-19 2016-05-24 Western Digital Technologies, Inc. Systems and methods for handling write data access requests in data storage devices
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US8966205B1 (en) 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US8984247B1 (en) 2012-05-10 2015-03-17 Western Digital Technologies, Inc. Storing and reconstructing mapping table data in a data storage system
US9977612B1 (en) 2012-05-11 2018-05-22 Western Digital Technologies, Inc. System data management using garbage collection and logs
US9170932B1 (en) 2012-05-22 2015-10-27 Western Digital Technologies, Inc. System data storage mechanism providing coherency and segmented data loading
US8924832B1 (en) 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
US8954653B1 (en) 2012-06-26 2015-02-10 Western Digital Technologies, Inc. Mechanisms for efficient management of system data in data storage systems
US8966343B2 (en) 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US9032271B2 (en) 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9619317B1 (en) 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US8966339B1 (en) 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
US9122625B1 (en) 2012-12-18 2015-09-01 Western Digital Technologies, Inc. Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems
US9214963B1 (en) 2012-12-21 2015-12-15 Western Digital Technologies, Inc. Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
US8954655B2 (en) 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US8972655B2 (en) 2013-01-21 2015-03-03 Western Digital Technolgies, Inc. Initialization of a storage device
US9274966B1 (en) 2013-02-20 2016-03-01 Western Digital Technologies, Inc. Dynamically throttling host commands to disk drives
US9454474B2 (en) 2013-03-05 2016-09-27 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
US9641378B1 (en) 2013-03-12 2017-05-02 Western Digital Technologies, Inc. Adjustment of compression ratios for data storage
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US9280472B1 (en) 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US8990668B2 (en) 2013-03-14 2015-03-24 Western Digital Technologies, Inc. Decoding data stored in solid-state memory
US9059742B1 (en) 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US9218279B2 (en) 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
US9335950B2 (en) 2013-03-15 2016-05-10 Western Digital Technologies, Inc. Multiple stream compression and formatting of data for data storage systems
US9448738B2 (en) 2013-03-15 2016-09-20 Western Digital Technologies, Inc. Compression and formatting of data for data storage systems
US9013920B2 (en) 2013-04-03 2015-04-21 Western Digital Technologies, Inc. Systems and methods of write precompensation to extend life of a solid-state memory
US9123686B2 (en) 2013-04-12 2015-09-01 Western Digital Technologies, Inc. Thermal management for solid-state drive
US9338927B2 (en) 2013-05-02 2016-05-10 Western Digital Technologies, Inc. Thermal interface material pad and method of forming the same
US9195293B1 (en) 2013-05-03 2015-11-24 Western Digital Technologies, Inc. User controlled data storage device power and performance settings
US9632926B1 (en) 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
US9081700B2 (en) 2013-05-16 2015-07-14 Western Digital Technologies, Inc. High performance read-modify-write system providing line-rate merging of dataframe segments in hardware
US9170938B1 (en) 2013-05-17 2015-10-27 Western Digital Technologies, Inc. Method and system for atomically writing scattered information in a solid state storage device
US9280200B1 (en) 2013-05-20 2016-03-08 Western Digital Technologies, Inc. Automatic peak current throttle of tiered storage elements
US9740248B2 (en) 2013-06-07 2017-08-22 Western Digital Technologies, Inc. Component placement within a solid state drive
US9274978B2 (en) 2013-06-10 2016-03-01 Western Digital Technologies, Inc. Migration of encrypted data for data storage systems
US9436630B2 (en) 2013-06-11 2016-09-06 Western Digital Technologies, Inc. Using dual phys to support multiple PCIe link widths
US9830257B1 (en) 2013-06-12 2017-11-28 Western Digital Technologies, Inc. Fast saving of data during power interruption in data storage systems
US9665501B1 (en) 2013-06-18 2017-05-30 Western Digital Technologies, Inc. Self-encrypting data storage device supporting object-level encryption
US9304560B2 (en) 2013-06-19 2016-04-05 Western Digital Technologies, Inc. Backup power for reducing host current transients
US9208101B2 (en) 2013-06-26 2015-12-08 Western Digital Technologies, Inc. Virtual NAND capacity extension in a hybrid drive
US9583153B1 (en) 2013-06-28 2017-02-28 Western Digital Technologies, Inc. Memory card placement within a solid state drive
US9042197B2 (en) 2013-07-23 2015-05-26 Western Digital Technologies, Inc. Power fail protection and recovery using low power states in a data storage device/system
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
US9070379B2 (en) 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
US9442668B1 (en) 2013-08-29 2016-09-13 Western Digital Technologies, Inc. Adaptive power management control with performance feedback
US9263136B1 (en) 2013-09-04 2016-02-16 Western Digital Technologies, Inc. Data retention flags in solid-state drives
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
US9007841B1 (en) 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
US10444998B1 (en) 2013-10-24 2019-10-15 Western Digital Technologies, Inc. Data storage device providing data maintenance services
US9330143B2 (en) 2013-10-24 2016-05-03 Western Digital Technologies, Inc. Data storage device supporting accelerated database operations
US8917471B1 (en) 2013-10-29 2014-12-23 Western Digital Technologies, Inc. Power management for data storage device
US9323467B2 (en) 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
US9286176B1 (en) 2013-11-08 2016-03-15 Western Digital Technologies, Inc. Selective skipping of blocks in an SSD
US9270296B1 (en) 2013-11-13 2016-02-23 Western Digital Technologies, Inc. Method and system for soft decoding through single read
US9529710B1 (en) 2013-12-06 2016-12-27 Western Digital Technologies, Inc. Interleaved channels in a solid-state drive
US9007854B1 (en) 2013-12-09 2015-04-14 Western Digital Technologies, Inc. Method and system for optimized soft decoding in a data storage device
US10140067B1 (en) 2013-12-19 2018-11-27 Western Digital Technologies, Inc. Data management for data storage device with multiple types of non-volatile memory media
US9036283B1 (en) 2014-01-22 2015-05-19 Western Digital Technologies, Inc. Data storage device with selective write to a first storage media or a second storage media
US9337864B1 (en) 2014-01-29 2016-05-10 Western Digital Technologies, Inc. Non-binary LDPC decoder using binary subgroup processing
US9250994B1 (en) 2014-02-05 2016-02-02 Western Digital Technologies, Inc. Non-binary low-density parity check (LDPC) decoding using trellis maximization
US9384088B1 (en) 2014-02-24 2016-07-05 Western Digital Technologies, Inc. Double writing map table entries in a data storage system to guard against silent corruption
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9348520B2 (en) 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
US9268487B2 (en) 2014-03-24 2016-02-23 Western Digital Technologies, Inc. Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached
US9448742B2 (en) 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
US9564212B2 (en) 2014-05-06 2017-02-07 Western Digital Technologies, Inc. Solid-state memory corruption mitigation
US9690696B1 (en) 2014-05-14 2017-06-27 Western Digital Technologies, Inc. Lifetime extension of memory for data storage system
US9472222B2 (en) 2014-05-16 2016-10-18 Western Digital Technologies, Inc. Vibration mitigation for a data storage device
US9275741B1 (en) 2014-09-10 2016-03-01 Western Digital Technologies, Inc. Temperature compensation management in solid-state memory
US9418699B1 (en) 2014-10-09 2016-08-16 Western Digital Technologies, Inc. Management of sequentially written data
US9405356B1 (en) 2014-10-21 2016-08-02 Western Digital Technologies, Inc. Temperature compensation in data storage device
US9823859B2 (en) 2014-11-06 2017-11-21 Western Digital Technologies, Inc. Mechanical shock mitigation for data storage
US9857995B1 (en) 2015-03-09 2018-01-02 Western Digital Technologies, Inc. Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection
US9785563B1 (en) 2015-08-13 2017-10-10 Western Digital Technologies, Inc. Read command processing for data storage system based on previous writes
US9668337B2 (en) 2015-09-08 2017-05-30 Western Digital Technologies, Inc. Temperature management in data storage devices
US9727261B2 (en) 2015-09-24 2017-08-08 Western Digital Technologies, Inc. Weighted programming patterns in solid-state data storage systems
US9836232B1 (en) 2015-09-30 2017-12-05 Western Digital Technologies, Inc. Data storage device and method for using secondary non-volatile memory for temporary metadata storage
US10013174B2 (en) 2015-09-30 2018-07-03 Western Digital Technologies, Inc. Mapping system selection for data storage device
US9620226B1 (en) 2015-10-30 2017-04-11 Western Digital Technologies, Inc. Data retention charge loss and read disturb compensation in solid-state data storage systems
US10126981B1 (en) 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US10387303B2 (en) 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
KR102593178B1 (ko) * 2016-08-19 2023-10-25 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10459644B2 (en) 2016-10-28 2019-10-29 Western Digital Techologies, Inc. Non-volatile storage system with integrated compute engine and optimized use of local fast memory
US10565123B2 (en) 2017-04-10 2020-02-18 Western Digital Technologies, Inc. Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US10977186B2 (en) * 2017-11-21 2021-04-13 Micron Technology, Inc. Last written page searching
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store for data storage devices
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1437721A (zh) * 2000-02-17 2003-08-20 三因迪斯克公司 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统
CN1639683A (zh) * 2002-03-07 2005-07-13 诺基亚有限公司 用于并行访问多个存储器模块的方法和设备
CN101206912A (zh) * 2006-12-22 2008-06-25 富士通株式会社 存储器设备、存储器控制器和存储器系统
CN101288056A (zh) * 2006-03-13 2008-10-15 松下电器产业株式会社 闪速存储器用的存储控制器
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复
CN101681300A (zh) * 2008-03-07 2010-03-24 株式会社东芝 存储器系统
CN101770809A (zh) * 2008-12-31 2010-07-07 J·埃金顿 非易失性存储器掉电后的恢复

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201011755A (en) 2008-09-10 2010-03-16 Skymedi Corp Flash memory system and its data recovery method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1437721A (zh) * 2000-02-17 2003-08-20 三因迪斯克公司 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统
CN1639683A (zh) * 2002-03-07 2005-07-13 诺基亚有限公司 用于并行访问多个存储器模块的方法和设备
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复
CN101288056A (zh) * 2006-03-13 2008-10-15 松下电器产业株式会社 闪速存储器用的存储控制器
CN101206912A (zh) * 2006-12-22 2008-06-25 富士通株式会社 存储器设备、存储器控制器和存储器系统
CN101681300A (zh) * 2008-03-07 2010-03-24 株式会社东芝 存储器系统
CN101770809A (zh) * 2008-12-31 2010-07-07 J·埃金顿 非易失性存储器掉电后的恢复

Also Published As

Publication number Publication date
US20120203953A1 (en) 2012-08-09
US8683113B2 (en) 2014-03-25
CN102629237A (zh) 2012-08-08

Similar Documents

Publication Publication Date Title
CN102629237B (zh) 非易失性半导体存储器及搜索最后写入地址的方法
US10802728B2 (en) Storage device and operating method of storage device
US9632868B2 (en) Storage device including nonvolatile memory and memory controller and operating method of storage device
US10162748B2 (en) Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10114557B2 (en) Identification of hot regions to enhance performance and endurance of a non-volatile storage device
KR101556870B1 (ko) 솔리드 스테이트 드라이브 내의 메모리 장치로의 논리 주소의 적응적 매핑
CN107239228B (zh) 提高重建效率的存储器系统和操作方法
US10656840B2 (en) Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10656842B2 (en) Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
CN106372004B (zh) 用于ssd控制器的可编程协议独立bar存储器
US20080077728A1 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
KR100816761B1 (ko) 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
CN104781801A (zh) 使固态驱动器配置成采用存储模式或存储器模式操作的技术
CN110444246A (zh) 用于存储器系统的相邻辅助校正错误恢复及其方法
US9268688B2 (en) Data management method, memory controller and memory storage apparatus
CN107179996A (zh) 数据存储装置和其操作方法
US8924629B1 (en) Mapping table for improving write operation efficiency
CN109671465A (zh) 具有自适应读取阈值方案的存储器系统及其操作方法
CN110096385A (zh) 存储器系统及其操作方法
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
CN106528441B (zh) 仿真eeprom的数据处理方法、装置及电子设备
CN110532195A (zh) 存储器系统的工作负荷分簇及执行其的方法
CN110825655A (zh) 存储器件、存取数据的方法及管理数据的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1170584

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant