CN101937319A - 存储器系统及其映射方法 - Google Patents
存储器系统及其映射方法 Download PDFInfo
- Publication number
- CN101937319A CN101937319A CN2010101882701A CN201010188270A CN101937319A CN 101937319 A CN101937319 A CN 101937319A CN 2010101882701 A CN2010101882701 A CN 2010101882701A CN 201010188270 A CN201010188270 A CN 201010188270A CN 101937319 A CN101937319 A CN 101937319A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- page
- piece
- random writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/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
- 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/7207—Details relating to flash memory management management of metadata or control data
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)
Abstract
本发明提供一种存储器系统及其映射方法。所述存储器系统包含闪存及界面装置,界面装置耦接在闪存及主机之间,存储闪存转换层,通过页面映射情况,利用块映射表及页面映射表管理闪存的多个数据块及多个日志块,以及利用独立于块映射表及页面映射表的随机写入页面映射表,通过随机写入映射情况管理闪存的多个随机写入块。上述存储器系统及其映射方法可改善块的利用率。
Description
技术领域
本发明有关于存储器系统,且特别有关于包含闪存的存储器系统及其映射方法(mapping method)。
背景技术
一种非易失性存储器(nonvolatile memory),即便当存储器断电时仍能保持先前写入其组成存储器单元(memory cell)的数据。闪存是非易失性存储器的一个特定类型(specific type),且被广泛应用于计算机、存储卡(memory card)等等。因为闪存的存储器单元可被大量(in bulk)电性擦除数据,故而在许多应用中,闪存均为优选存储器。近来,闪存被越来越多的应用于便携式装置(portable device),例如手机、个人数字助理(personal digital assistant,以下简称PDA)及数码相机。更普遍而言,闪存已经渐进地取代硬盘及其他类型的数据存储装置。
依据各存储器单元及位线(bit line)的连接状态,闪存被归类为或非(NOR)类型及与非(NAND)类型闪存。或非闪存具有高读取速率及低写入速率,因而主要用于编码存储器应用。与之相反,与非闪存具有高写入速率及每单位面积低价格的特性,因而主要用于大容量存储应用。与此同时,与其他类型的存储器相比较,闪存在相对较低的单位耗费情形下,提供相对高速的读取。闪存的操作表现为写入操作前,执行擦除操作(erase operation)。所述特征使得闪存难以被用作主存储器(main memory)。同样也使得即便在将闪存用作辅助存储源的应用中,仍难以将闪存用作常规硬盘文件系统。相应地,闪存转换层(flash translationlayer,以下简称FTL)常用于文件系统及闪存之间,以便闪存中固有的可编程特征可被主机装置识别。
在闪存写入操作过程中,FTL将文件系统产生的逻辑地址(logical address)映射至闪存的物理地址(physical address)。FTL典型地使用地址映射表(addressmapping table)执行快速地址映射操作。通过使用FTL地址映射函数(mappingfunction),主机装置可以在操作上将闪存辨识为硬盘或静态随机存储器(statisticrandom access memory,以下简称SRAM),以及可因而以存取硬盘或SRAM相同的方式存取闪存。
发明内容
有鉴于此,为增强传统的映射方法,特提供以下技术方案:
本发明实施例提供一种存储器系统,包含闪存及界面装置。界面装置耦接在闪存及主机之间,存储闪存转换层,通过页面映射情况,利用块映射表及页面映射表管理闪存的多个数据块及多个日志块,以及利用独立于块映射表及页面映射表的随机写入页面映射表,而通过随机写入映射情况管理闪存的多个随机写入块。
本发明实施例另提供一种存储器系统,包含闪存及界面装置。界面装置耦接在闪存及主机之间,存储闪存转换层,以及通过页面映射情况,利用数据块映射表、日志块映射表及页面映射表管理闪存的第一数据块,其中当对闪存的第一逻辑块其中之一的后续存取是随机单一写入操作时,闪存转换层将第一数据块转换为第一随机写入块,以及利用独立于数据块映射表、日志块映射表及页面映射表的随机写入页面映射表管理第一随机写入块。
本发明实施例另提供一种存储器系统的映射方法,用于存储器系统。存储器系统包含闪存及界面装置,界面装置耦接在闪存及主机之间,其中界面装置存储闪存转换层,存储器系统的映射方法包含:通过页面映射情况,利用块映射表及页面映射表管理闪存的多个数据块及多个日志块,其中页面映射表对应于块映射表;以及通过随机写入映射情况,利用随机页面映射表管理闪存的多个随机写入块,其中随机页面映射表独立于块映射表及页面映射表。
本发明实施例另提供一种存储器系统的映射方法,用于存储器系统。存储器系统包含闪存及界面装置,界面装置耦接在闪存及主机之间,其中界面装置存储闪存转换层,存储器系统的映射方法包含:通过页面映射情况,利用数据块映射表、日志块映射表,及页面映射表管理闪存的第一数据块;以及当对于闪存的第一逻辑块的后续存取是随机单一写入操作时,将第一数据块转换为第一随机写入块,以及利用独立于数据块映射表、日志块映射表及页面映射表的随机写入页面映射表管理第一随机写入块。
利用本发明的存储器系统及其映射方法,可改善块的利用率。
附图说明
图1是依据本发明的某些实施例展示存储器系统的示意方框图。
图2是概念性说明图1中的存储器系统中软件的实施的方框图。
图3是概念性说明相应于图1及图2中的存储器系统的改善的映射方法实施的方框图。
图4是用于管理存储器系统中的闪存的映射数据的步骤的流程图。
图5A-1~5A-4、5B~5G是用于基于页面映射情况管理存储器块的范例。
图6A~6D是用于基于随机写入映射情况管理存储器块的范例。
图7是依据本发明的实施例说明数据块、日志块及RW块之间关系的示意图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。
图1是依据本发明的某些实施例展示存储器系统的示意方框图。如图1中所示,存储器系统100包含主机210及存储装置220。存储器系统100可被用于便携式电子装置中,例如笔记本电脑(laptop computer)、数码相机、数字音乐播放器、手机、个人数字助理等等。存储装置220包含界面装置230及闪存240。存储装置220,举例而言,也可以被用作外部存储卡。存储装置220可以是固态盘(solid-state disk,也下简称为SSD)、安全数字卡(Secure Digital Card)、多媒体卡(Multi-Media Card)、记忆棒(Memory Stick)、嵌入卡(embedded card),例如moviNAND、GBNAND、iNAND等等。当主机210要求对闪存240进行存取时,界面装置230控制闪存240。举例而言,界面装置230控制闪存240的读/写入/擦除操作。界面装置230管理闪存240的映射信息,以便主机210可使用闪存240执行读/写入/擦除操作,且上述操作类似于通过静态随机存储器/硬盘驱动器时所执行的读/写入/擦除操作。
界面装置230包含主机界面250、中央处理器(central processing unit,以下简称CPU)260、工作存储器270、缓存(buffer memory)280以及闪存控制器290。主机界面250在存储装置220及主机210之间提供界面,而CPU 260控制存储装置220的操作。工作存储器270被用于存储执行FTL功能所需要的软件/固件(firmware)。工作存储器270也用于存储闪存240的映射信息。闪存240的映射信息被存储在闪存240的一个区域(举例而言,元区域(meta field))中,并且在开启电源时被自动装载到工作存储器270上。同样地,FTL功能需要的软件及/或应用程序被存储在闪存240的一个区域(举例而言,启动代码区域(boot coderegion))中,并且在开启电源时被自动装载到工作存储器270上。
在本发明的某些实施例中,合并状态信息也被存储在工作存储器270中。无论主机210何时发出命令(例如读命令、写入命令或擦除命令),CPU 260参考工作存储器270中的合并状态信息并控制用于合并的情况,所述用于合并的情况将在下文中详述。缓存280用于存储闪存240中的数据或自闪存240中读取数据。缓存280,举例而言,可具有对应于闪存240的页面大小(page size)的存储容量(storage capacity)。工作存储器270及缓存280中的每一个可以是易失性存储器(volatile memory),例如SRAM。闪存控制器290被配置为在CPU 260的控制下对闪存240执行存取操作,例如读、写入以及擦除操作。
虽然此处所描述的各个存储器是分离的,但工作存储器270及缓存280可被实施在同一个存储器中(例如SRAM),以便执行与此处所述的两个存储器相同的功能。闪存240包含存储器单元阵列,所述存储器单元阵列包含多个存储器块(未展示)。每一存储器块包含多个页面(未展示)。一个页面对应于一个扇区或多个扇区。在本发明的某些实施例中,如前文所述,存储器单元阵列的存储器块被分为数据区域(data region)、日志区域(log region)、随机写入区域(randomwrite(以下简称RW)region)、空白区域(space region)、元区域等等。并且,存储器单元阵列更包含存储启动代码及/或FTL的存储器块。然而,闪存240的阵列结构并不限于此处描述的结构。换句话说,存储器单元阵列的结构可依据FTL的映射技术而被调整。
图2是概念性说明图1中的存储器系统100中软件的实施的方框图。请参考图2,存储器系统可实施包含操作系统310、文件系统320及FTL 330的软件。如图2中所展示的,操作系统310与文件系统320通信,文件系统320与FTL 330通信,FTL 330与存储器系统100的闪存240通信。
FTL 330自文件系统320接收逻辑地址LA并将所接收的逻辑地址LA转换(translate)为物理地址PA。物理地址PA可被提供至闪存240,而闪存240可存取对应于所接收到的物理地址PA的存储器单元。此外,FTL 330可包含至少一个地址映射表,用于地址转换(address conversion)。地址映射表可以从闪存240装载到工作存储器270上,并且地址映射表可用于工作存储器270中。
图3是概念性说明相应于图1及图2中的存储器系统100的改善的映射方法实施的方框图。图3阐明存储器系统100的文件系统320、FTL 330以及闪存240。在图3中展示的实施例中,FTL 330自文件系统320接收逻辑地址LA,并利用映射表(例如331、332及333)将所接收的逻辑地址LA转换为物理地址PA。
如图3中所展示的,FTL 330包含块映射表(block mapping table)331、页面映射表(page mapping table)332以及随机写入页面映射表(RW page mappingtable,图中标示为“RW页面映射表”)333,其中页面映射表332与块映射表331有关,而RW页面映射表333独立于块映射表331及页面映射表332。块映射表331被用于将至少一个逻辑块的逻辑块号(logical block number,以下简称LBN)映射至物理内存块(physical memory block)(亦即,数据块、日志块或空白块(space block))的物理块号(physical block number,以下简称PBN)。应当注意,在某些实例中,日志块也可以被参考为现用块(active block)。一般情况下,LBN及/或逻辑页面号(logical page number,以下简称为LPN)可被主机装置辨识/利用,而PBN及/或物理页面号(physical page number,以下简称为PPN)可被闪存辨识/利用,但并不限于此。页面映射表332用于数据块与一个或多个日志块的页面映射。举例而言,页面映射表332用于将至少一个逻辑块的LPN映射至数据块或日志块的PPN。RW页面映射表333用于RW块的页面映射。类似地,RW页面映射表333用于将至少一个逻辑块的LPN映射至RW块之一的PPN。在某些实施例中,块映射表331可包含数据块映射表及日志块映射表,但不限于此。
请再参考图3,闪存240包含多个存储器块,存储器块体现PBN为PB100、PB101、PB102、PB103、...、PB470及PB490的多个数据块;PBN为PB301、PB302及PB304的多个日志块;PBN为PB601、PB602、PB603及PB604的多个空白块以及PBN为PB900、PB903及PB905的多个RW块。此外,闪存240可概念上地包含数据区域341、日志区域342、RW区域343、空白区域344及元区域345。在某些实施例中,闪存240可以不具有物理的数据、日志、RW或空白区域,而是在闪存240中实施的数据块、日志块、RW块及空白块分别概念上地形成数据区域341、日志区域342、RW区域343及空白区域344。
请注意在闪存240中,以上所述的区域可以是概念上地,而非物理上可辨识的区域,其中所述概念上的区域将在此处做出说明。数据区域341包含多个数据块并存储用户数据,其中多个数据块的PBN分别为PB100、PB101、PB102、PB103、...、PB470及PB490。举例而言,数据块用于存储连续写入数据及/或冷数据,其中冷数据很少被主机210存取。日志区域342包含PBN为PB301、PB302及PB304的多个日志块,多个日志块中的每一个被分配至闪存240的一个或多个数据块。举例而言,日志块被用于存储重写数据(overwrite data)及/或非连续数据(non-sequential data/discontinuous data)。RW区域343包含多个RW块并存储用户数据,其中多个RW块的PBN为PB900、PB903及PB905,并且用户数据属于随机单一写入数据及/或热数据。
空白区域344包含PBN分别为PB601、PB602、PB603及PB604的多个空白块,多个空白块中的每一个可被转换为日志块、数据块或RW块。举例而言,若被分配至数据块的所有日志块均被使用,则空白块可被转换为日志块,且随后可被分配至所述数据块。此外,合并操作之后,被擦除的数据块、日志块及/或RW块可被转换为空白块,并且可随后依据分配操作被转换为数据、日志及/或RW块。在本发明的某些实施例中,当满足某些预设条件时,数据块(以及对应的日志块(若存在))也可被转换为RW块,或RW块可被转换为数据块,上述转换的具体操作将在下文中详述。依据合并操作所改变的映射信息可被存储在元区域345中。
图4是用于管理存储器系统中的闪存的映射数据的步骤的流程图。首先,在步骤S400中,主机210请求存取闪存240(亦即自文件系统320或操作系统310发出,并且在主机210上执行的命令被接收)。在步骤S410中,在界面装置230的CPU 260上执行的FTL 320决定当前所请求的存取的模式(pattem)。举例而言,当主机210请求一存取时,FTL 330自输入数据撷取逻辑地址信息,以及决定所请求的存取是否是对于RW块的存取。若决定所请求的存取是对于RW块的存取,则执行步骤S430。若决定所请求的存取并非是对于RW块的存取,则执行步骤S420。在步骤S420中,所请求的存取通过第一映射情况处理,而在步骤S430中,所请求的存取通过第二映射情况处理,其中第二映射情况不同于第一映射情况,并且独立于第一映射情况。举例而言,在本实施例中,在步骤S420中,所请求的存取通过具有块映射表331(以及页面映射表332(若需要))的混合映射情况(亦即,页面映射情况)处理,但并不限于此。相反地,在步骤S430中,所请求的存取通过具有RW页面映射表333的RW映射情况(亦即,RW页面映射情况)处理,其中RW页面映射表333独立于块映射表331及页面映射表332,但并不限于此。步骤S420及S430的具体操作将在下文详细描述。应当注意,RW页面映射表333可被部分或全部存储在闪存240中,并且在必要时自闪存240(图1)装载至工作存储器270上。
为描述的便利,假定闪存240的每一个内存块具有四个页面,但并不限于此。换句话说,本领域技术人员可以理解闪存240的每一个内存块也可具有多于或少于四个页面。
在此,将参考图5A-1~图5A-4以及图5B~5G来阐明不存取RW块的步骤S420的范例。在步骤S420中,所请求的存取并非是对于RW块的存取,但其可以是对于内存块的写入操作或读取操作,例如对应于逻辑块的数据块或日志块。以下将参考图3及图5A-1~图5A-4来描述步骤S420的第一范例。
举例而言,若第一存取被请求写入的数据是LBN为LB108的逻辑块中对应于LPN为LP2的数据,则FTL 330决定对应于逻辑块的数据块的LBN是否为LB108。若对应于逻辑块的数据块的LBN不为LB108,则FTL 330分配PBN为PB601的空白块(亦即,内存块)作为用于逻辑块的数据块,其中逻辑块的LBN为LB108,而随后FTL 330将对应于LPN为LP2的数据写入物理页面,其中物理页面位于PBN为PB601的数据块中,且物理页面的PPN为PPA0。在本实施例中,LPN为LP2的逻辑页面是LBN为LB108的逻辑块中的第三页面,而非第一页面,并且对应于逻辑页面LP2的数据并不限于被写入PBN为PB601的数据块的第三页面。
在某些实施例中,FTL 330依据来自于主机210的输入数据中的逻辑扇区号(logic sector number)顺序获得LPN、LBN及逻辑偏移页面号(logical offset pagenumber,以下简称LOPN),但并不限于此。此外,FTL 330将LBN为LB108的逻辑块及PBN为PB601的数据块之间的映射关系记录入块映射表331的数据块映射表331A中。如数据块映射表331A中所示,PBN为PB100的数据块对应于LBN为LB0的逻辑块,PBN为PB101的数据块对应于LBN为LB1的逻辑块,PBN为PB102的数据块对应于LBN为LB2的逻辑块,......,PBN为PB490的数据块对应于LBN为LB107的逻辑块,以及PBN为PB601的数据块对应于LBN为LB108的逻辑块。举例而言,FTL 330依据来自于主机210的存取信息(亦即,命令中的写入地址)决定所请求的存取及/或随后的存取是随机单一写入操作(random single write operation),但并不限于此。如图5A-1所示,FTL 330更将数据块的物理页面记录入页面映射表332中,其中数据块的PBN为PB601,物理页面的PPN为PPA0。如页面映射表332所示,PPN为PPA0的物理页面对应于LP2。
若第二存取随后被请求将对应于LPN为LP3的数据写入LBN为LB108的逻辑块中,则FTL 330决定待写入的数据是否为连续数据,而此待写入的数据与对应于LPN为LP2的数据相关(其中该数据存储在PBN为PB601的数据块中)。随后,若关于对应于LPN为LP2的数据,待写入的数据是连续数据,则FTL330将对应于LPN为LP3的数据写入PBN为PB601的数据块的物理页面,其中所述物理页面的PPN为PPA1。如图5A-1中所示,FTL 330更将物理页面记录入页面映射表332中(该物理页面的PPN为PB601的数据块的PPN,即PPA1)。如页面映射表332所示,PPN为PPA1的物理页面对应于LP3。
若第三存取随后被请求将对应于LPN为LP1的数据写入LBN为LB108的逻辑块中,则FTL 330决定待写入的数据是否为连续数据,而此待写入的数据与对应于LPN为LP3的数据相关(其中该数据存储在PBN为PB601的数据块中)。因为关于对应于LPN为LP3的数据,待写入的数据并非为连续数据,FTL 330分配PBN为PB602的存储器块作为日志块,用于PBN为PB601的数据块。此外,FTL 330将PBN为PNB602的日志块及PBN为PB601的数据块之间的映射关系记录入块映射表331的日志块映射表331B中。如页面映射表332所示,PPN为PPA0的物理页面对应于LP2,而PPN为PPA1的物理页面对应于LP3。随后,FTL 330将对应于LP1的数据写入物理页面中(该物理页面的PPN为PB602的日志块的PPN,即PPB0),以及将PPN为PPB0的物理页面及LPN LP1之间的映射关系(亦即,PPN为PPB0的物理页面对应于LP1)记录入块映射表332之中。如图5A-2的页面映射表332中所示,PPN为PPB0的物理页面对应于LP1。
若第四存取随后被请求将对应于LPN为LP0的数据写入LBN为LB108的逻辑块中,并且FTL 330决定LBN为LB108的逻辑块对应于PBN为PB601的数据块及PBN为PB602的日志块,则FTL 330将对应于LPN为LP0的数据写入物理页面中(该物理页面的PPN为PB602的日志块的PPN,即PPB1)。FTL 330随后将物理页面PPB1与LPN LP0之间的映射关系(亦即,PPN为PPB1的物理页面对应于LP0)记录入页面映射表332中。如图5A-2的页面映射表332中所示,PPN为PPB1的物理页面对应于LP0。
类似地,依据第五及第六存取,分别对应于位于LBN为LB108的逻辑块中LPN为LP3及LP0的数据被分别写入PPN为PPB2及PPB3的物理页面,并且FTL 330随后将物理页面PPB2与LP3以及PPB3与LP0间的映射关系记录入页面映射表332中。因此,LP3及LP0被记录(更新)入页面映射表332中。如图5A-3的页面映射表332所示,PPN为PPB2及PPB3的物理页面分别对应于LP3及LP0。此时,存储在PBN为PB601的数据块的PPN为PPA1的物理页面的数据,以及PBN为PB602的日志块的PPN为PPB1的物理页面成为无效的。在本实施例中,FTL 330分配日志块用于数据块(当待写入的数据关于先前写入的数据并非为连续数据时),或者重写先前写入的数据,但并不限于此。
步骤S420的另一范例将参考图5A-4作出说明。若第七存取被随后请求将对应于LP1的数据写入LBN为LB108的逻辑块中,则FTL 330将对应于LP1的数据写入物理页面(该物理页面的PPN为PB601的日志区域的PPN,即PPA2)。FTL 330随后将PPN为PPA2的物理页面与LPN LP1之间的映射关系(亦即,PPN为PPA2的物理页面对应于LP1)记录(亦即,更新)入页面映射表332中。如图5A-4的页面映射表332所示,PPN为PPA2的物理页面对应于LP1。此时,存储在PBN为PB602的日志块的PPN为PPB0的物理页面中的数据成为无效的。在本实施例中,一旦PBN为PB602的日志块被分配用于PBN为PB601的数据块,FTL 330将以页面映射(page map)的方式利用PBN为PB601的数据块的空白页面(space page)。
此外,若FTL 330更决定对于LBN为LB108的逻辑块的后续存取是随机单一写入操作,则FTL 330随后将PBN为PB601的数据块及PBN为PB602的日志块转换为RW块,用于后续存取(亦即,随机单一写入操作)。因此,FTL 330利用RW页面映射表333记录逻辑块(逻辑块的LBN为LB108)的LPN及PBN为PB601与PB602的RW块的物理页面之间的映射关系。举例而言,FTL 330将PBN为PB601及PB602的RW块的有效页面(亦即,PPN为PPA0、PPA2、PPB2、PPB3的物理页面)记录入RW页面映射表333中。如图5B的RW页面映射表333所示,PPN为PPB3、PPA2、PPA0、PPB2的物理页面分别对应于LP0~LP3。与此同时,FTL 330删除数据块映射表331A中LBN为LB108的逻辑块与PBN为PB601的数据块之间的映射关系,删除日志块映射表331B中PBN为PB601的数据块及PBN为PB602的日志块之间的映射关系,以及删除页面映射表332中LBN为LB108的逻辑块的LPN与PBN为PB601的数据块的物理页面及PBN为PB602的日志块之间的映射关系,使得RW页面映射表333独立于数据块映射表331A、日志块映射表331B及页面映射表332。RW操作的细节将稍后描述。
步骤S420的另一范例将参考图5C及图5D作出说明。若图5A-3所示的第四存取之后,第八存取被随后请求将对应于LP1的数据写入LBN为LB108的逻辑块中,则FTL 330决定PBN为PB602的日志块是满的,并且FTL 330将对应于LP1的数据写入物理页面中(该物理页面的PPN为PB601的数据块的PPN,即PPA2)。FTL 330随后将PPN为PPA2的物理页面与LPN LP1之间的映射关系(亦即,PPN为PPA2的物理页面对应于LP1)记录入页面映射表332中。类似地,依据第九存取请求,对应于LBN为LB108的逻辑块中的LPN LP0的数据也可被写入PPN为PPA3的物理页面中,并且PPN为PPA3的物理页面及LPNLP0之间的映射关系将被记录在页面映射表332中。如图5C中的页面映射表332所示,PPN为PPA2及PPA3的物理页面分别对应于LP1及LP0。此时,PBN为PB602的数据块中的PPN为PPB0的物理页面及PBN为PB602的日志块中的PPN为PPB3的物理页面中所存储的数据成为无效的。为描述的便利,假定每一数据块仅能被分配一个日志块。然而,本领域技术人员应当理解多个日志块可被分配给一个数据块。
在本发明的所述实施例中,当FTL 330决定PBN为PB601的数据块及PBN为PB602的日志块是满的时,决定LBN为LB108的逻辑块的数据(亦即,存储在PBN为PB601的数据块及PBN为PB602的日志块的数据)是热数据。因此,如图5D中所示,FTL 330将PBN为PB601的数据块及PBN为PB602的日志块转换为RW块,分配PBN为PB603的空白块作为用于LBN为LB108的逻辑块的另一RW块,以及利用RW页面映射表333记录LBN为LB108的逻辑块的LPN与PBN为PB601~PB603的RW块的物理页面之间的映射关系,以便后续的数据写入操作。举例而言,FTL 330将PBN为PB601及PB602的RW块的有效页面(亦即,PPN为PPA0、PPA2、PPA3及PPB2的物理页面)记录入RW页面映射表333中。如图5D的RW页面映射表333所示,PPN为PPA3、PPA2、PPA0及PPB2的物理页面分别对应于LP0~LP3。与此同时,FTL 330删除/更新数据块映射表331A中的LBN为LB108的逻辑块及PBN为PB601的数据块之间的映射关系,日志块映射表331B中PBN为PB601的数据块及PBN为PB602的日志块之间的映射关系,以及页面映射表332中LBN为LB108的逻辑块的LPN与PBN为PB601的数据块的物理页面及PBN为PB602的日志块之间的映射关系,使得RW页面映射表333独立于数据块映射表331A、日志块映射表331B及页面映射表332。存取RW块的操作的细节将稍后描述。
步骤S420的另一范例将参考图5E作出说明。在对应于LPN为LP0的数据被写入物理页面之后(展示在图5A-1中,该物理页面的PPN为PB602的日志块的PPN,即PPB3),若第九存取被随后请求将对应于LPN为LP128的数据写入LBN为LB109的逻辑块中,则FTL 330决定对应于所述逻辑块的数据块的LBN是否为LB109。若对应于逻辑块的数据块的LBN不为LB109,则FTL330分配PBN为PB603的空白块作为LBN为LB109的逻辑块的数据块,以及随后FTL330将对应于LPN为LP128的数据写入PPN为PPC0的物理页面中,其中PPN为PPC0的物理页面位于PBN为PB603的数据块中。在本实施例中,逻辑页面LP128是LBN为LB109的逻辑块的第一页面。此外,FTL 330将LBN为LB109的逻辑块及PBN为PB603的数据块之间的映射关系记录入数据块映射表331A中(亦即,PBN为PB603的数据块对应于LBN为LB109的逻辑块)。当第十一存取被随后请求将对应于LPN为LP129的数据写入LBN为LB109的逻辑块中时,若关于对应于LPN为LP128的数据,当前数据是连续数据,则FTL 330将对应于LPN为LP129的数据写入物理页面中(该物理页面的PPN为PB603的数据块的PPN,即PPC1)。此外,FTL 330更将PPN为PPC0、PPC1的物理页面分别与LP128、LP129之间的映射关系记录入页面映射表332”中。如图5E的页面映射表332”所示,PPN为PPC0与PPC1的物理页面分别对应于LP128与LP129。
步骤S420的又一范例将参考图5F作出说明。若第十二存取被随后请求将对应于LPN为LP130的数据写入LBN为LB109的逻辑块中,则FTL 330将对应于LPN为LP130的数据写入物理页面中(该物理页面的PPN为PB603的数据块的PPN,即PPC2)。FTL 330随后将PPN为PPC2的物理页面与LP130之间的映射关系记录入页面映射表332”中。如图5F的页面映射表332”所示,PPN为PPC2的物理页面对应于LP130。此外,若FTL 330决定对于LBN为LB109的逻辑块的后续存取是随机单一写入操作,则FTL 330将PBN为PB603的数据块转换为RW块。因此,FTL 330利用RW页面映射表333”记录LBN为LB109的逻辑块的LPN及PBN为PB603的RW块的物理页面之间的映射关系。举例而言,FTL 330将PBN为PB603的RW块的有效页面(亦即,PPN为PPC0~PPC2的物理页面)记录入RW页面映射表333”中。与此同时,FTL 330删除/更新数据块映射表331A中LBN为LB109的逻辑块及PBN为PB603的数据块之间的映射关系,以便RW页面映射表333”独立于数据块映射表331A及日志块映射表331B。
步骤S420的又一范例将参考图5G作出说明。在对应于逻辑块LB108中的LPN LP0的数据被写入物理页面PPB3之后(展示在图5A-3中,物理页面PPB3位于PBN为PB602的日志块内),若第十三存取被随后请求将对应于LPN LP128的数据写入LBN为LB109的逻辑块中,则FTL 330决定对应于逻辑块的数据块的LBN是否为LB109。当对应于逻辑块的数据块的LBN不为LB109时,FTL330分配空白块作为LBN为LB109的逻辑块的数据块。此时,若闪存中的空白块的数量是不足的,则合并操作可被执行,以产生额外的空白块。换句话说,数据块及被分配至所述数据块的日志块可经由合并操作(也被称为垃圾收集(garbagecollection))被转换为空白块。合并操作将在下文详述。举例而言,FTL 330分配PBN为PB603的空白块作为PBN为PB108的逻辑块的新数据块,将PBN为PB601的旧数据块及PBN为PB602的日志块中的有效数据拷贝入PBN为PB603的新数据块中,擦除PBN为PB601及PB602的块,以及将PBN为PB601及PB602的块作为空白块回收至空白区域。此外,FTL 330也可将LBN为LB108的逻辑块及PBN为PB603的数据块之间的新映射关系更新入数据块映射表331A中,以及删除日志块映射表311B中PBN为PB601的数据块及PBN为PB602的日志块之间的映射关系。因此,FTL 330分配PBN为PB604的空白块作为LBN为LB109的逻辑块的数据块,以及将对应于LP128的数据写入物理页面中(该物理页面的PPN为PB604的数据块的PPN,即PPD0)。此外,FTL 330也可将LBN为LB109的逻辑块及PBN为PB604的数据块之间的映射关系记录入数据块映射表331A中。
存取RW块的步骤S430的范例将参考图6A~6D在下文中作出描述。步骤S430的第一范例将参考图6A~6C作出说明。PBN为PB603的数据块被转换为RW块之后(展示在图5F中),若第十四存取被随后请求将对应于LPN为LP128的数据写入LBN为LB109的逻辑块中,则FTL 330决定所请求的存取是对于RW块的存取(亦即,其可以是对于RW块的写入操作或读操作)。因此,依据RW映射情况,FTL 330利用RW页面映射表333”处理被请求的存取,其中页面映射表333”独立于数据块映射表331及页面映射表332。举例而言,如图6A所示,当FTL 330决定PBN为PB603的RW块对应于LBN为LB109的逻辑块时,FTL330将对应于LPN为LP128的数据写入物理页面中(该物理页面的PPN为PB603的RW块的PPN,即PPC3)。FTL 330随后将PPN为PPC3的物理页面及LPNLP128之间的映射关系(亦即,PPN为PPC3的物理页面对应于LP128)记录入RW页面映射表333”中。
若第十五存取被随后请求将对应于LPN为LP130的数据写入LBN为LB109的逻辑块中,并且FTL 330决定RW块是满的,则FTL 330分配PBN为PB604的空白块作为用于LBN为LB109的逻辑块的另一RW块。因此,如图6B所示,FTL 330将LBN为LB109的逻辑决中对应于LPN为LP130的数据写入物理页面中(该物理页面的PPN为PB604的RW块的PPN,即PPD1)。此外,FTL 330随后将PPN为PPD1的物理页面及LP130之间的映射关系(亦即,PPN为PPD1的物理页面对应于LP130)记录入RW页面映射表333”中。此时,存储在PBN为PB603的RW块中PPN为PPC2的物理页面中的数据成为无效的。若第十六存取被随后请求将对应于LPN为LP129的数据写入LBN为LB109的逻辑块中,则FTL 330将对应于LPN为LP129的数据写入物理页面中(该物理页面的PPN为PB604的RW块中的PPN,即PPD0),以及将PPN为PPD1的物理页面及LPNLP129之间的映射关系记录入RW页面映射表333”中。此时,存储在PBN为PB603的RW块中PPN为PPC1的物理页面中的数据成为无效的。类似地,若第十七存取被随后请求将对应于LPN为LP128的数据写入LBN为LB109的逻辑块中,则FTL 330将对应于LPN为LP128的数据写入物理页面中(该物理页面的PPN为PB604的数据块的PPN,即PPD2),以及将PPN为PPD2的物理页面及LPN LP128之间的映射关系记录入RW页面映射表333”中。此时,存储在PBN为PB603的RW块的PPN为PPC3的物理页面中的数据成为无效的。举例而言,FTL 330可分配N个RW块用于一个逻辑块,以及当被分配的RW块的数量达到预定数时对被分配的RW块执行垃圾收集操作。在本实施例中,FTL 330最多分配3个RW块用于一个逻辑块,但并不限于此,并且当被分配的RW块是满的时,FTL 330对被分配的RW块执行垃圾收集操作。
当FTL 330决定闪存中空白块的数量不足时,可对PBN为PB603及PB604的RW块执行合并操作,用于产生额外的空白块。举例而言,如图6C中所示,FTL 330分配PBN为PB605的空白块作为PBN为PB109的逻辑块的新RW块,将PBN为PB603及PB604的旧RW块中的有效数据拷贝至PBN为PB605的新RW块中,擦除PBN为PB603及PB604的块,以及将PBN为PB603及PB604的块作为空白块回收至空白区域。在本实施例中,LPN为LP128、LP129及LP130的逻辑页面的有效数据被分别存储在PPN为PPE0、PPE1及PPE2的物理页面中。此外,FTL 330也可将LBN为LB109的逻辑块及PBN为PB605的RW块之间的新映射关系更新入RW页面映射表333”中。也就是当闪存中的空白块的数量不足时(亦即,空白块的数量低于预定数),FTL 330也对RW块执行垃圾收集操作(亦即,合并操作)以获得空白块。
应注意,用于逻辑块的RW块的数量、对应于一个数据块的日志块的数量以及剩余空白块的数量可作为前述合并状态信息的一部分。此外,前述被编号码的存取,例如第一存取、第二存取等等,并非限制存取的顺序及/或位置,而是用于协助说明本发明的实施例。
步骤S430的又一范例将参考图6D作出说明。当FTL 330决定对于LBN为LB109的逻辑块的后续存取是连续数据写入操作时,FTL 330将PBN为PB605的RW块转换为数据块。举例而言,FTL 330分配PBN为PB606的空白块作为PBN为PB109的逻辑块的数据块,将PBN为PB603及PB604的旧RW块中的有效数据拷贝至新RW块PB605中,擦除PBN为PB603及PB604的块,以及将PBN为PB603及PB604的块作为空白块回收至空白区域。此外,FTL 330也可将LBN为LB109的逻辑块及PBN为PB606的数据块之间的新映射关系更新入数据块映射表331A中。在本实施例中,用于LPN为LP128、LP129及LP130的逻辑页面的有效数据被分别存储在PPN为PPF0、PPF1及PPF2的物理页面中(未展示在图中)。因此,通过具有数据块映射表331A(以及日志块映射表331B和(若需要)页面映射表332(未展示在图中))的混合映射情况(亦即,页面映射情况),FTL 330处理LBN为LB109的逻辑块之后续存取请求
图7是依据本发明的某些实施例说明数据块、日志块及RW块之间关系的示意图。如图所示,存储器系统可包含三种块,亦即,数据块、日志块及RW块。关于对应于逻辑块的数据块,若FTL决定关于先前存储的数据,待写入的后续数据是不连续数据(亦即,非连续数据)或先前存储的数据被重写,则FTL为对应于逻辑块的数据块创建或分配日志块,用于后续数据写入操作。可选地,若FTL决定待写入的后续数据是随机单一写入数据或热数据,则FTL将数据块转换为RW块,以便后续数据写入操作。举例而言,FTL依据来自于主机的存取信息(亦即,命令中的写入地址)决定被请求的存取及/或后续的存取是随机单一写入操作或连续数据写入操作,但并不限于此。
关于日志块,若FTL决定待写入的后续数据是非连续数据,则FTL将数据写入日志块,并且当日志块及对应的数据块是满的时,FTL对日志块执行垃圾收集操作。可选地,若FTL决定待写入的后续数据是热数据,则FTL将日志块及对应数据块转换为RW块,用于后续数据写入操作。举例而言,当FTL决定数据块及日志块是满的时,逻辑块的数据(亦即,存储在数据块及日志块的数据)被决定为是热数据。可选地,若FTL决定关于先前存储在日志块的数据,后续数据是连续的,则FTL用对应的数据块取代(亦即,交换)日志块。
关于RW块,若FTL决定待写入的后续数据是非连续数据,则FTL将数据写入RW块,并且当当前RW块是满的时,分配另一RW块用于逻辑块。当RW块的数量达到预定数时,FTL对RW块执行垃圾收集操作。可选地,若FTL决定待写入的后续数据是连续写入数据或冷数据,则FTL将RW块转换为数据块。
在所述实施例中,因为在对应的日志块无空白页面之后,数据块的空白页面可被用于以页面映射方式存储数据,数据块中的页面的利用率(utility rate)可被改善。此外,若热数据及逻辑块的随机单一写入数据可被写入多重RW块,则对于对应于逻辑块的数据块及日志块的大量垃圾收集操作可被减少。
以上所述仅为本发明的较佳实施例,本领域相关的技术人员依据本发明的精神所做的等效变化与修改,都应当涵盖在权利要求书内。
Claims (29)
1.一种存储器系统,其特征在于包含:
闪存;以及
界面装置,耦接在该闪存及主机之间,存储闪存转换层,通过页面映射情况,利用块映射表及页面映射表管理该闪存的多个数据块及多个日志块,以及利用独立于该块映射表及该页面映射表的随机写入页面映射表,通过随机写入映射情况管理该闪存的多个随机写入块。
2.根据权利要求1所述的存储器系统,其特征在于,该块映射表包含数据块映射表及对应于该数据块映射表的日志块映射表。
3.根据权利要求1所述的存储器系统,其特征在于,当对于逻辑块的后续存取是随机单一写入操作时,该闪存转换层将对应于该逻辑块的该多个数据块其中之一转换为随机写入块。
4.根据权利要求3所述的存储器系统,其特征在于,依据自该主机提供的存取信息,该闪存转换层决定对于该逻辑块的该后续存取是否是随机单一写入操作或连续数据写入操作。
5.根据权利要求1所述的存储器系统,其特征在于,当存储在随机写入块的数据成为冷数据或对该逻辑块的后续存取是连续数据写入操作时,该闪存转换层将对应于逻辑块的该多个随机写入块其中之一转换为数据块。
6.根据权利要求1所述的存储器系统,其特征在于,当对应于逻辑块的该多个随机写入块的数量达到预定数,并且该多个随机写入块是满的时,该闪存转换层对该多个随机写入块执行合并操作,其中该预定数大于二。
7.一种存储器系统,其特征在于包含:
闪存;以及
界面装置,耦接在该闪存及主机之间,存储闪存转换层,以及通过页面映射情况,利用数据块映射表、日志块映射表及页面映射表管理该闪存的第一数据块,其中当对该闪存的第一逻辑块其中之一的后续存取是随机单一写入操作时,该闪存转换层将该第一数据块转换为第一随机写入块,以及利用独立于该数据块映射表、该日志块映射表及该页面映射表的随机写入页面映射表管理该第一随机写入块。
8.根据权利要求7所述的存储器系统,其特征在于,该闪存更包含对应于该第一数据块的第一日志块,以及当对该第一逻辑块的该后续存取是随机单一写入操作时,该闪存转换层分别将该第一数据块及该第一日志块转换成该第一随机写入块及第二随机写入块,以及利用该随机写入页面映射表管理该第一及该第二随机写入块。
9.根据权利要求8所述的存储器系统,其特征在于,依据自该主机提供的多个存取地址,该闪存转换层决定对该第一逻辑块的该后续存取是否是连续数据写入操作。
10.根据权利要求7所述的存储器系统,其特征在于,该闪存更包含对应于第二逻辑块的第二数据块及对应于该第二数据块的日志块,以及当存储在该第二数据块及该日志块的数据是热数据时,该闪存转换层将该第二数据块及该日志块分别转换为该第二随机写入块及第三随机写入块,以及利用该随机写入页面映射表管理该第二及第三随机写入块。
11.根据权利要求10所述的存储器系统,其特征在于,当存储在该第二及该第三随机写入块的数据成为冷数据时,该闪存转换层分配第三数据块用于该第二逻辑块,将存储在该第二及该第三随机写入块的有效数据拷贝至该第三数据块,以及通过该页面映射情况管理该第三数据块。
12.根据权利要求10所述的存储器系统,其特征在于,当该第二数据块及该日志块是满的时,该闪存转换层决定存储在该第二数据块及该日志块的数据是热数据。
13.根据权利要求8所述的存储器系统,其特征在于,当对于该第一逻辑块的第一存取被请求并且该第一及该第二随机写入块是满的时,该闪存转换层分配该闪存的空白块作为该第一逻辑块的第三随机写入块。
14.根据权利要求8所述的存储器系统,其特征在于,当对于该第一逻辑块的存取被请求,该第一及该第二随机写入块是满的并且该闪存中的空白块的数量低于预定数时,该闪存转换层分配该闪存的空白块作为第三随机写入块,以及将该第一及该第二随机块中的有效数据拷贝至该第三随机写入块并且擦除该第一及该第二随机写入块。
15.根据权利要求7所述的存储器系统,其特征在于,该闪存及该界面装置组成存储卡。
16.一种存储器系统的映射方法,该存储器系统包含闪存及界面装置,该界面装置耦接在该闪存及主机之间,其中该界面装置存储闪存转换层,其特征在于,该存储器系统的映射方法包含:
通过页面映射情况,利用块映射表及页面映射表管理该闪存的多个数据块及多个日志块,其中该页面映射表对应于该块映射表;以及
通过随机写入映射情况,利用随机页面映射表管理该闪存的多个随机写入块,其中该随机页面映射表独立于该块映射表及该页面映射表。
17.根据权利要求16所述的存储器系统的映射方法,更包含,当对于逻辑块的后续存取是随机单一写入操作时,将对应于该逻辑块的该多个数据块其中之一转换为随机写入块。
18.根据权利要求17所述的存储器系统的映射方法,其特征在于,对应于该逻辑块的该后续存取是否是该随机单一写入操作或连续数据写入操作,依据自该主机提供的存取信息决定。
19.根据权利要求16所述的存储器系统的映射方法,更包含,当存储在该被转换的随机写入块的数据是冷数据,或对于该逻辑块的该后续存取是连续数据写入操作时,将对应于该逻辑块的该多个随机写入块之一转换为数据块。
20.根据权利要求16所述的存储器系统的映射方法,更包含,当该多个数据块其中之一及该多个日志块其中之一所存储的数据是热数据,或对于逻辑块的存取是随机单一写入操作时,将该数据块及该日志块转换为两个随机写入块,其中该数据块对应于该逻辑块,并且该日志块对应于该数据块。
21.根据权利要求16所述的存储器系统的映射方法,更包含,当对应于逻辑块的一组随机写入块的数量达到预定数,并且该组随机写入块是满的时,对于该组随机写入块执行合并操作,其中该预定数大于二。
22.一种存储器系统的映射方法,该存储器系统包含闪存及界面装置,该界面装置耦接在该闪存及主机之间,其中该界面装置存储闪存转换层,其特征在于,该存储器系统的映射方法包含:
通过页面映射情况,利用数据块映射表、日志块映射表,及页面映射表管理该闪存的第一数据块;以及
当对于该闪存的第一逻辑块的后续存取是随机单一写入操作时,将该第一数据块转换为第一随机写入块,以及利用独立于该数据块映射表、该日志块映射表及该页面映射表的随机写入页面映射表管理该第一随机写入块。
23.根据权利要求22所述的存储器系统的映射方法,其特征在于,该闪存更包含对应于该第一数据块的第一日志块,以及当对于该第一逻辑块的该后续存取是随机单一写入操作时,该映射方法更包含分别将该第一数据块及该第一日志块分别转换成该第一随机写入块及第二随机写入块,以及使用该随机写入页面映射表管理该第一及该第二随机写入块。
24.根据权利要求23所述的存储器系统的映射方法,其特征在于,对于该第一逻辑块的该后续存取是否是该随机单一写入操作或连续数据写入操作依据自该主机提供的存取信息决定。
25.根据权利要求22所述的存储器系统的映射方法,其特征在于,该闪存更包含对应于第二逻辑块的第二数据块及对应于该第二数据块的日志块,以及该映射方法更包含,当存储在该第二数据块及该日志块的数据是热数据时,将该第二数据块及该日志块分别转换为第二随机写入块及第三随机写入块,以及利用该随机写入页面映射表管理该第二及第三随机写入块。
26.根据权利要求25所述的存储器系统的映射方法,更包含,当存储在该第二及该第三随机写入块的数据成为冷数据时,分配用于该第二逻辑块的第三数据块,将存储在该第二及该第三随机写入块的有效数据拷贝至该第三数据块,以及通过该页面映射情况管理该第三数据块。
27.根据权利要求22所述的存储器系统的映射方法,更包含,当对于该第一逻辑块的第一存取被请求,并且该第一及该第二随机写入块是满的时,分配该闪存的空白块作为该第一逻辑块的第三随机写入块。
28.根据权利要求27所述的存储器系统的映射方法,更包含,当对于该第一逻辑块的第二存取被请求,并且该第一、该第二及该第三随机写入块是满的时,对该第一、该第二及该第三随机写入块执行合并操作。
29.根据权利要求22所述的存储器系统的映射方法,更包含,当对于该第一逻辑块的存取被请求,该第一及该第二随机写入块是满并且该闪存中的多个空白块的数量低于预定数时,对该第一及该第二随机写入块执行合并操作,分配该闪存的空白块作为第三随机写入块,以及将该第一及该第二随机写入块中的有效数据拷贝至该第三随机写入块。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22111409P | 2009-06-29 | 2009-06-29 | |
US61/221,114 | 2009-06-29 | ||
US12/694,463 US8364931B2 (en) | 2009-06-29 | 2010-01-27 | Memory system and mapping methods using a random write page mapping table |
US12/694,463 | 2010-01-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101937319A true CN101937319A (zh) | 2011-01-05 |
CN101937319B CN101937319B (zh) | 2013-02-20 |
Family
ID=43382000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010188270.1A Active CN101937319B (zh) | 2009-06-29 | 2010-06-01 | 存储器系统及其映射方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8364931B2 (zh) |
CN (1) | CN101937319B (zh) |
TW (1) | TWI405082B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102364450A (zh) * | 2011-06-27 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种NandFlash物理地址和逻辑地址映射的方法 |
CN103514095A (zh) * | 2012-06-18 | 2014-01-15 | 记忆科技(深圳)有限公司 | 一种数据库写入ssd 的方法和系统 |
CN103678141A (zh) * | 2012-09-05 | 2014-03-26 | 深圳市中兴移动通信有限公司 | 闪存的管理方法和管理系统 |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104142895A (zh) * | 2013-05-08 | 2014-11-12 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN104731794A (zh) * | 2013-12-19 | 2015-06-24 | 北京华易互动科技有限公司 | 一种冷热数据分片挖掘存储方法 |
CN105843695A (zh) * | 2016-03-15 | 2016-08-10 | 深圳市凯立德科技股份有限公司 | 一种数据存储异常的处理方法、装置及设备 |
CN105956090A (zh) * | 2016-04-27 | 2016-09-21 | 中国科学技术大学 | 一种基于i/o自适应的文件系统日志模式 |
CN106250052A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN106874220A (zh) * | 2017-02-15 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种nand flash阵列二级地址映射表的实现方法 |
CN110442529A (zh) * | 2018-05-03 | 2019-11-12 | 爱思开海力士有限公司 | 可配置的存储器系统及配置和使用该存储器系统的方法 |
CN110543435A (zh) * | 2019-09-05 | 2019-12-06 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
CN111512290A (zh) * | 2017-12-27 | 2020-08-07 | 华为技术有限公司 | 文件页表管理技术 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
CN113448487A (zh) * | 2020-03-25 | 2021-09-28 | 慧荣科技股份有限公司 | 写入闪存管理表的计算机可读取存储介质、方法及装置 |
CN113590504A (zh) * | 2016-06-29 | 2021-11-02 | 北京忆恒创源科技股份有限公司 | 存储日志帧以及日志条目的固态硬盘 |
WO2022021337A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 闪存控制方法和装置 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101739556B1 (ko) * | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
KR20120084906A (ko) * | 2011-01-21 | 2012-07-31 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템 및 그 관리 방법 |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
CN103270499B (zh) * | 2011-12-21 | 2016-10-05 | 华为技术有限公司 | 日志存储方法及系统 |
TWI605458B (zh) | 2012-04-25 | 2017-11-11 | Sony Corp | Non-volatile memory devices, non-volatile memory control devices, and non-volatile memory control methods |
JP5586718B2 (ja) * | 2012-06-19 | 2014-09-10 | 株式会社東芝 | 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置 |
US8880786B2 (en) * | 2012-09-28 | 2014-11-04 | Apple Inc. | Flash translation layer (FTL) database journaling schemes |
CN103873250B (zh) * | 2012-12-18 | 2017-06-20 | 中国移动通信集团河南有限公司 | 一种密文生成方法、密文解密方法及加密解密装置 |
KR101453313B1 (ko) | 2013-03-25 | 2014-10-22 | 아주대학교산학협력단 | 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템 |
JP2014206884A (ja) * | 2013-04-15 | 2014-10-30 | 株式会社フィックスターズ | 情報処理装置、情報処理方法、およびプログラム |
TWI503841B (zh) * | 2013-04-26 | 2015-10-11 | Phison Electronics Corp | 寫入方法、記憶體控制器與記憶體儲存裝置 |
US9612773B2 (en) * | 2013-11-21 | 2017-04-04 | Samsung Electronics Co., Ltd. | User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof |
KR20150139718A (ko) * | 2014-06-03 | 2015-12-14 | 에스케이하이닉스 주식회사 | 불휘발성 메모리를 제어하는 컨트롤러 및 그것을 포함하는 반도체 장치 |
KR102430198B1 (ko) | 2014-06-12 | 2022-08-05 | 삼성전자주식회사 | 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법 |
WO2016195702A1 (en) * | 2015-06-05 | 2016-12-08 | Hewlett Packard Enterprise Development Lp | Compressed data block mapping |
KR102316198B1 (ko) * | 2015-06-12 | 2021-10-25 | 삼성전자주식회사 | 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품 |
TWI601141B (zh) * | 2015-08-21 | 2017-10-01 | 晨星半導體股份有限公司 | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 |
TWI559139B (zh) * | 2015-09-15 | 2016-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
CN105205008B (zh) * | 2015-09-18 | 2018-07-20 | 成都三零嘉微电子有限公司 | 降低混合映射算法中日志块映射表内存资源占用的方法 |
CN105302736B (zh) * | 2015-09-21 | 2019-01-04 | 成都三零嘉微电子有限公司 | 一种提高混合映射中日志块数据整理性能的方法 |
TWI625729B (zh) * | 2015-11-25 | 2018-06-01 | 旺宏電子股份有限公司 | 資料配置方法及應用其之電子系統 |
TWI570559B (zh) * | 2015-12-28 | 2017-02-11 | 點序科技股份有限公司 | 快閃記憶體及其存取方法 |
US20170220252A1 (en) * | 2016-01-29 | 2017-08-03 | Faraday&Future Inc. | Flash emulated eeprom wrapper |
US10643707B2 (en) * | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
JP6785204B2 (ja) * | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN109446109B (zh) * | 2018-10-25 | 2021-06-29 | 江苏华存电子科技有限公司 | 一种混合型记录实体映像表的方法 |
TWI749279B (zh) * | 2018-12-18 | 2021-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11347860B2 (en) * | 2019-06-28 | 2022-05-31 | Seagate Technology Llc | Randomizing firmware loaded to a processor memory |
US11494097B2 (en) * | 2020-12-07 | 2022-11-08 | Western Digital Technologies, Inc. | Fast initialization of secure HMB |
US12019759B2 (en) | 2021-01-07 | 2024-06-25 | Nxp B.V. | Data processing system and method for protecting data in the data processing system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619507A (zh) * | 2003-11-21 | 2005-05-25 | 群联电子股份有限公司 | 令随机存取闪存最佳效能的控制方法 |
US20080104309A1 (en) * | 2006-10-30 | 2008-05-01 | Cheon Won-Moon | Flash memory device with multi-level cells and method of writing data therein |
CN101241474A (zh) * | 2007-02-06 | 2008-08-13 | 三星电子株式会社 | 存储器映射系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
KR100684942B1 (ko) * | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
KR100806343B1 (ko) * | 2006-10-19 | 2008-02-27 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법 |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
KR101028929B1 (ko) * | 2008-12-31 | 2011-04-12 | 성균관대학교산학협력단 | 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치 |
-
2010
- 2010-01-27 US US12/694,463 patent/US8364931B2/en active Active
- 2010-06-01 CN CN201010188270.1A patent/CN101937319B/zh active Active
- 2010-06-02 TW TW099117731A patent/TWI405082B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1619507A (zh) * | 2003-11-21 | 2005-05-25 | 群联电子股份有限公司 | 令随机存取闪存最佳效能的控制方法 |
US20080104309A1 (en) * | 2006-10-30 | 2008-05-01 | Cheon Won-Moon | Flash memory device with multi-level cells and method of writing data therein |
CN101241474A (zh) * | 2007-02-06 | 2008-08-13 | 三星电子株式会社 | 存储器映射系统及方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163175B (zh) * | 2011-04-26 | 2013-02-27 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102163175A (zh) * | 2011-04-26 | 2011-08-24 | 西安交通大学 | 一种基于局部性分析的混合地址映射方法 |
CN102364450A (zh) * | 2011-06-27 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种NandFlash物理地址和逻辑地址映射的方法 |
CN103514095A (zh) * | 2012-06-18 | 2014-01-15 | 记忆科技(深圳)有限公司 | 一种数据库写入ssd 的方法和系统 |
CN103514095B (zh) * | 2012-06-18 | 2016-08-03 | 记忆科技(深圳)有限公司 | 一种数据库写入ssd 的方法和系统 |
CN103678141A (zh) * | 2012-09-05 | 2014-03-26 | 深圳市中兴移动通信有限公司 | 闪存的管理方法和管理系统 |
CN103678141B (zh) * | 2012-09-05 | 2017-11-28 | 努比亚技术有限公司 | 闪存的管理方法和管理系统 |
CN104102585A (zh) * | 2013-04-03 | 2014-10-15 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104102585B (zh) * | 2013-04-03 | 2017-09-12 | 群联电子股份有限公司 | 映射信息记录方法、存储器控制器与存储器储存装置 |
CN104142895B (zh) * | 2013-05-08 | 2017-05-17 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN104142895A (zh) * | 2013-05-08 | 2014-11-12 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN104731794A (zh) * | 2013-12-19 | 2015-06-24 | 北京华易互动科技有限公司 | 一种冷热数据分片挖掘存储方法 |
CN104731794B (zh) * | 2013-12-19 | 2018-07-06 | 北京华易互动科技有限公司 | 一种冷热数据分片挖掘存储方法 |
CN106250052A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN105843695A (zh) * | 2016-03-15 | 2016-08-10 | 深圳市凯立德科技股份有限公司 | 一种数据存储异常的处理方法、装置及设备 |
CN105956090A (zh) * | 2016-04-27 | 2016-09-21 | 中国科学技术大学 | 一种基于i/o自适应的文件系统日志模式 |
CN105956090B (zh) * | 2016-04-27 | 2019-06-11 | 中国科学技术大学 | 一种基于i/o自适应的日志文件系统数据存储方法 |
CN113590504A (zh) * | 2016-06-29 | 2021-11-02 | 北京忆恒创源科技股份有限公司 | 存储日志帧以及日志条目的固态硬盘 |
CN106874220A (zh) * | 2017-02-15 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种nand flash阵列二级地址映射表的实现方法 |
CN111512290A (zh) * | 2017-12-27 | 2020-08-07 | 华为技术有限公司 | 文件页表管理技术 |
CN111512290B (zh) * | 2017-12-27 | 2023-09-22 | 华为技术有限公司 | 文件页表管理技术 |
CN110442529A (zh) * | 2018-05-03 | 2019-11-12 | 爱思开海力士有限公司 | 可配置的存储器系统及配置和使用该存储器系统的方法 |
CN110442529B (zh) * | 2018-05-03 | 2022-12-23 | 爱思开海力士有限公司 | 可配置的存储器系统及配置和使用该存储器系统的方法 |
CN110543435A (zh) * | 2019-09-05 | 2019-12-06 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
CN110543435B (zh) * | 2019-09-05 | 2022-02-08 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
CN113448487A (zh) * | 2020-03-25 | 2021-09-28 | 慧荣科技股份有限公司 | 写入闪存管理表的计算机可读取存储介质、方法及装置 |
WO2022021337A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 闪存控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI405082B (zh) | 2013-08-11 |
US20100332732A1 (en) | 2010-12-30 |
US8364931B2 (en) | 2013-01-29 |
CN101937319B (zh) | 2013-02-20 |
TW201101030A (en) | 2011-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937319B (zh) | 存储器系统及其映射方法 | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
CN100454273C (zh) | 用于块内页面分组的方法及设备 | |
JP5350371B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
US7487303B2 (en) | Flash memory device and associated data merge method | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
CN101300554B (zh) | 非易失性存储器故障的恢复 | |
JP4738038B2 (ja) | メモリカード | |
US20110231595A1 (en) | Systems and methods for handling hibernation data | |
CN101236483A (zh) | 合作存储器管理 | |
JP2011519095A (ja) | マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
CN105718530A (zh) | 文件存储系统及其文件存储控制方法 | |
CN101169751A (zh) | 具有闪存设备的系统及其数据恢复方法 | |
CN101241471A (zh) | 快闪存储器系统及其垃圾收集方法 | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存系统与控制器 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 | |
CN101866320B (zh) | 数据管理方法及使用此方法的闪存储存系统与控制器 | |
CN102567221A (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN103488579B (zh) | 存储器管理方法、存储器控制器与存储器储存装置 |
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 |