CN102341793B - 存储器块选择 - Google Patents
存储器块选择 Download PDFInfo
- Publication number
- CN102341793B CN102341793B CN201080010413.8A CN201080010413A CN102341793B CN 102341793 B CN102341793 B CN 102341793B CN 201080010413 A CN201080010413 A CN 201080010413A CN 102341793 B CN102341793 B CN 102341793B
- Authority
- CN
- China
- Prior art keywords
- group
- superblock
- write operation
- lba
- free
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7202—Allocation control and policies
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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
本发明包含用于存储器块选择的方法及装置。在一个或一个以上实施例中,一种存储器控制器包含控制电路,所述控制电路耦合到一个或一个以上存储器装置,所述一个或一个以上存储器装置具有与其相关联的多个平面群组,每一群组包含组织成若干超级块的至少两个物理块平面,其中每一超级块包含来自所述至少两个平面中的每一者的物理块。所述控制电路经配置以接收与写入操作相关联的第一未指派逻辑块地址(LBA)且确定所述多个群组中用以接收与所述写入操作相关联的数据的选定一者内的特定自由超级块。
Description
技术领域
本发明一般来说涉及半导体存储器装置、方法及系统,且更特定来说,涉及存储器块选择。
背景技术
通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它存储器。非易失性存储器可通过在不被供电时仍保持所存储的信息而提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及相变随机存取存储器(PCRAM)以及其它存储器。
存储器装置可组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器,例如,NAND快闪存储器及NOR快闪存储器,及/或可包含易失性存储器,例如,DRAM及SRAM,还包含各种其它类型的非易失性及易失性存储器。
可使用SSD来替换硬盘驱动器作为计算机的主要存储装置,因为所述固态驱动器可在性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有优于硬驱动器的优点。举例来说,SSD在与磁盘驱动器相比时因其缺乏移动部件而可具有优越性能,此可改善与磁盘驱动器相关联的寻道时间、等待时间及其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成可不使用内部电池供应的快闪SSD,因此允许所述驱动器更通用且更小型。
SSD可包含若干个存储器装置,例如,若干个存储器芯片(如本文中所使用,“若干个”某物可指代此些事物中的一者或一者以上,例如,若干个存储器装置可指代一个或一个以上存储器装置)。所属领域的技术人员将了解,存储器芯片可包含若干个裸片。每一裸片上可包含若干个存储器阵列及外围电路。存储器阵列可包含若干个平面,其中每一平面包含若干个物理存储单元块。每一物理块可包含可存储若干个数据扇区的若干个存储单元页。
举例来说,SSD内的存储器块选择可涉及确定向哪些物理块写入数据及擦除哪些物理块,以及写入及擦除物理块的次序。用于SSD中的存储单元可限于有限数目个写入擦除循环,所述有限数目个写入擦除循环可确定驱动器的寿命。因而,改进存储器块选择效率及分配效率可增加SSD的寿命。
附图说明
图1是包含多个物理块且可根据本发明的一个或一个以上实施例操作的存储器阵列的图示。
图2是图解说明具有可根据本发明的一个或一个以上实施例操作的多个平面群组的若干个存储器装置的图示。
图3是根据本发明的一个或一个以上实施例的存储器系统的功能性框图。
图4A、图4B、图4C及图4D是展示根据本发明的一个或一个以上实施例的存储器块选择的功能性框图。
具体实施方式
本发明包含用于存储器块选择的方法及装置。在一个或一个以上实施例中,一种存储器控制器包含控制电路,所述控制电路耦合到一个或一个以上存储器装置,所述一个或一个以上存储器装置具有与其相关联的多个平面群组,每一群组包含组织成若干超级块的至少两个物理块平面,其中每一超级块包含来自所述至少两个平面中的每一者的物理块。所述控制电路经配置以接收与写入操作相关联的第一未指派逻辑块地址(LBA)且确定所述多个群组中用以接收与所述写入操作相关联的数据的选定一者内的特定自由超级块。
在本发明的以下详细说明中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一个或一个以上实施例的随附图式。充分详细地描述这些实施例旨在使所属领域的技术人员能够实践本发明的所述实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下作出过程、电及/或结构改变。如本文中所使用,标示符“M”、“N”、“S”、“R”及“B”(尤其是关于图式中的参考编号)指示本发明的一个或一个以上实施例可包含如此标示的若干特定特征。所述标示符可表示相同或不同数目的特定特征。
本文中的图遵循以下的编号惯例:其中第一个数字或前几个数字对应于图式图编号且剩余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,110可参考图1中的元件“10”,且类似元件在图2中可称为210。如将了解,可添加、更换及/或消除本文中各种实施例中所示的元件以提供本发明的若干个额外实施例。另外,如将了解,所述图中所提供的元件的比例及相对标度打算图解说明本发明的实施例且不应理解为具有限制意义。
图1是包含多个物理块104-0(块0)、104-1(块1)、…、104-B(块B)且可根据本发明的一个或一个以上实施例操作的存储器阵列102的图示。虽然图1中未展示,但所属领域的技术人员将了解,存储器阵列102可连同与其操作相关联的各种外围电路一起位于特定半导体裸片上。
在图1中所示的实例中,指示符“B”用于指示阵列102可包含若干个物理块。作为一实例,阵列102中物理块的数目可为128个块、512个块或1,024个块,但实施例并不限于阵列102中128的特定倍数或任一特定数目的物理块。此外,实施例并不限于阵列中所使用存储器的类型,例如,非易失性、易失性等。在图1中所图解说明的实施例中,存储器阵列102可为(举例来说)NAND快闪存储器阵列102。
在此实例中,每一物理块104-0、104-1、…、104-B包含可作为一单元一起擦除的存储单元,例如,每一物理块中的单元可以大致同时的方式被擦除。举例来说,每一物理块中的单元可在单个操作中一起被擦除。每一物理块(例如,104-0、104-1、…、104-B)含有耦合到存取线(例如,字线)的若干个物理存储单元行(例如,106-0、106-1、…、106-R)。指示符“R”用于指示物理块(例如,104-0、104-1、…、104-B)可包含若干行。在一些实施例中,每一物理块中的行(例如,字线)的数目可为32,但实施例并不限于每物理块特定数目的行106-0、106-1、…、106-R。
如所属领域的技术人员将了解,每一行106-0、106-1、…、106-R可存储一个或一个以上数据页。一页是指编程及/或读取单元,例如,一起编程及/或读取或者作为功能性存储单元群组的若干个单元。在图1中所示的实施例中,每一行106-0、106-1、…、106-R存储一个数据页。然而,本发明的实施例并不限于此。举例来说,在本发明的一些实施例中,每一行可存储多个数据页。
在本发明的一个或一个以上实施例中,且如图1中所示,与行106-0、106-1、…、106-R相关联的一页可根据若干个物理数据扇区108-0、108-1、…、108-S存储数据。指示符“S”用于指示一行(例如,106-0、106-1、…、106-R)可包含若干个物理扇区。每一物理扇区108-0、108-1、…、108-S可对应于逻辑扇区且可包含额外开销信息(例如,错误校正码(ECC)信息及逻辑块地址(LBA)信息)以及用户数据。如所属领域的技术人员将了解,逻辑块寻址是通常由主机用来识别逻辑信息扇区的方案。作为一实例,逻辑扇区可存储表示若干个数据字节(例如,256个字节、512个字节或1,024个字节)的信息。实施例并不限于这些实例。
应注意,物理块104-0、104-1、…、104-B、行106-0、106-1、…、106-R、扇区108-0、108-1、…、108-S及页的其它格式及/或配置是可能的。举例来说,物理块104-0、104-1、…、104-B的行106-0、106-1、…、106-R可包含单个逻辑扇区,所述单个逻辑扇区可包含(举例来说)多于或少于512个字节的数据。
图2是图解说明具有可根据本发明的一个或一个以上实施例操作的多个平面群组的若干个存储器装置的图示。根据本文中所描述的一个或一个以上实施例,出于存储器块选择的目的,将物理存储单元块的平面组织成群组。在一个或一个以上实施例中,群组可包含来自一个或一个以上不同存储器阵列的若干个平面。在一个或一个以上实施例中,对应于群组的一个或一个以上平面可来自不同存储器装置。
图2中所示的实施例包含四个存储器装置230-0、230-1、230-2及230-3。存储器装置230-0、230-1、230-2及230-3的组合可称为存储器单元,例如,本文中结合图3所进一步描述的存储器单元325。在一个或一个以上实施例中,存储器装置230-0、230-1、230-2及230-3形成固态驱动器(SSD)的存储器单元。
存储器装置230-0、230-1、230-2及230-3可各自为包含每芯片多个裸片的半导体存储器芯片。所属领域的技术人员将了解,特定芯片上的每一裸片可包含存储器阵列连同与其操作相关联的各种外围电路(图2中未展示)。
在图2中所图解说明的实施例中,每一存储器装置230-0、230-1、230-2及230-3包含两个存储器阵列202-0及202-1(分别展示为裸片0及裸片1)。每一存储器阵列202-0及202-1可为例如结合图1所描述的阵列102的快闪存储器阵列。举例来说,每一存储器阵列202-0及202-1包含多个物理存储单元块,例如,图1中所示的块104-0、104-2、…、104-B。
如所属领域的技术人员将了解,可将阵列(例如,202-0及202-1)的物理块组织成多个平面。举例来说,在图2中所图解说明的实施例中,可将所述存储器阵列中的每一者划分成第一物理块平面(平面0)及第二物理块平面(平面1)。然而,本发明的实施例并不限于每阵列特定数目个平面。举例来说,在各种实施例中,存储器阵列可仅包含一个平面或可包含两个以上平面。
在图2中所图解说明的实施例中,可将与存储器装置230-0、230-1、230-2及230-3相关联的物理块平面组织成两个群组,例如,240-0(群组0)及240-1(群组1)。在图2中所图解说明的实施例中,每一群组240-0及240-1包含来自四个存储器阵列中的每一者的所述平面中的每一者。举例来说,群组240-0包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-0(裸片0)的平面(平面0及平面1)。群组240-1包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-1(裸片1)的平面(平面0及平面1)。
实施例并不限于图2中所示的实例。举例来说,在一个或一个以上实施例中,群组可包含单个阵列内的平面的集合。作为一实例,一个群组可包含装置230-0的阵列202-0的平面0及平面1,另一群组可包含装置230-0的阵列202-1的平面0及平面1,且另一群组可包含装置230-1的阵列202-0的平面0及平面1。
在一些实施例中,群组可包含单个存储器装置的不同阵列内的若干个平面。作为一实例,一个群组可包含装置230-0的阵列202-0的平面0及阵列202-1的平面0,且另一群组可包含装置230-0的阵列202-0的平面1及阵列202-1的平面1。作为另一实例,一个群组可包含装置230-0的阵列202-0的平面0及平面1以及阵列202-1的平面0及平面1,且另一群组可包含装置230-1的阵列202-0的平面0及平面1以及阵列202-1的平面0及平面1。
在其中阵列(例如,202-0及202-1)包含多个平面的实施例中,平面的群组可在一些实施例中包含来自不同存储器装置的一个或一个以上阵列中的每一者的一个平面。举例来说,参考图2,在一个或一个以上实施例中,若干个群组中的每一者可包含来自四个相应存储器装置内四个存储器阵列中的每一者的一个平面的集合。举例来说,一个群组可包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-0(裸片0)的平面0。第二群组可包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-0(裸片0)的平面1。第三群组可包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-1(裸片1)的平面0,且第四群组可包含四个存储器装置230-0、230-1、230-2及230-3中的每一者内的阵列202-1(裸片1)的平面1。
在一个或一个以上实施例中,且如图2中所图解说明,群组240-0及240-1各自具有与其相关联的若干个超级块,例如,超级块0、超级块1、…、超级块N。如本文中所使用,超级块可指代包含来自对应群组内每一平面的物理块的物理块的集合。在一个或一个以上实施例中,超级块可横跨多个存储器装置。举例来说,超级块可为包含来自对应群组内的不同存储器装置内的至少两个存储器阵列中的每一者内的平面的物理块的物理块的集合。
实施例并不限于每群组特定数目个超级块。作为一实例,群组(例如,240-0及240-1)可包含每群组64个、512个或1,024个超级块。在图2中所图解说明的实施例中,与群组240-0相关联的超级块245-0、245-1、…、245-N各自为包含来自与四个相应存储器装置230-0、230-1、230-2及230-3相关联的四个阵列202-0(例如,裸片0)中的每一者的若干个物理块的物理块的相应集合。并且,与群组240-1相关联的超级块245-0、245-1、…、245-N各自为包含来自与四个相应存储器装置230-0、230-1、230-2及230-3相关联的四个阵列202-1(例如,裸片1)中的每一者的若干个物理块的物理块的相应集合。
在本发明的一个或一个以上实施例中,超级块可为针对对应于特定群组的若干个平面中的每一者每平面一个物理块的集合。举例来说,在图2中所图解说明的实施例中,超级块245-0、245-1、…、245-N中的每一者可为八个物理块(针对群组的四个不同存储器装置230-0、230-1、230-2及230-3的每一阵列202-0,每平面一个块)的相应集合。
然而,在一个或一个以上实施例中,超级块并非必须包含来自给定存储器阵列(例如,202-0及202-1)中的每一平面的物理块。举例来说,在图2中所图解说明的实施例中,超级块245-0、245-1、…、245-N中的每一者可为四个物理块(例如,来自群组的四个不同存储器装置230-0、230-1、230-2及230-3的每一阵列202-0中的平面中的一者的一个块或来自四个不同存储器装置230-0、230-1、230-2及230-3的每一阵列202-1中的平面中的一者的一个块)的相应集合。
在各种实施例中,可同时对超级块的物理块执行擦除操作。也就是说,可大致同时擦除特定超级块的物理块集合。并且,在各种实施例中,可同时从与特定超级块相关联的物理块页读取且可同时向所述物理块页写入。
本发明的实施例并不限于图2中所图解说明的实例。举例来说,在一个或一个以上实施例中,群组可包含多于或少于四个存储器阵列内的物理块平面。作为一实例,可将图2中所示的实施例组织成四个群组:第一群组可包含存储器装置230-0及230-1内的阵列202-0(裸片0)的平面;第二群组可包含存储器装置230-2及230-3内的阵列202-0(裸片0)的平面;第三群组可包含存储器装置230-0及230-1内的阵列202-1(裸片1)的平面;且第四群组可包含存储器装置230-2及230-3内的阵列202-1(裸片1)的平面。在此实例中,与所述四个群组相关联的超级块可包含两个物理块(来自与特定群组相关联的两个阵列中的每一者的一个物理块)或可包含四个物理块(针对与特定群组相关联的两个阵列中的每一者,每平面一个物理块)。作为一实例,四个物理块(针对与特定群组相关联的两个阵列中的每一者,每平面一个物理块)的超级块可包含每物理块128个页及每页(假设4KB的页)8个物理扇区,达每超级块总共4,096个物理扇区。在此实例中,可将4,096个地址的LBA范围映射到特定4,096个扇区的物理超级块。然而,本发明的实施例并不限于特定页大小、扇区大小及/或物理块大小。举例来说,实施例并不限于每超级块特定数目个扇区。
在一个或一个以上实施例中,特定超级块(例如,245-0到245-N)内的物理块可具有不同块位置编号。也就是说,特定超级块内的物理块可位于对应于给定群组(例如,240-0及240-1)的平面内的不同位置处。作为一个实例,考虑对应于群组240-0的超级块245-0的物理块。对应于超级块245-0的物理块集合可包含位于接近装置230-0的阵列202-0的顶部部分处的物理块且可包含位于接近装置230-1、230-2及230-3的阵列202-0的中间或下部部分处的物理块。
如下文结合图3所进一步描述,存储器系统(例如,固态驱动器)可包含控制器,所述控制器可从存储器存取装置(例如,主机装置(例如,膝上型计算机、PC、媒体播放器、数码相机等)的处理器)接收与数据写入操作相关联的逻辑块地址(LBA)。接着,所述控制器可确定将写入对应于写入操作的数据的特定物理位置(例如,物理块地址(PBA))。所述控制器可使用各种方法来确定将数据写入到的自由块的位置。举例来说,可维持一个或一个以上查找表(LUT)以用于将LBA映射到自由PBA。
图3是根据本发明的一个或一个以上实施例的存储器系统300的功能性框图。在一个或一个以上实施例中,系统300为固态驱动器。也就是说,图3的实施例可图解说明固态驱动器300的一个实施例的组件及架构。在图3中所图解说明的实施例中,系统300包含控制器320、主机接口324、阵列接口326及固态存储器单元325。
在图3中所图解说明的实施例中,存储器单元325包含若干个存储器装置330-0、330-1、…、330-N。作为一实例,所述存储器装置可为例如快闪存储器(例如,NAND快闪或NOR快闪装置)的非易失性存储器装置以及其它存储器装置。存储器装置330-0、330-1、…、330-N可为例如结合图2所描述的存储器装置230-0、230-1、230-2及230-3的存储器装置。虽然在图3中未展示,但在一个或一个以上实施例中,存储器装置330-0、330-1、…、330-N中的每一者可与SSD 300的特定通道相关联。也就是说,系统300可为多通道系统。
在一个或一个以上实施例中,且如图3中所图解说明,存储器装置330-0、330-1、…、330-N中的每一者包含若干个存储器阵列302-0、302-1、302-3、…、302-M。存储器阵列302-0、302-1、302-3、…、302-M可为例如结合图1所描述的存储器阵列102或结合图2所描述的存储器阵列202-0及202-1的阵列。举例来说,存储器阵列302-0、302-1、302-3、…、302-M中的每一者可包含多个物理存储单元块。在一个或一个以上实施例中,存储器阵列302-0、302-1、302-3、…、302-M中的每一者可表示单个裸片,且存储器装置330-0、330-1、…、330-N中的每一者可表示具有每芯片多个裸片的存储器芯片。
在一个或一个以上实施例中,可如上文结合图2所描述将存储器单元325内的物理存储单元块的平面组织成多个群组。举例来说,所述群组可具有与其相关联的若干个超级块。所述超级块可为物理块的相应集合,其中每一集合包含来自对应于所述群组的多个平面的物理块。
如图3中所图解说明,存储器单元325可经由阵列接口326耦合到控制器320。阵列接口326可用于在存储器单元325与控制器320之间传送信息。控制器320可经由主机接口324耦合到存储器存取装置(例如,主机装置的处理器(未展示))。主机装置可包含计算装置,例如,个人计算机(PC)、膝上型计算机、数码相机、媒体播放器或蜂窝式电话以及各种其它计算装置。作为实例,当存储器单元325如图3中所图解说明用于计算装置中的数据存储时,主机接口324可为串行先进技术附件(SATA)以及其它接口,例如,控制器320可为SATA控制器或USB控制器以及其它控制器。也就是说,实施例并不限于特定类型的控制器320及/或主机接口324。
在一个或一个以上实施例中,且如图3中所图解说明,控制器320包含控制电路322。控制电路322可包含处理器323、空间管理器327、存储器329(例如,RAM)以及用于存储器系统300的操作的其它控制电路(未展示)。在一个或一个以上实施例中,控制器320用于将数据写入到存储器单元325且从存储器单元325读取数据。
在一个或一个以上实施例中,控制器320可经由主机接口324从主机装置接收逻辑块地址(LBA)331。与存储器块选择的现有技术方法相对比,在本发明的一个或一个以上实施例中,由控制器320接收的LBA 331可为未指派LBA。也就是说,所接收的LBA 331并未预先指派给特定群组,例如,例如图2中所示的群组240-0及240-1的平面群组。并且,在各种实施例中,所接收的LBA 331并未预先指派给特定超级块,例如,图2中所示的超级块245-0到245-N。
举例来说,在一个或一个以上实施例中,控制电路(例如,控制电路322)经配置以接收与第一写入操作相关联的第一未指派LBA且确定所述多个群组中用以接收与所述第一写入操作相关联的数据的选定一者内的特定自由超级块。如本文中所使用,未指派LBA是指未预先指派给特定群组的LBA,因此当结合写入操作接收所述LBA时,并未预先确定与所述写入操作相关联的数据待写入到的位置(例如,群组)。
在一个或一个以上实施例中,控制电路322经配置以将包含第一未指派LBA的LBA范围指派给多个群组中的选定一者内的特定自由超级块。在各种实施例中,控制电路322可经配置以与第二写入操作相关联地接收第二LBA且当所述第二LBA在指派给选定超级块的LBA范围内(例如,所述第二LBA尚未被写入或存取但在先前指派给特定超级块的LBA范围内)时将对应于所述第二写入操作的数据写入到相同选定超级块。
在一个或一个以上实施例中,所述第二LBA可为未指派LBA(例如,所述第二LBA可为不在先前指派给特定超级块的LBA范围内的LBA)。在此些实施例中,控制电路可经配置以将所述第二未指派LBA指派给不同选定超级块(例如,除将对应于第一写入操作的数据写入到的选定超级块以外的超级块)。
在各种实施例中,控制电路322经配置以针对多个群组中的每一者追踪每一群组中可用的自由超级块的数目。控制电路322可经配置以至少部分地基于所述多个群组中的每一者内可用自由超级块的数目而选择所述多个群组中用以接收与所述第一写入操作相关联的数据的一者。在一个或一个以上实施例中,所述控制电路经配置以至少部分地基于所述多个群组中的每一者的自由超级块与已使用超级块的比率而选择所述多个群组中用以接收与所述第一写入操作相关联的数据的一者。
在一个或一个以上实施例中,控制电路322经配置以在所述第一写入操作之后将所述多个群组中的相应选定一者指派给先前未指派LBA,以便将与所有后续写入操作相关联的对应于先前未指派LBA的数据写入到相应经指派群组内的自由超级块。
如下文结合图4A到图4D所进一步描述,在一个或一个以上实施例中,控制电路322经配置以接收与第二写入操作相关联的第二LBA(例如,与后续写入操作相关联的不同LBA),且确定所述多个群组中用以接收与所述第二写入操作相关联的数据的选定一者内的特定自由超级块。控制电路322可经配置以选择多个群组中用以在循环基础上接收与后续写入操作相关联的数据的一者。在各种实施例中,所述多个群组中的与后续写入操作相关联的选定一者不同于所述多个群组中的与写入操作相关联的选定一者。
如本文中所使用,术语第一写入操作及第二写入操作可用于指示不同写入操作,例如,特定写入操作及后续写入操作。也就是说,术语第一及第二写入操作不限于连续操作或特定执行时间。
在各种实施例中,一旦将未指派LBA指派给特定群组(例如,在第一写入操作中指派给多个群组中的选定一者内的特定超级块),就可与第二(例如,后续)写入操作相关联地更新特定LBA(例如,先前未指派LBA)。在一个或一个以上实施例中,与第二写入操作相关联地将新自由超级块指派给先前未指派LBA,以便将对应于所述第二写入操作的已更新数据写入到所述新超级块(例如,不同于在第一操作中将对应于特定LBA的数据写入到的超级块的超级块)。在一个或一个以上此种实施例中,所述新超级块可在与在第一操作中将对应于特定LBA的数据写入到的超级块相同的群组中或不同的群组中。
如本文中所描述,可以各种方式(例如,基于针对所述群组中的每一者所确定的自由超级块的计数、基于与所述群组中的每一者相关联的自由超级块与已使用超级块的比率、在所述群组当中的循环基础上等)与所述第二写入操作相关联地选择新超级块。举例来说,在一些实施例中,控制电路322可经配置以针对所述多个群组中的每一者确定自由超级块的当前数目且至少部分地基于针对所述多个群组中的每一者所确定的自由超级块的当前数目而选择所述多个群组中用以接收对应于所述第二写入操作的数据的一者。在各种实施例中,将对应于所述第二写入操作的数据写入到具有最高数目个自由超级块的群组内的超级块。
作为一实例,在一些实施例中,超级块中的每一者可能够存储可对应于4,096个LBA的4,096个数据扇区(例如,在此实例中,假设LBA对应于一个数据扇区)。在此实例中,可将4,096个LBA的范围指派给超级块中的每一者。在各种实施例中,如果控制电路接收在先前指派给特定超级块的LBA范围内的LBA,那么将对应于所述LBA的数据写入到相同特定超级块。如果所接收的LBA是未指派LBA(例如,在先前指派给超级块的LBA范围之外的LBA),那么将对应于所述LBA的数据写入到新(例如,不同)超级块。
在其中将存储器单元(例如,存储器单元325)的物理存储单元块组织成多个群组(例如,图2中所示的群组240-0及240-1)的存储器块选择的各种现有技术方法中,将由控制器结合写入操作接收到的每一LBA或特定LBA范围预先指派给特定群组。在此些现有方法中,控制器接收特定LBA且接着搜索将所述LBA预先指派给的特定群组以找到所述特定群组内接着将数据写入到的自由超级块。
然而,在各种实例中,与主机装置相关联的操作系统或应用程序可将数据更新(例如,重写)到相同LBA或LBA范围。举例来说,可频繁地更新对应于特定LBA的数据。在此些情况下,由于将特定LBA预先指派给特定群组,因此对应于所述特定LBA的每一后续写入操作导致控制器将数据写入到相同群组内的选定物理块。此些现有技术存储器块选择方法可导致跨越存储器单元的不均匀磨损,因为某些群组内的物理块频繁地被编程(例如,被写入及擦除),而其它群组内的物理块可保持很少使用。跨越存储器单元(例如,存储器单元325)的不均匀磨损可产生(例如)与重度使用的物理块相关联的不可校正写入错误及擦除错误的问题且可减少所述存储器单元的使用寿命。
在一个或一个以上实施例中,在循环基础上执行对与第一写入操作相关联的数据待写入到的特定群组及与第二写入操作相关联的数据待写入到的特定群组的选择。也就是说,如果选择特定群组来接收与第一写入操作相关联的数据,那么选择不同群组来接收与第二写入操作相关联的数据。在一个或一个以上实施例中,可选择不同群组来接收与后续写入操作相关联的数据直到所述群组中的每一者至少被选择了一次来接收数据为止。
在一个或一个以上实施例中,控制电路(例如,322)可经配置以针对多个存储器阵列群组中的每一者追踪每一群组(例如,结合图2所描述的群组240-0及240-1)中可用的自由超级块的数目。作为一实例,可维持每一群组内自由超级块的数目的计数。作为另一实例,在一个或一个以上实施例中,可维持指示对于每一群组来说可用的自由超级块的数目的列表,例如,查找表(LUT)。所述计数及/或列表可存储于各种位置中,例如,控制器320的存储器329内或存储器单元325内以及其它位置。如所属领域的技术人员将了解,可通过其它类型的硬件、软件及/或固件执行控制电路322的功能。
在一个或一个以上实施例中,对与特定写入操作相关联的数据待写入到的特定群组及与后续写入操作相关联的数据待写入到的特定群组的选择是至少部分地基于多个群组中的每一者中可用的自由超级块的数目。举例来说,在各种实施例中,选择具有最高数目个自由超级块的特定群组来接收与所述第一写入操作相关联的数据。并且,在各种实施例中,选择具有最高数目个自由超级块的特定群组来接收与后续写入操作相关联的数据。在其中基于具有最高数目个自由超级块的群组选择特定群组的实施例中,对于特定及后续写入操作两者来说选定群组可为相同的。
在一个或一个以上实施例中,对与特定写入操作相关联的数据待写入到的特定群组及与后续写入操作相关联的数据待写入到的特定群组的选择是至少部分地基于多个群组中的每一者的自由超级块与已使用超级块的比率。在各种实施例中,控制电路可经配置以确定群组(例如,图2中所示的群组240-0及240-1)中的每一者的自由超级块与已使用超级块的初始比率(例如,在初始化之后),且接着可在写入自由超级块时更新每一群组的所述比率。作为一实例,在各种实施例中,选择具有最高自由超级块与已使用超级块比的特定群组来接收与第一写入操作相关联的数据。并且,在各种实施例中,选择具有自由超级块与已使用超级块的最高比率的特定群组来接收与后续写入操作相关联的数据。在其中基于具有自由超级块与已使用超级块的最高比率的群组选择特定群组的实施例中,对于特定及后续写入操作两者来说选定群组可为相同的。
在一个或一个以上实施例中,控制电路(例如,320)经配置以确定选定群组内对应于特定所接收LBA的数据待写入到的特定超级块。举例来说,可搜索与选定群组相关联的表以确定所述选定群组内的适当自由超级块。在一个或一个以上实施例中,控制电路可经配置以在第一写入操作之后将多个群组中的选定一者指派给第一特定未指派LBA,以便将与所有后续写入操作相关联的对应于先前未指派LBA的数据写入到经指派群组内的自由超级块。
也就是说,在一个或一个以上实施例中,一旦由控制器结合特定写入操作接收到未指派LBA且将与其相关联的数据写入到选定群组内的超级块,所述控制器就可将所述特定LBA指派给所述特定选定群组,以便当所述控制器结合后续写入操作接收到相同特定LBA时,将数据写入到经指派群组。在一些此种实施例中,一旦由控制器结合下一特定写入操作接收到第二特定未指派LBA且将与其相关联的数据写入到不同选定群组(例如,不同于与第一特定未指派LBA相关联的特定选定群组的选定群组),所述控制器就可将所述第二特定LBA指派给不同选定群组,以便当所述控制器结合后续写入操作接收到所述第二特定LBA时,将数据写入到经指派的不同群组。
图4A、图4B、图4C及图4D是展示根据本发明的一个或一个以上实施例的存储器块选择的功能性框图。在图4A中所图解说明的实施例中,逻辑块地址431表示由控制器420与特定写入操作相关联地接收到的特定未指派LBA(LBA 0)。图4B图解说明在图4A的写入操作之后(例如,在第一写入操作之后)若干个平面群组(例如,图2中所示的群组240-0及240-1)内的物理超级块(例如,图2中所示的超级块245-0到245-N)的状态。
在图4C中所图解说明的实施例中,逻辑块地址431表示由控制器420与后续写入操作(例如,在图4A及图4B的操作之后的写入操作)相关联地接收到的相同特定LBA(LBA 0)。也就是说,图4C中的逻辑块地址431表示处于已更新状态的LBA 0,例如,与LBA 0相关联的数据为已更新数据。类似地,在图4D中所图解说明的实施例中,逻辑块地址431表示由控制器420与图4A及图4B的操作之后的写入操作相关联地接收到的相同特定LBA(LBA 0)。也就是说,图4D中的逻辑块地址431也表示处于已更新状态的LBA 0,例如,与LBA 0相关联的数据为已更新数据。控制器420可为(例如)上文结合图3所描述的控制器320的控制器。
在图4A、图4B、图4C及图4D中所图解说明的实施例中,控制器420耦合到存储器单元425,例如,结合图3所描述的存储器单元325的存储器单元。如所图解说明,将存储器单元425组织成若干个群组,例如,如所示的群组0、群组1、群组2及群组3。图4A、图4B、图4C及图4D中所图解说明的群组可为(例如)结合图2所描述的群组240-0及240-1的平面群组。举例来说,在图4A、图4B、图4C及图4D中所图解说明的实施例中,多个群组各自可包含来自对应于群组(例如,所述群组可包含(例如)结合图2所描述的超级块245-0、245-1、…、245-N的超级块)的至少两个平面中的每一者的物理块的相应集合。如所图解说明,每一群组包含八个超级块。也就是说,每一群组包含位于位置SB0到SB7中的每一者处的超级块。如上文结合图2所描述,在各种实施例中,超级块可包含来自位于不同存储器阵列(例如,202-0及202-1)内及/或不同存储器装置(例如,230-0、230-1、230-2及230-3)内的平面的物理块。
图4A中所示的实施例图解说明所述群组(群组0到群组3)中的每一者内的超级块在对应于逻辑块地址431的写入操作(例如,第一写入操作)时的状态,而图4B图解说明所述群组中的每一者内的超级块在所述写入操作之后且在后续操作(例如,第二写入操作)之前的状态。图4C中所示的实施例图解说明所述群组中的每一者内的超级块在对应于逻辑块地址431的后续写入操作(例如,第二写入操作)之后的状态。图4D中所示的实施例也图解说明所述群组中的每一者内的超级块在对应于逻辑块地址431的后续写入操作(例如,第二写入操作)之后的状态。
在图4A、图4B、图4C及图4D中所图解说明的实施例中,标记为“已使用”的超级块表示含有有效数据的超级块且当前不可用于与写入操作相关联地接收数据。标记为“旧”的超级块表示含有过期数据的超级块,例如,所述超级块含有不再有效的数据且在变为可用于接收写入数据之前将被擦除。未标记为“已使用”或“旧”的超级块是自由超级块,例如,当前可用于接收写入数据的已擦除超级块。
如上文所提及,在一个或一个以上实施例中,控制电路(例如,控制器420的控制电路)可经配置以在第一写入操作中将对应于特定LBA(例如,LBA 0)的数据写入到多个群组中的选定一者内的超级块中的选定一者且在第二写入操作(例如,后续写入操作)中将对应于所述特定LBA的已更新数据写入到所述多个群组中的选定一者内的超级块中的选定一者。
如上文所提及,在一个或一个以上实施例中,可追踪多个群组(例如,群组0到群组3)中的每一者的自由物理块的数目。举例来说,如图4A中所图解说明,在此实例中,群组0经确定具有4个自由超级块,群组1经确定具有4个自由超级块,群组2经确定具有5个自由超级块,且群组3经确定具有6个超级块。在图4A中所图解说明的实施例中,基于多个群组中的每一者中自由超级块的所确定数目而选择群组435(群组3)来接收对应于LBA 0 431的数据。
在此实例中,基于群组3是具有最高数目个自由超级块的群组的事实而选择群组3来接收对应于LBA 0 431的数据。也就是说,在图4A中,选择群组435是因为群组3具有6个自由超级块,这比其它群组中可用的自由超级块的数目多。
在一个或一个以上实施例中,控制器420将所接收的LBA(例如,在图4A中所示的实例中的LBA 0 431)指派给选定群组(例如,群组435)内的特定自由物理超级块。举例来说,可搜索选定群组435以确定用以接收对应于相关联写入操作的数据的适当自由超级块。在图4A中所图解说明的实例中,将所接收的LBA(例如,LBA 0 431)指派给位于群组3中的位置SB2处的超级块(其为选定超级块441)。如此,对应于与图4A中所图解说明的实例相关联的第一写入操作的数据将被写入到对应于选定群组435内的选定超级块441的PBA。
图4B图解说明群组0到群组3内的超级块在图4A的第一写入操作之后的状态。如此,在图4B中选定超级块441的状态展示为已使用,因为超级块441现在含有有效数据且不再是自由物理超级块。
在图4C中所图解说明的实施例中,逻辑块地址431表示由控制器420与第二写入操作(例如,图4A及图4B的写入操作之后的写入操作)相关联地接收到的相同特定LBA(LBA 0)。也就是说,图4C中的逻辑块地址431表示处于已更新状态的LBA 0,例如,与LBA 0相关联的数据为已更新数据。控制器420经配置以在第二写入操作(例如,后续写入操作)中将对应于LBA 0 431的已更新数据写入到多个群组中的选定一者内的超级块中的选定一者。
在一个或一个以上实施例中,且如图4C中所示的实例中所图解说明,用以接收与后续写入操作相关联的已更新数据的选定群组可为与在第一写入操作中选择的群组相同的群组。也就是说,在一个或一个以上实施例中,一旦将特定LBA指派给群组,就可保持将所述LBA指派给所述群组,以便将在后续写入操作中与所述特定LBA相关联的已更新数据写入到相同群组内的选定超级块。
举例来说,在图4A及图4B中所图解说明的实例中,将与第一写入操作相关联的所接收LBA(例如,LBA 0 431)指派给群组3。在图4C中所图解说明的实例中,结合后续写入操作接收相同LBA(例如,LBA 0 431)且将已更新数据写入到相同群组(例如,在此实例中的群组3)内的自由超级块。在图4C中所示的实例中,用以接收已更新数据的选定自由超级块位于选定群组438内的位置SB3处。如此,将选定超级块443标记为已使用,因为其现在含有有效数据。如图4C中所示,超级块441的状态已从已使用改变为旧,因为超级块441内的数据现在是过期的(例如,无效的)。
在一个或一个以上实施例中,且如下文结合图4D所描述,多个群组中的用以在后续写入操作(例如,第二写入操作)中接收对应于特定LBA的数据的选定一者可不同于所述多个群组中的用以在先前写入操作(例如,第一写入操作)中接收对应于相同特定LBA的数据的选定一者。也就是说,在一个或一个以上实施例中,一旦将特定LBA指派给群组,就可将所述LBA指派给不同群组,以便将在后续写入操作中与所述特定LBA相关联的已更新数据写入到不同群组内的选定超级块。
举例来说,在图4D中所图解说明的实施例中,逻辑块地址432表示由控制器420与第二写入操作(例如,图4A及图4B的写入操作之后的写入操作)相关联地接收到的相同特定LBA(LBA 0)。也就是说,图4D中的逻辑块地址432表示处于已更新状态的LBA 0,例如,与LBA 0相关联的数据为已更新数据。控制器420经配置以在第二写入操作(例如,后续写入操作)中将对应于LBA 0 432的已更新数据写入到多个群组中的选定一者内的超级块中的选定一者。
举例来说,在图4A及图4B中所图解说明的实例中,将与第一写入操作相关联的所接收LBA(例如,LBA 0 431)指派给群组3。在图4D中所图解说明的实例中,结合后续写入操作接收到相同LBA(例如,LBA 0)且将已更新数据写入到不同群组(例如,此实例中的群组2)内的自由超级块。在图4D中所示的实例中,选定群组438内用以接收已更新数据的选定自由超级块位于选定群组438内的位置SB3处。如此,将选定超级块447标记为已使用,因为其现在含有有效数据。如图4D中所示,超级块441的状态已从已使用改变为旧,因为超级块441内的数据现在是过期的(例如,无效的)。
在图4A到图4D中所图解说明的实施例中,可基于多个群组中的哪一者具有最高数目个自由物理块而选择群组435及438。也就是说,在图4A及图4B中,选择群组435是因为群组3具有6个自由超级块,这比在其它群组中可用的自由超级块的数目多。类似地,在图4D中,选择群组438是因为群组2在后续写入操作之前具有5个自由超级块,这比在其它群组中可用的自由超级块的数目多。
在图4A到图4D中所图解说明的实施例中,未将所接收的LBA(例如,LBA 0)预先指派给多个群组(例如,群组0到群组3)中的特定一者。也就是说,在于第一写入操作中将LBA 0指派给选定群组435之前未将其预先指派给特定群组,例如,LBA 0在第一写入操作之前是未指派LBA。
在图4D中所图解说明的实施例中,在第二写入操作中未保持将LBA 0指派给选定群组435。针对与特定LBA相关联的后续写入操作选择不同群组可产生(例如)在多个群组当中的更有效磨损均衡的益处。
如上文所论述,在一个或一个以上实施例中,可维持多个群组中的每一者内自由超级块的计数,且可至少部分地基于与特定群组相关联的自由超级块的计数而将在图4A到图4D中所图解说明的实施例中的特定所接收LBA(例如,LBA 0)指派给多个群组中的一者。
如上文所提及,本发明的一个或一个以上实施例可包含确定多个群组内具有过期数据的物理块以及确定何时将擦除所述过期块。擦除所述多个群组内过期块的方式可影响存储器单元(例如,分别展示于图3及图4中的存储器单元325及425)的寿命。
在一个或一个以上实施例中,可在特定时间且在逐群组基础上将已擦除的过期物理块(例如,标记为“旧”的块)加到每一群组中可用的自由物理块的数目。举例来说,在一个或一个以上实施例中,控制器(例如,420)可经配置以针对多个群组中的每一者防止擦除具有过期数据的物理块,直到所述群组不包含任何自由物理块为止。作为一实例,可防止擦除图4C及图4D中所示的群组中标记为“旧”的超级块,直到特定群组不再具有任何可用的自由超级块为止。
并且,在一个或一个以上实施例中,所述控制器可经配置以针对所述多个群组中的每一者防止将群组内的已擦除超级块加到与所述群组相关联的自由超级块的数目,直到所述群组不包含任何自由超级块为止。举例来说,在其中维持可用自由超级块的列表的实施例中,可防止将已擦除以便其可接收新数据的过期块加到可用自由超级块的列表,直到特定群组不包含任何自由超级块为止。
在一个或一个以上实施例中,可在特定群组仍具有自由超级块时擦除所述群组内的过期块。在一些此种实施例中,可不将已擦除的过期块加到自由超级块列表直到适合时间为止。防止将已擦除的过期块立即返回到自由超级块列表可通过防止给新擦除的过期块指派LBA及在所述列表上的未经写入自由超级块被写入之前接收新写入数据而改进存储器单元的磨损。
在一个或一个以上实施例中,通过大致同时擦除特定超级块内的物理块中的每一者来执行擦除操作。举例来说,参考图2,可大致同时擦除群组240-0的超级块245-0内的物理块中的每一者。在一个或一个以上实施例中,可跨越不同群组均一地执行对旧块的擦除。举例来说,参考图2,可同时擦除群组240-0及240-1两者的超级块245-1内的物理块。在一个或一个以上实施例中,可以循环方式执行对旧块的擦除。举例来说,参考图4A,可擦除来自群组0的超级块,且可防止擦除来自群组0的另一超级块直到已擦除来自群组1、群组2及群组3中的每一者的超级块为止。
结论
本发明包含用于存储器块选择的方法及装置。本发明的实施例可通过改进存储器单元内的磨损而增加存储器单元(例如,快闪存储器单元)的寿命。
在一个或一个以上实施例中,一种存储器控制器包含控制电路,所述控制电路耦合到一个或一个以上存储器装置,所述一个或一个以上存储器装置具有与其相关联的多个平面群组,每一群组包含组织成若干超级块的至少两个物理块平面,其中每一超级块包含来自所述至少两个平面中的每一者的物理块。所述控制电路经配置以接收与写入操作相关联的第一未指派逻辑块地址(LBA)且确定所述多个群组中用以接收与所述写入操作相关联的数据的选定一者内的特定自由超级块。
虽然本文中已图解说明及描述了特定实施例,但所属领域的技术人员将了解,可用目的在于实现相同结果的布置来替代所示的特定实施例。本发明打算涵盖本发明的一个或一个以上实施例的修改形式或变化形式。
应理解,以上说明是以说明性方式而非限定性方式作出。在审阅以上说明之后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一个或一个以上实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同授权此权利要求书的等效内容的整个范围来确定本发明的一个或一个以上实施例的范围。
在前述实施方式中,出于简化本发明的目的,将一些特征一起集合于单个实施例中。不应将本发明的此方法解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。
而是,如以上权利要求书反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,以上权利要求书特此并入到实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (14)
1.一种存储器控制器,其包括:
控制电路,其耦合到一个或一个以上存储器装置,所述一个或一个以上存储器装置具有与其相关联的多个平面群组,每一群组包含组织成若干超级块的至少两个物理块平面,其中每一超级块包含来自所述至少两个平面中的每一者的物理块,且其中所述控制电路经配置以:
接收与写入操作相关联的第一未指派逻辑块地址LBA;
确定所述多个群组中用以接收与所述写入操作相关联的数据的选定一者内的特定自由超级块;
将所述第一未指派LBA指派给所述多个群组中的选定一者,以便将与所有后续写入操作相关联的对应于所述第一未指派LBA的数据写入到相应经指派群组内的自由超级块;
针对所述多个群组中的每一群组,追踪每一群组中可用的自由超级块的数目;
确定所述超级块中的哪些超级块具有过期数据;
确定何时将擦除具有过期数据的超级块;
针对所述多个群组中的每一群组,防止擦除具有过期数据的超级块,直到该群组不包含任何自由超级块为止。
2.根据权利要求1所述的存储器控制器,其中所述控制电路经配置以至少部分地基于所述多个群组中的每一者的自由超级块与已使用超级块的比率而选择所述多个群组中用以接收与所述写入操作相关联的数据的所述一者。
3.根据权利要求1到2中任一权利要求所述的存储器控制器,其中所述控制电路经配置以:
接收与后续写入操作相关联的不同未指派LBA;及
确定所述多个群组中用以接收与所述后续写入操作相关联的数据的选定一者内的特定自由超级块。
4.根据权利要求3所述的存储器控制器,其中所述控制电路经配置以在循环基础上选择所述多个群组中用以接收与所述后续写入操作相关联的数据的所述一者。
5.根据权利要求3所述的存储器控制器,其中所述多个群组中与所述后续写入操作相关联的所述选定一者不同于所述多个群组中与所述写入操作相关联的所述选定一者。
6.根据权利要求1到2中任一权利要求所述的存储器控制器,其中所述控制电路经配置以:
在特定时间且在逐群组基础上将已擦除超级块加到每一群组中可用的自由超级块的数目中。
7.根据权利要求6所述的存储器控制器,其中所述控制电路经配置以针对所述多个群组中的每一者防止将所述已擦除超级块加到所述群组中可用的自由超级块的所述数目直到所述群组不包含任何自由超级块为止。
8.一种存储器控制器,其包括:
控制电路,其耦合到若干个存储器装置,所述若干个存储器装置具有与其相关联的多个平面群组,每一群组包含:
至少两个物理块平面;及
若干个超级块,其中所述超级块中的每一者包括物理块的相应集合,所述物理块的相应集合包括来自所述群组的所述至少两个平面中的每一者的物理块;其中所述控制电路经配置以:
与第一写入操作相关联地接收第一未指派逻辑块地址LBA;
基于所述多个群组中的每一群组中的自由超级块与已使用超级块的比率,确定所述多个群组中的选定一者内的选定自由超级块以接收与所述第一写入操作相关联的数据;
将所述第一未指派LBA指派给所述多个群组中的选定一者,以便将与所有后续写入操作相关联的对应于所述第一未指派LBA的数据写入到所述多个群组中的选定一者内的自由超级块;及
将对应于所述第一写入操作的数据写入到所述多个群组中的所述选定一者内的所述选定超级块;
针对所述多个群组中的每一群组,追踪每一群组中可用的自由超级块的数目;
在特定时间且在逐群组基础上将所擦除的超级块加到每一群组中可用的自由超级块的数目中;
针对所述多个群组中的每一群组,防止将所擦除的超级块加到群组中可用的自由超级块的数目中,直到所述群组不包括任何自由超级块为止。
9.根据权利要求8所述的存储器控制器,其中所述控制电路经配置以:
与第二写入操作相关联地接收第二未指派LBA;
将所述第二未指派LBA指派给所述多个群组中的选定一者内的选定超级块;及
将对应于所述第二写入操作的数据写入到所述选定超级块。
10.根据权利要求9所述的存储器控制器,其中所述控制电路经配置以:
针对所述多个群组中的每一者确定自由超级块的数目;及
至少部分地基于针对所述多个群组中的每一者所确定的自由超级块的所述数目而选择所述多个群组中用以接收对应于所述第二写入操作的所述数据的所述选定一者。
11.一种用于存储器系统中的块选择的方法,所述方法包括:
与第一写入操作相关联地接收第一逻辑块地址LBA;
选择多个平面群组中的选定群组内的自由超级块以接收与所述第一写入操作相关联的数据,所述选定群组是基于所维持的对所述多个群组中的每一者可用的自由块的计数的;
将对应于所述第一写入操作的数据写入到所述多个群组的选定群组内的选定自由超级块;
其中所述群组中的每一者为至少两个平面的集合,其中所述超级块中的每一者为来自所述至少两个平面中的每一者的一个物理块的相应集合;且
其中所述第一LBA未被预先指派给特定超级块且未被预先指派给所述多个平面群组中的特定一者;
响应于所述第一写入操作,将所述第一LBA指派给所述选定群组,以便将与所有后续写入操作相关联的对应于所述第一LBA的数据写入到所指派的群组内的自由超级块;
接收与后续写入操作相关联的第二LBA;
将与所述后续写入操作对应的数据写入到所述多个群组的选定一者内的选定自由超级块;
其中,所述第二LBA未被预先指派给特定超级块且未被预先指派给所述多个群组中的特定一者;
在所述第一写入操作之后,将与所述第一写入操作相关联地被写入的自由超级块从与相应选定群组相关联的可用自由超级块列表中移除;
在所述后续写入操作之后,将与所述后续写入操作相关联地被写入的超级块从与相应选定群组相关联的可用自由超级块列表中移除;及
防止将经移除超级块中的相应一者返回到所述列表中的相应一者,直到所述群组中的相应一者的超级块中的每一者已被写入至少一次为止。
12.根据权利要求11所述的方法,其包含至少部分地基于与其它群组中的每一者中自由超级块的数目相比的所述相应选定群组中自由超级块的数目而选择与所述第一写入操作相关联的所述选定群组。
13.根据权利要求11所述的方法,其包含针对每一群组执行以下操作:
追踪所述群组中自由超级块的数目;
在向超级块写入之后,将所述超级块从自由超级块列表中移除;及
在擦除所述超级块之后,将所述超级块加到所述自由超级块列表。
14.根据权利要求11到13中任一权利要求所述的方法,其包含通过大致同时擦除来自所述多个群组中的每一者的至少一个超级块来对所述存储器系统执行擦除操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/397,402 | 2009-03-04 | ||
US12/397,402 US8239614B2 (en) | 2009-03-04 | 2009-03-04 | Memory super block allocation |
PCT/US2010/000539 WO2010101608A2 (en) | 2009-03-04 | 2010-02-24 | Memory block selection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102341793A CN102341793A (zh) | 2012-02-01 |
CN102341793B true CN102341793B (zh) | 2015-02-04 |
Family
ID=42679245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080010413.8A Active CN102341793B (zh) | 2009-03-04 | 2010-02-24 | 存储器块选择 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8239614B2 (zh) |
EP (1) | EP2404239B1 (zh) |
JP (1) | JP5458419B2 (zh) |
KR (1) | KR101343237B1 (zh) |
CN (1) | CN102341793B (zh) |
TW (1) | TWI455139B (zh) |
WO (1) | WO2010101608A2 (zh) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8918588B2 (en) * | 2009-04-07 | 2014-12-23 | International Business Machines Corporation | Maintaining a cache of blocks from a plurality of data streams |
JP2011198433A (ja) * | 2010-03-23 | 2011-10-06 | Toshiba Corp | メモリシステム |
US8612804B1 (en) * | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US8495338B2 (en) | 2010-12-03 | 2013-07-23 | Micron Technology, Inc. | Transaction log recovery |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US8762625B2 (en) * | 2011-04-14 | 2014-06-24 | Apple Inc. | Stochastic block allocation for improved wear leveling |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
US8949689B2 (en) | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9013922B2 (en) * | 2012-09-20 | 2015-04-21 | Silicon Motion, Inc. | Data storage device and flash memory control method thereof |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9465732B2 (en) | 2013-03-15 | 2016-10-11 | Sandisk Technologies Llc | Binning of blocks for dynamic linking |
US8966164B1 (en) * | 2013-09-27 | 2015-02-24 | Avalanche Technology, Inc. | Storage processor managing NVME logically addressed solid state disk array |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
JP6028866B2 (ja) * | 2013-07-16 | 2016-11-24 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9823863B1 (en) * | 2014-06-30 | 2017-11-21 | Sk Hynix Memory Solutions Inc. | Sub-blocks and meta pages for mapping table rebuild |
US20160124639A1 (en) * | 2014-11-05 | 2016-05-05 | SanDisk Technologies, Inc. | Dynamic storage channel |
US20160179401A1 (en) * | 2014-12-17 | 2016-06-23 | Sk Hynix Memory Solutions Inc. | Memory system and the operation method thereof |
US10102146B2 (en) * | 2015-03-26 | 2018-10-16 | SK Hynix Inc. | Memory system and operating method for improving rebuild efficiency |
CN105159843B (zh) * | 2015-10-19 | 2018-07-31 | 深圳芯邦科技股份有限公司 | 一种基于超级块的多通道管理方法与系统 |
CN106940623B (zh) * | 2016-01-04 | 2020-06-09 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
US10031845B2 (en) * | 2016-04-01 | 2018-07-24 | Intel Corporation | Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device |
KR102593352B1 (ko) | 2016-05-04 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10282111B2 (en) * | 2016-07-29 | 2019-05-07 | Western Digital Technologies, Inc. | Adaptive wear levelling |
KR20180039351A (ko) * | 2016-10-10 | 2018-04-18 | 에스케이하이닉스 주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
KR102645572B1 (ko) * | 2016-11-29 | 2024-03-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
US10915667B2 (en) * | 2016-12-21 | 2021-02-09 | Cryptography Research, Inc. | Protecting parallel multiplication operations from external monitoring attacks |
WO2018174857A1 (en) * | 2017-03-21 | 2018-09-27 | Micron Technology, Inc. | Apparatuses and methods for automated dynamic word line start voltage |
KR20190031693A (ko) * | 2017-09-18 | 2019-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10977182B2 (en) * | 2017-12-01 | 2021-04-13 | Micron Technology, Inc. | Logical block mapping based on an offset |
US10387243B2 (en) | 2017-12-08 | 2019-08-20 | Macronix International Co., Ltd. | Managing data arrangement in a super block |
US10445230B2 (en) | 2017-12-08 | 2019-10-15 | Macronix International Co., Ltd. | Managing block arrangement of super blocks |
US10372355B2 (en) * | 2017-12-29 | 2019-08-06 | Micron Technology, Inc. | Managing partial superblocks in a NAND device |
KR20190083148A (ko) * | 2018-01-03 | 2019-07-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
KR102620727B1 (ko) * | 2018-04-18 | 2024-01-03 | 에스케이하이닉스 주식회사 | 전자 장치 |
TWI687811B (zh) * | 2018-05-14 | 2020-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及系統資訊的編程方法 |
US10740026B2 (en) * | 2018-05-18 | 2020-08-11 | Micron Technology, Inc. | Time indicator of super block operations |
KR102611566B1 (ko) * | 2018-07-06 | 2023-12-07 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법 |
US11086533B2 (en) * | 2018-08-31 | 2021-08-10 | Wipro Limited | Method and system for optimizing storage space in a storage unit |
US10949123B2 (en) * | 2018-10-18 | 2021-03-16 | Western Digital Technologies, Inc. | Using interleaved writes to separate die planes |
KR20200044460A (ko) * | 2018-10-19 | 2020-04-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN111651371B (zh) | 2019-03-04 | 2023-06-16 | 慧荣科技股份有限公司 | 非对称型平面管理方法以及数据存储装置及其控制器 |
US11693773B2 (en) * | 2019-03-15 | 2023-07-04 | Kioxia Corporation | Systems and methods for implementing a four-dimensional superblock |
TWI769386B (zh) * | 2019-07-04 | 2022-07-01 | 群聯電子股份有限公司 | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
US11194516B2 (en) * | 2019-10-08 | 2021-12-07 | Micron Technology, Inc. | Media type selection |
US11461363B2 (en) * | 2020-03-31 | 2022-10-04 | Sap Se | Memory allocation and deallocation mechanism to reduce fragmentation and enhance defragmentation performance |
US11841794B2 (en) | 2020-12-16 | 2023-12-12 | Micron Technology, Inc. | Memory sub-system write sequence track |
KR20220131058A (ko) * | 2021-03-19 | 2022-09-27 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
JP2022147448A (ja) | 2021-03-23 | 2022-10-06 | キオクシア株式会社 | メモリシステム及びデータ管理方法 |
JP2023001573A (ja) * | 2021-06-21 | 2023-01-06 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11640254B2 (en) * | 2021-08-25 | 2023-05-02 | Western Digital Technologies, Inc. | Controlled imbalance in super block allocation in ZNS SSD |
KR20230048747A (ko) * | 2021-10-05 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN114328283B (zh) * | 2021-12-29 | 2022-11-18 | 上海芯存天下电子科技有限公司 | 计数地址获取方法、计数方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658171A (zh) * | 2003-12-19 | 2005-08-24 | 雷克萨媒体公司 | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 |
CN1720590A (zh) * | 2002-10-28 | 2006-01-11 | 桑迪士克股份有限公司 | 非易失性存储系统中的自动磨损平衡 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0803815A1 (en) | 1995-11-10 | 1997-10-29 | Sony Corporation | Information processing apparatus and method |
US6034897A (en) | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US6141249A (en) * | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
ATE340405T1 (de) * | 1999-04-01 | 2006-10-15 | Lexar Media Inc | Raumverwaltung in einem nichtflüchtigen speicher mit hoher kapazität |
US6901498B2 (en) * | 2002-12-09 | 2005-05-31 | Sandisk Corporation | Zone boundary adjustment for defects in non-volatile memories |
US6865122B2 (en) * | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
JP4977703B2 (ja) * | 2005-08-03 | 2012-07-18 | サンディスク コーポレイション | 予定再生操作を伴う不揮発性メモリ |
JP2007094900A (ja) * | 2005-09-29 | 2007-04-12 | Eastman Kodak Co | アクセス装置 |
CN101346703B (zh) * | 2005-12-21 | 2012-11-21 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
US7424587B2 (en) * | 2006-05-23 | 2008-09-09 | Dataram, Inc. | Methods for managing data writes and reads to a hybrid solid-state disk drive |
US20080052446A1 (en) * | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a LBA Interface With Flash Memory |
US8533384B2 (en) * | 2007-12-27 | 2013-09-10 | Sandisk Enterprise Ip Llc | Flash memory controller garbage collection operations performed independently in multiple flash memory groups |
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 |
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
-
2009
- 2009-03-04 US US12/397,402 patent/US8239614B2/en active Active
-
2010
- 2010-02-24 EP EP10749033.6A patent/EP2404239B1/en active Active
- 2010-02-24 CN CN201080010413.8A patent/CN102341793B/zh active Active
- 2010-02-24 KR KR1020117023032A patent/KR101343237B1/ko active IP Right Grant
- 2010-02-24 JP JP2011552932A patent/JP5458419B2/ja active Active
- 2010-02-24 WO PCT/US2010/000539 patent/WO2010101608A2/en active Application Filing
- 2010-03-04 TW TW099106312A patent/TWI455139B/zh active
-
2012
- 2012-08-06 US US13/567,680 patent/US8751731B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720590A (zh) * | 2002-10-28 | 2006-01-11 | 桑迪士克股份有限公司 | 非易失性存储系统中的自动磨损平衡 |
CN1658171A (zh) * | 2003-12-19 | 2005-08-24 | 雷克萨媒体公司 | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 |
Also Published As
Publication number | Publication date |
---|---|
EP2404239B1 (en) | 2018-12-12 |
US8751731B2 (en) | 2014-06-10 |
TWI455139B (zh) | 2014-10-01 |
US20100228928A1 (en) | 2010-09-09 |
TW201040971A (en) | 2010-11-16 |
KR101343237B1 (ko) | 2013-12-18 |
WO2010101608A3 (en) | 2010-11-25 |
WO2010101608A2 (en) | 2010-09-10 |
US20120303931A1 (en) | 2012-11-29 |
JP5458419B2 (ja) | 2014-04-02 |
JP2012519899A (ja) | 2012-08-30 |
US8239614B2 (en) | 2012-08-07 |
EP2404239A2 (en) | 2012-01-11 |
KR20110127728A (ko) | 2011-11-25 |
EP2404239A4 (en) | 2012-12-05 |
CN102341793A (zh) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102341793B (zh) | 存储器块选择 | |
CN102341792B (zh) | 存储器块管理 | |
US11232041B2 (en) | Memory addressing | |
US6772274B1 (en) | Flash memory system and method implementing LBA to PBA correlation within flash memory array | |
US8046526B2 (en) | Wear leveling method and controller using the same | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
CN102054533B (zh) | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 | |
CN102292711B (zh) | 固态存储器格式化 | |
CN108121503B (zh) | 一种NandFlash地址映射及块管理方法 | |
US9195584B2 (en) | Dynamic block linking with individually configured plane parameters | |
US20130227247A1 (en) | Memory address translation | |
US20100100668A1 (en) | Control method for logical strips based on multi-channel solid-state non-volatile storage device | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US9465732B2 (en) | Binning of blocks for dynamic linking | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
KR20030014356A (ko) | 동시 다중 데이터 섹터 프로그래밍 및 다른 지정 블럭들에대한 물리적 블럭 특성들의 저장기능을 갖는 플래시이이피롬 시스템 | |
CN101593156A (zh) | 多种存储器的管理方法、系统及控制器 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |