CN102054533B - 隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 - Google Patents
隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 Download PDFInfo
- Publication number
- CN102054533B CN102054533B CN201010526407.XA CN201010526407A CN102054533B CN 102054533 B CN102054533 B CN 102054533B CN 201010526407 A CN201010526407 A CN 201010526407A CN 102054533 B CN102054533 B CN 102054533B
- Authority
- CN
- China
- Prior art keywords
- district
- data
- memory
- lba
- write order
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
一种隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器。本发明公开了一种非易失性半导体存储器,其包括具有存储器阵列的存储器器件,该存储器阵列包括多个存储段。从主机接收多个顺序存取写命令和随机存取写命令,其中每个写命令标识至少一个逻辑块地址。顺序存取写命令的逻辑块地址映射到多个存储段以生成顺序映射数据,且顺序映射数据映射到多个区的第一区。随机存取写命令的逻辑块地址被映射到多个存储段以生成随机映射数据,并且随机映射数据映射到多个区的第二区。
Description
背景技术
非易失性半导体存储器可用于计算机***(如,台式、膝上型、便携式计算机等等)或消费装置(如音乐播放器、移动电话、照相机等等)或其他合适用具的大容量存储装置。非易失性半导体存储器可包括一个或更多存储器器件(如闪存)和存取每个存储器器件的控制电路。每个存储器器件都耦接到I/O(输入/输出)总线以及大量接口控制线。当向存储器器件发出编程命令或擦除命令时,控制电路通过I/O总线传递地址和命令数据(并为编程操作传递写数据)。当发出读取命令时,控制电路通过I/O总线传递地址和命令数据然后通过I/O总线接收读取的数据。
每个存储器器件通常包括多个块,这些块每次被存取一页。例如,单个块可包括128页,其中每页包括4k字节。由于页在尚未首次擦除的情况下通常不能被重写,因此通常选择不同块中新的一页来执行“重写”操作。为了促进重新部署数据到不同页,非易失性半导体存储器实施间接存取,其中表示数据块的逻辑块地址(LBA)映射到表示多页中一页的物理块地址(PBA)。通过这种方式,当数据块的页移动时,LBA易于再分配给新PBA。
非易失性存储器周期性地执行垃圾回收操作,其中第一块的剩余有效页被重新部署到第二块,从而第一块可被擦除(由此在重写操作期间擦除先前重新部署的无效页)。期望最小化非易失性存储器中垃圾回收的量,以减小写放大和功率消耗,以及提高持久性和性能。
附图说明
图1是根据本发明实施例的非易失性半导体存储器,其包括具有存储器阵列的存储器器件,该存储器阵列包括多个存储段。
图2示出本发明的实施例,其中***数据、随机数据和顺序数据的映射数据存储在各映射区中。
图3A-3D示出本发明实施例,其中基于页的映射方案用于寻址存储段(该实施例中的页)。
图4A-4C示出本发明实施例,其中大量写命令的映射数据在被写入到非易失性存储器之间缓存在易失性存储器中。
图5A示出根据本发明实施例在易失性存储器中存取的全局LBA/PBA映射。
图5B示出用于存储顺序存取写命令的映射数据的顺序日志,其中顺序日志用于在电源故障时更新全局LBA/PBA映射。
图5C示出用于存储随机/***存取写命令的映射数据的随机/***日志,其中随机/***日志用于在电源故障时更新全局LBA/PBA映射。
图6是根据本发明实施例的流程图,其中满页映射数据在被写入到非易失性存储器之前存储在每个写日志中,且全局LBA/PBA映射被周期性写入到非易失性存储器中。
具体实施方式
图1示出非易失性半导体存储器2,其包括存储器器件4和定义多个区的控制电路8,存储器器件4具有包括多个存储段的存储器阵列6,每个区包括多个存储段。从主机10接收多个顺序存取写命令,以将顺序数据写入到存储器器件4,其中每个顺序存取写命令标识至少一个逻辑块地址(LBA)。从主机10接收多个随机存取写命令,以将随机数据写入到存储器器件4,其中每个随机存取写命令标识至少一个LBA。顺序存取写命令的LBA映射到多个存储段,以生成顺序映射数据,且顺序映射数据映射到多个区的第一区。随机存取写命令的LBA映射到多个存储段从而生成随机映射数据,且随机映射数据映射到多个区的第二区。
非易失性半导体存储器2可包括控制电路8和存储器器件4的任何适当配置。在图1的实施例中,存储器器件4包括合适的闪存(如NAND或NOR(闪存),且控制电路包括闪存控制器8,闪存控制器8包括执行不同算法(如LBA到PBA的映射、纠错编码(ECC)、耗损平衡,等等)的微处理器12。存储器控制器8进一步包括用于在易失性存储器(如动态随机存储器(DRAM))中缓存写/读数据的缓存器14和用于与存储器器件4接口的合适的接口电路16。存储器器件4耦连到I/O总线18以及多个接口控制线20。当发出编程命令或擦除命令给存储器器件4时,微处理器12通过I/O总线18传递地址和命令数据(并且为编程操作传递写入数据)。当发出读取命令时,微处理器12通过I/O总线18传递地址和命令数据,然后通过I/O总线18接收读取的数据。在一个实施例中,微处理器12从存储器器件4接收状态信息22从而判断其何时完成写入/读取操作。
图1的实施例中的存储器器件4包括用于从接口电路16接收控制信号和命令数据的控制器24。例如,命令数据可包括地址信息,用于将数据写入到存储器阵列6的特定存储段。写入数据缓存在数据寄存器26中,且当控制器24接收刷新(flush)命令时,控制器24将缓存在数据寄存器26中的数据传递到存储器阵列6的目标存储段(页)中。
在一个实施例中,存储器控制器8通过仿***机***可以使用标准磁盘驱动器通信协议(如ATA协议)对其进行存取的磁盘驱动器来实现固态驱动器(SSD)。此实施例中的主机10可包括独立的微处理器(如在台式或膝上型计算机中),该处理器通过合适的接口(如串行或并行ATA)与SSD通信。在可替换实施例中,可以在消费装置中实现(如照相机或移动电话)非易失性半导体存储器2,其中主机10可实现为由用于实现存储器控制器8的相同微处理器12执行的固件组件。
在一个实施例中,存储器器件4中的存储器阵列6包括多个块,其中每个块包括多个页。在一个实施例中,页必须在写入之前被擦除。因此页是通过将新数据写入不同页(通常在不同块中)、将LBA重映射到新PBA以及使旧页无效的方式而被“重写”。周期性地,块的无效页在垃圾回收过程中通过将块的有效页复制到新块,且然后擦除整个块而被恢复。
存储器控制器8通过为每个区分配多个块来定义多个区,其中每个区存储与顺序存取写命令、随机存取写命令或***存取写命令相关联的写入数据或映射数据,如图2所示。在一个实施例中,块可以根据需要动态地分配给每个区。将写入数据和映射数据隔离到各个区内有助于通过减少存储有效和无效页的块数来减少每个区内的垃圾回收量。也就是,如果写入数据和映射数据被隔离,则将增加区内整个块被重写的可能性,以便无需重新定位有效页即可擦除块。
该概念可参考图3A-3D来理解,图3A-3D示出根据本发明的实施例的基于页的映射方案。使用基于页的映射,每个LBA可映射到任何块内任何页的PBA。当将具有映射到第一块的第一页的第一LBA的数据写入到第二块的第二页时,第一块的有效页没有象基于块的映射那样重新分配到第二块。这在图3A和3B中进行了图示说明,其中在写操作过程中,写入数据被写入到第二块的页面中,并且第一块中的相应页被无效。该过程在随后写操作期间针对不同页重复,如图3B和3C所示,直到第一块的所有页已经被无效,如图3D所示。然后,第一块被擦除,由此其可被重新分配,而无需重新部署任何有效页(因为没有有效页)。
在每个写操作期间,LBA到PBA的映射被更新从而反映页的重新部署或反映新LBA的新页的分配。此外,映射数据被周期性地写入到存储器器件4中,从而在发生电源故障的情况下保存映射。在图4A-4C所示的实施例中,大量写命令的映射数据在写入存储器器件4之前高速缓存在易失性存储器中。例如,在一个实施例中,直到已经执行足够的写命令以使用映射数据填满整个页时,才将映射数据写入到存储器器件4。一旦已经高速缓存一页的映射数据,映射数据即被写入存储器阵列的一页中。与一次写入映射数据的部分页相比,这减少了对存储器阵列(以及存储器阵列的关联碎片)执行的写操作的数量。
图5A示出本发明的实施例,其中全局LBA到PBA映射存储在存储器器件4中,并在上电时被读入存储器控制器8的易失性存储器中。当存储器控制器8执行写命令时,易失性存储器中的全局映射被更新以反映LBA到PBA映射的变化。映射数据也存储在与写操作类型(顺序、随机或***)对应的写日志中。之后,写日志周期性地存储到存储器器件4中,从而在电源故障的情况下保存映射数据。写日志比全局映射小的多,且因此与将整个全局映射保存到存储器器件4相比,将写日志保存到存储器器件4中需要较少的时间并导致更少的写放大。如果发生电源故障,则从存储器器件4读取写日志并且写日志用于更新全局映射。全局映射也周期性地被保存到存储器器件4中,但频率比写日志低。
图5B示出存储与顺序存取写命令关联的映射数据的示例写日志的部分。使用顺序存储,LBA和对应的PBA是连续的,且因此只有起始LBA与连续PBA(区和区内页号)一起存储(在图5B的例子中LBA0)。在替换实施例中,起始PBA与运行长度的PBA一起存储,这要求更少的存储器空间。图5C示出存储与随机存取写命令或***存取写命令关联的映射数据的示例写日志的部分。由于LBA到PBA的映射是随机的,因此写日志针对每个相应页存储LBA和PBA(区和区内页号)。图5B和5C还示出,在一个实施例中,每个写日志存储足够的映射数据以填充一页,其中一旦为填充写日志而执行了足够的写操作,就将写日志保存到存储器器件4。
图6是根据本发明实施例的流程图,其中当非易失性半导体存储器上电时,全局映射从存储器器件中读取到易失性存储器中(步骤28)。映射日志从存储器器件读取并且在需要时用于更新全局映射(步骤30)。当接收到写命令时(步骤32),根据写命令的类型将写入数据写到目标区。如果写命令是顺序存取写命令,则用户数据被写到存储器器件的顺序数据区(步骤34),并且顺序映射数据被生成并存储在顺序写日志中(步骤36)。如果顺序写日志已满(步骤38),则顺序写日志被写入存储器器件的顺序映射区,并且顺序写日志被清除以处理后续顺序存取写命令(步骤40)。如果写命令是随机存取写命令,则用户数据被写入存储器器件的随机数据区(步骤42),并且随机映射数据被生成并存储在随机写日志中(步骤44)。如果随机写日志已满(步骤46),则随机写日志被写入存储器器件的随机映射区,并且随机写日志被清除以处理后续随机存取写命令(步骤48)。如果写命令是***存取写命令,则***数据被写入存储器器件的***数据区(步骤50),并且***映射数据被生成并存储在***写日志(步骤52)中。如果***写日志已满(步骤54),则***写日志被写入存储器器件的***映射区,并且***写日志被清除以处理后续***存取写命令(步骤56)。在预定间隔后(步骤58),全局映射被写入存储器器件(步骤60),并且当前存储在存储器器件中的写日志被无效(步骤62),因为在发生电源故障的情况下,不再需要当前存储在存储器器件中的写日志更新全局映射(直到更多写命令被处理)。
在***存取写命令期间被写入到存储器器件的***数据可包括任何合适的***数据。例如,当写日志被写入存储器器件时(在图6的步骤40、48和56),写命令是***存取写命令。写日志被写入到***数据区并且相应的映射数据存储在***写日志中。可能在正常操作过程中生成其他合适的***数据,如与垃圾回收或耗损平衡算法关联的***数据。
存储器控制器8可以任何合适方式将写命令标识为顺序的或随机的。在一个实施例中,从主机接收的写命令可包括指定写命令类型的标识符。在另一个实施例中,新的写命令最初作为随机存取写命令处理,直到顺序写命令的连续数目超过预定阈值。之后,后续写命令作为顺序存取写命令处理,直到连续序列中有中断。
Claims (10)
1.一种非易失性半导体存储器,其包括:
包括存储器阵列的存储器器件,该存储器阵列包括多个存储段;以及
控制电路,其可操作用于:
为第一区分配所述多个存储段的第一组,为第二区分配所述多个存储段的第二组,为第三区分配所述多个存储段的第三组,为第四区分配所述多个存储段的第四组,其中所述第一区被预留用于存储顺序数据,所述第二区被预留用于存储顺序映射数据,所述第三区被预留用于存储随机数据,并且所述第四区被预留用于存储随机映射数据;
在为所述第一区的所述存储段的分配之后从主机接收包括顺序数据的多个顺序存取写命令,其中所述多个顺序存取写命令中的每个标识一个或多个逻辑块地址即LBA;
映射由所述顺序存取写命令标识的LBA到所述第一区的一个或多个存储段以生成顺序映射数据,所述顺序映射数据包括与所述第一区的一个或多个存储段关联的区号信息和页号信息;
将所述顺序数据存储在所述第一区中;
将所述顺序映射数据存储在所述第二区中;
在为所述第三区的所述存储段的分配之后从所述主机接收包括随机数据的多个随机存取写命令,其中所述多个随机存取写命令中的每个标识一个或多个LBA;
映射由所述随机存取写命令标识的LBA到所述第三区的一个或多个存储段以生成随机映射数据,所述随机映射数据包括与所述第三区的一个或多个存储段关联的区号信息和页号信息;
将所述随机数据存储在所述第三区中;以及
将所述随机映射数据存储在所述第四区中。
2.根据权利要求1所述的非易失性半导体存储器,其中所述控制电路进一步可操作用于:
为第五区分配所述多个存储段的第五组,所述第五区预留用于存储***数据;
生成多个***存取写命令以将***数据写入所述存储器器件,其中所述***存取写命令中的每个标识一个或多个LBA;映射由所述***存取写命令标识的LBA到所述第五区的一个或多个存储段以生成***映射数据;以及
将所述***数据存储在所述第五区中。
3.根据权利要求2所述的非易失性半导体存储器,其中:
所述多个存储段包括多个块,每个块包括多个页;
所述控制电路进一步可操作为通过擦除整个块来擦除页;
所述第一区包括第一块;
所述第二区包括第二块;并且
所述第三区包括第三块。
4.根据权利要求2所述的非易失性半导体存储器,其中所述控制电路进一步可操作用于:
在执行所述多个***存取写命令后,为第六区分配所述多个存储段的第六组并且将所述***映射数据存储到所述第六区中。
5.根据权利要求4所述的非易失性半导体存储器,其中所述控制电路进一步可操作为擦除所述第一、第二、第三、第四、第五或第六区之一中的块,而不将所述块的有效页重新部署到另一块。
6.一种操作包括存储器器件的非易失性半导体存储器的方法,所述存储器器件包括存储器阵列,所述存储器阵列包括多个存储段,所述方法包括:
为第一区分配所述多个存储段的第一组,为第二区分配所述多个存储段的第二组,为第三区分配所述多个存储段的第三组,为第四区分配所述多个存储段的第四组,其中所述第一区被预留用于存储顺序数据,所述第二区被预留用于存储顺序映射数据,所述第三区被预留用于存储随机数据,并且所述第四区被预留用于存储随机映射数据;
从主机接收多个顺序存取写命令以将顺序数据写入所述存储器器件,其中顺序存取写命令中的每个标识一个或多个逻辑块地址即LBA;
映射由所述顺序存取写命令标识的LBA到所述第一区的一个或多个存储段以生成顺序映射数据,所述顺序映射数据包括与所述第一区的所述一个或多个存储段关联的区号信息和页号信息;
将所述顺序数据存储在所述第一区中;
将所述顺序映射数据存储在所述第二区中;
从所述主机接收多个随机存取写命令以将随机数据写入所述存储器器件,其中所述随机存取写命令中的每个标识一个或多个LBA;
映射由所述随机存取写命令标识的LBA到所述第三区的一个或多个存储段以生成随机映射数据,所述随机映射数据包括与所述第三区的所述一个或多个存储段关联的区号信息和页号信息;
将所述随机数据存储在所述第三区中;以及
将所述随机映射数据存储在所述第四区中。
7.根据权利要求6所述的方法,进一步包括:
为第五区分配所述多个存储段的第五组,所述第五区预留用于存储***映射数据;
生成多个***存取写命令以将***数据写入所述存储器器件,其中所述***存取写命令中的每个标识一个或多个LBA;
映射由所述***存取写命令标识的LBA到所述第五区的一个或多个存储段以生成***映射数据;以及
将所述***数据存储到所述第五区中。
8.根据权利要求7所述的方法,其中:
所述多个存储段包括多个块,每个块包括多个页;
页是通过擦除整个块而被擦除的;
所述第一区包括第一块;
所述第二区包括第二块;并且
所述第三区包括第三块。
9.根据权利要求7所述的方法,进一步包括:
在执行所述多个***存取写命令后,为第六区分配所述多个存储段的第六组并且将所述***映射数据存储到所述第六区中。
10.根据权利要求9所述的方法,进一步包括擦除所述第一、第二、第三、第四、第五或第六区之一中的块,而不将所述块的有效页重新部署到另一块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/607,011 US9753847B2 (en) | 2009-10-27 | 2009-10-27 | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US12/607,011 | 2009-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054533A CN102054533A (zh) | 2011-05-11 |
CN102054533B true CN102054533B (zh) | 2015-12-09 |
Family
ID=43899347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010526407.XA Active CN102054533B (zh) | 2009-10-27 | 2010-10-27 | 隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9753847B2 (zh) |
CN (1) | CN102054533B (zh) |
HK (1) | HK1152795A1 (zh) |
Families Citing this family (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9734086B2 (en) | 2006-12-06 | 2017-08-15 | Sandisk Technologies Llc | Apparatus, system, and method for a device shared between multiple independent hosts |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
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 |
JP2011248682A (ja) * | 2010-05-27 | 2011-12-08 | Toshiba Corp | メモリデバイス |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9146875B1 (en) * | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
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 |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
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 |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
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 |
CN103858116B (zh) | 2011-08-09 | 2015-09-02 | Lsi公司 | I/o设备及计算主机互操作 |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting 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 |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
CN103392207B (zh) * | 2011-10-05 | 2017-08-04 | 希捷科技有限公司 | 非易失性存储的自身日志记录和层级一致性 |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in 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 |
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 |
KR20130078973A (ko) * | 2012-01-02 | 2013-07-10 | 삼성전자주식회사 | 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치 |
US8949510B2 (en) | 2012-01-09 | 2015-02-03 | Skymedi Corporation | Buffer managing method and buffer controller thereof |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
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 |
US8954653B1 (en) | 2012-06-26 | 2015-02-10 | Western Digital Technologies, Inc. | Mechanisms for efficient management of system data in data storage systems |
US8924832B1 (en) | 2012-06-26 | 2014-12-30 | Western Digital Technologies, Inc. | Efficient error handling mechanisms in data storage systems |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
KR20140028618A (ko) * | 2012-08-29 | 2014-03-10 | 삼성전자주식회사 | 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법 |
KR20140040998A (ko) | 2012-09-27 | 2014-04-04 | 삼성전자주식회사 | 로그기반 데이터 저장 시스템의 관리방법 |
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 |
KR20140080660A (ko) * | 2012-12-13 | 2014-07-01 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 시스템의 동작 방법 |
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 |
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 |
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 |
US9395924B2 (en) | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
KR20140100330A (ko) * | 2013-02-06 | 2014-08-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
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 |
US8924824B1 (en) | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US9641378B1 (en) | 2013-03-12 | 2017-05-02 | Western Digital Technologies, Inc. | Adjustment of compression ratios for data storage |
US9280472B1 (en) | 2013-03-13 | 2016-03-08 | Western Digital Technologies, Inc. | Caching data in a high performance zone of a data storage system |
US20140281678A1 (en) * | 2013-03-14 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US8990668B2 (en) | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
US9448738B2 (en) | 2013-03-15 | 2016-09-20 | Western Digital Technologies, Inc. | Compression and formatting of data for data storage systems |
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 |
US9335950B2 (en) | 2013-03-15 | 2016-05-10 | Western Digital Technologies, Inc. | Multiple stream compression and formatting of data for data storage systems |
US9218279B2 (en) | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
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 |
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 |
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 |
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 |
CN103336744B (zh) * | 2013-06-20 | 2015-11-04 | 华中科技大学 | 一种固态存储设备的垃圾回收方法及其*** |
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 |
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 |
US9007841B1 (en) | 2013-10-24 | 2015-04-14 | Western Digital Technologies, Inc. | Programming scheme for improved voltage distribution in solid-state memory |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
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 |
US9760281B2 (en) * | 2015-03-27 | 2017-09-12 | Intel Corporation | Sequential write stream management |
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 |
CN106548789B (zh) * | 2015-09-17 | 2019-05-17 | 伊姆西公司 | 用于操作叠瓦式磁记录设备的方法和装置 |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
US9727261B2 (en) | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
US10013174B2 (en) | 2015-09-30 | 2018-07-03 | Western Digital Technologies, Inc. | Mapping system selection for data storage device |
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 |
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 |
TWI578222B (zh) * | 2015-11-18 | 2017-04-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
TWI604308B (zh) * | 2015-11-18 | 2017-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
MX363170B (es) * | 2015-11-27 | 2019-03-13 | Huawei Tech Co Ltd | Método para almacenar datos por medio de un dispositivo de almacenamiento y dispositivo de almacenamiento. |
RU2661280C2 (ru) * | 2015-12-03 | 2018-07-13 | Хуавэй Текнолоджиз Ко., Лтд. | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных |
US10126981B1 (en) | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
TWI607457B (zh) * | 2016-06-28 | 2017-12-01 | 光寶電子(廣州)有限公司 | 固態儲存裝置及其資料寫入方法 |
US10521118B2 (en) * | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
US10387303B2 (en) | 2016-08-16 | 2019-08-20 | Western Digital Technologies, Inc. | Non-volatile storage system with compute engine to accelerate big data applications |
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 |
US10269421B2 (en) | 2016-11-30 | 2019-04-23 | Sandisk Technologies Llc | Latch caching of sequential data |
KR20180064588A (ko) * | 2016-12-05 | 2018-06-15 | 에스케이하이닉스 주식회사 | 메모리 제어 장치 및 방법 |
CN106681663A (zh) * | 2016-12-29 | 2017-05-17 | 记忆科技(深圳)有限公司 | 一种固态硬盘多流写入的方法 |
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 |
US10733100B2 (en) * | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and apparatus for classifying and buffering write commands |
US10877898B2 (en) * | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US20190227957A1 (en) * | 2018-01-24 | 2019-07-25 | Vmware, Inc. | Method for using deallocated memory for caching in an i/o filtering framework |
US10620884B2 (en) * | 2018-03-12 | 2020-04-14 | SK Hynix Inc. | Controller for managing map data and operating method thereof |
CN110390985B (zh) * | 2018-04-20 | 2021-08-03 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
KR20190128283A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그 동작방법 |
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 |
KR20200076946A (ko) * | 2018-12-20 | 2020-06-30 | 삼성전자주식회사 | 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치 |
KR20210076497A (ko) | 2019-12-16 | 2021-06-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20210034378A (ko) | 2019-09-20 | 2021-03-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것의 동작 방법 |
US11734175B2 (en) | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
KR20210023203A (ko) * | 2019-08-22 | 2021-03-04 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US11119940B2 (en) * | 2019-08-26 | 2021-09-14 | Micron Technology, Inc. | Sequential-write-based partitions in a logical-to-physical table cache |
TWI777087B (zh) * | 2019-09-06 | 2022-09-11 | 群聯電子股份有限公司 | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN114556313A (zh) * | 2019-09-10 | 2022-05-27 | 美光科技公司 | 存储器映射装置及方法 |
US11762769B2 (en) | 2019-09-20 | 2023-09-19 | SK Hynix Inc. | Memory controller based on flush operation and method of operating the same |
US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
US11169744B2 (en) * | 2020-03-31 | 2021-11-09 | Western Digital Technologies, Inc. | Boosting reads of chunks of data |
US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
KR20220060790A (ko) * | 2020-11-05 | 2022-05-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR20220098894A (ko) | 2021-01-05 | 2022-07-12 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 방법 |
US11940926B2 (en) * | 2022-05-13 | 2024-03-26 | Micron Technology, Inc. | Creating high density logical to physical mapping |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722109A (zh) * | 2004-06-30 | 2006-01-18 | 三星电子株式会社 | 增量归并方法和使用该方法的存储*** |
CN1914689A (zh) * | 2003-12-30 | 2007-02-14 | 桑迪士克股份有限公司 | 具有区块管理***的非易失性存储器和方法 |
CN101382917A (zh) * | 2007-09-06 | 2009-03-11 | 株式会社日立制作所 | 半导体存储装置及半导体存储装置的控制方法 |
Family Cites Families (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886108B2 (en) | 2000-01-06 | 2011-02-08 | Super Talent Electronics, Inc. | Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
US6856556B1 (en) | 2003-04-03 | 2005-02-15 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US20050166206A1 (en) | 2004-01-26 | 2005-07-28 | Parson Dale E. | Resource management in a processor-based system using hardware queues |
US7502256B2 (en) | 2004-11-30 | 2009-03-10 | Siliconsystems, Inc. | Systems and methods for reducing unauthorized data recovery from solid-state storage devices |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
WO2007058617A1 (en) * | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
US8339636B2 (en) | 2006-01-27 | 2012-12-25 | Kyocera Document Solutions Inc. | Multi-function peripheral apparatus for processing unified job steps |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7765373B1 (en) | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
US7447807B1 (en) | 2006-06-30 | 2008-11-04 | Siliconsystems, Inc. | Systems and methods for storing data in segments of a storage subsystem |
US7509441B1 (en) | 2006-06-30 | 2009-03-24 | Siliconsystems, Inc. | Systems and methods for segmenting and protecting a storage subsystem |
US8161227B1 (en) | 2006-10-30 | 2012-04-17 | Siliconsystems, Inc. | Storage subsystem capable of programming field-programmable devices of a target computer system |
US8549236B2 (en) | 2006-12-15 | 2013-10-01 | Siliconsystems, Inc. | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
US7596643B2 (en) | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
US7685337B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US7685338B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US9396103B2 (en) | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
US7685374B2 (en) | 2007-07-26 | 2010-03-23 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8078918B2 (en) | 2008-02-07 | 2011-12-13 | Siliconsystems, Inc. | Solid state storage subsystem that maintains and provides access to data reflective of a failure risk |
US7962792B2 (en) | 2008-02-11 | 2011-06-14 | Siliconsystems, Inc. | Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem |
US20090271562A1 (en) | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
US7733712B1 (en) | 2008-05-20 | 2010-06-08 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US8375151B1 (en) | 2009-02-12 | 2013-02-12 | Siliconsystems, Inc. | Command portal for securely communicating and executing non-standard storage subsystem commands |
US8583835B1 (en) | 2008-08-06 | 2013-11-12 | Siliconsystems, Inc. | Command portal for executing non-standard storage subsystem commands |
US8838876B2 (en) | 2008-10-13 | 2014-09-16 | Micron Technology, Inc. | Translation layer in a solid state storage device |
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US8090899B1 (en) | 2009-03-04 | 2012-01-03 | Western Digital Technologies, Inc. | Solid state drive power safe wear-leveling |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
US8254172B1 (en) | 2009-09-30 | 2012-08-28 | Western Digital Technologies, Inc. | Wear leveling non-volatile semiconductor memory based on erase times and program times |
US8243525B1 (en) | 2009-09-30 | 2012-08-14 | Western Digital Technologies, Inc. | Refreshing non-volatile semiconductor memory by reading without rewriting |
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 |
US8261012B2 (en) | 2009-10-30 | 2012-09-04 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal |
US8135903B1 (en) | 2009-10-30 | 2012-03-13 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory compressing data to improve performance |
US8397107B1 (en) | 2009-12-11 | 2013-03-12 | Western Digital Technologies, Inc. | Data storage device employing data path protection using both LBA and PBA |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
US8316176B1 (en) | 2010-02-17 | 2012-11-20 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
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 |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8612669B1 (en) | 2010-06-28 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for performing data retention in solid-state memory using copy commands and validity and usage data |
US8447920B1 (en) | 2010-06-29 | 2013-05-21 | Western Digital Technologies, Inc. | System and method for managing data access in non-volatile memory |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8638602B1 (en) | 2010-09-10 | 2014-01-28 | Western Digital Technologies, Inc. | Background selection of voltage reference values for performing memory read operations |
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 |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US8601313B1 (en) | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
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 |
US8458435B1 (en) | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
US8392635B2 (en) | 2010-12-22 | 2013-03-05 | Western Digital Technologies, Inc. | Selectively enabling a host transfer interrupt |
US8683113B2 (en) | 2011-02-04 | 2014-03-25 | Western Digital Technologies, Inc. | Concurrently searching multiple devices of a non-volatile semiconductor memory |
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 |
US8769232B2 (en) | 2011-04-06 | 2014-07-01 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory module enabling out of order host command chunk media access |
US8751728B1 (en) | 2011-04-29 | 2014-06-10 | Western Digital Technologies, Inc. | Storage system bus transfer optimization |
US8862804B2 (en) | 2011-04-29 | 2014-10-14 | Western Digital Technologies, Inc. | System and method for improved parity determination within a data redundancy scheme in a solid state memory |
US9021178B2 (en) | 2011-05-02 | 2015-04-28 | Western Digital Technologies, Inc. | High performance path for command processing |
US8503237B1 (en) | 2011-05-18 | 2013-08-06 | Western Digital Technologies, Inc. | System and method for data recovery in a solid state storage device |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US8719531B2 (en) | 2011-06-14 | 2014-05-06 | Western Digital Technologies, Inc. | System and method for performing data retention that incorporates environmental conditions |
US8423722B1 (en) | 2011-08-26 | 2013-04-16 | Western Digital Technologies, Inc. | System and method for high performance command processing in solid state drives |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
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 |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8724422B1 (en) | 2012-02-29 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for charging back-up charge storage element for data storage device using spindle phase switching elements |
US9003224B2 (en) | 2012-04-25 | 2015-04-07 | Western Digital Technologies, Inc. | Managing unreliable memory in data storage systems |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US8788880B1 (en) | 2012-08-22 | 2014-07-22 | Western Digital Technologies, Inc. | Efficient retry mechanism for solid-state memory failures |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping 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 |
US20140223255A1 (en) | 2012-12-18 | 2014-08-07 | Western Digital Technologies, Inc. | Decoder having early decoding termination detection |
US9430376B2 (en) | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
-
2009
- 2009-10-27 US US12/607,011 patent/US9753847B2/en active Active
-
2010
- 2010-10-27 CN CN201010526407.XA patent/CN102054533B/zh active Active
-
2011
- 2011-06-30 HK HK11106737.2A patent/HK1152795A1/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914689A (zh) * | 2003-12-30 | 2007-02-14 | 桑迪士克股份有限公司 | 具有区块管理***的非易失性存储器和方法 |
CN1722109A (zh) * | 2004-06-30 | 2006-01-18 | 三星电子株式会社 | 增量归并方法和使用该方法的存储*** |
CN101382917A (zh) * | 2007-09-06 | 2009-03-11 | 株式会社日立制作所 | 半导体存储装置及半导体存储装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110099323A1 (en) | 2011-04-28 |
US9753847B2 (en) | 2017-09-05 |
HK1152795A1 (zh) | 2012-03-09 |
CN102054533A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102054533B (zh) | 隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 | |
US11520697B2 (en) | Method for managing a memory apparatus | |
JP7366795B2 (ja) | メモリシステムおよび制御方法 | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
JP5458419B2 (ja) | メモリブロックの選択 | |
US9792067B2 (en) | Trim command processing in a solid state drive | |
US8489854B1 (en) | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table | |
US8041878B2 (en) | Flash file system | |
CN108121503B (zh) | 一种NandFlash地址映射及块管理方法 | |
US8166258B2 (en) | Skip operations for solid state disks | |
JP5026213B2 (ja) | ストレージ装置及びデータ重複排除方法 | |
US8825941B2 (en) | SLC-MLC combination flash storage device | |
US10884630B2 (en) | Storage system | |
KR102252419B1 (ko) | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 | |
US10838629B2 (en) | Solid state device with fast boot after ungraceful shutdown | |
US20050021904A1 (en) | Mass memory device based on a flash memory with multiple buffers | |
US20140122781A1 (en) | Hierarchical flash translation layer | |
US20070016719A1 (en) | Memory device including nonvolatile memory and memory controller | |
US20090276586A1 (en) | Wrap-around sequence numbers for recovering from power-fall in non-volatile memory | |
CN106802867B (zh) | 固态储存装置及其数据编程方法 | |
TW200527433A (en) | Memory card and semiconductor device | |
WO2007058624A1 (en) | A controller for non-volatile memories, and methods of operating the memory controller | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
US9507523B1 (en) | Methods, devices and systems for variable size logical page management in a solid state drive | |
US20100306447A1 (en) | Data updating and recovering methods for a non-volatile memory array |
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: 1152795 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1152795 Country of ref document: HK |