CN108280032B - 数据储存装置以及快闪存储器控制方法 - Google Patents
数据储存装置以及快闪存储器控制方法 Download PDFInfo
- Publication number
- CN108280032B CN108280032B CN201710092808.0A CN201710092808A CN108280032B CN 108280032 B CN108280032 B CN 108280032B CN 201710092808 A CN201710092808 A CN 201710092808A CN 108280032 B CN108280032 B CN 108280032B
- Authority
- CN
- China
- Prior art keywords
- address
- system information
- grouping
- mapping
- physical
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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
- G06F2212/1024—Latency reduction
-
- 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/1041—Resource optimization
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是数据储存装置以及快闪存储器控制方法,涉及快闪存储器映射数据重建技术,依照逻辑地址将该快闪存储器已储存数据的映射信息分组,以分组映射表为单位储存于该快闪存储器储的系统信息区块。各上述系统信息区块的至少一预设物理地址记录有地址分组表,显示所对应的系统信息区块储存的上述分组映射表的逻辑地址群组编号。单一上述系统信息区块中,上述地址分组表使用到的物理页页数少于载有上述分组映射表的物理页总数。
Description
技术领域
本发明有关于数据储存装置,特别有关于快闪存储器(flash memory)控制技术。
背景技术
现今数据储存装置常以快闪存储器(flash memory)为储存媒体。快闪存储器常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)…等产品。另外有一种应用是采多芯片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。
快闪存储器的实体空间通常划分为多个物理区块(physical blocks)。各物理区块包括多个物理页(physical pages)。快闪存储器的数据更新并非对同样储存空间作复写,而是将更新数据储存在闲置空间,此闲置空间可能置于同一物理区块,也可能置于另一物理区块。至于旧储存内容则转为无效。物理区块内充斥无效内容时,垃圾收集(GarbageCollection)启动,有效内容将被复制至其他空间,使余留无效数据的物理区块得以藉抹除(erase)操作释出其空间。特别是,一物理区块需要完整抹除后,方被释出,等待重新配置使用。快闪存储器如此操作特性使得其储存空间的管理明显复杂、且不同于其他类型的储存记忆元件。特别是,逻辑地址以及物理地址之间的映射信息维护,更是快闪存储器控制的一重大课题。
发明内容
根据本发明一种实施方式所实现的一数据储存装置包括一快闪存储器以及一微控制器。该快闪存储器包括多个物理区块,且每一上述物理区块包括多个物理页。该微控制器将至少一上述物理区块规划为至少系统信息区块(Table#1、Table#2…Table#N)。该快闪存储器已储存数据的映射信息系纪录至多个分组映射表(H2F_G)。上述分组映射表(H2F_G)可依据一逻辑地址而组合成一映射表(HF)。该微控制器还用于将上述分组映射表(H2F_G)储存至上述系统信息区块(Table#1、Table#2…Table#N)的上述物理页。该微控制器还在每一上述系统信息区块的至少一预设物理地址,记录地址分组表(F2G#0、F2G#1…F2G#N),记录每一上述系统信息区块的上述物理页所储存的上述分组映射表(H2F_G)的逻辑地址群组编号。每一上述系统信息区块(Table#1、Table#2…或Table#N)中,载有上述地址分组表(F2G#0、F2G#1…或F2G#N)的物理页页数少于载有上述分组映射表(H2F_G)的物理页总数。
对于包括有多物理区块且每一上述物理区块包括有多个物理页的快闪存储器,根据本发明一种实施方式所实现的一快闪存储器控制方法包括:将至少一上述物理区块规划为至少一系统信息区块;将该快闪存储器已储存数据的映射信息记录至多个分组映射表,上述分组映射表可依据一逻辑地址而组合成一映射表;将上述分组映射表储存至上述系统信息区块的上述物理页;以及在每一上述系统信息区块的至少一预设物理地址,记录一地址分组表,记录每一上述系统信息区块的上述物理页所储存的上述分组映射表的逻辑地址群组编号。每一上述系统信息区块中,载有上述地址分组表的物理页总数少于载有上述分组映射表的物理页总数。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1图解了一非挥发性存储器的储存空间规划;
图2图解根据本发明一种实施方式所实现的一数据储存装置200,其中包括一快闪存储器202以及一控制单元204;
图3图解了映射表H2F的分组;
图4A以系统信息区块Table#j(j为数字)为例,图解系统信息区块Table#1到Table#N的架构;
图4B图解了储存于图4A系统信息区块Table#j的地址分组表F2G#j的内容;
图5示范性图解分组地址表G2F的架构;以及
图6为流程图,图解数据储存装置200上电的映射表H2F的重建流程。
符号说明
200~数据储存装置;
202~快闪存储器;
204~控制单元;
206~主机;
210~线上烧录区块池;
212~系统信息区块池;
214~闲置区块池;
216~主动区块;
218~数据区块池;
220~微控制器;
222~随机存取记忆空间;
224~只读存储器;
BLK#1、BLK#2、BLK#i~物理区块;B#~物理区块编号;
F2G#1、F2G#2…F2G#j…F2G#N~地址分组表;
G2F~分组地址表;
G#~逻辑地址群组编号;
H2F~映射表;
H2F_G#0、H2F_G#1…H2F_G#i…H2F_G#131,071~分组映射表;
LBA~逻辑区块地址;
S602…S608~步骤;
Table#1、Table#2…Table#j…Table#N~系统信息区块;以及
U#~单位编号。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求界定。
图1图解了一非挥发性存储器的储存空间规划,划分为多个物理区块(physicalblocks)BLK#1、BLK#2…BLK#Z等,Z为正整数,且各物理区块包括多物理页(physicalpages),例如:256个物理页,每一物理页可储存预设长度的数据,例如:16KB长度的数据。每一物理区块可依据储存数据与否而概略地区分成使用中区块(含有效数据)以及闲置区块(不含有效数据),使用中区块又依据其储存的数据属性或类别而给予不同的分类,将于以下段落作说明。
非挥发性存储器可为快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)等具有长时间数据保存之存储器装置,在下述说明中将以快闪存储器为例进行说明,但不以此为限。
图2图解了根据本发明一种实施方式所实现的一数据储存装置200,其中包括一快闪存储器202以及一控制单元204。控制单元204耦接于一主机206与该快闪存储器202之间,包括根据主机206所下达的指令操作该快闪存储器202。
快闪存储器202的较佳储存空间规划包括:线上烧录区块池210、系统信息区块池212、闲置区块池214、主动区块216、以及数据区块池218。线上烧录区块池210、系统信息区块池212、以及数据区块池218较佳包括多个使用中区块,亦可仅包括一个使用中区块,闲置区块池214较佳包括多个闲置区块。
线上烧录区块池210用于储存在系统编程(in-system programming)的程序。快闪存储器202所储存的数据的逻辑地址以及物理地址的映射信息较佳记录于一逻辑-快闪地址映射表(Host Logic-Flash physical address table,简称映射表H2F)。本发明以特殊形式在快闪存储器202内维护该映射表H2F。映射表H2F内容可由系统信息区块池212标号为Table#1、Table#2…Table#N的多个物理区块(以下称系统信息区块)取得。主动区块216由闲置区块池214供应,负责接收来自于主机206的数据,待完成数据储存后即推入数据区块池218。
控制单元204包括一微控制器220、一随机存取记忆空间222以及一只读存储器224。该随机存取记忆空间222可包括一内部随机存取存储器(如DRAM、SRAM…等),与微控制器220置于同一个晶粒(die)。该随机存取记忆空间222还可包括一外部随机存取存储器,其未与微控制器220置于同一个晶粒。只读存储器224存有只读程序码(如,ROM code)。微控制器220执行该只读存储器224所载的只读程序码或/以及该快闪存储器202的该线上烧录区块池210所载的线上烧录的程序,以进行运作。映射表H2F可暂态地、全部地或部份地载入随机存取记忆空间222的内部或外部随机存取存储器,方便动态地记录及管理快闪存储器202的使用状况。
逻辑上而言,本发明将庞大的映射表H2F依照逻辑地址(logical addresses)或逻辑区块地址(Logical Block Address,LBA)细分为多组,称为分组映射表(本发明标示为H2F_G,可依照群组编号i标示的H2F_G#i),并于数据写入至快闪存储器202时,依据数据的逻辑地址或逻辑区块地址而分别建立这些分组映射表,并储存至系统信息区块Table#1、Table#2…Table#N中。各分组映射表H2F_G可占用2KB(并不意图限定之)。系统信息区块Table#1、Table#2…Table#N各自可包括多个分组映射表H2F_G。在下述说明中,将以逻辑区块地址进行说明,但不以此为限。
为了快速将系统信息区块Table#1、Table#2…Table#N的该些分组映射表H2F_G组合成映射表H2F,本发明更分别在系统信息区块Table#1、Table#2…Table#N记录地址分组表F2G#0、F2G#1…F2G#N,显示所属系统信息区块(Table#1、Table#2…Table#N)之物理空间是储存哪些分组映射表H2F_G。地址分组表F2G#0、F2G#1…F2G#N各自集中储存于所对应系统信息区块Table#1、Table#2…Table#N的特定空间─例如,所对应物理区块的末端(结束该物理区块的填写时填入,或固定为该物理区块最末的物理页)、或预设的地址。特别是,在任一系统信息区块Table#1、Table#2…Table#N中,载有地址分组表(F2G#0、F2G#1…或F2G#N)的物理页总数少于载有上述分组映射表H2F_G的物理页总数。当欲重建映射表H2F时,藉由读取系统信息区块池212的系统信息区块Table#1、Table#2…Table#N所各自储存的地址分组表F2G#0、F2G#1…F2G#N,即能得知系统信息区块Table#1、Table#2…Table#N各物理单元是对应哪一分组映射表H2F_G。特别是,本发明可整理/合并地址分组表F2G#0、F2G#1…F2G#N的内容而分析出系统信息区块Table#1、Table#2…Table#N内哪些分组映射表H2F_G是有效的。之后,仅需读取该些有效的分组映射表H2F_G来重建映射表H2F,如此一来,映射表H2F重建所需时间可显著缩短。
一种实施方式储存一特定指标或序号至系统信息区块Table#1、Table#2…Table#N,标示其内容为映射表信息。数据储存装置200上电时可依据该特定指标或序号自该快闪存储器202的众多物理区块中,辨识出系统信息区块Table#1、Table#2…Table#N。此外,这些系统信息区块Table#1、Table#2…Table#N更可储存时序信息(例如,序号、或是时间标签),作为系统信息区块Table#1、Table#2…Table#N之新旧排序的依据。
图3图解映射表H2F的分组。映射表H2F较佳以逻辑区块地址为索引来进行排列,但不以此为限。映射表H2F的数据长度为256MB,可分组(或分割)成131,072个数据长度2KB的分组映射表,标号为H2F_G#0、H2F_G#1…H2F_G#131,071。所示实施方式中,每笔数据长度4KB的数据可用数据长度4B的记录来记载其映射信息。映射信息包括物理区块编号B#以及单位编号U#。以数据长度16KB的物理页为例,各物理页即分为4单元(U#0~U#3)。所述单元即映射信息管理单位。还有其他实施方式,其中单一物理页的数据长度仅有4KB,即映射信息管理单位,则单位编号可用物理页编号来替代。256GB物理空间的映射信息达67,108,864笔(256GB/4KB),占据256MB(256GB x4B/4KB)。如图所示,映射表H2F包括67,108,864笔(逻辑区块地址LBA#0~#67,108,863)共占据256MB空间的映射信息。映射表H2F可依预设大小分组。图例是以数据长度2KB作为分组的依据,则映射表H2F可分割成131,072(256MB/2KB)个分组映射表H2F_G#0…H2F_G#131,071,各自包括512笔映射信息。也就是,逻辑地址被分为131,072个逻辑地址群组,编号G#0、G#1…G#131,071。经分组后,控制单元204更新或写入映射表H2F时,不再以一整个映射表H2F为单位,而以一个分组映射表H2F_G为单位,如此一来,执行映射表H2F更新或写入的效率可有效地提升。映射表H2F之维护不再需要执行大量物理区块的抹写。
图4A以系统信息区块Table#j(j为数字)为例,图解系统信息区块Table#1到Table#N的架构。系统信息区块Table#j有256个物理页。每一物理页的数据长度为16KB,可储存8个分组映射表H2F_G。因此,系统信息区块Table#j可储存2040(8*255)个分组映射表H2F_G,而系统信息区块Table#j最末页(物理页编号255)系填写地址分组表F2G#j。控制单元204系依据数据的写入或更新将对应的分组映射表H2F_G填入系统信息区块Table#j。地址分组表F2G#j则是循序记录系统信息区块Table#j所载分组映射表H2F_G对应的群组编号。
图4B图解了储存于图4A系统信息区块Table#j的地址分组表F2G#j的内容,其中示范性地记载一序列的群组编号,依序对应至系统信息区块Table#j所载分组映射表H2F_G对应的群组编号。各群组编号较佳以4B空间储存。以具有256个物理页的系统信息区块Table#j为例,地址分组表F2G#j的数据长度(=255x8x4B)略小于8KB,并未超过16KB的单一物理页尺寸,故得以储存至系统信息区块Table#j的一物理页中,例如,系统信息区块Table#j的最末物理页或预设的物理页。在其他实例中,系统信息区块Table#j可区分成二部份,例如,第一部份包括物理页编号0~127,第二部份包括物理页编号128~255,第一部份以及第二部份的最末物理页,即物理页编号127以及255,分别记录物理页编号0~126以及物理页编号128~254所储存的分组映射表H2F_G的编号。
控制单元204依序读取系统信息区块池212的系统信息区块Table#1到Table#N的最末一物理页或预设的物理页,即可取得N个地址分组表F2G#1到F2G#N。将这些地址分组表F2G#1到F2G#N的内容予以合并并整理后,即能得一长序列的群组编号,即能得知每一分组映射表H2F_G最新版本所在的物理地址。因此,控制单元204可读取这些物理地址而在外部随机存取存储器中建立完整的映射表H2F;或者,依据数据管理的需要,读取储存于特定物理地址的特定分组映射表H2F_G并将它储存至内部随机存取存储器。
为了合并并整理分组映射表H2F_G,控制单元204可建立分组地址表G2F(Group-Flash address mapping table),循序记录各逻辑地址群组的分组映射表H2F_G所在的物理地址。由名称上可知,地址分组表F2G与分组地址表G2F乃内容互相对应的二种表格,差别乃在于地址分组表F2G是以物理地址作为索引而分组地址表G2F是以逻辑地址群组的编号作为索引。控制单元204将系统信息区块池212的系统信息区块Table#1到Table#N的地址分组表F2G#1到F2G#N收集起来,经反向运算,即可获得分组地址表G2F。
图5示范性图解了分组地址表G2F的架构,系循序储存逻辑地址群组(编号G#0、G#1…G#131,071)的分组映射表H2F_G#0、H2F_G#1…H2F_G#131,071所在的物理区块编号B#以及单位编号U#。控制单元204因而可据以将最新版本的分组映射表H2F_G#0、H2F_G#1…H2F_G#131,071自系统信息区块Table#1到Table#N寻出,重建成映射表H2F。或者,根据分组地址表G2F,读取特定分组映射表H2F_G并将它储存至内部随机存取存储器。
基于快闪存储器202的操作特性,新(有效)与旧(无效)的数据可能会同时并存于系统信息区块Table#1到Table#N。因此,地址分组表F2G#1到F2G#N较佳依照时序信息排序,以排除其中无效的数据。一种实施方式是以系统信息区块Table#1到Table#N的时序信息(例如,序号、或是时间标签)排序地址分组表F2G#1到F2G#N。所有地址分组表F2G#1到F2G#N经排序后,控制单元204可自地址分组表F2G#1到F2G#N中最新时序者开始读取(无视较旧的地址分组表所储存的无效数据)、或自地址分组表F2G#1到F2G#N中最旧时序者开始读取(以较新的地址分组表取代较旧的),以建立分组地址表G2F。
一个说明例中,目前处理到的是图4A、4B的地址分组表F2G#j,其越末端内容越新。地址分组表F2G#j所载[1,2,3,4,13,14,15,16,33,34,35,36,37,38,39,40…33,34,35,36,1,2,3,4]中由于后面的编号[33,34,35,36,1,2,3,4]与前面的编号[1,2,3,4]以及[33,34,35,36]重复(如标号x所示),即被标号x所注记的编号被视为无效/旧的数据。之后,当建立映射表H2F时,这些被标号x所注记的编号所对应的物理空间将被略过或不被读取,省略其中无效映射信息之扫描或读取所需花费的时间。
图6为流程图,图解数据储存装置200上电的映射表H2F的重建流程。数据储存装置200上电时,步骤S602:控制单元204扫描快闪存储器202,寻出以特定指标或序号标示的这些系统信息区块Table#1到Table#N。步骤S604:控制单元204读取系统信息区块Table#1到Table#N中的时序信息,据以排序系统信息区块Table#1到Table#N所储存的地址分组表F2G#1到F2G#N,其中,排序包括依据时序信息而进行的顺向排序或逆向排序。步骤S606:控制单元204依据排序后的地址分组表F2G#1到F2G#N建立分组地址表G2F。步骤S608:控制单元204根据分组地址表G2F所记录的物理地址信息而读取分组映射表H2F_G#0、H2F_G#1…H2F_G#131,071以重建映射表H2F。不同于传统技术需完整扫描系统信息区块Table#1到Table#N的所有物理页,本发明藉由读取系统信息区块Table#1到Table#N各自记载的地址分组表F2G#1到F2G#N,快速获得分组映射表H2F_G#0、H2F_G#1…H2F_G#131,071的地址信息,并在外部随机存取存储器重建映射表H2F,可有效地缩短数据储存装置200上电后建立映射表H2F所需的时间,达到本发明的目的。
另外,在不具备外部随机存取存储器的情况下,控制单元204可依据步骤S606所产生的分组地址表G2F快速取得特定分组映射表H2F_G的地址信息,并将特定分组映射表H2F_G储存至内部随机存取存储器,以管理部份的快闪存储器202所储存的数据,一样可有效地缩短数据储存装置200取得特定分组映射表H2F_G所需的时间,达到本发明的目的。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (14)
1.一种数据储存装置,包括:
一快闪存储器,包括多个物理区块且每一上述物理区块包括多个物理页;以及
一微控制器,将至少一上述物理区块规划为至少一系统信息区块,
其中:
该快闪存储器已储存数据的映射信息记录至多个分组映射表,上述分组映射表可依据一逻辑地址而组合成一映射表,且该微控制器还用于将上述分组映射表储存至上述系统信息区块的上述物理页;
该微控制器还在每一上述系统信息区块的至少一预设物理地址,记录一地址分组表,记录每一上述系统信息区块的上述物理页所储存的上述分组映射表的逻辑地址群组编号,显示该系统信息区块的物理空间如何配置储存分组映射表;
每一上述系统信息区块中,载有上述地址分组表的物理页总数少于载有上述分组映射表的物理页总数;
每一上述系统信息区块还储存时序信息,作为所有上述系统信息区块所记录的所有上述地址分组表的新旧排序的依据,使该微控制器根据排序后的上述地址分组表,辨识上述系统信息区块储存的上述分组映射表中有效者;
上述地址分组表各自包括由旧至新填入的一序列的逻辑地址群组编号;
上述地址分组表排序后组合成一长序列的逻辑地址群组编号;且
该微控制器自该长序列的逻辑地址群组编号的末端开始读取,以初次读到的逻辑地址群组编号为准,反向形成一分组地址表,显示各逻辑地址群组有效的分组映射表位于上述系统信息区块何处。
2.如权利要求1所述的数据储存装置,其特征在于,上述逻辑地址为一逻辑区块地址。
3.如权利要求1所述的数据储存装置,其特征在于:
上述分组映射表以一逻辑区块地址为索引。
4.如权利要求1所述的数据储存装置,其特征在于:
该微控制器略去上述分组映射表中非有效者的读取。
5.如权利要求1所述的数据储存装置,其特征在于:
上述至少一预设物理地址包括上述系统信息区块最末端的物理页。
6.如权利要求1所述的数据储存装置,其特征在于:
该微控制器还根据该分组地址表自上述系统信息区块取得各逻辑地址群组有效的分组映射表,组合成一映射表,显示该快闪存储器已储存数据的上述映射信息。
7.如权利要求1所述的数据储存装置,其特征在于:
该微控制器还令上述系统信息区块更载有一特定序号;
该微控制器在上电时扫描该快闪存储器的这些物理区块,辨识该特定序号以找出上述系统信息区块;
该微控制器将有效的分组映射表组合为一映射表,显示该快闪存储器已储存数据的上述映射信息。
8.一种快闪存储器控制方法,该快闪存储器包括有多物理区块且每一上述物理区块包括有多个物理页,该控制方法包括:
将至少一上述物理区块规划为至少一系统信息区块;
将该快闪存储器已储存数据的映射信息记录至多个分组映射表,上述分组映射表可依据一逻辑地址而组合成一映射表;
将上述分组映射表储存至上述系统信息区块的上述物理页;以及
在每一上述系统信息区块的至少一预设物理地址,记录一地址分组表,记录每一上述系统信息区块的上述物理页所储存的上述分组映射表的逻辑地址群组编号,显示该系统信息区块的物理空间如何配置储存分组映射表;
其中:每一上述系统信息区块中,载有上述地址分组表的物理页总数少于载有上述分组映射表的物理页总数;
每一上述系统信息区块还储存时序信息,作为所有上述系统信息区块所记录的所有上述地址分组表的新旧排序的依据,用以根据排序后的上述地址分组表,辨识上述系统信息区块储存的上述分组映射表中有效者;
上述地址分组表各自包括由旧至新填入的一序列的逻辑地址群组编号;
上述地址分组表排序后组合成一长序列的逻辑地址群组编号;且
自该长序列的逻辑地址群组编号的末端开始读取,以初次读到的逻辑地址群组编号为准,反向形成一分组地址表,显示各逻辑地址群组有效的分组映射表位于上述系统信息区块何处。
9.如权利要求8所述的快闪存储器控制方法,其特征在于,上述逻辑地址为一逻辑区块地址。
10.如权利要求8所述的快闪存储器控制方法,其特征在于,上述分组映射表以一逻辑区块地址为索引。
11.如权利要求8所述的快闪存储器控制方法,其特征在于,还包括:
略去上述分组映射表中非有效者的读取。
12.如权利要求8所述的快闪存储器控制方法,其特征在于,上述至少一预设物理地址包括上述系统信息区块最末端的物理页。
13.如权利要求8所述的快闪存储器控制方法,其特征在于,还包括:
根据该分组地址表自上述系统信息区块取得各逻辑地址群组有效的分组映射表,组合成一映射表,显示该快闪存储器已储存数据的上述映射信息。
14.如权利要求8所述的快闪存储器控制方法,其特征在于,还包括:
令上述系统信息区块还载有一特定序号;
在上电时扫描该快闪存储器的这些物理区块,辨识该特定序号以找出上述系统信息区块;
将有效的人组映射表组合为一映射表,显示该快闪存储器已储存数据的上述映射信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106100399A TWI659307B (zh) | 2017-01-06 | 2017-01-06 | 資料儲存裝置以及快閃記憶體控制方法 |
TW106100399 | 2017-01-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280032A CN108280032A (zh) | 2018-07-13 |
CN108280032B true CN108280032B (zh) | 2022-06-28 |
Family
ID=62781883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710092808.0A Active CN108280032B (zh) | 2017-01-06 | 2017-02-21 | 数据储存装置以及快闪存储器控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10402317B2 (zh) |
CN (1) | CN108280032B (zh) |
TW (1) | TWI659307B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI698748B (zh) * | 2019-01-02 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置、存取裝置及資料處理方法 |
CN111610930B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI706250B (zh) * | 2019-02-26 | 2020-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN111611178B (zh) | 2019-02-26 | 2023-05-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610929B (zh) * | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610931B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
US11288181B2 (en) * | 2019-03-07 | 2022-03-29 | Silicon Motion, Inc. | Flash memory initialization scheme for writing boot up information into selected pages averagely and randomly distributed over more pages and correspondingly method for reading boot up information from selected pages |
TWI698744B (zh) * | 2019-04-10 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930404A (zh) * | 2010-08-27 | 2010-12-29 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
CN102063377A (zh) * | 2009-11-16 | 2011-05-18 | 联发科技股份有限公司 | 存储介质的数据存取管理方法及存储控制器 |
CN102955742A (zh) * | 2012-10-31 | 2013-03-06 | 浪潮集团有限公司 | 一种系统上电后固态硬盘地址映射表的快速重建方法 |
CN104750616A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246195B2 (en) * | 2004-12-30 | 2007-07-17 | Intel Corporation | Data storage management for flash memory devices |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
US8098522B2 (en) * | 2009-10-06 | 2012-01-17 | Macronix International Co., Ltd. | Non-volatile memory and operation method thereof |
CN102143341B (zh) * | 2011-04-29 | 2014-10-22 | 广州视源电子科技股份有限公司 | 一种频道列表的排序显示方法和电子显示设备 |
CN102609464A (zh) * | 2012-01-16 | 2012-07-25 | 北京亿赞普网络技术有限公司 | Mongodb分片联表查询方法及装置 |
TWI479314B (zh) * | 2012-08-30 | 2015-04-01 | Phison Electronics Corp | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 |
TWI514140B (zh) * | 2013-02-05 | 2015-12-21 | Via Tech Inc | 非揮發性記憶裝置及其操作方法 |
TWI546666B (zh) * | 2014-11-03 | 2016-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
-
2017
- 2017-01-06 TW TW106100399A patent/TWI659307B/zh active
- 2017-02-21 CN CN201710092808.0A patent/CN108280032B/zh active Active
- 2017-09-27 US US15/716,587 patent/US10402317B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063377A (zh) * | 2009-11-16 | 2011-05-18 | 联发科技股份有限公司 | 存储介质的数据存取管理方法及存储控制器 |
CN101930404A (zh) * | 2010-08-27 | 2010-12-29 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
CN102955742A (zh) * | 2012-10-31 | 2013-03-06 | 浪潮集团有限公司 | 一种系统上电后固态硬盘地址映射表的快速重建方法 |
CN104750616A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180196747A1 (en) | 2018-07-12 |
US10402317B2 (en) | 2019-09-03 |
TW201826126A (zh) | 2018-07-16 |
CN108280032A (zh) | 2018-07-13 |
TWI659307B (zh) | 2019-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280032B (zh) | 数据储存装置以及快闪存储器控制方法 | |
US10783071B2 (en) | Data storage device and operating method thereof, wherein mapping table for valid data of source block that has not been copied to destination block has a higher priority than mapping information collected by reverse scanning from end of the destination block | |
US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
DE102017112751B4 (de) | Internes Vorkonditionieren von Halbleiterlaufwerken für verschiedene Arbeitslasten | |
CN104298610B (zh) | 资料储存系统及其管理方法 | |
US6725321B1 (en) | Memory system | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
US9489296B1 (en) | Methods, devices and systems for hardware-based garbage collection in solid state drives | |
CN107957961A (zh) | 存储设备、存储系统和计算设备 | |
CN106527969B (zh) | 一种寿命均衡的NandFlash存储器读写方法 | |
CN108664418A (zh) | 数据储存装置以及其操作方法 | |
CN109240942A (zh) | 固态驱动器中的原子写入命令支持 | |
CN104750626A (zh) | 数据储存装置以及快闪存储器控制方法 | |
US11397669B2 (en) | Data storage device and non-volatile memory control method | |
CN106598479A (zh) | 闪速存储器的故障安全擦除的方法和装置 | |
JP6139711B2 (ja) | 情報処理装置 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
US8261013B2 (en) | Method for even utilization of a plurality of flash memory chips | |
US20210165735A1 (en) | Data storage device and non-volatile memory control method | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
US20070005929A1 (en) | Method, system, and article of manufacture for sector mapping in a flash device | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
CN109388520A (zh) | 数据备份方法、数据恢复方法以及存储控制器 | |
KR100745163B1 (ko) | 동적 매핑 테이블을 이용한 플래시 메모리 관리방법 | |
TWI745987B (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 |