CN105027090A - 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 - Google Patents

用于固态驱动器中的物理到逻辑映射的方法、设备和系统 Download PDF

Info

Publication number
CN105027090A
CN105027090A CN201380063439.2A CN201380063439A CN105027090A CN 105027090 A CN105027090 A CN 105027090A CN 201380063439 A CN201380063439 A CN 201380063439A CN 105027090 A CN105027090 A CN 105027090A
Authority
CN
China
Prior art keywords
page
daily record
physical
entry
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380063439.2A
Other languages
English (en)
Other versions
CN105027090B (zh
Inventor
A·J·汤姆林
J·琼斯
R·丹尼尔克
R·N·马伦多尔
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
Skyera LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc, Skyera LLC filed Critical Western Digital Technologies Inc
Publication of CN105027090A publication Critical patent/CN105027090A/zh
Application granted granted Critical
Publication of CN105027090B publication Critical patent/CN105027090B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Memory System (AREA)

Abstract

一种数据存储设备,其包括存储物理页的多个非易失性存储器设备,所述物理页的每一个存储在预定的物理位置。控制器可以耦合到所述存储器设备,并且可以被配置为访问存储在多个逻辑页(L页)的数据,所述逻辑页的每一个与L页号相关联,使得所述控制器能够逻辑地引用存储在所述物理页中的数据。易失性存储器可以包括逻辑到物理地址转换映射,所述逻辑到物理地址转换映射使得所述控制器能够确定存储在每一个L页中的数据在所述物理页内的物理位置。所述控制器可以被配置为在所述存储器设备中保持限定了物理到逻辑对应关系的日志,每一个日志覆盖预定范围的物理页并且包括多个条目,所述多个条目将一个或多个物理页与每一个L页相关联。所述控制器可以在启动时读取所述日志,并且根据所读取的日志来重建所述地址转换映射。

Description

用于固态驱动器中的物理到逻辑映射的方法、设备和系统
背景技术
由于固态驱动器(SSD)中的闪速存储器的特性,数据通常是按页编程并且按块擦除的。SSD中页的尺寸通常为8-16千字节(KB)并且块由很多的页(例如,256或512)组成。因此,SSD中的特定物理位置(例如,页)不能在没有对同一块内的页中的数据进行重写的情况下直接进行重写,而这在磁性硬盘驱动器中是可能的。因此,需要间接地址。常规的数据存储设备控制器管理诸如SSD等的数据存储设备上的闪速存储器以及与主机系统进行连接,所述常规的数据存储设备控制器使用是闪存转换层(FTL)的一部分的、被称为逻辑块寻址(LBA)的逻辑到物理(L2P)映射系统。当新数据到达以替换已经写入的旧数据时,数据存储设备控制器使得新数据被写入在新的位置,并且更新逻辑映射以使其指向新的物理位置。由于旧的物理位置不再保存有效数据,所以在能够对旧的物理位置再次写之前最终需要将其擦除。
常规地,大的L2P映射表将逻辑条目映射到SSD上的物理地址位置。大的L2P映射表可以驻留在诸如动态随机存取存储器(DRAM)等的易失性存储器中,所述大的L2P映射表通常随着写入被更新、到达、并且保存到小区域中的非易失性存储器。例如,如果随机写发生,尽管系统可能仅需要更新一个条目,但是系统可能不得不将包括没有更新的条目的整个表或其一部分保存到非易失性存储器,这在本质上是低效的。
图1示出了用于SSD的常规的逻辑块寻址(LBA)方案的方面。如其中所示,映射表104包含针对数据存储设备的闪速存储器106限定的针对每个逻辑块102的一个条目。例如,支持512字节逻辑块的64 GB SSD,自身可以向主机呈现为如同具有125000000个逻辑块。在映射表104中的一个条目包含在闪速存储器106中的125000000个逻辑块的每一个逻辑块的当前位置。在常规SSD中,闪速页容纳整数个逻辑块(即,逻辑块不跨越闪速页)。在该常规示例中,8KB的闪速页将容纳16个(尺寸为512字节的)逻辑块。因此,在逻辑到物理映射表104中的每一个条目包含:字段108,其用于标识在其上存储逻辑块的闪速管芯,字段110,其用于标识在其上存储逻辑块的闪速块,另一字段112,其用于标识闪速块内的闪速页,以及字段114,其用于标识闪速页内的偏移,该偏移标识逻辑块数据在所标识的闪速页中的何处开始。大尺寸的映射表104使得表不能保存在SSD控制器的内部。常规地,将该大的映射表104保存在连接到SSD控制器的外部DRAM中。因为将映射表104存储在易失性DRAM中,所以当SSD上电时必须恢复映射表104,这由于表的大尺寸可能耗费很长的时间。
当读取逻辑块时,读取映射表104中对应的条目以确定要被读取的闪速存储器中的位置。然后向映射表104中对应的条目中所指定的闪存页执行读取。当读取的数据对于该闪存页可用时,在由映射条目所指定的偏移处的数据从SSD传送到主机。当写逻辑块时,对映射表104中对应的条目进行更新以反映该逻辑块的新位置。应当注意的是,当写逻辑块时,闪速存储器初始地将包含至少两个版本的逻辑块;即,有效的、最近写入的版本(由映射表104所指向的)和其至少一个另外的、较旧的版本,该较旧版本是陈旧的并且不再由映射表104中的任意条目所指向。这些“陈旧的”数据被称为垃圾,这些垃圾占用的空间必须被记录、收集、擦除并使其以供未来使用。
附图说明
图1示出了用于SSD的常规的逻辑块寻址(LBA)方案的方面。
图2是示出了根据一个实施例的数据存储设备的物理数据组织结构和逻辑数据组织结构的方面的图。
图3示出了根据一个实施例的逻辑到物理地址转换映射以及其示例性条目。
图4示出了根据一个实施例的用于更新逻辑到物理地址转换映射以及用于创建S日志条目的方法的方面。
图5是根据一个实施例的S日志的框图。
图6示出了根据一个实施例的S日志的一个条目的示例性组织结构。
图7是根据一个实施例的超块(S块)的框图。
图8示出了根据一个实施例的超页(S页)的另一视图。
图9A示出了根据一个实施例的逻辑到物理地址转换映射、S日志和S块之间的关系。
图9B是根据一个实施例的S日志映射的框图。
图10是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的方面的框图。
图11是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的另一方面的框图。
图12是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的又一方面的框图。
图13是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的还一方面的框图。
图14是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的方面的框图。
图15是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的另一方面的框图。
图16是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的又一方面的框图。
图17是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的还一方面的框图。
图18是示出了根据一个实施例的垃圾收集的方面的框图。
图19是示出了根据一个实施例的垃圾收集的另一方面的框图。
图20是示出了根据一个实施例的垃圾收集的又一方面的框图。
图21是示出了根据一个实施例的垃圾收集的还一方面的框图。
图22是示出了根据一个实施例的对系统块进行垃圾收集的方面的框图。
图23是示出了根据一个实施例的对系统块进行垃圾收集的另一方面的框图。
图24是示出了根据一个实施例的对系统块进行垃圾收集的又一方面的框图。
图25是示出了根据一个实施例的对系统块进行垃圾收集的其他方面的框图。
图26是示出了根据一个实施例的对系统块进行垃圾收集的又其他方面的框图。
具体实施方式
系统概述
图2是示出了根据一个实施例的数据存储设备的物理数据组织结构和逻辑数据组织结构的方面的图。在一个实施例中,数据存储设备是SSD。在另一实施例中,数据存储设备是包括闪速存储器和旋转磁存储介质在内的混合驱动器。本公开能够应用于SSD和混合实现二者,但是出于简单的缘故,参考基于SSD的实现来对各种实施例进行描述。根据一个实施例,数据存储设备控制器202可以被配置为耦合到如附图标记218处所示的主机。主机218可以采用逻辑块寻址(LBA)方案。尽管LBA的尺寸通常是固定的,但是主机能够动态地改变LBA的尺寸。例如,LBA的尺寸可以随着接口和接口模式而不同。实际上,尽管512字节是最常见的,但4KB也变得更加常见,512+(520、528等)和4KB+(4KB+8、4KB+16等)格式同样常见。如其中所示,数据存储设备控制器202可以包括页寄存器204或耦合到页寄存器204。页寄存器204可以被配置为使控制器202能够从数据存储设备读取数据以及将数据存储到数据存储设备。控制器202可以被配置为响应于来自主机218的数据访问命令而进行编程并且从闪速存储器设备的阵列读取数据。尽管本文的描述通常涉及闪速存储器,但是应当理解的是,存储器设备的阵列可以包括各种类型的非易失性存储器设备中的一个或多个,所述非易失性存储器设备例如是,闪速集成电路、硫系RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、标准化存储器(OUM)、阻变式RAM(RRAM)、NAND存储器(例如,单层单元(SLC)存储器、多层单元(MLC)存储器或其任意组合)、NOR存储器、EEPROM、铁电体存储器(FeRAM)、磁阻RAM(MRAM)、其他分立的NVM(非易失性存储器)芯片、或其任意组合。
页寄存器204可以被配置为使控制器202能够从阵列中读取数据以及将数据存储到阵列。根据一个实施例,闪速存储器设备的阵列可以包括管芯(例如,128个管芯)中的多个非易失性存储器设备,其中的每一个包括多个块,如图2中的206处所示。其他页寄存器204(未示出)可以耦合到其他管芯上的块。集合在一起的闪速块的组合可以被称为超块或S块。在一些实施例中,形成S块的单独的块可以从一个或多个管芯、平面或其他粒度级别中选择。因此,S块可以包括组合在一起的、分布跨过一个或多个管芯的多个闪速块。以这种方式,S块可以形成闪速管理系统(FMS)在其上操作的单元。在一些实施例中,可以根据与在管芯级不同的粒度来选择形成S块的单独的块,例如以下情况:当存储器设备包括被细分为诸如平面等的结构的管芯(即,块可以从单独的平面中取得)时。根据一个实施例,分配、擦除和垃圾收集可以在S块级实施。在其他实施例中,FMS可以根据诸如页、块、平面、管芯等的其他逻辑分组来执行数据操作。
继而,每一个闪速块206包括多个闪速页(F页)208。每一个F页可以是固定尺寸的,例如,16KB。根据一个实施例,F页是用于给定的闪速设备的编程的最小单元的尺寸。同样如图2所示,每一个F页208可以被配置为容纳多个物理页,在下文中被称为E页210。术语“E页”指的是存储在其上应用了纠错码(ECC)的闪速存储器中的数据结构。根据一个实施例,E页210可以形成数据存储设备中的物理寻址的基础,并且可以构成闪速读取数据传送的最小单元。因此,E页210可以具有(但不是必须具有)预定的固定尺寸(例如,2KB),并且确定ECC系统的有效载荷(例如,主机数据)的尺寸。根据一个实施例,每一个F页208可以被配置为使预定的多个E页210适合在其边界内。例如,给定16KB尺寸的F页208以及每E页210固定尺寸为2KB,八个E页210适合在单个F页208内,如图2所示。根据一个实施例,无论如何,2的幂次乘以包括ECC的E页210可以被配置为适合于F页208。每一个E页210可以包括数据部分214,并且取决于E页210位于何处也可以包括ECC部分216。数据部分214和ECC部分216在尺寸上都不需要是固定的。E页的地址唯一地标识在闪速存储器内E页的位置。例如,E页的地址可以指定闪速通道、在所标识的闪速通道内的特定管芯、在管芯内的特定块、特定F页以及最后在所标识的F页中的E页。
为了在数据存储设备上的物理寻址与由主机进行的逻辑块寻址之间建立桥梁,引入了逻辑页(L页)结构。图2中附图标记212处所指示的L页可以包括由FMS所使用的地址转换的最小单元。根据一个实施例,每一个L页可以与L页号相关联。因此,L页212的L页号可以被配置为使控制器202能够对存储在诸如E页210等的物理页的一个或多个中的主机数据进行逻辑地引用。也可以利用L页212作为压缩的基本单元。根据一个实施例,与F页208和E页210不同,L页212的尺寸是不固定的,并且由于对要存储的数据进行压缩中的可变性,L页212在尺寸上可以不同。由于数据的可压缩性不同,所以例如4KB量的一种类型的数据可以被压缩成2KB的L页,而4KB量的另一种类型的数据可以被压缩成1KB的L页。因此,由于这样的压缩,L页的尺寸可以在一个范围内变化,所述范围由例如24字节的最小压缩尺寸到例如4KB或4KB+的最大解压缩尺寸进行限定。可以实现其他尺寸和范围。如图2所示,L页212不需要与E页210的边界对齐。实际上,L页212可以被配置为具有与F页208和/或E页210边界对齐的起始地址,但也可以被配置为不与F页208或E页210的边界对齐。即,L页起始地址所处的位置可以与F页208的起始地址或终止地址相距非零偏移或者与E页210的起始地址或终止地址相距非零偏移,如图2所示。由于L页212在尺寸上是不固定的并且可能小于固定尺寸的E页210,所以多于一个的L页212可以适合在单个E页210中。同样地,由于L页212在尺寸上可能大于E页210,所以L页212可能跨越多于一个E页并且甚至可能跨过F页210的边界,如图2中附图标记217处所示。
例如,在LBA尺寸是512或512+字节的情况,假定解压缩的L页212可以是4KB到4KB+,则例如最大八个连续的LBA可以被紧缩为4KB的L页212。根据一个实施例,应当注意的是,L页212的确切逻辑尺寸不重要,这是因为在压缩之后物理尺寸的范围可以从最小尺寸若干字节跨越到完整尺寸上千字节。例如,对于4TB的SSD设备,可以使用30位地址来对每一个L页212进行编址以覆盖可能潜在地呈现在这样的SSD中的大量的L页。
图3示出了根据一个实施例的逻辑到物理地址转换映射以及其示例性条目。由于主机数据在L页212中由主机引用,并且由于数据存储设备将L页212存储在一个或多个邻接的E页210中,所以需要逻辑到物理地址转换映射以使控制器202能够将L页212的L页号与一个或多个E页210相关联。这样的逻辑到物理地址转换映射在图3中302处示出,并且在一个实施例中,逻辑到物理地址转换映射是每L页212具有一个条目的线性阵列。这样的逻辑到物理地址转换映射302可以存储在诸如DRAM或SRAM等的易失性存储器中。图3还示出了用于四个不同的L页212的逻辑到物理地址转换映射中的条目,其中,图3中的L页212与被指示为L页1、L页2、L页3和L页4的L页号相关联。根据一个实施例,存储在数据存储设备中的每一个L页可以由逻辑到物理地址转换映射302中的单个并且唯一的条目所指向。因此,在以此产生的示例中,示出了四个条目。如302处所示,映射302中的每一个条目可以包括L页号,所述L页号可以包括物理页(例如,E页)的标识,所述L页号包含被引用的L页的起始地址、在物理页(例如,E页)内对起始地址的偏移和L页的长。另外,多个ECC位可以针对映射条目来提供错误纠正功能。例如,以及如图3所示,并且假设E页尺寸为2KB,L页1可以在逻辑到物理地址转换映射302中被引用如下:E页1003、偏移800、长1624,紧接着是预定数量的ECC位(未示出)。即,在物理地址项中,L页1的起始是在E页1003内(不与E页1003对齐),并且所处的位置与E页1003的起始物理位置相距等于800字节的偏移。而且,压缩的L页1扩展1624字节,从而跨过E页边界到达E页1004。因此,E页1003和E页1004每一个都存储了由L页号L页1所指示的L页212的一部分。类似地,由L页号L页2所引用的压缩的L页全部存储在E页1004内,并且在其中的偏移为400字节处起始,并仅在E页1004内扩展696字节。与L页号L页3相关联的压缩的L页起始于E页1004内偏移1120字节处(距离L页2的边界正好24字节),并且扩展4096字节越过E页1005并到达E页1006内。因此,与L页号L页3相关联的L页跨越E页1004的一部分、E页1005的全部以及E页1006的一部分。最后,与L页号L页4相关联的L页开始于E页1006内的偏移1144字节处,并且扩展3128字节以完全跨越E页1007、跨过F页边界到达E页1008的下一个F页中。
共同地,组成了逻辑到物理地址转换映射302的每个条目的这些构成标识字段(E页、偏移、长度和ECC)中的每一个在尺寸上可以是诸如8字节。即,对于示例性4TB的驱动器,E页的地址在尺寸上可以是32位,偏移在尺寸上可以是12位(对于E页数据部分多达4KB),长度在尺寸上可以是10位,并且可以提供ECC字段。其他组织结构和位宽是可能的。每当写入或改变L页时,可以创建这样的8字节条目,使得控制器202能够跟踪在闪速存储装置内写入到L页的主机数据。在逻辑到物理地址转换映射中的所述8字节条目可以由L页号LPN来进行索引。换言之,根据一个实施例,L页号充当逻辑到物理地址转换映射302的索引。应当注意的是,在4KB扇区尺寸的情况下,LBA与LPN相同。因此,LPN可以构成易失性存储器内的条目的地址。当控制器202从主机218接收到读取命令时,LPN可以从所供应的LBA中得到并且用于对逻辑到物理地址转换映射302进行索引以提取闪速存储器中要被读取的数据的位置。当控制器202从主机接收到写命令时,LPN可以利用LBA进行构建并且可以对逻辑到物理地址转换映射302进行修改。例如,可以在其中创建新的条目。取决于存储逻辑到物理地址转换映射302的易失性存储器的尺寸,LPN可以存储在单个条目中或被拆分为:例如,第一条目,其标识包含正讨论的L页的起始地址的E页(加ECC位);以及第二条目,其标识偏移和长度(加ECC位)。因此,根据一个实施例,这两个条目可以一起与闪速存储器内的单个L页相对应并且指向闪速存储器内的单个L页。在其他实施例中,逻辑到物理地址转换映射条目的特定格式可以与以上所示示例不同。
S日志与S日志映射
由于逻辑到物理地址转换映射302可以存储在易失性存储器中,所以可能需要在启动或在对易失性存储器的任何其他电力损失时对逻辑到物理地址转换映射302进行重建。因此,这需要将一些机制和信息存储在非易失性存储器中,所述机制和信息将使得控制器202能够在启动之后或断电事件之后“知道”L页存储在非易失性存储器的何处之前重构逻辑到物理地址转换映射302。根据一个实施例,将这样的机制和信息体现在可以称为系统日志或S日志的结构中。根据一个实施例,控制器202可以被配置为在多个非易失性存储器设备(例如,在一个或多个管芯、通道或平面的块206的一个或多个中)中,保持限定了物理到逻辑地址对应性的多个S日志。根据一个实施例,每一个S日志覆盖预定范围的物理页(例如,E页)。根据一个实施例,每一个S日志可以包括多个日志条目,其中每一个条目被配置为将一个或多个物理页(例如,E页)关联到每一个L页的L页号。根据一个实施例,每当控制器202重启时或无论何时逻辑到物理地址转换映射302被部分地或全部地重建时,控制器202读取S日志,并且根据从S日志条目读取的信息来重建逻辑到物理地址转换映射302。
图4示出了根据一个实施例的用于更新逻辑到物理地址转换映射以及用于创建S日志条目的方法的方面。如其中所示,为了保证使逻辑到物理地址转换映射302被保持为最新,无论何时L页被写入或另外被更新,如框B41所示,逻辑到物理地址转换映射302可以被更新,如B42所示。如B43所示,还可以创建S日志条目,所述S日志条目在其中存储指向更新的L页的位置的信息。以这种方式,当新的写发生时(例如,当主机向非易失性存储器发出写时、当垃圾收集/耗损均衡发生时等),逻辑到物理地址转换映射302和S日志二者都被更新。因此,用于保持地址转换数据的电力安全拷贝的向非易失性存储器设备的写操作可以被配置为由新创建的日志条目(其在尺寸上可能只有若干字节)所触发,而不是重新保存逻辑到物理地址转换映射的全部或一部分,这使得写放大(WA)被减小。对S日志的更新保证了控制器202能够访问新更新的L页,并且保证了逻辑到物理地址转换映射302可以在重启或影响逻辑到物理地址转换映射存储于其上的易失性存储器的其他擦除信息的电力事件之后被重建。此外,除了其在重建逻辑到物理地址转换映射302中的应用之外,S日志在使垃圾收集(GC)能够高效中是有用的。实际上,S日志可以包含对所有L页号的最新更新,并且还可以包含陈旧条目、不指向有效L页的条目。
根据一个实施例,S日志可以是写到非易失性存储器的主要的闪速管理数据。S日志可以包含给定S块的映射信息,并且可以包含给定S块的物理到逻辑(P2L)信息。图5是示出了根据一个实施例的S日志的方面的框图。如其中所示,每一个S日志502覆盖非易失性存储器的预定的物理区域,例如,如506处所示的使用5位可编址的32个E页。每一个S日志502可以由S日志号进行标识,S日志号可以是标头504的部分,标头504可以包括与S日志有关的其他信息。S日志号可以包括由S日志所覆盖的第一物理页的地址的一部分。例如,S日志502的S日志号可以包括:例如,由所述S日志502所覆盖的第一E页地址的27个最高有效位(MSb)。
图6示出了根据一个实施例的S日志502的一个条目602的示例性组织结构。S日志502的每一个条目602可以指向一个L页的起始地址,该L页的起始地址在物理上定址在E页中。每一个条目602可以包括例如包含起始L页的E页的地址的多个(例如,5)最低有效位(LSb)。通过将所述5个LSb与标头504中的S日志号的27个MSb连接来获得全E页地址。另外,条目602可以包括L页号、其在所标识的E页内的偏移和其尺寸。例如,S日志的每一个条目602可以包括由该S日志条目所覆盖的第一E页的地址的5个LSb、30位的L页号、9位的E页偏移和10位的L页尺寸,合计达总尺寸约7字节。在其他实施例中,可以使用各种其他内部日志条目格式。
根据一个实施例,由于压缩中的可变性或存储在L页中的数据的主机配置,可以将可变数量的L页存储在物理区域(例如,等于32个E页的物理区域)中,如506处所示。由于压缩的使用和随之产生的L页的尺寸上的可变性,S日志可以包括可变数量的条目。例如,根据一个实施例,在最大压缩的情况下,L页在尺寸上可以是24字节,并且S日志可以包括超过2500个条目,其引用相等数量的L页,每S日志条目602一个L页。
如上所述,S日志可以被配置为包含给定S块的映射信息。更精确地,根据一个实施例,S日志包含针对给定S块内的预定范围的E页的映射信息。图7是根据一个实施例的S块的框图。如其中所示,S块702可以包括每管芯一个闪速块(F块)704(也如图2中的206处所示)。因此,可以把S块看作F块的集合,每管芯一个F块,所述F块被组合在一起以形成闪速管理系统的单元。根据一个实施例,分配、擦除和GC可以在S块级管理。如图7所示,每一个F块704可以包括多个闪速页(F页),例如,256或512个F页。根据一个实施例,F页可以是用于给定的非易失性存储器设备的编程的最小单元的尺寸。图8示出了根据一个实施例的超页(S页)。如其中所示,S页802可以包括每S块中的F块中的一个F页,这意味着S页跨越整个S块。
各种数据结构之间的关系
图9A示出了根据一个实施例的逻辑到物理地址转换映射、S日志映射和S块之间的关系。附图标记902指示逻辑到物理地址转换映射中的条目(在一个实施例中存储在DRAM中)。根据一个实施例,逻辑到物理地址转换映射可以由L页号来进行索引,这是因为在逻辑到物理地址转换映射中每L页可以有一个条目902。闪速存储器中的L页的起始的物理地址以及其尺寸可以在映射条目902中给出;即以E页地址,E页内的偏移和L页的尺寸的方式。如早先所述,取决于L页的尺寸,L页可以跨越一个或多个E页并且也可以跨越F页和F块。
如904处所示,易失性存储器(例如,DRAM)也可以存储系统日志(S日志)映射。在S日志映射中的条目904存储关于S日志物理地位于非易失性存储器中何处的信息。例如,存储L页的起始位置的E页的物理地址的27个MSb可以构成S日志号(如先前图5中所示)。易失性存储器中的S日志映射条目904也可以包括在系统E页中引用的、在非易失性存储器中的S日志的地址。可以从易失性存储器中的S日志映射条目904中提取系统S块信息908。系统S块信息908可以由系统S块(在系统带中的S块)进行索引,并且可以包括系统S块中任何空闲或被使用的空间的尺寸,连同关于S块的其他信息一起。同样从S日志映射条目904中,可以提取在非易失性存储器910中所引用的S日志的物理位置(按照系统带中的E页来表示)。
根据一个实施例,系统带不包含L页数据,而可以包含文件管理系统(FMS)元数据和信息。系统带可以被配置为仅用于可靠性和断电简化的较低页。在正常操作期间,系统带不需要被读取,除非在垃圾收集期间。系统带可以被提供有比数据带显著较高的过剩供应以用于整体的WA优化。其他带包括:可以包含L页数据并且被频繁更新的热带,以及可以较少频繁更新并且可以包括较多静态数据的冷带,所述静态数据例如可以被收集作为GC的结果的数据。根据一个实施例,系统带、热带和冷带可以由S块基来进行分配。
如上所述,在非易失性存储器中的这些S日志中的每一个可以包括S日志条目的集合,并且覆盖例如价值32个E页的数据。非易失性存储器910中的这些S日志使得控制器202不仅能够重建易失性存储器中的逻辑到物理地址转换映射,而且能够重建易失性存储器中的S日志映射、用户S块信息906和系统S块信息908。
图9B是根据一个实施例的S日志映射912的框图。S日志映射912可以由S块号来进行索引,并且其每一个条目可以指向该S块的第一S日志的起始位置,其继而可以覆盖该S块的预定数量的E页(例如,32个)。控制器202可以进一步被配置为建立或重建S日志的映射,以及将结果的S日志映射存储在易失性存储器中。即,在重启时或者在另一个断电事件发生时或者错误修复随后的重启之后,控制器202可以以预定的序列顺序来读取多个S日志,基于顺序读取的多个S日志来建立存储在非易失性存储器设备中的S日志的映射,并且将所建立的S日志映射912存储在易失性存储器中。
更新逻辑到物理地址转换映射
图10-13是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的方面的框图。如图10所示,逻辑到物理地址转换映射1002包含L页100的条目(例如,L页的位置),所述条目具有3012字节的长度。在该示例中,L页100存储在S块15中,如1006处所示。在控制器202中的或耦合到控制器202的缓冲器1004(例如,静态随机存取存储器(SRAM))可以存储包含L页100驻留于其中的S块15的P2L信息的S日志。在一些实施例中,缓冲器1004中所示内容实际上可以驻留于DRAM内。其条目由S块进行索引的用户S块信息906对于每个S块而言,可以包括该S块中的空闲或使用的空间(例如,精确的或近似的)尺寸,连同关于S块的其他信息一起。如图10所示,示出了针对S块15的用户S块信息906中的条目。图10示出了在控制器202处理对L页100的更新之前,这些组成的功能块的示例性状态。
如图11的1102处所示,接收到更新的L页100,新长度为1534字节。响应于接收到更新的L页100,L页100的信息可以从逻辑到物理地址转换映射1002中取得,并且(现在已废弃的)L页100的长度(3012字节)可以从逻辑到物理地址转换映射1002中提取,并用于相应地和确切地增加所跟踪的S块15的空闲空间值。特别地,用户S块信息906可以利用以下数据进行更新,所述数据指示:S块15现在具有3012额外字节的空闲空间,现在L页100的原始数据已经陈旧(例如,废弃)。
如图12所示,可以对逻辑到物理地址转换映射1002进行更新以容纳所更新的L页。例如,长度信息现在是1534字节。其后,现在可以利用包括长度信息的新L页信息来对针对更新发生的S块15的特定部分的缓冲器1004中的S日志进行更新,并且新接收的来自例如压缩器的L页可以被读到缓冲器1004中。当新L页在缓冲器中时,逻辑到物理地址转换映射1002中的L页100的条目可以暂时反映其在缓冲器中的位置,如箭头标注“1”所示。随后,在由仍在缓冲器1004中的现在被更新的S日志中的新创建的条目指定的E页地址处,所更新的L页100可以被刷新到热S块1008。对逻辑到物理地址转换映射1002中的映射表条目进行更新以反映物理E页地址以及L页最终目的地址的偏移,如箭头“2”所建议的。
如图13所示,在稍后的时间点,例如,在积累了充足数量的新条目之后,易失性存储器缓冲器1004中的S日志可以被写出到非易失性存储器,例如,到系统S块1010。系统S块1010可以是由控制器固件分配以用于存储S日志的闪速存储器的一部分。在非易失性存储器中保存S日志使逻辑到物理地址转换映射的稍后的重建能够进行,正如所需要的。
更新S日志和S日志映射
图14-17是示出了根据一个实施例的对系统带中的S日志和S日志映射进行更新的方法的方面的框图。附图示出了与由对L页100的相同的示例性更新所触发的S日志更新机制相关的额外细节。如其中所示,在易失性存储器(例如,同步动态随机存取存储器(SDRAM))中的S日志映射1402可以包含指向S日志在非易失性存储器中的物理位置的条目,其中所述S日志包含与L页100相关联的P2L映射数据。在该说明性示例中,相关的S日志(即,针对存储L页100的S块15的特定部分的S日志)位于系统S块3(1408处)的E页42的起始位置处。
其后,如图15所示,L页100被更新,其长度为1534字节。然后可以从逻辑到物理地址转换映射1002中提取与当前L页100相关的信息(例如,E页地址、偏移和长度)。其后,存储L页100的E页地址可以用于提取S日志号,所述S日志号用于定位在S日志映射1402内的S日志条目位置。例如,在其中如图5和图6处所示的情况下,S日志号可以包括第一32位E页地址的27个MSb。所述S日志号然后可以用于索引到S日志映射1402以获得位置,该位置然后可以用于识别包含感兴趣的S日志的系统S块。其后,如图15所示,系统S块信息908可以被更新以反映以下事实:S块3处的S日志中的针对L页100的日志条目现在是失效的,这是因为考虑到对L页100的最近更新,之前由该条目占用的空间现已被解除分配。所解除分配的空间现在是空闲空间,并且必须被记录。可选地,所使用的空间可以被记录,而空闲空间从使用的空间得出。因此,针对S块3的系统S块信息908中的条目在空间上增加了一个S日志条目;即,这里在该示例性实现中开发了7字节。该空的空间其后可以在系统带的GC期间被考虑。
如图16所示,L页100然后可以被写到缓冲器1004,如1005处所示,因此,逻辑到物理地址转换映射1002可以被更新,以用于指向缓冲器1004(指示L页100被存储的物理位置)并且用于存储更新的L页100的长度(在这里所开发的示例中为1534)。应当注意的是,在此处,系统S块3仍包括指向包含L页100的附图标记1006处的S块15的S日志条目。然而,S块3的系统S块信息已经被更新以指示:附图标记1408处的系统S块3内的现已过时的S日志条目目前所占用的空间实际上是空闲空间。
图16也示出了缓冲器中不同的S日志。在一个实施例中,缓冲器1004中的S日志是用于记录写到开放的热S块7的新L页。在该示例中,利用更新的L页100(现在也在缓冲器中)的L页号以及其长度信息来更新缓冲器1004中的S日志(其还没有被刷新到非易失性存储器),如图16的1007处的箭头所指示的。L页100现在可以从缓冲器1004被刷新到当前开放的热S块7,如图16的1404处所引用的。在此处,缓冲器中的S日志被更新以反映:更新的L页100已经被写到非易失性存储器。可替换地,可以在更新的L页100被写到非易失性存储器之前,利用更新的L页100的地址来更新逻辑到物理地址转换映射1002和S日志。在一个实施例中,该S日志中更新的条目将包含由逻辑到物理地址转换映射1002中的新L页100的条目所指向的E页和关于L页100的额外信息,如图6先前所示。
如图17所示,在积累了充足的数据之后,缓冲器1004中的S日志可以被写出到开放的系统S块1(在1406处所引用的)。在该示例中,该S日志被写出到开放的系统S块1的E页19。S日志映射1402现在包括指示S块15的部分存储在系统S块3,E页42的一个条目。然而,指向在S块15内L页100的旧位置的在该S日志内的条目不再是有效的。S日志映射1402还包括指示S块7的S日志存储在系统S块1,E页19的一个条目。该S日志包括指向1404处的开放的热S块7作为更新的L页100在非易失性存储器中的位置的有效条目。以这种方式,包含P2L信息的S日志在缓冲器1004中被更新,并且最后被写出到非易失性存储器。另外,可以适当地更新S日志映射1402以使其指向这样的新更新的S日志。此外,可以适当地更新逻辑到物理地址转换映射1002,以使其指向正确的开放的热S块。
有利地,在新写入时,本文描述和示出的S日志结构使写开销最小化。根据一个实施例,新的写操作迫使将新的S日志条目写到非易失性存储器中。因为只生成了每L页很少量的S日志条目数据(例如,在本文中所描述的7字节),所以由于系统数据写所导致的WA与常规系统相比有所减少。S日志数据是有效地大量的命令历史记录。更新的S日志数据被汇集起来并且顺序地写出到系统带。本文所描述和示出的S日志系统是高效的,这是由于所产生的映射信息与要被写入的数据是相同的,而没有额外的未改变的条目,只有被改变的条目被写到非易失性(例如,闪速)存储器,这与逻辑到物理映射的全部或部分被写到非易失性(例如,闪速)存储器不同。
上电时,系统带中的所有S日志数据可以被读取并且处理到DRAM中,以在易失性存储器中重建逻辑到物理地址转换映射。根据一个实施例,这按照S块被分配到系统带的顺序被完成。在一个实施例中,硬件支持用于使该大数据的装载能够快速发生以满足上电的时间要求(这在没有硬件的情况下可能是不可行的,因为这本质上是根据命令历史记录来生成逻辑到物理地址转换映射)。根据一个实施例,S日志映射还在上电时被构建以使其指向系统带中存储的有效的S日志。
用户数据S块的垃圾收集
图18-21是示出了根据一个实施例的垃圾收集的方面的框图。如其中所示,可以扫描用户S块信息906中的数据以选择“最好的”S块用于垃圾收集。存在若干标准,可以对所述若干标准进行评估以选择哪个S块用于垃圾收集。例如,用于垃圾收集的最好的S块可以是具有最大量的空闲空间和最低程序擦除(PE)量的S块。可替换地,可以对这些和/或其他标准进行加权以选择要进行垃圾收集的S块。为了示例的目的,在图18-21中被选择用于进行垃圾收集的S块是S块15,S块15由用户S块信息906内的信息条目15所引用,示出了一些量+3012字节的空闲空间(额外的3012字节用于记录最近废弃的L页100)。应当注意的是,用户S块信息906可以包括每一个所跟踪的S块所经历的PE周期数量的运行计数,可以对所述运行计数进行评估以决定哪个S块用于垃圾收集,连同其他项的信息一起。如1006处所示,S块15具有有效数据(混编的块)和无效数据(非混编的块)的混合。
既然已经选择S块15用于GC,那么可以查阅(例如,由S块号索引到)S日志映射(参看图9B中912)以找到该S块的对应的S日志在非易失性存储器中的位置(例如,E页地址)。为了示出示例,使用S日志号(E页地址的27个MSb)来定位由S日志映射912所指向的一个S日志的位置,并且将所述S日志读入到缓冲器1004,如图18所示。即,访问由S日志映射912所指向的系统S块1804中的1个或更多个E页,并且可以将在该位置开始存储的S日志读入到缓冲器1004。在一个实施例中,S日志映射页还包含S日志的长度,这是因为S日志可以跨越一个或多个E页。S日志可以非常大,并且S日志因此可以按片来读取并被处理为可用。
其后,缓冲器1004中的S日志中的每一个P2L条目然后可以与逻辑到物理地址转换映射1802中对应的条目进行比较。对于缓冲器1004中的S日志中的每一个条目,可以确定该条目的L页的物理地址是否与逻辑到物理地址转换映射1802中对应的条目中的相同L页的物理地址相匹配。如果二者匹配,那么S日志中的该条目有效。相反地,如果S日志中的L页的地址与逻辑到物理地址转换映射中该L页的条目不匹配,那么S日志中的该条目无效。
根据一个实施例,由于在对其条目进行分析和比较的S日志中找到了有效条目,所以其所引用的L页可以从S块15中被读出并且写到缓冲器1004,如图19所示。可以使用相同的处理以用于覆盖S块15的其他S日志直到整个S块被处理为止。同样如图19中附图标记1006处所示,S块15现在仅包含无效数据。这是因为由针对S块15的S日志中的条目指示为有效的数据已经被保留,并且不久将被移动到新的S块。在所示示例中,由于系统S块1804中的S块15的示例S日志中的条目指向这样的无效数据,所以该S日志被示出为被混编以指示其现在是陈旧的。然后可以更新逻辑到物理地址转换映射1802,生成被读取到缓冲器1004的有效数据的新的E页起始地址。应当注意的是,在对逻辑到物理地址转换映射的更新期间,可以针对有效条目来重新核对该映射并且可以在映射更新过程期间锁定该映射以保证原子性。有效数据还将迫使新的S日志条目在S日志1005中生成,这在一个实施例中是针对冷S块1801的。
在一个实施例中,然后可以将有效数据写出到冷S块1801(热S块用于最近写入的主机数据,不用于垃圾收集数据),如图20所示。在某个稍后的时刻(例如,在增加了充足数量的条目之后),S日志1005可以被写出到系统带中的系统S块1804。S块15现已进行了垃圾收集,并且用户S块信息906现在指示整个S块15是空闲空间。其后S块15可以被擦除,其PE计数被更新并且成为对新的写入可用。应当注意的是,无效的S日志仍存在于系统S块1804中。在某个稍后的时刻可以对由该无效S日志所占用的系统带中的闪速存储器中的空间进行垃圾收集。
系统S块上的垃圾收集
图22-26是示出了根据一个实施例的对系统块进行垃圾收集的方面的框图。在图22-26发展的示例中,假设图22中的附图标记2208处所示的系统S块3已经被挑选用于垃圾收集。一旦系统S块被挑选,则在所挑选的系统S块中的所有E页(并且通过扩展,包含在其中的所有S日志)可以被读取(顺序地或非顺序地)到缓冲器1004。
如图23所建议的,被读取到缓冲器1004的一个或多个S日志的S日志号然后可以从该S日志的头部提取。然后每一个这样的系统S日志号可以用于在S日志映射2202中进行查找,以确定对应的S日志是否仍然有效。根据一个实施例,无效的S日志是其S日志号不能与S日志映射2202中的对应的条目相匹配的那些S日志,其中S日志映射2202中对应的条目具有关于S日志物理地存储于何处的最近更新的信息。例如,如果在S日志映射2202中S日志号“12345”的条目指向系统S块120内的E页,那么S块3(该S块正在进行垃圾收集)中的S日志“12345”的拷贝是废弃的。同样地,如果相反S日志映射条目指向来自S日志“12345”当前所驻留的S块3的E页,那么S日志“12345”仍然有效。
在一个实施例中,进行垃圾收集的有效S日志可以包括有效和无效条目的混合,因此需要对条目进行单独检查。如图24所示,然后可以将每一个有效的S日志2402中的每一个条目与存储器中的逻辑到物理地址转换映射1802中的对应条目进行匹配。即,可以将每一个S日志条目所引用的L页的E页地址与逻辑到物理地址转换映射1802中指定的L页的E页地址进行比较。如果二者匹配,那么该S日志条目是有效的。根据一个实施例,将S日志中的E页地址和在E页内的偏移与逻辑到物理地址转换映射1802中指定的L页的E页地址和在E页内的偏移进行比较,是必要的。相反地,如果S日志中的L页的E页地址(或E页地址和偏移)与地址转换映射1802中的该L页的条目中的E页地址(或E页地址和偏移)不匹配,那么所述S日志中的该条目是无效的。
根据一个实施例,由于有效条目在S日志2402(对其条目进行分析和比较)中被识别,则可以将有效条目拷贝到S日志2402的新版本2502,如图25所示。根据一个实施例,S日志2502可以具有与S日志2402相同的S日志号。以这种方式,从被挑选用于GC的S块中加载到缓冲器1004中的每一个S日志可以首先在日志级被确定为有效或无效,并且然后,如果被确定为有效,则被压缩到只包含有效条目。根据一个实施例,无效的S日志条目简单地不被拷贝到S日志2502的新版本。因此,假定S日志2402具有一个或多个废弃的条目,可以预期的是,S日志的新版本2502将小于其旧版本2402(包括更少的条目)。应当注意的是,如果S日志具有所有有效的条目,则其新版本的尺寸将保持相同。
如图26所示,然后可以将S日志2502(现在是无效或废弃的S日志2402的新版本)写到当前开放的系统S块,在图26中其为开放系统S块1,附图标记2206。其后,可以利用S日志2502在开放的系统S块1中的新位置来对S日志映射2202进行更新。在该过程的结尾,系统S块3(2208)中的S日志已经进行了垃圾收集,并且系统S块3然后可以被擦除并成为对于未来的编程可用。
尽管已经描述了本公开的特定实施例,但这些实施例只是以示例的方式进行呈现,而并不是要限制本公开的范围。实际上,可以以多种其他形式来体现本文所描述的新颖的方法、设备和系统。另外,可以对本文所描述的方法和系统的形式做出各种省略、替换和改变,而不偏离本公开的精神。所附的权利要求及其等价物是要涵盖这样的形式或修改,其将落入本公开的范围和精神。例如,本领域中的技术人员将意识到,在各种实施例中,实际的物理和逻辑结构可以与附图中所示的物理和逻辑结构不同。取决于实施例,可以移除在以上示例中所描述的特定步骤,可以添加其他步骤。同样,上文所公开的特定实施例的特征和属性可以以不同的方式组合以形成另外的实施例,其全部落入本公开的范围内。尽管本公开提供了特定优选的实施例和应用,但对本领域的普通技术人员而言显而易见的是,包括没有提供本文所阐述的全部特征和优点的实施例在内的其他实施例,也在本公开的范围内。因此,本公开的范围是要仅通过参考所附的权利要求来进行限定。

Claims (45)

1.一种数据存储设备,包括:
多个非易失性存储器设备,所述多个非易失性存储器设备的每一个被配置为存储多个物理页,所述多个物理页中的每一个存储在多个非易失性设备内预定的物理位置;
控制器,其耦合到多个存储器设备,并且被配置为将数据编程到所述多个存储器设备以及从所述多个存储器设备中读取数据,所述数据存储在多个逻辑页(L页)中,所述多个L页中的每一个与L页号相关联,所述L页号被配置为使得所述控制器能够逻辑地引用存储在所述物理页的一个或多个中的数据;以及
易失性存储器,其包括逻辑到物理地址转换映射,所述逻辑到物理地址转换映射被配置为使得所述控制器能够确定存储在每一个L页中的数据在一个或多个物理页内的物理位置;
其中,所述控制器被配置为在所述多个非易失性存储器设备中保持限定了物理到逻辑对应关系的多个日志,所述多个日志中的每一个与日志号相关联,每一个日志覆盖预定范围的物理页并且包括多个日志条目,每一个条目被配置为将一个或多个物理页与每一个L页相关联,其中,所述控制器被配置为在启动时读取所述多个日志,并且根据所读取的多个日志对存储在所述易失性存储器中的地址转换映射进行重建。
2.根据权利要求1所述的数据存储设备,其中,所述控制器进一步被配置为,在对所述多个L页中的一个进行更新时,在所述多个日志中的一个中创建新的条目。
3.根据权利要求2所述的数据存储设备,其中,用于保持转换数据的电力安全拷贝的对所述非易失性存储器设备的写操作被配置为由新创建的日志条目而不是通过保存所述转换映射的至少一部分来触发,使得写放大被减少。
4.根据权利要求2所述的数据存储设备,其中,所述新的条目指示所更新的L页的起始在物理页内的物理位置。
5.根据权利要求2所述的数据存储设备,其中,所述控制器进一步被配置为将空闲空间更新为占有与所述L页被更新之前的长度相对应的量。
6.根据权利要求1所述的数据存储设备,其中,所述多个L页中的至少一个没有与物理页边界对齐。
7.根据权利要求1所述的数据存储设备,其中,所述物理页被实现为纠错码(ECC)页(E页),并且其中,所述多个设备包括多个闪速存储器块,每一个闪速存储器块包括多个闪速存储器页(F页),所述F页中的每一个包括多个E页,所述多个E页中的每一个存储在所述多个设备内的预定的物理位置处。
8.根据权利要求2所述的数据存储设备,其中,所述控制器进一步被配置为利用由所更新的L页的L页号所引用的数据在一个或多个物理页内的物理位置来更新所述转换映射。
9.根据权利要求1所述的数据存储设备,进一步包括多个超块(S块),所述多个S块的每一个包括每设备的一个或多个闪速存储器块,并且其中,所述多个日志条目中的每一个被配置为将所述S块的物理页中的一个或多个与每一个L页相关联。
10.根据权利要求9所述的数据存储设备,其中,所述控制器进一步被配置为通过至少以下操作来进行垃圾收集:
选择所述多个S块中的一个用于垃圾收集;
将针对所选择的S块的日志中的每一个条目与所述转换映射中的条目进行比较,并且将匹配的条目指定为有效的而将不匹配的条目指定为无效的;
读取与有效条目相对应的L页;
将所读取的L页写到所述多个非易失性存储器设备内的相应的物理地址;
对针对所述有效条目的转换映射进行更新,以使其指向所述相应的物理地址;以及
针对对其更新了转换映射的条目来生成新的日志条目。
11.根据权利要求9所述的数据存储设备,其中,所述控制器进一步被配置为通过至少以下操作来进行垃圾收集:
选择所述多个S块中的一个来进行垃圾收集;
读取所选择的S块的物理页;
将所读取的所选择的S块的物理页中的L页号与所述转换映射中的条目进行比较,并且将匹配的条目指定为有效的而将不匹配的条目指定为无效的;
将与有效条目相对应的L页写到所述多个非易失性存储器设备内的相应的物理地址;
对针对所述有效条目的转换映射进行更新,以使其指向所述相应的物理地址;以及
针对对其更新了转换映射的条目来生成新的日志条目。
12.根据权利要求10所述的数据存储设备,其中,选择包括在确定选择哪个S块中,对空闲空间和编程擦除(PE)计数进行加权。
13.根据权利要求1所述的数据存储设备,其中,每一个日志号包括由所述日志覆盖的第一物理页的地址的预定数量的最高有效位。
14.根据权利要求1所述的数据存储设备,其中,所述多个日志条目中的每一个包括:
L页号,以及
物理地址位置。
15.根据权利要求1所述的数据存储设备,其中,所述多个日志条目中的每一个包括:
L页号;
物理页的物理地址位置,以及
L页尺寸。
16.根据权利要求1所述的数据存储设备,其中,所述多个日志条目中的每一个包括:
包括L页的起始的物理页的地址的预定数量的最低有效位;
地址;
L页尺寸;以及
所述物理页内的偏移。
17.根据权利要求1所述的数据存储设备,其中,所述多个L页被配置为被压缩并且在尺寸上不同,并且其中,所述多个日志号被配置为引用较大数量的较小尺寸的L页或者引用较少数量的较大尺寸的L页。
18.根据权利要求1所述的数据存储设备,其中,所述控制器进一步被配置为在启动时以预定的序列顺序读取所述多个日志,并且基于顺序地读取的多个日志来对存储在易失性存储器中的所述转换映射进行重建。
19.根据权利要求1所述的数据存储设备,其中,所述控制器进一步被配置为基于所述多个日志来建立日志映射。
20.根据权利要求1所述的数据存储设备,其中,所述控制器进一步被配置为:
在启动时以预定的序列顺序读取所述多个日志;
基于顺序地读取的多个日志来建立存储在所述非易失性存储器设备中的日志的映射,以及
将所建立的日志的映射存储在所述易失性存储器中。
21.根据权利要求1所述的数据存储设备,其中,在与给定的L页相关联的日志条目当中,仅与所述给定的L页相关联的最近更新的日志条目是有效的。
22.根据权利要求1所述的数据存储设备,其中,所述控制器进一步被配置为在所述易失性存储器中保持所述多个日志的系统日志映射,所述系统日志映射中的每一个条目指向所述多个日志中的一个存储在所述非易失性存储器设备中的位置。
23.一种控制包括易失性存储器和多个非易失性存储器设备在内的数据存储设备的方法,多个非易失性设备中的每一个被配置为存储多个物理页,所述多个物理页中的每一个存储在所述多个非易失性设备内预定的物理位置处,所述方法包括:
在多个逻辑页(L页)中存储数据,所述多个L页中的每一个与L页号相关联,所述L页号被配置为使得控制器能够逻辑地引用存储在所述物理页的一个或多个中的数据;
在所述易失性存储器中保持逻辑到物理地址转换映射,所述转换映射被配置为使得能够确定存储在每一个L页中的数据在所述物理页的一个或多个内的物理位置;
在所述多个非易失性存储器设备中保持限定了物理到逻辑对应关系的多个日志,所述多个日志中的每一个与日志号相关联,每一个日志覆盖预定范围的物理页,并且每一个日志包括多个日志条目,每一个条目被配置为将一个或多个物理页与每一个L页相关联;以及
在启动时读取所述多个日志,并且基于所读取的所述多个日志中的条目来对存储在易失性存储器中的所述转换映射进行重建。
24.根据权利要求23所述的方法,进一步包括在对所述多个L页中的一个进行更新时,在所述多个日志中的一个中创建新的条目。
25.根据权利要求24所述的方法,进一步包括基于新创建的日志条目而不是保存所述转换映射的至少部分来触发用于保持转换数据的电力安全拷贝的对所述非易失性存储器设备的写操作,以使得写放大被减少。
26.根据权利要求24所述的方法,其中,所述新的条目指示所更新的L页的起始在物理页内的物理位置。
27.根据权利要求24所述的方法,进一步包括将空闲空间更新为占用与所述L页被更新之前的长度相对应的量。
28.根据权利要求23所述的方法,其中,存储包括将所述多个L页的至少一个存储在不与物理页边界对齐的位置。
29.根据权利要求23所述的方法,其中,所述物理页被实现为纠错码(ECC)页(E页),并且其中,所述多个设备包括多个闪速存储器块,每一个闪速存储器块包括多个闪速存储器页(F页),F页中的每一个包括多个E页,所述多个E页中的每一个存储在所述多个设备内的预定的物理位置处。
30.根据权利要求23所述的方法,进一步包括利用由所更新的L页的L页号所引用的数据在一个或多个物理页内的物理位置来更新所述转换映射。
31.根据权利要求23所述的方法,其中,所述多个设备包括多个超块(S块),所述多个S块的每一个包括每设备的一个或多个闪速存储器块,并且其中,所述多个日志条目中的每一个被配置为将所述S块的物理页中的一个或多个与每一个L页相关联。
32.根据权利要求31所述的方法,进一步包括:
选择S块用于垃圾收集;
将针对所选择的S块的日志中的每一个条目与所述转换映射中的条目进行比较,并且将匹配的条目指定为有效的而将不匹配的条目指定为无效的;
读取与有效条目相对应的L页;
将所读取的L页写到所述多个非易失性存储器设备内的相应的物理地址;
对针对所述有效条目的转换映射进行更新,以使其指向所述相应的物理地址;以及
针对对其更新了转换映射的条目来生成新的日志条目。
33.根据权利要求31所述的方法,进一步包括:
选择所述多个S块中的一个用于垃圾收集;
读取所选择的S块的物理页;
将所读取的所选择的S块的物理页中的L页号与所述转换映射中的条目进行比较,并且将匹配的条目指定为有效的而将不匹配的条目指定为无效的;
将与有效条目相对应的L页写到所述多个非易失性存储器设备内的相应的物理地址;
对针对所述有效条目的转换映射进行更新,以使其指向所述相应的物理地址;以及
针对对其更新了转换映射的条目来生成新的日志条目。
34.根据权利要求32所述的方法,其中,选择包括在确定选择哪个S块中,对空闲空间和编程擦除(PE)计数进行加权。
35.根据权利要求34所述的方法,其中,所述日志号包括由所述日志覆盖的第一物理页的地址的预定数量的最高有效位。
36.根据权利要求23所述的方法,其中,所述多个日志条目中的每一个包括:
L页号,以及
物理地址位置。
37.根据权利要求23所述的方法,其中,所述多个日志条目中的每一个包括:
L页号;
物理页的物理地址位置,以及
L页尺寸。
38.根据权利要求23所述的方法,其中,所述多个日志条目中的每一个包括:
包括L页的起始的物理页的地址的预定数量的最低有效位;
地址;
L页尺寸;以及
所述物理页内的偏移。
39.根据权利要求23所述的方法,进一步包括选择性地对所述多个L页进行压缩,以使得所述多个L页在尺寸上不同,并且其中,所述多个日志被配置为引用较大数量的较小尺寸的L页或者引用较少数量的较大尺寸的L页。
40.根据权利要求23所述的方法,其中,在启动时读取所述多个日志和重建所述转换映射包括:在启动时以预定的序列顺序来读取所述多个日志,并且基于所读取的多个日志来对存储在易失性存储器中的所述转换映射进行重建。
41.根据权利要求23所述的方法,其中,所述控制器进一步被配置为基于所述多个日志来建立日志映射。
42.根据权利要求23所述的方法,进一步包括:
在启动时以预定的序列顺序读取所述多个日志;
基于所顺序读取的多个日志来建立存储在所述非易失性存储器设备中的日志的映射,以及
将所建立的日志的映射存储在所述易失性存储器中。
43.根据权利要求23所述的方法,其中,在与给定的L页相关联的日志条目当中,仅与所述给定的L页相关联的最新更新的日志条目是有效的。
44.根据权利要求23所述的方法,进一步包括在所述易失性存储器中保持所述多个日志的系统日志映射,所述系统日志映射中的每一个条目指向所述多个日志中的一个存储在所述非易失性存储器设备中的位置。
45.一种数据存储设备控制器,包括:
处理器,其被配置为耦合到易失性存储器和多个存储器设备,所述多个存储器设备中的每一个被配置为将多个物理页存储在多个非易失性设备内预定的物理位置处,所述处理器进一步被配置为将数据编程到所述多个存储器设备以及从所述多个存储器设备中读取数据,所述数据存储在多个逻辑页(L页)中,所述多个L页中的每一个与L页号相关联,所述L页号被配置为使得所述处理器能够逻辑地引用存储在所述物理页的一个或多个中的数据,所述易失性存储器被配置为存储逻辑到物理地址转换映射,所述逻辑到物理地址转换映射被配置为使得所述处理器能够确定存储在每一个L页中的数据在一个或多个物理页内的物理位置,
其中,所述处理器被配置为在所述多个非易失性存储器设备中,保持限定了物理到逻辑对应关系的多个日志,所述多个日志中的每一个与日志号相关联,每一个日志覆盖预定范围的物理页并且包括多个日志条目,每一个条目被配置为将一个或多个物理页与每一个L页相关联,其中,所述处理器进一步被配置为在启动时读取所述多个日志,并且根据所读取的多个日志来对存储在所述易失性存储器中的地址转换映射进行重建。
CN201380063439.2A 2012-10-05 2013-09-30 用于固态驱动器中的物理到逻辑映射的方法、设备和系统 Expired - Fee Related CN105027090B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/645,822 2012-10-05
US13/645,822 US9268682B2 (en) 2012-10-05 2012-10-05 Methods, devices and systems for physical-to-logical mapping in solid state drives
PCT/US2013/062723 WO2014055445A1 (en) 2012-10-05 2013-09-30 Methods, devices and systems for physical-to-logical mapping in solid state drives

Publications (2)

Publication Number Publication Date
CN105027090A true CN105027090A (zh) 2015-11-04
CN105027090B CN105027090B (zh) 2018-03-09

Family

ID=50433685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380063439.2A Expired - Fee Related CN105027090B (zh) 2012-10-05 2013-09-30 用于固态驱动器中的物理到逻辑映射的方法、设备和系统

Country Status (8)

Country Link
US (1) US9268682B2 (zh)
EP (1) EP2904496A4 (zh)
JP (1) JP6210570B2 (zh)
KR (1) KR101911589B1 (zh)
CN (1) CN105027090B (zh)
AU (1) AU2013327582B2 (zh)
HK (1) HK1216443A1 (zh)
WO (1) WO2014055445A1 (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843744A (zh) * 2015-12-03 2017-06-13 群联电子股份有限公司 数据程序化方法与内存储存装置
CN107544913A (zh) * 2016-06-29 2018-01-05 北京忆恒创源科技有限公司 一种ftl表快速重建方法与装置
CN107870867A (zh) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 32位cpu访问大于4gb内存空间的方法与装置
CN107870870A (zh) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 访问超过地址总线宽度的内存空间
CN108733575A (zh) * 2017-04-20 2018-11-02 立而鼎科技(深圳)有限公司 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘
CN109117084A (zh) * 2017-06-26 2019-01-01 西部数据技术公司 将逻辑储存块动态地重新调整尺寸
WO2019000355A1 (en) * 2017-06-30 2019-01-03 Intel Corporation COMPRESSED KEY LOG STRUCTURE
CN109800180A (zh) * 2017-11-17 2019-05-24 爱思开海力士有限公司 用于地址映射的方法和存储器系统
CN109992524A (zh) * 2018-01-03 2019-07-09 爱思开海力士有限公司 控制器和其操作方法以及存储器系统
CN110032521A (zh) * 2017-11-16 2019-07-19 阿里巴巴集团控股有限公司 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统
CN110058798A (zh) * 2018-01-19 2019-07-26 爱思开海力士有限公司 数据处理系统及其操作方法
CN110096452A (zh) * 2018-01-31 2019-08-06 北京忆恒创源科技有限公司 非易失随机访问存储器及其提供方法
TWI679538B (zh) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
CN110765029A (zh) * 2018-07-27 2020-02-07 爱思开海力士有限公司 控制器及用于操作该控制器的方法
CN111158580A (zh) * 2018-11-08 2020-05-15 慧荣科技股份有限公司 关于容错式磁盘阵列的映像信息管理的方法与装置
CN111338990A (zh) * 2020-02-12 2020-06-26 合肥康芯威存储技术有限公司 一种数据存储装置及数据存储方法与存储系统
CN111538682A (zh) * 2018-12-31 2020-08-14 美光科技公司 混合逻辑到物理高速缓存方案
CN111737160A (zh) * 2019-03-25 2020-10-02 西部数据技术公司 存储管理中多个副本的优化处理
CN111813703A (zh) * 2019-04-10 2020-10-23 慧荣科技股份有限公司 数据储存装置及逻辑至物理地址映射表的更新方法
CN111858404A (zh) * 2019-04-26 2020-10-30 慧与发展有限责任合伙企业 缓存数据定位系统
CN112433889A (zh) * 2016-06-29 2021-03-02 北京忆恒创源科技有限公司 基于ftl表的日志生成方法与装置
CN113127376A (zh) * 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 固态驱动器的控制方法、装置及设备
CN113126907A (zh) * 2019-12-30 2021-07-16 美光科技公司 用于存储器装置的异步电力损失恢复
CN113179665A (zh) * 2019-06-26 2021-07-27 西部数据技术公司 使用基于纠错的度量来识别性能不佳的数据存储设备
CN113590504A (zh) * 2016-06-29 2021-11-02 北京忆恒创源科技股份有限公司 存储日志帧以及日志条目的固态硬盘
CN114424284A (zh) * 2019-08-28 2022-04-29 美光科技公司 码字内耗损均衡技术
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Families Citing this family (149)

* 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
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
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
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture 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
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting 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
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
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
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
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
US9495288B2 (en) * 2013-01-22 2016-11-15 Seagate Technology Llc Variable-size flash translation layer
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
US8990668B2 (en) 2013-03-14 2015-03-24 Western Digital Technologies, Inc. Decoding data stored in solid-state memory
US9218279B2 (en) 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
US9448738B2 (en) 2013-03-15 2016-09-20 Western Digital Technologies, Inc. Compression and formatting of data for data storage systems
US9335950B2 (en) 2013-03-15 2016-05-10 Western Digital Technologies, Inc. Multiple stream compression and formatting of data for data storage systems
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
US10417123B1 (en) 2013-05-16 2019-09-17 Western Digital Technologies, Inc. Systems and methods for improving garbage collection and wear leveling performance 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
GB2515539A (en) 2013-06-27 2014-12-31 Samsung Electronics Co Ltd Data structure for physical layer encapsulation
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
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
US9330143B2 (en) 2013-10-24 2016-05-03 Western Digital Technologies, Inc. Data storage device supporting accelerated database operations
US10444998B1 (en) 2013-10-24 2019-10-15 Western Digital Technologies, Inc. Data storage device providing data maintenance services
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
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
US9684568B2 (en) * 2013-12-26 2017-06-20 Silicon Motion, Inc. Data storage device and flash memory control method
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
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
US9348520B2 (en) 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
US9448742B2 (en) 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
TWI522804B (zh) 2014-04-23 2016-02-21 威盛電子股份有限公司 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法
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
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices
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
US10915256B2 (en) * 2015-02-25 2021-02-09 SK Hynix Inc. Efficient mapping scheme with deterministic power transition times for flash storage devices
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
US9940034B2 (en) 2016-01-25 2018-04-10 International Business Machines Corporation Reducing read access latency by straddling pages across non-volatile memory channels
US10162561B2 (en) 2016-03-21 2018-12-25 Apple Inc. Managing backup of logical-to-physical translation information to control boot-time and write amplification
US10157004B2 (en) * 2016-04-14 2018-12-18 Sandisk Technologies Llc Storage system and method for recovering data corrupted in a host memory buffer
CN106201778B (zh) * 2016-06-30 2019-06-25 联想(北京)有限公司 信息处理方法及存储设备
US9946463B2 (en) * 2016-07-12 2018-04-17 Western Digital Technologies, Inc. Compression of indirection tables
CN106155919B (zh) * 2016-07-26 2019-06-11 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法及控制系统
KR20180019419A (ko) 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
US10387303B2 (en) 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
US10489289B1 (en) 2016-09-30 2019-11-26 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and trim
US10540102B2 (en) * 2016-09-30 2020-01-21 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and replay
US10747678B2 (en) 2016-10-27 2020-08-18 Seagate Technology Llc Storage tier with compressed forward map
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
KR20180051706A (ko) 2016-11-07 2018-05-17 삼성전자주식회사 어드레스 맵핑 테이블의 에러 정정을 수행하는 메모리 시스템
TWI591533B (zh) * 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
US10613973B1 (en) 2016-12-28 2020-04-07 Amazon Technologies, Inc. Garbage collection in solid state drives
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
KR102458312B1 (ko) 2017-06-09 2022-10-24 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
US10628326B2 (en) * 2017-08-21 2020-04-21 Micron Technology, Inc. Logical to physical mapping
US10379948B2 (en) 2017-10-02 2019-08-13 Western Digital Technologies, Inc. Redundancy coding stripe based on internal addresses of storage devices
US10474528B2 (en) 2017-10-02 2019-11-12 Western Digital Technologies, Inc. Redundancy coding stripe based on coordinated internal address scheme across multiple devices
TWI670594B (zh) * 2018-01-18 2019-09-01 慧榮科技股份有限公司 資料儲存裝置
US10725941B2 (en) 2018-06-30 2020-07-28 Western Digital Technologies, Inc. Multi-device storage system with hosted services on peer storage devices
US10409511B1 (en) 2018-06-30 2019-09-10 Western Digital Technologies, Inc. Multi-device storage system with distributed read/write processing
US10592144B2 (en) 2018-08-03 2020-03-17 Western Digital Technologies, Inc. Storage system fabric with multichannel compute complex
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10877810B2 (en) 2018-09-29 2020-12-29 Western Digital Technologies, Inc. Object storage system with metadata operation priority processing
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store 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
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US10997085B2 (en) 2019-06-03 2021-05-04 International Business Machines Corporation Compression for flash translation layer
US10977189B2 (en) 2019-09-06 2021-04-13 Seagate Technology Llc Reducing forward mapping table size using hashing
TWI724550B (zh) * 2019-09-19 2021-04-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
JP2021149549A (ja) 2020-03-19 2021-09-27 キオクシア株式会社 ストレージ装置およびアドレス変換テーブルのキャッシュ制御方法
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching
US11726921B2 (en) * 2020-05-21 2023-08-15 Seagate Technology Llc Combined page footer for parallel metadata storage
CN113885778B (zh) * 2020-07-02 2024-03-08 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113961140B (zh) 2020-07-02 2024-06-11 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
US11360671B2 (en) * 2020-07-22 2022-06-14 Seagate Technology Llc Region-specific directed offline scan for hard disk drive
US11550724B2 (en) 2020-08-14 2023-01-10 Samsung Electronics Co., Ltd. Method and system for logical to physical (L2P) mapping for data-storage device comprising nonvolatile memory
KR20220032826A (ko) 2020-09-08 2022-03-15 에스케이하이닉스 주식회사 메모리 시스템 내 맵 정보를 제어 및 저장하는 장치 및 방법
US20210223979A1 (en) * 2021-03-16 2021-07-22 Intel Corporation On-ssd-copy techniques using copy-on-write
JP2024043063A (ja) * 2022-09-16 2024-03-29 キオクシア株式会社 メモリシステムおよび制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1499530A (zh) * 2002-10-28 2004-05-26 非易失性存储器系统内有效允许失序写处理的方法和装置
US20090216943A1 (en) * 2008-02-21 2009-08-27 Hitachi Global Storage Technologies Netherlands B. V. Data storage device and data management method in data storage device
CN101652753A (zh) * 2007-02-12 2010-02-17 马维尔国际贸易有限公司 用于非易失性存储器的引导部署
US20110004720A1 (en) * 2009-07-02 2011-01-06 Chun-Ying Chiang Method and apparatus for performing full range random writing on a non-volatile memory
CN102567221A (zh) * 2010-12-29 2012-07-11 群联电子股份有限公司 数据管理方法、存储器控制器与存储器储存装置
US20120191664A1 (en) * 2011-01-24 2012-07-26 Apple Inc. Coordinating sync points between a non-volatile memory and a file system
CN102623052A (zh) * 2011-01-30 2012-08-01 群联电子股份有限公司 用于非易失性存储器的数据写入方法与系统及控制器

Family Cites Families (52)

* Cited by examiner, † Cited by third party
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
US7660941B2 (en) 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7610438B2 (en) 2000-01-06 2009-10-27 Super Talent Electronics, Inc. Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table
US8266367B2 (en) 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US20040088474A1 (en) 2002-10-30 2004-05-06 Lin Jin Shin NAND type flash memory disk device and method for detecting the logical address
US20040109376A1 (en) 2002-12-09 2004-06-10 Jin-Shin Lin Method for detecting logical address of flash memory
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP2005293774A (ja) 2004-04-02 2005-10-20 Hitachi Global Storage Technologies Netherlands Bv ディスク装置の制御方法
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
KR101404083B1 (ko) 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
US7363421B2 (en) 2005-01-13 2008-04-22 Stmicroelectronics S.R.L. Optimizing write/erase operations in memory devices
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US20070016721A1 (en) 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US20070094445A1 (en) 2005-10-20 2007-04-26 Trika Sanjeev N Method to enable fast disk caching and efficient operations on solid state disks
US7509471B2 (en) 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
WO2007066720A1 (ja) 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
US7711923B2 (en) 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
KR100843543B1 (ko) 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
JP4939234B2 (ja) * 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US20080282024A1 (en) 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US8095851B2 (en) 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
KR101436505B1 (ko) 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
TWI375956B (en) 2008-02-29 2012-11-01 Phison Electronics Corp Block management methnd for flash memory, controller and storage sysetm thereof
KR101398200B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
KR101398212B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
US8180954B2 (en) 2008-04-15 2012-05-15 SMART Storage Systems, Inc. Flash management using logical page size
KR101518199B1 (ko) 2008-05-23 2015-05-06 삼성전자주식회사 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치
US8321652B2 (en) 2008-08-01 2012-11-27 Infineon Technologies Ag Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US8412880B2 (en) 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8255774B2 (en) 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
KR20100104623A (ko) 2009-03-18 2010-09-29 삼성전자주식회사 데이터 처리 시스템 및 그것의 부호율 제어 스킴
KR101571693B1 (ko) 2009-04-15 2015-11-26 삼성전자주식회사 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법
US20100306451A1 (en) 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8219776B2 (en) 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US8463983B2 (en) 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US20110072333A1 (en) 2009-09-24 2011-03-24 Innostor Technology Corporation Control method for flash memory based on variable length ecc
US8364929B2 (en) 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device
US8745353B2 (en) 2009-10-23 2014-06-03 Seagate Technology Llc Block boundary resolution for mismatched logical and physical block sizes
US8255661B2 (en) 2009-11-13 2012-08-28 Western Digital Technologies, Inc. Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device
JP4738536B1 (ja) 2010-01-29 2011-08-03 株式会社東芝 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
US8327226B2 (en) 2010-02-03 2012-12-04 Seagate Technology Llc Adjustable error correction code length in an electrical storage device
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
US8458417B2 (en) 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US20110252289A1 (en) 2010-04-08 2011-10-13 Seagate Technology Llc Adjusting storage device parameters based on reliability sensing
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US20120173795A1 (en) 2010-05-25 2012-07-05 Ocz Technology Group, Inc. Solid state drive with low write amplification
US8533550B2 (en) 2010-06-29 2013-09-10 Intel Corporation Method and system to improve the performance and/or reliability of a solid-state drive
TWI455144B (zh) 2010-07-22 2014-10-01 Silicon Motion Inc 使用於快閃記憶體的控制方法與控制器
US8732431B2 (en) 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
TWI432962B (zh) * 2011-10-06 2014-04-01 Mstar Semiconductor Inc 電子系統及其記憶體管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1499530A (zh) * 2002-10-28 2004-05-26 非易失性存储器系统内有效允许失序写处理的方法和装置
CN101652753A (zh) * 2007-02-12 2010-02-17 马维尔国际贸易有限公司 用于非易失性存储器的引导部署
US20090216943A1 (en) * 2008-02-21 2009-08-27 Hitachi Global Storage Technologies Netherlands B. V. Data storage device and data management method in data storage device
US20110004720A1 (en) * 2009-07-02 2011-01-06 Chun-Ying Chiang Method and apparatus for performing full range random writing on a non-volatile memory
CN102567221A (zh) * 2010-12-29 2012-07-11 群联电子股份有限公司 数据管理方法、存储器控制器与存储器储存装置
US20120191664A1 (en) * 2011-01-24 2012-07-26 Apple Inc. Coordinating sync points between a non-volatile memory and a file system
CN102623052A (zh) * 2011-01-30 2012-08-01 群联电子股份有限公司 用于非易失性存储器的数据写入方法与系统及控制器

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843744B (zh) * 2015-12-03 2020-05-26 群联电子股份有限公司 数据程序化方法与存储器储存装置
CN106843744A (zh) * 2015-12-03 2017-06-13 群联电子股份有限公司 数据程序化方法与内存储存装置
CN107544913A (zh) * 2016-06-29 2018-01-05 北京忆恒创源科技有限公司 一种ftl表快速重建方法与装置
CN112433889B (zh) * 2016-06-29 2024-04-12 北京忆恒创源科技股份有限公司 基于ftl表的日志生成方法与装置
CN112433889A (zh) * 2016-06-29 2021-03-02 北京忆恒创源科技有限公司 基于ftl表的日志生成方法与装置
CN107544913B (zh) * 2016-06-29 2021-09-28 北京忆恒创源科技股份有限公司 一种ftl表快速重建方法与装置
CN113590504A (zh) * 2016-06-29 2021-11-02 北京忆恒创源科技股份有限公司 存储日志帧以及日志条目的固态硬盘
CN107870870B (zh) * 2016-09-28 2021-12-14 北京忆芯科技有限公司 访问超过地址总线宽度的内存空间
CN107870867A (zh) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 32位cpu访问大于4gb内存空间的方法与装置
CN107870870A (zh) * 2016-09-28 2018-04-03 北京忆芯科技有限公司 访问超过地址总线宽度的内存空间
CN107870867B (zh) * 2016-09-28 2021-12-14 北京忆芯科技有限公司 32位cpu访问大于4gb内存空间的方法与装置
CN108733575A (zh) * 2017-04-20 2018-11-02 立而鼎科技(深圳)有限公司 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘
CN108733575B (zh) * 2017-04-20 2022-12-27 深圳市得一微电子有限责任公司 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘
CN109117084A (zh) * 2017-06-26 2019-01-01 西部数据技术公司 将逻辑储存块动态地重新调整尺寸
US11113159B2 (en) 2017-06-30 2021-09-07 Intel Corporation Log structure with compressed keys
WO2019000355A1 (en) * 2017-06-30 2019-01-03 Intel Corporation COMPRESSED KEY LOG STRUCTURE
CN110032521A (zh) * 2017-11-16 2019-07-19 阿里巴巴集团控股有限公司 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统
CN110032521B (zh) * 2017-11-16 2023-09-26 阿里巴巴集团控股有限公司 增强闪存转换层映射灵活性的方法和系统
CN109800180A (zh) * 2017-11-17 2019-05-24 爱思开海力士有限公司 用于地址映射的方法和存储器系统
CN109992524B (zh) * 2018-01-03 2023-08-29 爱思开海力士有限公司 控制器和其操作方法以及存储器系统
CN109992524A (zh) * 2018-01-03 2019-07-09 爱思开海力士有限公司 控制器和其操作方法以及存储器系统
CN110058798A (zh) * 2018-01-19 2019-07-26 爱思开海力士有限公司 数据处理系统及其操作方法
CN110058798B (zh) * 2018-01-19 2022-10-04 爱思开海力士有限公司 数据处理系统及其操作方法
KR20190088598A (ko) * 2018-01-19 2019-07-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102527132B1 (ko) * 2018-01-19 2023-05-02 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN110096452B (zh) * 2018-01-31 2024-05-28 北京忆恒创源科技股份有限公司 非易失随机访问存储器及其提供方法
CN110096452A (zh) * 2018-01-31 2019-08-06 北京忆恒创源科技有限公司 非易失随机访问存储器及其提供方法
US10545876B2 (en) 2018-03-31 2020-01-28 Silicon Motion, Inc. Control unit for data storage system and method for updating logical-to-physical mapping table
TWI679538B (zh) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
CN110765029A (zh) * 2018-07-27 2020-02-07 爱思开海力士有限公司 控制器及用于操作该控制器的方法
CN110765029B (zh) * 2018-07-27 2023-04-07 爱思开海力士有限公司 控制器及用于操作该控制器的方法
CN111158580A (zh) * 2018-11-08 2020-05-15 慧荣科技股份有限公司 关于容错式磁盘阵列的映像信息管理的方法与装置
CN111158580B (zh) * 2018-11-08 2023-07-18 慧荣科技股份有限公司 关于容错式磁盘阵列的映像信息管理的方法与装置
CN111538682B (zh) * 2018-12-31 2023-11-10 美光科技公司 混合逻辑到物理高速缓存方案
CN111538682A (zh) * 2018-12-31 2020-08-14 美光科技公司 混合逻辑到物理高速缓存方案
US11650931B2 (en) 2018-12-31 2023-05-16 Micron Technology, Inc. Hybrid logical to physical caching scheme of L2P cache and L2P changelog
CN111737160A (zh) * 2019-03-25 2020-10-02 西部数据技术公司 存储管理中多个副本的优化处理
CN111813703B (zh) * 2019-04-10 2024-08-30 慧荣科技股份有限公司 数据储存装置及逻辑至物理地址映射表的更新方法
CN111813703A (zh) * 2019-04-10 2020-10-23 慧荣科技股份有限公司 数据储存装置及逻辑至物理地址映射表的更新方法
CN111858404B (zh) * 2019-04-26 2022-12-27 慧与发展有限责任合伙企业 地址转换的方法和系统、以及计算机可读介质
CN111858404A (zh) * 2019-04-26 2020-10-30 慧与发展有限责任合伙企业 缓存数据定位系统
CN113179665A (zh) * 2019-06-26 2021-07-27 西部数据技术公司 使用基于纠错的度量来识别性能不佳的数据存储设备
US11688477B2 (en) 2019-08-28 2023-06-27 Micron Technology, Inc. Intra-code word wear leveling techniques
CN114424284A (zh) * 2019-08-28 2022-04-29 美光科技公司 码字内耗损均衡技术
CN113126907A (zh) * 2019-12-30 2021-07-16 美光科技公司 用于存储器装置的异步电力损失恢复
CN113127376A (zh) * 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 固态驱动器的控制方法、装置及设备
CN113127376B (zh) * 2019-12-30 2024-02-27 阿里巴巴集团控股有限公司 固态驱动器的控制方法、装置及设备
CN111338990B (zh) * 2020-02-12 2021-01-12 合肥康芯威存储技术有限公司 一种数据存储装置及数据存储方法与存储系统
CN111338990A (zh) * 2020-02-12 2020-06-26 合肥康芯威存储技术有限公司 一种数据存储装置及数据存储方法与存储系统
CN115563026A (zh) * 2022-12-07 2023-01-03 合肥康芯威存储技术有限公司 一种映射表的重建方法及数据存储设备

Also Published As

Publication number Publication date
AU2013327582A1 (en) 2015-05-14
JP2015530685A (ja) 2015-10-15
CN105027090B (zh) 2018-03-09
EP2904496A1 (en) 2015-08-12
US20140101369A1 (en) 2014-04-10
JP6210570B2 (ja) 2017-10-11
AU2013327582B2 (en) 2019-01-17
HK1216443A1 (zh) 2016-11-11
KR20150084817A (ko) 2015-07-22
WO2014055445A1 (en) 2014-04-10
US9268682B2 (en) 2016-02-23
KR101911589B1 (ko) 2018-10-24
EP2904496A4 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105027090A (zh) 用于固态驱动器中的物理到逻辑映射的方法、设备和系统
US10055345B2 (en) Methods, devices and systems for solid state drive control
AU2013345302B2 (en) Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9792067B2 (en) Trim command processing in a solid state drive
US9817577B2 (en) Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
CN105122220A (zh) 固态驱动器中的原子写入命令支持
CN100487672C (zh) 用于分割一逻辑块的方法及设备
US9507523B1 (en) Methods, devices and systems for variable size logical page management in a solid state drive
KR20150083264A (ko) 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법
US11520698B2 (en) Data storage device in a key-value storage architecture with data compression, and non-volatile memory control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180611

Address after: American California

Patentee after: Western Digital Technologies, Inc.

Address before: American California

Co-patentee before: SKYERA INC

Patentee before: Western Digital Technologies, Inc.

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

Granted publication date: 20180309

Termination date: 20190930

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1216443

Country of ref document: HK