CN110008136A - 管理闪存模块的方法及相关的闪存控制器及电子装置 - Google Patents

管理闪存模块的方法及相关的闪存控制器及电子装置 Download PDF

Info

Publication number
CN110008136A
CN110008136A CN201810595418.XA CN201810595418A CN110008136A CN 110008136 A CN110008136 A CN 110008136A CN 201810595418 A CN201810595418 A CN 201810595418A CN 110008136 A CN110008136 A CN 110008136A
Authority
CN
China
Prior art keywords
address
mapping table
physical address
logical
compression
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.)
Pending
Application number
CN201810595418.XA
Other languages
English (en)
Inventor
林建成
梁嘉旂
李介豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN110008136A publication Critical patent/CN110008136A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明公开了种管理闪存模块的方法,其包括以下步骤:自该闪存模块中读取逻辑地址至实体地址映像表;对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。

Description

管理闪存模块的方法及相关的闪存控制器及电子装置
技术领域
本发明是有关于闪存,尤指一种管理闪存模块的方法及相关的闪存控制器及电子装置。
背景技术
在当闪存控制器需要读取闪存模块中的数据时,该闪存控制器会需要搜寻一或多个逻辑地址至实体地址映像表(logical address to physical address mapping table,以下简称为L2P映像表)以找到所需数据的实体地址。为了加速找寻到正确的逻辑地址至实体地址映像表以及搜寻出实体地址,闪存控制器内会具有缓冲存储器以暂时存放多个L2P映射表,然而,由于该缓冲存储器的空间有限,因此无法存取太多的L2P映像表,且若是针对一些具有较小地址管理单位的应用,例如以4KB为单位来记录逻辑地址及实体地址,则更会严重限缩能够存放在该缓冲存储器中的L2P映像表的数量,造成该闪存控制器需要常常地自外部组件(例如,动态随机存取内存或是该闪存模块)读取所需的L2P映射表,降低了读取效率。
发明内容
因此,本发明的目的之一在于设计一种管理闪存模块的方法,其可以在有限的缓冲存储器容量下改善读取效率来解决先前技术中的问题。
在本发明的一个实施例中,揭露了种管理闪存模块的方法,其包括以下步骤:自该闪存模块中读取逻辑地址至实体地址映像表;对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
在本发明的另一个实施例中,揭露了种闪存控制器,其中该闪存控制器是用来存取闪存模块,且该闪存控制器包括只读存储器以及微处理器。该只读存储器是用来存储程序代码,以及该微处理器是用来执行该程序代码以控制对该闪存模块的存取。在该闪存控制器的操作中,该微处理器自该闪存模块中读取逻辑地址至实体地址映像表,且对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,该微处理器根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
在本发明的另一个实施例中,揭露了种电子装置,其包括闪存模块以及闪存控制器。在该电子装置的操作中,该闪存控制器自该闪存模块中读取逻辑地址至实体地址映像表,且对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,该闪存控制器根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
附图说明
图1为依据本发明实施例的一种记忆装置的示意图。
图2为根据本发明第一实施例的存取闪存模块的方法的流程图。
图3所示为根据本发明实施例的L2P映射表的示意图。
图4为根据本发明实施例的压缩后映射表的示意图。
图5为根据本发明第二实施例的存取闪存模块的方法的流程图。
图6为根据本发明实施例的随机资料映像表的示意图。
其中,附图标记说明如下:
100 记忆装置
110 闪存控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑
116 缓冲存储器
118 接口逻辑
120 闪存模块
130 主装置
132 编码器
134 解码器
200~216、500~516 步骤
300 逻辑地址至实体地址映像表
400 压缩后映射表
600 随机数据映像表
具体实施方式
图1为依据本发明实施例的一种记忆装置100的示意图。记忆装置100包括闪存(Flash Memory)模块120以及闪存控制器110,且闪存控制器110用来存取闪存模块120。依据本实施例,闪存控制器110包含微处理器112、只读存储器(Read Only Memory,ROM)112M、控制逻辑114、缓冲存储器116、与接口逻辑118。只读存储器112M是用来存储程序代码112C,而微处理器112则用来执行程序代码112C以控制对闪存模块120的存取(Access)。控制逻辑114包含了编码器132以及解码器134,其中编码器132用来对写入到闪存模块120中的数据进行编码以产生对应的校验码(或称,错误更正码(Error Correction Code),ECC),而解码器134用来将从闪存模块120所读出的数据进行解码。
于典型状况下,闪存模块120包含了多个闪存芯片,而每一个闪存芯片包含复数个区块(Block),而该控制器(例如:通过微处理器112执行程序代码112C的闪存控制器110)对闪存模块120进行抹除数据运作是以区块为单位来进行。另外,一个区块可记录特定数量的数据页(Page),其中该控制器(例如:通过微处理器112执行程序代码112C的内存控制器110)对闪存模块120进行写入数据的运作是以数据页为单位来进行写入。在本实施例中,闪存模块120为立体NAND型闪存(3D NAND-type flash)。
实作上,通过微处理器112执行程序代码112C的闪存控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制闪存模块120的存取运作(尤其是对至少一区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与主装置(Host Device)130沟通。缓冲存储器116是以随机存取内存(Random Access Memory,RAM)来实施。例如,缓冲存储器116可以是静态随机存取内存(Static RAM,SRAM),但本发明不限于此。
在实施例中,记忆装置100可以是可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡),且主装置130为可与记忆装置连接的电子装置,例如手机、笔记本电脑、桌面计算机…等等。而在另一实施例中,记忆装置100可以是固态硬盘或符合通用闪存存储(Universal Flash Storage,UFS)或嵌入式多媒体记忆卡(Embedded Multi Media Card,EMMC)规格的嵌入式存储装置,以设置在电子装置中,例如设置在手机、笔记本电脑、桌面计算机的中,而此时主装置130可以是该电子装置的处理器。
图2为根据本发明第一实施例的存取闪存模块120的方法的流程图。参考图2,在步骤200中,流程开始且记忆装置100处于上电状态。在步骤202中,闪存控制器110自主装置接收读取命令,以要求自闪存模块120中读取具有特定逻辑地址的数据。在步骤204中,微处理器112判断缓冲存储器116中是否具有该特定逻辑地址的相关信息,若是则流程进入步骤206,若否则流程进入步骤210。在此先假设目前缓冲存储器116尚未存储该特定逻辑地址的相关信息,故以下先以步骤210开始说明。在步骤210中,闪存控制器110根据该特定逻辑地址以自外部组件读取L2P映射表,其中该外部组件可以是闪存模块120或是动态随机存取内存。举例来说,一般而言闪存模块120中会存储了多个L2P映像表,而每一个L2P映像表包含了多个连续的逻辑地址及/或相对应的实体地址(需注意的是,不一定每一个逻辑地址都有对应的实体地址),例如第一个L2P映像表包含了逻辑地址LBA0~LBA255、第二个L2P映像表包含了逻辑地址LBA256~LBA511、第三个L2P映像表包含了逻辑地址LBA512~LBA767、…以此类推。在本实施例中,假设该读取命令所包含的该特定逻辑地址为LBA2,则闪存控制器110便会自该外部组件中读取第一个L2P映射表,并将所读取的L2P映射表暂存在缓冲存储器116中。图3所示为根据本发明实施例的L2P映射表300的示意图,其中L2P映像表300记录了连续的逻辑地址LBA0~LBA255以及对应的实体地址,其中实体地址包含了闪存模块120中的区块编号及其中的资料页编号。
在步骤212中,微处理器112对所读取的L2P映射表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值。参考图4,其为根据本发明实施例的压缩后映射表400的示意图,其中压缩后映射表400是根据图3所示的L2P映射表300而得到的。在图4中,基准实体地址可以是L2P映像表300中第一个逻辑地址LBA0的实体地址,因此在本实施例中基准实体地址为第2区块的第4个数据页,此外,压缩后映像表400记录了逻辑地址LBA0~LBA255及相对应的序列位,其中该序列位指的是逻辑地址所对应到的实体地址是否为该基准实体地址加上偏移值,此也代表着所对应的逻辑地址在当初数据写入的时候是否与逻辑地址LBA0的数据是连续数据。具体来说,在图3所示的L2P映像表300中,可以看的出来逻辑地址LBA0~LBA7的数据在最初应该是分别写入到第2区块的第4~11个数据页中,只是后来LBA3及LBA7的数据有被更新而被另外写入到其他的实体地址。因此,压缩后映射表400可以将LBA0~LBA2及LBA4~LBA6的序列位设为“1”,并将LBA3及LBA7的序列位设为“0”,在本实施例中每一个逻辑地址所对应的偏移值即为其序列编号,亦即逻辑区块LBA0的实体地址(第2区块的第4个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(0个数据页)、逻辑区块LBA1的实体地址(第2区块的第5个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(1个数据页)、逻辑区块LBA2的实体地址(第2区块的第6个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(2个数据页)、逻辑区块LBA4的实体地址(第2区块的第8个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(4个数据页)、逻辑区块LBA5的实体地址(第2区块的第9个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(5个数据页)、逻辑区块LBA6的实体地址(第2区块的第10个数据页)可以是基准实体地址(第2区块的第4个数据页)加上偏移值(6个数据页)、…、以此类推。
在图4所示的压缩后映射表400中,其使用了单一位来记录每一个逻辑地址的数据是否是连续数据,亦即记录每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值,因此,压缩后映射表400仅具有很小的容量,约为L2P映射表300的(1/32)。此外,压缩后映像表400存储在缓冲存储器116中。
接着,在步骤214,微处理器112可以使用压缩后映射表400或是L2P映射表300来决定出该读取命令的该特定逻辑地址所对应的实体地址。假设该特定逻辑地址为LBA2,则由于压缩后映像表400中逻辑地址LBA2所对应的序列位为1,则微处理器112可以简单地将基准实体地址(第2区块的第4个数据页)加上逻辑地址LBA2的对应偏移值(2个数据页),以快速得到逻辑地址LBA2的实体地址(第2区块的第6个数据页),而不需要对L2P映像表300进行搜寻,以增进闪存控制器110的效率。
在步骤216中,微处理器112使用所决定出的实体地址以自闪存模块120中读取数据,并将所读取的数据回传给主装置130。的后流程回到步骤202。
接着,假设闪存控制器110自主装置接收另一读取命令,以要求自闪存模块120中读取具有逻辑地址LBA6、LBA7的数据,则由于目前的缓冲存储器116中已经有了逻辑地址LBA6、LBA7的相关信息(亦即,L2P映射表300与压缩后映像表400),故流程会由步骤204进入到步骤206。在步骤206中,微处理器112会先参考压缩后映像表400来决定出逻辑地址LBA6、LBA7所对应的实体地址,而若是无法通过压缩后映像表400来决定出实体地址的情形下,则会再通过L2P映射表300来进行。具体来说,由于压缩后映像表400中记录了逻辑地址LBA6所对应的序列位为1,故微处理器112可以简单地将基准实体地址(第2区块的第4个数据页)加上逻辑地址LBA6的对应偏移值(6个数据页),以快速得到逻辑地址LBA6的实体地址(第2区块的第10个数据页);另外,由于压缩后映像表400中记录了逻辑地址LBA7所对应的序列位为0,故微处理器则需要自L2P映像表300中搜寻出逻辑地址LBA7所对应的实体地址。
在步骤208中,微处理器112使用所决定出的实体地址以自闪存模块120中读取数据,并将所读取的数据回传给主装置130。的后流程回到步骤202。
在以上第2~4图的实施例中,通过建立一容量很小的压缩后映射表400,针对读取命令所要求读取的数据在写入时是以连续数据的状态写入时,可以快速地得到所需的实体地址信息,以增进闪存控制器110的效率。
图5为根据本发明第二实施例的存取闪存模块120的方法的流程图。参考图5,在步骤500中,流程开始且记忆装置100处于上电状态。在步骤502中,闪存控制器110自主装置接收读取命令,以要求自闪存模块120中读取具有特定逻辑地址的数据。在步骤504中,微处理器112判断缓冲存储器116中是否具有该特定逻辑地址的相关信息,若是则流程进入步骤506,若否则流程进入步骤510。在此先假设目前缓冲存储器116尚未存储该特定逻辑地址的相关信息,故以下先以步骤510开始说明。在步骤510中,闪存控制器110根据该特定逻辑地址以自外部组件读取L2P映射表,并将所读取的L2P映射表暂存在缓冲存储器116中,其中的L2P映射表同样可以参考图3所示的L2P映射表300。
在步骤512中,微处理器112对所读取的L2P映射表进行压缩以产生压缩后映像表及随机数据映像表。
其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值,且该压缩后映射表可以为图4所示的压缩后映射表400,故相关细节不再赘述。关于该随机数据映像表,其是用来记录所对应到的实体地址并非是该基准实体地址加上该偏移值的每一个逻辑地址及对应的实体地址,具体来说,图6绘示了根据L2P映像表300所产生的随机数据映像表600的示意图,其仅仅记录了LBA3及LBA7的实体地址(在假设LBA8~LBA255也是连续资料的情形下)。
在本实施例中,压缩后映像表400及随机数据映像表600是存储至缓冲存储器116中,而由于压缩后映像表400及随机数据映像表600可以完全取代L2P映像表300的功能,故在成功建立出压缩后映像表400及随机资料映像表600的后便可以将L2P映射表300自缓冲存储器116中移除,以释放缓冲存储器116的空间。
接着,在步骤514,微处理器112可以使用压缩后映射表400或是L2P映射表300来决定出该读取命令的该特定逻辑地址所对应的实体地址。假设该特定逻辑地址为LBA1,则由于压缩后映像表400中逻辑地址LBA1所对应的序列位为1,则微处理器112可以简单地将基准实体地址(第2区块的第4个数据页)加上逻辑地址LBA2的对应偏移值(1个数据页),以快速得到逻辑地址LBA1的实体地址(第2区块的第5个数据页);此外,假设该特定逻辑地址为LBA3,则微处理器112可以自随机数据映像表600中搜寻出逻辑地址LBA3所对应的实体地址,而由于随机数据映像表600中的数据量较少,故微处理器112花在搜寻上的时间也可大幅缩短。
在步骤516中,微处理器112使用所决定出的实体地址以自闪存模块120中读取数据,并将所读取的数据回传给主装置130。的后流程回到步骤502。
接着,假设闪存控制器110自主装置接收另一读取命令,以要求自闪存模块120中读取具有逻辑地址LBA6、LBA7的数据,则由于目前的缓冲存储器116中已经有了逻辑地址LBA6、LBA7的相关信息(亦即,压缩后映像表400及随机数据映像表600),故流程会由步骤504进入到步骤506。由于步骤506、508的操作分别相同于步骤514、516,故细节不再赘述。
在以上图5的实施例中,除了通过建立容量很小的压缩后映射表400以增进闪存控制器110的效率的外,更另外建立了随机数据映像表600以供无法通过压缩后映像表400决定出实体地址时来使用,此外,由于在一般文件***中,连续数据大约占了80%的数据量,而随机数据大约是20%,故压缩后映像表400与随机数据映像表600两者加起来的容量远小于L2P映像表的容量,因此在这两者可以完全取代L2P映像表功能的情形下,可以让缓冲存储器116有更多的空间来存储其他信息。
另一方面,既然压缩后映像表400与随机数据映像表600具有很小的容量,故缓冲存储器116上便可以常驻许多由不同L2P映射表所产生的压缩后映像表400与随机数据映像表600,以使得接收到读取命令时可以快速地直接由缓冲存储器116中取得所需的实体地址,加快读取效率。
简要归纳本发明,在本发明的管理闪存模块的方法中,通过建立压缩后映像表与随机资料映像表,可以在有限的缓冲存储器容量下使得闪存控制器中暂存许多L2P映像表的内容,以更增加读取效率来解决先前技术中的问题。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种管理闪存模块的方法,包括:
自该闪存模块中读取逻辑地址至实体地址映像表;
对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及
当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
2.如权利要求1所述的方法,其特征在于,该逻辑地址至实体地址映像表以及该压缩后映像表均包含了多个连续的逻辑地址,且针对每一个逻辑地址,该压缩后映像表使用一位来记录该逻辑地址所对应到的实体地址是否为该基准实体地址加上该对应偏移值。
3.如权利要求2所述的方法,其特征在于,针对每一个逻辑地址,当所对应的该位具有第一逻辑值时,表示该逻辑地址所对应到的实体地址为该基准实体地址加上该对应偏移值;以及当所对应的该位具有第二逻辑值时,表示该逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值。
4.如权利要求1所述的方法,其特征在于,根据该压缩后映像表来决定该特定逻辑地址所对应到的该特定实体地址的步骤包括:
若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址是该基准实体地址加上该对应偏移值,则直接将该基准实体地址加上该对应的偏移值以决定出该特定实体地址;以及
若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值,则根据该逻辑地址至实体地址映像表以决定出该特定实体地址。
5.如权利要求1所述的方法,另包括:
建立随机数据映像表,其记录了所对应到的实体地址并非是该基准实体地址加上该对应偏移值的每一个逻辑地址及对应的实体地址。
6.如权利要求5所述的方法,其特征在于,该逻辑地址至实体地址映像表以及该压缩后映像表均包含了多个连续的逻辑地址,且针对每一个逻辑地址,该压缩后映像表使用一位来记录该逻辑地址所对应到的实体地址是否为该基准实体地址加上该对应偏移值;且当所对应的该位具有第一逻辑值时,表示该逻辑地址所对应到的实体地址为该基准实体地址加上该对应偏移值;以及当所对应的该位具有第二逻辑值时,表示该逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值。
7.如权利要求6所述的方法,其特征在于,该随机数据映像表所记录的每一个逻辑地址在该压缩后映像表中所对应到的该位是具有该第二逻辑值。
8.如权利要求5所述的方法,其特征在于,根据该压缩后映像表来决定该特定逻辑地址所对应到的该特定实体地址的步骤包括:
若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址是该基准实体地址加上该对应偏移值,则直接将该基准实体地址加上该对应的偏移值以决定出该特定实体地址;以及
若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值,则根据该随机资料映像表以决定出该特定实体地址。
9.如权利要求5所述的方法,其特征在于,该逻辑地址至实体地址映像表、该压缩后映像表以及该随机数据映像表是存储在闪存控制器的缓冲存储器中,且当成功产生该压缩后映像表以及该随机数据映像表的后,该逻辑地址至实体地址映像表便不再被用来决定出任何实体地址。
10.一种闪存控制器,其中该闪存控制器是用来存取闪存模块,且该闪存控制器包括:
只读存储器,用来存储程序代码;以及
微处理器,用来执行该程序代码以控制对该闪存模块的存取;
其中该微处理器自该闪存模块中读取逻辑地址至实体地址映像表,且对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,该微处理器根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
11.如权利要求10所述的闪存控制器,其特征在于,该逻辑地址至实体地址映像表以及该压缩后映像表均包含了多个连续的逻辑地址,且针对每一个逻辑地址,该压缩后映像表使用一位来记录该逻辑地址所对应到的实体地址是否为该基准实体地址加上该对应偏移值。
12.如权利要求11所述的闪存控制器,其特征在于,针对每一个逻辑地址,当所对应的该位具有第一逻辑值时,表示该逻辑地址所对应到的实体地址为该基准实体地址加上该对应偏移值;以及当所对应的该位具有第二逻辑值时,表示该逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值。
13.如权利要求10所述的闪存控制器,其特征在于,若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址是该基准实体地址加上该对应偏移值,该微处理器直接将该基准实体地址加上该对应偏移值以决定出该特定实体地址;以及若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值,该微处理器根据该逻辑地址至实体地址映像表以决定出该特定实体地址。
14.如权利要求10所述的闪存控制器,其特征在于,该微处理器另建立随机数据映像表,其记录了所对应到的实体地址并非是该基准实体地址加上该对应偏移值的每一个逻辑地址及对应的实体地址。
15.如权利要求14所述的闪存控制器,其特征在于,该逻辑地址至实体地址映像表以及该压缩后映像表均包含了多个连续的逻辑地址,且针对每一个逻辑地址,该压缩后映像表使用一位来记录该逻辑地址所对应到的实体地址是否为该基准实体地址加上该对应偏移值;且当所对应的该位具有第一逻辑值时,表示该逻辑地址所对应到的实体地址为该基准实体地址加上该对应偏移值;以及当所对应的该位具有第二逻辑值时,表示该逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值。
16.如权利要求15所述的闪存控制器,其特征在于,该随机数据映像表所记录的每一个逻辑地址在该压缩后映像表中所对应到的该位是具有该第二逻辑值。
17.如权利要求14所述的闪存控制器,其特征在于,若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址是该基准实体地址加上该对应偏移值,该微处理器直接将该基准实体地址加上该对应偏移值以决定出该特定实体地址;以及若是该压缩后映像表记录了该特定逻辑地址所对应到的实体地址并非是该基准实体地址加上该对应偏移值,该微处理器根据该随机数据映像表以决定出该特定实体地址。
18.如权利要求14所述的闪存控制器,其特征在于,该逻辑地址至实体地址映像表、该压缩后映像表以及该随机数据映像表是存储在该闪存控制器的缓冲存储器中,且当成功产生该压缩后映像表以及该随机数据映像表的后,该微处理器便不会再使用该逻辑地址至实体地址映像表来决定出任何实体地址。
19.一种电子装置,包括:
闪存模块;以及
闪存控制器,用来存取该闪存模块;
其中该闪存控制器自该闪存模块中读取逻辑地址至实体地址映像表,且对该逻辑地址至实体地址映像表进行压缩以产生压缩后映射表,其中该压缩后映像表记录了基准实体地址以及每一个逻辑地址所对应到的实体地址是否为该基准实体地址加上对应偏移值;以及当接收到具有特定逻辑地址的读取命令以要求读取该闪存模块中的数据时,该闪存控制器根据该压缩后映像表来决定该特定逻辑地址所对应到的特定实体地址,并根据该特定实体地址以自该闪存模块中读取该数据。
20.如权利要求19所述的电子装置,其特征在于,该闪存控制器另建立随机数据映像表,其记录了所对应到的实体地址并非是该基准实体地址加上该对应偏移值的每一个逻辑地址及对应的实体地址。
CN201810595418.XA 2018-01-05 2018-06-11 管理闪存模块的方法及相关的闪存控制器及电子装置 Pending CN110008136A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107100464 2018-01-05
TW107100464A TWI650644B (zh) 2018-01-05 2018-01-05 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置

Publications (1)

Publication Number Publication Date
CN110008136A true CN110008136A (zh) 2019-07-12

Family

ID=66213982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810595418.XA Pending CN110008136A (zh) 2018-01-05 2018-06-11 管理闪存模块的方法及相关的闪存控制器及电子装置

Country Status (3)

Country Link
US (1) US20190213137A1 (zh)
CN (1) CN110008136A (zh)
TW (1) TWI650644B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258922A (zh) * 2020-01-14 2020-06-09 深圳天邦达科技有限公司 阈值参数的读取方法和装置
WO2023028848A1 (zh) * 2021-08-31 2023-03-09 长江存储科技有限责任公司 加载逻辑到物理映射表到存储器控制器的缓存

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
CN112532501B (zh) * 2019-09-18 2023-04-18 中国电信股份有限公司 主机物理地址处理方法和装置、计算机可读存储介质
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11500788B2 (en) * 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720714B2 (en) * 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11625481B2 (en) * 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
CN113961140B (zh) * 2020-07-02 2024-06-11 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN114328297A (zh) * 2021-12-29 2022-04-12 合肥兆芯电子有限公司 映射表管理方法、存储器控制电路单元与存储器存储装置
CN115994101A (zh) * 2022-11-30 2023-04-21 深圳大普微电子科技有限公司 闪存设备及其数据管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681931A (zh) * 2015-11-06 2017-05-17 爱思开海力士有限公司 数据储存设备及其操作方法
CN106919517A (zh) * 2015-12-28 2017-07-04 点序科技股份有限公司 闪存及其访问方法
TW201729107A (zh) * 2015-12-21 2017-08-16 高通公司 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取
US20170364446A1 (en) * 2016-06-15 2017-12-21 HGST Netherlands B.V. Compression and caching for logical-to-physical storage address mapping tables

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318284A1 (en) * 2012-05-24 2013-11-28 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method
CN103309621B (zh) * 2012-12-12 2016-03-16 珠海金山网络游戏科技有限公司 读取分段压缩包中数据的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681931A (zh) * 2015-11-06 2017-05-17 爱思开海力士有限公司 数据储存设备及其操作方法
TW201729107A (zh) * 2015-12-21 2017-08-16 高通公司 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取
CN106919517A (zh) * 2015-12-28 2017-07-04 点序科技股份有限公司 闪存及其访问方法
US20170364446A1 (en) * 2016-06-15 2017-12-21 HGST Netherlands B.V. Compression and caching for logical-to-physical storage address mapping tables

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258922A (zh) * 2020-01-14 2020-06-09 深圳天邦达科技有限公司 阈值参数的读取方法和装置
CN111258922B (zh) * 2020-01-14 2023-10-27 深圳天邦达科技有限公司 阈值参数的读取方法和装置
WO2023028848A1 (zh) * 2021-08-31 2023-03-09 长江存储科技有限责任公司 加载逻辑到物理映射表到存储器控制器的缓存

Also Published As

Publication number Publication date
TWI650644B (zh) 2019-02-11
US20190213137A1 (en) 2019-07-11
TW201931132A (zh) 2019-08-01

Similar Documents

Publication Publication Date Title
CN110008136A (zh) 管理闪存模块的方法及相关的闪存控制器及电子装置
CN109871333B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
KR101759811B1 (ko) 솔리드 스테이트 메모리를 포멧팅하기 위한 메모리 제어기, 방법, 및 솔리드 스테이트 메모리 시스템
CN109117383B (zh) 管理闪存模块的方法和闪存控制器
CN109697170B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
US10089225B2 (en) Improving garbage collection efficiency by reducing page table lookups
CN109783396A (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
US11176033B2 (en) Data storage devices and data processing methods
CN102867046B (zh) 基于固态硬盘的数据库优化方法及***
CN109634528A (zh) 一种目标数据的落盘方法、装置、设备及存储介质
US10180788B2 (en) Data storage device having internal tagging capabilities
CN103218300A (zh) 数据处理方法、存储器控制器与存储器储存装置
CN102543184A (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN111625477B (zh) 访问擦除块的读请求的处理方法与装置
CN114003169A (zh) 一种用于ssd的数据压缩方法
CN101625902B (zh) 半导体存储介质的寿命获取方法、***及装置
CN111198651B (zh) 进行存储空间管理的方法以及数据存储装置及其控制器
CN103870408A (zh) 数据处理方法、存储器控制器与存储器储存装置
US11327770B2 (en) Data storage devices, access device and data processing methods
CN109710191B (zh) 一种数据存储方法和装置
CN110489054B (zh) 存取闪存模块的方法、相关的闪存控制器和电子装置
CN101625901A (zh) 半导体存储介质的寿命预警方法、***及装置
CN113196258A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190712

WD01 Invention patent application deemed withdrawn after publication