CN111651371B - 非对称型平面管理方法以及数据存储装置及其控制器 - Google Patents
非对称型平面管理方法以及数据存储装置及其控制器 Download PDFInfo
- Publication number
- CN111651371B CN111651371B CN202010002481.5A CN202010002481A CN111651371B CN 111651371 B CN111651371 B CN 111651371B CN 202010002481 A CN202010002481 A CN 202010002481A CN 111651371 B CN111651371 B CN 111651371B
- Authority
- CN
- China
- Prior art keywords
- block
- blocks
- planes
- controller
- numbers
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种非对称型平面管理方法以及数据存储装置及其控制器,包括:设定一非平衡平面数量;选取一最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;以及记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。本发明能突破NAND型闪存的好区块的数量的限制,以整合出最大的容量,或在特定的容量需求下,有效地整合出充足的超级区块,达到优化效能。
Description
技术领域
本发明是有关于闪存(Flash memory)的存取(access),尤指一种非对称型平面管理(Unbalanced Plane Management)方法以及数据存储装置及其控制器。
背景技术
闪存可广泛地应用于各种可携式或非可携式数据存储装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)中。以常用的NAND型闪存而言,最初有单阶细胞(single levelcell,SLC)、多阶细胞(multiple level cell,MLC)等类型的闪存。由于存储器的技术不断地发展,较新的数据存储装置产品可采用三阶细胞(triple level cell,TLC)闪存,甚至四阶细胞(quadruple level cell,QLC)闪存。为了确保数据存储装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理其内部运作。
依据现有技术,有了这些管理机制的数据存储装置还是有不足的处。举例来说,多个闪存裸晶(Die)可被同时使用以提升存取效能。然而,某一个闪存裸晶的好区块的数量可能限制这些闪存裸晶的各自的区块的使用率。例如,在这些好区块的数量很小、或者这些好区块的分布不平衡的情况下,无法得到需要的存储容量。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下实现具有可靠的管理机制的数据存储装置。
发明内容
本发明的一目的在于公开一种非对称型平面管理方法以及相关的数据存储装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种非对称型平面管理方法以及相关的数据存储装置及其控制器,以在没有副作用或较不可能带来副作用的状况下将可靠的管理机制赋予数据存储装置。
本发明的至少一实施例公开一种非对称型平面管理方法,其中所述非对称型平面管理方法是应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器(non-volatile memory,NV memory),所述非挥发性存储器包括多个非挥发性存储器组件(NVmemory element),以及所述多个非挥发性存储器组件包括多个区块。所述非对称型平面管理方法可包括:设定一非平衡平面数量(unbalanced plane number),其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表(block skip table);依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;以及记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
本发明的至少一实施例公开一种数据存储装置,其可包括:一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括多个非挥发性存储器组件,以及所述多个非挥发性存储器组件包括多个区块;以及一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的操作。所述控制器可包括一处理电路,其中所述处理电路可依据来自一主机(host device)的多个主机命令(host command)控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器设定一非平衡平面数量,其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;所述控制器选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;所述控制器依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;以及所述控制器记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
本发明的至少一实施例公开一种数据存储装置的控制器,其中所述数据存储装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括多个非挥发性存储器组件,以及所述多个非挥发性存储器组件包括多个区块。所述控制器可包括一处理电路,其中所述处理电路可依据来自一主机的多个主机命令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器。例如:所述控制器设定一非平衡平面数量,其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;所述控制器选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;所述控制器依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;以及所述控制器记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
本发明的好处的一是,通过仔细设计的管理机制,本发明能针对所述控制器的运作进行妥善的控制,尤其,使数据存储装置能利用不平衡平面的方式,例如,使用在超级区块(Super Block)内可更改的数量的平面而不是使用全部数量的平面。于是,本发明能打破关于NAND型闪存的好区块的数量的限制,以整合出最大的容量;或是,在特定的容量需求下,有效地整合出充足的超级区块,达到优化效能。另外,依据本发明的实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于传统架构,本发明能在没有副作用或较不可能带来副作用的状况下达到数据存储装置的优化效能。
附图说明
图1为依据本发明一实施例的一种数据存储装置与一主机(host device)的示意图。
图2绘示针对超级区块的一管理方案的示意图。
图3绘示依据本发明一实施例的一超级区块管理方案。
图4绘示坏区块分布的一个例子。
图5绘示依据本发明另一实施例的一超级区块管理方案。
图6绘示依据本发明一实施例的一种非对称型平面管理方法的一工作流程。
其中,附图标记说明如下:
50 主机
100 数据存储装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
116 缓冲存储器
118 传输接口电路
120 非挥发性存储器
122、122-1、122-2、…、122-N 非挥发性存储器组件
{0-0,0-1,…}、{1-0,1-1,…}、
{2-0,2-1,…}、{3-0,3-1,…}、
{4-0,4-1,…}、{5-0,5-1,…}、
{6-0,6-1,…}、{7-0,7-1,…} 区块索引
S10、S12、S14、S16、S18、
S20、S22 步骤
ORPHAN_BLOCK_TABLE 孤儿区块表
BLOCKSKIPIDX 区块省略索引
具体实施方式
请参考图1,图1为依据本发明一第一实施例的一种数据存储装置100与一主机(Host Device)50的示意图。例如:数据存储装置100可为固态硬盘(Solid State Drive,SSD)。另外,主机50的例子可包括(但不限于):多功能移动电话(Multifunctional MobilePhone)、平板计算机(Tablet)、以及个人计算机(Personal Computer)诸如桌面计算机与膝上型计算机。依据本实施例,数据存储装置100可包括一控制器诸如存储器控制器110,且可还包括非挥发性(Non-Volatile)存储器120,其中所述控制器是用来存取(Access)非挥发性存储器120,且非挥发性存储器120是用来存储信息。
非挥发性存储器120可包括多个非挥发性存储器组件122-1、122-2、…与122-N,其中符号“N”可代表大于一的正整数。例如:非挥发性存储器120可为闪存(Flash memory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片或多个闪存裸晶,但本发明并不限于此。此外,数据存储装置100可以还包括挥发性存储器组件以缓存数据,其中,挥发性存储器组件较佳为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。上述挥发性存储器组件可提供适当的数据暂存空间以缓存数据,或是仅提供小量的数据暂存空间以缓存小量数据,此架构又称为部分DRAM(Partial DRAM)。另外,挥发性存储器组件为非必要组件。
存储器控制器110可包括处理电路诸如微处理器112、存储器诸如只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、缓冲存储器116、与传输接口电路118,其中这些组件可通过总线彼此耦接。缓冲存储器116较佳为静态随机存取存储器(StaticRandom Access Memory,SRAM)。举例来说,如果数据存储装置100更配置有上述DRAM,存储器控制器110可利用缓冲存储器116诸如SRAM作为第一层快取(Cache),并利用DRAM作为第二层快取。DRAM的数据存储量较佳大于缓冲存储器116的数据存储量,而缓冲存储器116所缓冲处理的数据可源自于DRAM或非挥发性存储器120。
本实施例的只读存储器112M是用来存储程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C亦得存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可包括至少一错误更正码(Error Correction Code,ECC)电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合特定通信标准(诸如串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准或非挥发性存储器快捷(Non-Volatile Memory Express,NVME)标准且可依据特定通信标对主机50进行通信。
于本实施例中,主机50可传送多个主机命令(Host Command)至数据存储装置100,存储器控制器110再依据主机命令而对非挥发性存储器120进行存取(例如读取或写入数据),其中上述数据较佳为源自于主机50的用户数据。主机命令包括逻辑地址,例如:逻辑区块地址(Logical Block Address,LBA)。存储器控制器110可接收主机命令并将主机命令分别转译成存储器操作命令(简称操作命令),再以操作命令控制非挥发性存储器120读取、写入(Write)/编程(Program)非挥发性存储器120当中特定实体地址的页面(Page)。
存储器控制器110将数据的逻辑地址与实体地址之间的映射关系记录于逻辑对实体地址(Logical-to-Physical Address,L2P)映射表,其中,实体地址可由信道(Channel)编号、逻辑单元编号(Logical Unit Number,LUN)、平面(Plane)编号、区块编号、页面编号以及偏移量(Offset)所组成。于某些实施例中,实体地址的实施可予以变化。例如,实体地址可包括信道编号、逻辑单元编号、平面编号、区块编号、页面编号、及/或偏移量。
L2P映射表可存储于非挥发性存储器120中的系统区块中,且可分割成多个群组(Group)映射表,每一群组映射表记录一段逻辑地址的映射关系。系统区块较佳为加密区块且以SLC模式进行数据的编程。存储器控制器110可依缓冲存储器116的容量大小而将所述多个群组映射表中的一部分或全部群组映射表从非挥发性存储器120载入缓冲存储器116,以供快速参考,但本发明不限于此。当用户数据更新时,存储器控制器110可依据用户数据的最新映射关系来更新群组映射表的内容。群组映射表的大小较佳不大于非挥发性存储器组件122-n的一个页面(Page)的大小,例如16KB(kilobytes;千字节),其中符号“n”可代表区间[1,N]中的任一正整数,但本发明不限于此。例如,群组映射表的大小可为4KB或1KB。
非挥发性存储器组件122-n可包括多个平面(Planes),诸如平面#0、#1、#2与#3,每一个平面包括多个区块,每一区块包括多个页面。在此情况下,存储器控制器110可将平面#0~#3的各自一个区块组合成一个大区块,则大区块的大小等于一个区块的大小的4倍。
存储器控制器110可将多个信道,例如2个信道CH#0与CH#1,中各自的一个非挥发性存储器组件122-n的各自的一个大区块可组合成一个超级区块(Super Block,SB),则超级区块的大小等于一个区块的大小的8倍,且此2个非挥发性存储器组件122-n可由同一芯片启用(Chip Enable,CE)信号所控制,但本发明不限于此。例如,在通道数量等于4的设定下,诸如通道CH#0~CH#3,通道CH#0~CH#3中的各自的一个非挥发性存储器组件的各自的一个大区块也可组成一个超级区块,也可由一个芯片启用信号所控制。
图2绘示针对超级区块的一管理方案的示意图。非挥发性存储器组件122-1、122-2、…与122-N可实施成多个闪存裸晶,诸如裸晶#0与#1,其中裸晶#0与#1可作为上述2个通道CH#0与CH#1中各自的一个非挥发性存储器组件122-n,并以此架构为例说明超级区块的组成。裸晶#0可具有4个平面,因此,裸晶#0中的区块可由4组区块索引(Block Index)来表示,例如其区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-199}与{3-0,3-1,…,3-199}。相仿地,裸晶#1也可具有4个平面,因此,裸晶#1中的区块也可由4组区块索引来表示,例如其区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-199}与{3-0,3-1,…,3-199}。
当组成超级区块时,裸晶#0~#1可分别置于通道CH#0与CH#1,如此一来,超级区块中的区块可由区块索引来表示,例如具有区块索引格式[Die#,PLN#,BLK#]的8组区块索引{[0,0,0],[0,0,1],…,[0,0,199]}、{[0,1,0],[0,1,1],…,[0,1,199]}、{[0,2,0],[0,2,1],…,[0,2,149]}、{[0,3,0],[0,3,1],…,[0,3,199]}、{[1,4,0],[1,4,1],…,[1,4,199]}、{[1,5,0],[1,5,1],…,[1,5,199]}、{[1,6,0],[1,6,1],…,[1,6,199]}以及{[1,7,0],[1,7,1],…,[1,7,199]},并且在区块索引格式[Die#,PLN#,BLK#]中的Die#、PLN#与BLK#分别代表裸晶编号、平面编号与区块编号,其中,裸晶编号与平面编号较佳为累进值(例如具有固定增量的一系列数值),有时裸晶编号会以通道编号来替代。另外,在上述架构中,由于超级区块中的区块来自八个平面,此种超级区块又可称为八平面超级区块或平衡平面架构。
假设在理想情况下,裸晶#0与#1的各自的平面#0~#3可具有相同数量的好区块(Good Block),例如200个好区块,即区块#0~#199都是好区块,没有一个是坏区块(BadBlock)。于是,在理想情况下,存储器控制器110可将裸晶#0与#1中的平面#0~#3的相同区块编号的区块组合成超级区块,因此,可组合成200个超级区块。由于所有的区块都是好区块,存储器控制器110在此情况下可以组合最多数量的超级区块,因此,数据存储装置100(例如SSD)可以提供理想的存储容量。假设每一裸晶的存储容量为64GB(Gigabytes;千兆位组),则数据存储装置100可以提供128GB的存储容量。由于裸晶中的区块被组合成超级区块,因此,数据存储装置100可以提供理想(较佳)的存取效能。
然而,在真实情况下,裸晶通常包括一部分的坏区块。例如,裸晶#0的平面#2的区块#150~#199都是坏区块,如符号“X”所示。于是,在真实情况下,存储器控制器110将裸晶#0与#1中的平面#0~#3的相同区块编号的区块组合成超级区块,如图2下半部中的超级区块索引(Super Block Index){0,1,…,149}所示,其中,图2左下角所示区块索引{0-0,0-1,…,0-149}、{1-0,1-1,…,1-149}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-149}可代表裸晶#0的区块索引{0-0,0-1,…,0-149}、{1-0,1-1,…,1-149}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-149},而图2右下角所示区块索引{4-0,4-1,…,4-149}、{5-0,5-1,…,5-149}、{6-0,6-1,…,6-149}与{7-0,7-1,…,7-149}可代表裸晶#1的区块索引{0-0,0-1,…,0-149}、{1-0,1-1,…,1-149}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-149}。在真实情况下,存储器控制器110仅能组合成150个超级区块,数据存储装置100仅能提供96GB(例如(128*(150/200))=96)的存储容量,至于未组合至超级区块的剩余区块,例如:裸晶#0的平面#0、#1以及#3的区块#150~#199,裸晶#1的平面#0~#3的区块#150~#199,则作为预留空间(Over-provisioning),无法成为数据存储装置100的存储容量。
为了克服上述问题,本发明提供一种非对称型平面管理(Unbalanced PlaneManagement)方法,其可在数据存储装置100进行存储容量检测而无法达到容量阈值,例如:100GB,的情况下,开发出不同的存储容量,使数据存储装置100的存储容量可以超过容量阈值,达到本发明的目的。而本发明非对称型平面管理方法不局限于将每一平面的一个区块整合至一个超级区块中,尤其,可依据真实情况下的需求来弹性地调整超级区块的组合,或是调整平面的个数以组成超级区块。举例来说,当使用本发明非对称型平面管理方法来管理裸晶#0与#1时,超级区块可由八个平面中的七个平面的区块的组合来形成,如图3所示,其中,区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-199}可代表裸晶#0的区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-199},而区块索引{4-0,4-1,…,4-199}、{5-0,5-1,…,5-199}、{6-0,6-1,…,6-199}与{7-0,7-1,…,7-199}可代表裸晶#1的区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-199}与{3-0,3-1,…,3-199}。于是,可以产生较多的超级区块,例如:由原本的150个超级区块增加为200个超级区块,且,可以增加数据存储装置100的存储容量,例如:数据存储装置100的存储容量从96GB增加为112GB(例如(128*(7/8))=112),以成功地达成本发明的目的。
在另一个真实情况下,如图4所示,裸晶#0的平面#2的区块#150~#199都是坏区块,裸晶#1的平面#2的区块#180~#199都是坏区块,因此,数据存储装置100仅能提供96GB的存储容量。当采用本发明一种非对称型平面管理方法时,将超级区块由八个平面中的七个平面的区块来组合,如图5所示,其中,区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-199}可代表裸晶#0的区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-149}与{3-0,3-1,…,3-199},而区块索引{4-0,4-1,…,4-199}、{5-0,5-1,…,5-199}、{6-0,6-1,…,6-179}与{7-0,7-1,…,7-199}可代表裸晶#1的区块索引{0-0,0-1,…,0-199}、{1-0,1-1,…,1-199}、{2-0,2-1,…,2-179}与{3-0,3-1,…,3-199}。属于超级区块#0~#179的一大部分区块可由裸晶#0的平面#0、#1与#3以及裸晶#1的平面#0~#3的各自的区块#0~#179所组成,而属于超级区块#180~#199的另一部分区块可改由裸晶#0与#1的各自的平面#0、#1与#3的各自的区块#180~#199以及裸晶#0的平面#2的区块#0~#19(如虚线框所示)所组成,一样可以组成200个超级区块,使数据存储装置100的存储容量从96GB增加为112GB,以成功地达成本发明的目的。
图6绘示依据本发明一实施例的非对称型平面管理方法的工作流程,本发明非对称型平面管理方法可应用于数据存储装置100,并由数据存储装置100的存储器控制器110所执行。另外,于执行本发明非对称型平面管理方法以后,存储器控制器110可能会产生多种存储容量的记录,其可分别对应于一平面数参数(plane count parameter)诸如一非平衡平面数量(unbalanced plane number)UNBAL_NUM的多个可能的值(例如多个候选值),并且使用者可以依据其需求从上述多种存储容量的记录选择对应于所述多个可能的值中的某一可能的值(例如所述多个候选值中的某一候选值)的一记录,例如:选取存储容量值为最大的记录,或是选取存储容量值为次佳但是非平衡平面数量UNBAL_NUM的值较小的记录,而选取所述所选择的记录所对应的非平衡平面数量UNBAL_NUM的值,使数据存储装置100能通过对应的存储容量组态提供所需的存储容量。
于步骤S10中,存储器控制器110设定非平衡平面数量UNBAL_NUM,其中,非平衡平面数量UNBAL_NUM小于一最大平面数量。所述最大平面数量代表所述多个非挥发性存储器组件122-1、122-2、…与122-N的各自的平面的数量的总和,尤其,所述最大平面数量可等于裸晶数量(Die Count)DIE_COUNT乘以平面数量(Plane Number)PLANE_NUM,以前面所述实施例为例,数据存储装置100设置有裸晶#0与#1,则裸晶数量DIE_COUNT等于2。平面数量PLANE_NUM可代表每一裸晶所包括的平面的总数量,裸晶#0与#1分别具有其各自的平面#0~#3,则平面数量PLANE_NUM等于4,因此所述最大平面数量等于8。非平衡平面数量UNBAL_NUM的初始值例如等于7,最小值例如等于2。
于步骤S12中,存储器控制器110选取所述最大平面数量减去非平衡平面数量UNBAL_NUM的至少一平面,并将选取的平面(诸如所述至少一平面)的至少一组区块(例如其区块索引)记录至一区块省略表(block skip table)诸如对应于所述至少一平面的至少一组区块省略索引(block skip indexes)BLOCKSKIPIDX,其中所述区块省略表可包括所述至少一组区块省略索引BLOCKSKIPIDX。所述至少一组区块省略索引BLOCKSKIPIDX较佳为一阵列,其可包括一或多个子阵列,而所述阵列的所述一或多个子阵列的一子阵列数(sub-array count)较佳等于所述最大平面数量减去非平衡平面数量UNBAL_NUM的差值,并且所述阵列的大小较佳等于所述至少一组区块的总数量。以图2上半部以及图4为例,最大平面数量等于8,非平衡平面数量UNBAL_NUM等于7,因此,存储器控制器110将选取1个平面。由于裸晶#0的平面#2的好区块的总数量最少,因此,存储器控制器110选取裸晶#0的平面#2,并将裸晶#0的平面#2的区块#0~#149(例如其区块索引)记录至区块省略索引BLOCKSKIPIDX。假设非平衡平面数量UNBAL_NUM可予以变化,例如,当非平衡平面数量UNBAL_NUM等于6时,因为裸晶#0的平面#2以及裸晶#1的平面#2的好区块的总数量最少,存储器控制器110选取裸晶#0的平面#2以及裸晶#1的平面#2,并将裸晶#0的平面#2的区块#0~#149以及裸晶#1的平面#2的区块#0~#179(例如其区块索引)记录至区块省略索引BLOCKSKIPIDX。另外,于某些实施例中,存储器控制器110可选取好区块的总数量最多的一或多个平面,并将所述一或多个平面的区块(例如其区块索引)记录至区块省略索引BLOCKSKIPIDX,但本发明并不以此为限。
于步骤S14中,存储器控制器110依据区块编号为索引(例如:BLK#=0、BLK#=1…),将未选取的平面的区块组成超级区块,尤其,逐一地(one by one)及/或依序地(sequentially),以将这些平面的各自的区块#0、#1等分别组成超级区块#0、#1等,其中这些超级区块分别对应于这些区块编号。以图2上半部以及图4为例,未选取的平面可为裸晶#0的平面#0、#1、#3以及裸晶#1的平面#0~#3,存储器控制器110依据区块编号为索引,将未选取的平面的区块(例如其区块索引)记录至孤儿区块表ORPHAN_BLOCK_TABLE,如第3以及5图所示,其中,孤儿区块表ORPHAN_BLOCK_TABLE记录每一超级区块的区块编号,例如,超级区块#0由7个不同平面的区块#0所组成,超级区块#1由7个不同平面的区块#1所组成,依此类推。此种架构的超级区块又可称为7平面超级区块,或非平衡平面超级区块。
于步骤S16中,存储器控制器110判断步骤S14中的这些区块编号是否小于一区块阈值,以产生一判断结果,尤其,通过将这些区块编号所形成的一区块编号序列中的最后一个区块编号和所述区块阈值比较,以产生这个判断结果,其中所述最后一个区块编号是这些区块编号中的最大值。如果是(例如判断结果为“真”(True)),则执行步骤S18;如果否(例如判断结果为“伪”(False)),则执行步骤S20。所述区块阈值等于一预定值,且较佳等于全部可用的(available)区块编号{BLK#}的最大值。以图2上半部以及图4为例,区块阈值等于上述全部可用的区块编号{BLK#}的最大值,即数值199。以图3为例,孤儿区块表ORPHAN_BLOCK_TABLE可因应区块编号BLK#的变化顺利地从超级区块#0建立至超级区块#199,因此,当步骤S16的判断为否时,这表示针对非平衡平面数量UNBAL_NUM的目前值的检测已完成,可执行步骤S20,尤其,可另因应步骤S22的某一判断结果执行步骤S10,以进行针对非平衡平面数量UNBAL_NUM的下一个值的检测,例如,存储器控制器110可在步骤S10中将非平衡平面数量UNBAL_NUM的下一个值(尤其,最新值)设定为非平衡平面数量UNBAL_NUM的目前值减1。
于步骤S18中,存储器控制器110继续依据区块编号为索引,尤其,依据上述全部可用的区块编号{BLK#}中的剩余的区块编号(例如步骤S14中的上述区块编号的后续区块编号)为索引,将上述未选取的平面的其它区块(例如对应于上述后续区块编号的后续区块)以及区块省略索引BLOCKSKIPIDX所记录的区块组成其它超级区块,诸如步骤S14中的上述超级区块的后续超级区块。以第4至5图为例,孤儿区块表ORPHAN_BLOCK_TABLE的表内容(例如其内的区块索引所代表的超级区块)可顺利地建立至超级区块#179,然而,在建立超级区块#180时,只剩下6个不同平面的区块#180,因此,存储器控制器110选取区块省略索引BLOCKSKIPIDX所记录的裸晶#0的平面#2的区块#0以及6个不同平面的区块#180来建立超级区块#180。接着,存储器控制器110选取区块省略索引BLOCKSKIPIDX所记录的裸晶#0的平面#2的区块#1以及6个不同平面的区块#181来建立超级区块#181,依此类推,直到完成超级区块#199的建立,如图5所示。
于步骤S20中,存储器控制器110记录全部超级区块的总容量以及非平衡平面数量UNBAL_NUM,以产生上述多种存储容量的记录中的一最新的记录,以供进一步设定数据存储装置100的存储容量组态,其中上述全部超级区块可包括步骤S14中的上述超级区块,尤其,可还包括步骤S18中的上述其它超级区块(若步骤S18被执行)。于完成孤儿区块表ORPHAN_BLOCK_TABLE的建立以后,存储器控制器110可依据孤儿区块表ORPHAN_BLOCK_TABLE而计算出超级区块的总容量,例如:112GB,且记录超级区块的总容量以及非平衡平面数量UNBAL_NUM的目前值,例如:数值7。
于步骤S22中,存储器控制器110判断非平衡平面数量UNBAL_NUM是否等于平面阈值。如果否(例如判断结果为“伪”),则执行步骤S10;如果是(例如判断结果为“真”),则结束非对称型平面管理方法的执行。在步骤S10,存储器控制器110例如将非平衡平面数量UNBAL_NUM的下一个值(尤其,最新值)设定为非平衡平面数量UNBAL_NUM的目前值减1。另外,平面阈值可等于UNBAL_NUM的最小值,例如:数值2。
由于上述中可知,本发明至少一实施例的非对称型平面管理方法能成功地将数据存储装置100的存储容量从96GB增加为112GB,并使数据存储装置100具备基于超级区块的高存取效能,而剩下未利用的区块,例如:区块省略索引BLOCKSKIPIDX所记录的区块则可作为预留空间(Over-provisioning)使用,达到本发明的目的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种非对称型平面管理方法,其特征在于,所述非对称型平面管理方法是应用于一数据存储装置,所述数据存储装置包括一非挥发性存储器,所述非挥发性存储器包括多个非挥发性存储器组件,所述多个非挥发性存储器组件包括多个区块,所述非对称型平面管理方法包括有:
设定一非平衡平面数量,其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;
选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;
依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;
判断所述区块编号中的至少一者是否小于一区块阈值,以产生一判断结果,其中所述区块阈值等于全部可用的区块编号的最大值,且所述判断结果指出所述区块编号中的所述至少一者是否小于所述区块阈值;
因应所述判断结果指出所述区块编号中的所述至少一者小于所述区块阈值,依据所述全部可用的区块编号中的剩余的区块编号为索引,将所述未选取的平面的其它区块以及所述区块省略表所记录的区块组成其它超级区块;以及
记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
2.如权利要求1所述的非对称型平面管理方法,其特征在于,所述区块省略表包括至少一组区块省略索引;以及所述至少一组区块省略索引是一阵列,所述阵列包括一或多个子阵列,且所述阵列的所述一或多个子阵列的一子阵列数等于所述最大平面数量减去所述非平衡平面数量的差值,其中所述阵列的大小等于所述至少一组区块的总数量。
3.如权利要求1所述的非对称型平面管理方法,其特征在于,所述剩余的区块编号包括所述区块编号的后续区块编号,所述未选取的平面的所述其它区块包括对应于所述后续区块编号的后续区块,且所述其它超级区块包括所述超级区块的后续超级区块。
4.如权利要求1所述的非对称型平面管理方法,其特征在于,判断所述区块编号中的所述至少一者是否小于所述区块阈值以产生所述判断结果的步骤包括:
将所述区块编号所形成的一区块编号序列中的最后一个区块编号和所述区块阈值比较,以产生所述判断结果,其中所述最后一个区块编号是所述区块编号中的最大值。
5.如权利要求1所述的非对称型平面管理方法,其特征在于,所述多种存储容量的记录分别对应于所述非平衡平面数量的多个可能的值,以容许一使用者依据需求从所述多种存储容量的记录选择对应于所述多个可能的值中的一可能的值的一记录。
6.一种数据存储装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中所述非挥发性存储器包括多个非挥发性存储器组件,以及所述多个非挥发性存储器组件包括多个区块;以及
一控制器,耦接至所述非挥发性存储器,用来控制所述数据存储装置的操作,其中所述控制器包括:
一处理电路,用来依据来自一主机的多个主机命令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器设定一非平衡平面数量,其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;
所述控制器选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;
所述控制器依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;
所述控制器判断所述区块编号中的至少一者是否小于一区块阈值,以产生一判断结果,其中所述区块阈值等于全部可用的区块编号的最大值,且所述判断结果指出所述区块编号中的所述至少一者是否小于所述区块阈值;
因应所述判断结果指出所述区块编号中的所述至少一者小于所述区块阈值,所述控制器依据所述全部可用的区块编号中的剩余的区块编号为索引,将所述未选取的平面的其它区块以及所述区块省略表所记录的区块组成其它超级区块;以及
所述控制器记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
7.如权利要求6所述的数据存储装置,其特征在于,所述区块省略表包括至少一组区块省略索引;以及所述至少一组区块省略索引是一阵列,所述阵列包括一或多个子阵列,且所述阵列的所述一或多个子阵列的一子阵列数等于所述最大平面数量减去所述非平衡平面数量的差值,其中所述阵列的大小等于所述至少一组区块的总数量。
8.如权利要求6所述的数据存储装置,其特征在于,所述剩余的区块编号包括所述区块编号的后续区块编号,所述未选取的平面的所述其它区块包括对应于所述后续区块编号的后续区块,且所述其它超级区块包括所述超级区块的后续超级区块。
9.如权利要求6所述的数据存储装置,其特征在于,所述控制器将所述区块编号所形成的一区块编号序列中的最后一个区块编号和所述区块阈值比较,以产生所述判断结果,其中所述最后一个区块编号是所述区块编号中的最大值。
10.如权利要求6所述的数据存储装置,其特征在于,所述多种存储容量的记录分别对应于所述非平衡平面数量的多个可能的值,以容许一使用者依据需求从所述多种存储容量的记录选择对应于所述多个可能的值中的一可能的值的一记录。
11.一种数据存储装置的控制器,其特征在于,所述数据存储装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括多个非挥发性存储器组件,所述多个非挥发性存储器组件包括多个区块,所述控制器包括有:
一处理电路,用来依据来自一主机的多个主机命令控制所述控制器,以容许所述主机通过所述控制器存取所述非挥发性存储器,其中:
所述控制器设定一非平衡平面数量,其中所述非平衡平面数量小于一最大平面数量,且所述最大平面数量代表所述多个非挥发性存储器组件的各自的平面的数量的总和;
所述控制器选取所述最大平面数量减去所述非平衡平面数量的至少一平面,并将所述至少一平面的至少一组区块记录至一区块省略表;
所述控制器依据区块编号为索引,将未选取的平面的区块组成超级区块,其中所述超级区块分别对应于所述区块编号;
所述控制器判断所述区块编号中的至少一者是否小于一区块阈值,以产生一判断结果,其中所述区块阈值等于全部可用的区块编号的最大值,且所述判断结果指出所述区块编号中的所述至少一者是否小于所述区块阈值;
因应所述判断结果指出所述区块编号中的所述至少一者小于所述区块阈值,所述控制器依据所述全部可用的区块编号中的剩余的区块编号为索引,将所述未选取的平面的其它区块以及所述区块省略表所记录的区块组成其它超级区块;以及
所述控制器记录全部超级区块的总容量以及所述非平衡平面数量,以产生多种存储容量的记录中的一最新的记录,以供进一步设定所述数据存储装置的存储容量组态,其中所述全部超级区块包括所述超级区块。
12.如权利要求11所述的控制器,其特征在于,所述区块省略表包括至少一组区块省略索引;以及所述至少一组区块省略索引是一阵列,所述阵列包括一或多个子阵列,且所述阵列的所述一或多个子阵列的一子阵列数等于所述最大平面数量减去所述非平衡平面数量的差值,其中所述阵列的大小等于所述至少一组区块的总数量。
13.如权利要求11所述的控制器,其特征在于,所述剩余的区块编号包括所述区块编号的后续区块编号,所述未选取的平面的所述其它区块包括对应于所述后续区块编号的后续区块,且所述其它超级区块包括所述超级区块的后续超级区块。
14.如权利要求11所述的控制器,其特征在于,所述控制器将所述区块编号所形成的一区块编号序列中的最后一个区块编号和所述区块阈值比较,以产生所述判断结果,其中所述最后一个区块编号是所述区块编号中的最大值。
15.如权利要求11所述的控制器,其特征在于,所述多种存储容量的记录分别对应于所述非平衡平面数量的多个可能的值,以容许一使用者依据需求从所述多种存储容量的记录选择对应于所述多个可能的值中的一可能的值的一记录。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962813169P | 2019-03-04 | 2019-03-04 | |
US62/813,169 | 2019-03-04 | ||
TW108129939A TWI718635B (zh) | 2019-03-04 | 2019-08-22 | 非對稱型平面管理方法以及資料儲存裝置及其控制器 |
TW108129939 | 2019-08-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651371A CN111651371A (zh) | 2020-09-11 |
CN111651371B true CN111651371B (zh) | 2023-06-16 |
Family
ID=72336343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010002481.5A Active CN111651371B (zh) | 2019-03-04 | 2020-01-02 | 非对称型平面管理方法以及数据存储装置及其控制器 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11210005B2 (zh) |
CN (1) | CN111651371B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872035B1 (en) * | 2019-05-29 | 2020-12-22 | Apple Inc. | Systems and methods for managing an artificially limited logical space of non-volatile memory |
KR20210028335A (ko) * | 2019-09-04 | 2021-03-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
US11669258B2 (en) * | 2021-04-27 | 2023-06-06 | Micron Technology, Inc. | Dynamic superblocks |
US11687290B1 (en) * | 2022-01-13 | 2023-06-27 | Silicon Motion, Inc. | Method for improve read disturbance phenomenon of flash memory module and associated flash memory controller and electronic device |
US20230393779A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Plane balancing in a memory system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102341793A (zh) * | 2009-03-04 | 2012-02-01 | 美光科技公司 | 存储器块选择 |
JP2012073681A (ja) * | 2010-09-27 | 2012-04-12 | Fujitsu Ltd | ordering生成方法、プログラム及び共有メモリ型スカラ並列計算機 |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107403640A (zh) * | 2016-04-27 | 2017-11-28 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN108121669A (zh) * | 2016-11-29 | 2018-06-05 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008115720A1 (en) | 2007-03-21 | 2008-09-25 | Sandisk Corporation | Methods for storing memory operations in a queue |
US8688894B2 (en) | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
KR20120084906A (ko) | 2011-01-21 | 2012-07-31 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템 및 그 관리 방법 |
US9239781B2 (en) * | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block 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 |
US9263136B1 (en) | 2013-09-04 | 2016-02-16 | Western Digital Technologies, Inc. | Data retention flags in solid-state drives |
KR20180083093A (ko) | 2017-01-12 | 2018-07-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102420025B1 (ko) | 2017-06-19 | 2022-07-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
TWI617917B (zh) * | 2017-08-28 | 2018-03-11 | 慧榮科技股份有限公司 | 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置 |
US10445230B2 (en) | 2017-12-08 | 2019-10-15 | Macronix International Co., Ltd. | Managing block arrangement of super blocks |
TWI643065B (zh) | 2017-12-20 | 2018-12-01 | 慧榮科技股份有限公司 | 用於動態執行記憶體回收資料儲存裝置與操作方法 |
US10372355B2 (en) * | 2017-12-29 | 2019-08-06 | Micron Technology, Inc. | Managing partial superblocks in a NAND device |
TWI650763B (zh) | 2018-05-14 | 2019-02-11 | 慧榮科技股份有限公司 | 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統 |
US10976947B2 (en) * | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
-
2020
- 2020-01-02 CN CN202010002481.5A patent/CN111651371B/zh active Active
- 2020-02-12 US US16/789,355 patent/US11210005B2/en active Active
-
2021
- 2021-11-19 US US17/530,477 patent/US11809723B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102341793A (zh) * | 2009-03-04 | 2012-02-01 | 美光科技公司 | 存储器块选择 |
JP2012073681A (ja) * | 2010-09-27 | 2012-04-12 | Fujitsu Ltd | ordering生成方法、プログラム及び共有メモリ型スカラ並列計算機 |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107403640A (zh) * | 2016-04-27 | 2017-11-28 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN108121669A (zh) * | 2016-11-29 | 2018-06-05 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111651371A (zh) | 2020-09-11 |
US20200285393A1 (en) | 2020-09-10 |
US11210005B2 (en) | 2021-12-28 |
US11809723B2 (en) | 2023-11-07 |
US20220075526A1 (en) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651371B (zh) | 非对称型平面管理方法以及数据存储装置及其控制器 | |
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US8046526B2 (en) | Wear leveling method and controller using the same | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
US9983799B2 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
US10747471B2 (en) | Cell programming method, memory control circuit unit and memory storage device | |
US10283196B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US20170242597A1 (en) | Wear leveling method, memory control circuit unit and memory storage device | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
US20160054935A1 (en) | Data storing method and memory controller and memory storage device using the same | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
US9001585B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US10509583B1 (en) | Memory management method and storage controller | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
TWI718635B (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
US9830077B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN111240602A (zh) | 闪存的数据整理方法、控制电路单元与存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |