CN102629237B - 非易失性半导体存储器及搜索最后写入地址的方法 - Google Patents
非易失性半导体存储器及搜索最后写入地址的方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
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的模来调整第一读取命令的所述第一地址。
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)
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)
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)
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 |
-
2011
- 2011-02-04 US US13/021,456 patent/US8683113B2/en active Active
-
2012
- 2012-02-01 CN CN201210022242.1A patent/CN102629237B/zh active Active
Patent Citations (7)
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 |