CN111813708A - 用于存储装置的块映射系统和方法 - Google Patents
用于存储装置的块映射系统和方法 Download PDFInfo
- Publication number
- CN111813708A CN111813708A CN202010699543.2A CN202010699543A CN111813708A CN 111813708 A CN111813708 A CN 111813708A CN 202010699543 A CN202010699543 A CN 202010699543A CN 111813708 A CN111813708 A CN 111813708A
- Authority
- CN
- China
- Prior art keywords
- type
- ebs
- data
- physical
- storage device
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 140
- 238000003860 storage Methods 0.000 title claims description 46
- 238000000034 method Methods 0.000 title claims description 22
- 230000015654 memory Effects 0.000 claims abstract description 87
- 238000004891 communication Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 abstract description 66
- 238000007726 management method Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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
- 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
Abstract
本申请涉及用于存储装置的块映射系统和方法,其中一种用于闪存存储器的覆盖擦除块(EB)映射机制实现了有效的耗损均衡并减少了挂载操作延迟。在闪存存储器的对应部分中,该覆盖EB映射机制将第一类型EB映射到多个物理擦除块中的一个上。第一类型EB包括多个指针。覆盖EB映射机制还将第二类型EB和第三类型EB中的每个映射到物理EB中未被映射到第一类型EB的一个上。第二类型EB存储系统管理信息,而第三类型EB存储用户数据。当启动闪存存储器时,覆盖EB映射机制扫描对应部分以定位第一类型EB,使用指针以定位系统EB,以及使用系统管理信息以定位数据EB。
Description
本申请是申请日为2015年10月12日,申请号为201580048774.4,发明名称为“覆盖擦除块映射”的申请的分案申请。
本申请是于2014年10月20日提交的美国专利申请14/518,560的国际申请,该美国专利申请以引用方式被全部并入本文。
技术领域
本申请涉及覆盖擦除块映射。
背景技术
由于闪存存储器在没有电源的情况下保持其中存储的信息,因此被认为是“非易失”存储器。同样地,闪存存储器对于多种类型的装置,例如,可去除存储装置和移动计算装置,已经变得日益普及。与其他一次性可编程(one-time programmable,OTP)的非易失存储器不同,闪存存储器可以被重写。可以通过擦除其中的存储器单元中的一个或更多个块并且然后对块内的一个或更多个存储器单元进行写入,来将数据存储在闪存存储器中。存储器单元的块通常被称为擦除块(erase block,EB)。对擦除块(EB)进行编程和擦除的过程被称为编程/擦除(P/E)循环。当EB经历更多P/E循环时闪存存储器的一些特征趋于降低。例如,闪存存储器在没有电源的情况下可能不能将数据存储无限长时间。而且,闪存存储器的编程和擦除特征也可能降低。闪存存储器的寿命因此由每个EB经历的P/E循环的最大数目限制。
为了延长闪存存储器的寿命,可以采用具有EB映射机制(mapping scheme)的闪存文件系统(flash file system,FFS)。EB映射机制的其中一个功能是执行称作耗损均衡(wear-leveling,WL)的技术,其中,逻辑EB被映射到物理EB上。具体地,将频繁被写的逻辑EB映射到具有低P/E循环的物理EB上,将非频繁被写的逻辑EB映射到具有高P/E循环的物理EB上。EB映射机制力图在物理EB上均匀分配P/E循环,使得没有EB过早故障。不同的EB映射机制导致不同的WL效率,其中,WL效率可以被认为是P/E循环分布在物理EB上的均匀性。
EB映射机制的另一个功能是定义如何在EB之间分配用户数据和系统管理信息以及如何将用户数据和系统管理信息存储到EB中。除了其他事情,系统管理信息还记录闪存存储器中用户数据的物理位置。存储用户数据的EB可以被称为数据EB。存储系统管理信息的EB可以被称为系统EB。对数据EB和系统EB的分配导致FFS的挂载操作的挂载延迟,影响闪存存储器的启动时间。当启动闪存存储器时,挂载操作通常包括定位系统EB,其依次指向数据EB,从而使得用户数据对于用户可获得。挂载延迟是完成挂载操作所花费的时间。
发明内容
在本文中,提供一种方法、系统和计算机程序产品实施方案,和/或其组合及子组合,用于通过提供有效的耗损均衡(WL)以提高闪存存储器的耐久性,以及通过减少挂载延迟以增强闪存存储器的启动性能。
一种实施方案包括一种用于闪存存储器的擦除块(EB)映射方法,所述闪存存储器包括多个物理EB。将包括多个指针的超级系统EB映射到闪存存储器的对应部分中的物理EB中的一个上。将多个系统EB和数据EB中的每个映射到物理EB中未映射到超级系统EB的一个上。系统EB存储系统管理信息,而数据EB存储用户数据。当启动闪存存储器时,扫描对应部分以定位超级系统EB。随后使用指针以定位系统EB,以及使用系统管理信息以定位数据EB。还将一个或更多个预留(reserved)EB映射到物理EB上。预留EB中的每个都是用于再生(reclaim)超级系统EB、系统EB或数据EB的空物理EB。如果在对应部分内没有可获得的预留EB以再生超级系统EB,则首先再生系统EB或数据EB,以在对应部分内生成预留EB。
另一个实施方案包括一种系统,其具有闪存存储器和EB映射模块。闪存存储器包括多个物理EB。EB映射模块将包括多个指针的超级系统EB映射到闪存存储器的对应部分中的物理EB中的一个上。EB映射模块将多个系统EB和数据EB中的每个映射到物理EB中未映射到超级系统EB的一个上。系统EB存储系统管理信息,而数据EB存储用户数据。当启动闪存存储器时,EB映射模块扫描对应部分以定位超级系统EB。随后,EB映射模块使用指针以定位系统EB,以及使用系统管理信息以定位数据EB。EB映射模块还将一个或更多个预留EB映射到物理EB上。预留EB中的每个都是用于再生超级系统EB、系统EB或数据EB的空物理EB。如果在闪存存储器的对应部分内没有可获得的预留EB以再生超级系统EB,则EB映射模块首先再生系统EB或数据EB,以在对应部分内生成预留EB。
一个进一步的实施方案包括一种有形计算机可读装置,其具有在其上存储的指令,当该指令由至少一个计算装置执行时,使得计算装置进行EB映射操作。EB映射操作将包括多个指针的超级系统EB映射到闪存存储器的对应部分中的多个物理EB中的一个上。EB映射操作将多个系统EB和数据EB中的每个映射到物理EB中未映射到超级系统EB的一个上。系统EB存储系统管理信息,而数据EB存储用户数据。当启动闪存存储器时,EB映射操作扫描对应部分以定位超级系统EB。随后,EB映射操作使用指针以定位系统EB,以及使用系统管理信息以定位数据EB。EB映射操作还将一个或更多个预留EB映射到物理EB上。预留EB中的每个都是用于再生超级系统EB、系统EB或数据EB的空物理EB。如果在对应部分内没有可获得的预留EB以再生超级系统EB,则EB映射操作首先再生系统EB或数据EB,以在对应部分内生成预留EB。
以下参考附图详细描述本发明的进一步的特征和优点,以及本发明的各种实施方案的结构和操作。应当注意本发明不限于本文中描述的特定实施方案。本文中介绍的这样的实施方案只是用于例证的目的。根据本文中包含的教导,另外的实施方案对本领域技术人员会是明显的。
本申请进一步提供了以下内容:
1)一种方法,包括:将包括多个指针的第一类型擦除块(EB)映射到存储器的对应部分中的多个物理EB中的一个上;以及将第二类型EB和第三类型EB中的每个映射到所述物理EB中未映射到所述第一类型EB的一个上,所述第二类型EB存储系统管理信息,而所述第三类型EB存储用户数据。
2)根据项1)所述的方法,还包括,当所述存储器启动时:扫描所述对应部分以定位所述第一类型EB;使用所述指针以定位所述第二类型EB;以及使用所述系统管理信息以定位所述第三类型EB。
3)根据项1)所述的方法,还包括:将第四类型EB映射到所述物理EB上;其中,所述第四类型EB中的每个都是用于再生所述第一类型EB、所述第二类型EB和所述第三类型EB中的一个的空物理EB。
4)根据项3)所述的方法,还包括,响应于所述第一类型EB是满的而且所述第四类型EB中的一个或更多个被映射在所述对应部分内:分配被映射在所述对应部分内的所述第四类型EB中的一个以再生所述第一类型EB。
5)根据项3)所述的方法,还包括,响应于所述第一类型EB是满的、没有第四类型EB被映射在所述对应部分内而且一个或更多个第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第二类型EB中的一个或更多个,以在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个以再生所述第一类型EB。
6)根据项3)所述的方法,还包括,响应于所述第一类型EB是满的而且没有第四类型EB以及没有第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第三类型EB中的一个或更多个,以在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个,以再生所述第一类型EB。
7)一种系统,包括:存储器,其包括多个物理EB;以及EB映射模块,其被配置为:将包括指针的第一类型EB映射到所述存储器的对应部分中的、所述物理EB中的一个上,以及将第二类型EB和第三类型EB中的每个映射到所述物理EB中的未映射到所述第一类型EB的一个上,其中:所述第二类型EB存储系统管理信息,以及所述第三类型EB存储用户数据。
8)根据项7)所述的系统,所述EB映射模块还被配置为,当所述存储器启动时:扫描所述对应部分以定位所述第一类型EB;使用所述指针以定位所述第二类型EB;以及使用所述系统管理信息以定位所述第三类型EB。
9)根据项7)所述的系统,所述EB映射模块还被配置为:将第四类型EB映射到所述物理EB上,其中,所述第四类型EB中的每个都是用于再生所述第一类型EB、所述第二类型EB和所述第三类型EB中的一个的空物理EB。
10)根据项9)所述的系统,所述EB映射模块还被配置为响应于所述第一类型EB是满的而且一个或更多个第四类型EB被映射在所述对应部分内:分配被映射在所述对应部分内的所述第四类型EB中的一个以再生所述第一类型EB。
11)根据项9)所述的系统,所述EB映射模块还被配置为响应于所述第一类型EB是满的、没有第四类型EB被映射在所述对应部分内而且一个或更多个第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第二类型EB中的一个或更多个,以在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个以再生所述第一类型EB。
12)根据项9)所述的系统,所述EB映射模块还被配置为响应于所述第一类型EB是满的而且没有第四类型EB以及没有第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第三类型EB中的一个或更多个,从而在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个,以再生所述第一类型EB。
13)一种有形计算机可读装置,包括多个物理EB并且具有在其上存储的指令,当该指令由至少一个计算装置执行时,使得所述至少一个计算装置进行EB映射操作,所述EB映射操作包括:将包括指针的第一类型EB映射到所述计算机可读装置的对应部分中的物理EB中的一个上;以及将第二类型EB和第三类型EB中的每个映射到所述物理EB中未映射到所述第一类型EB的一个上,其中:所述第二类型EB存储系统管理信息,以及所述第三类型EB存储用户数据。
14)根据项13)所述的计算机可读装置,所述EB映射操作还包括,当所述存储器启动时:扫描所述对应部分以定位所述第一类型EB;使用所述指针以定位所述第二类型EB;以及使用所述系统管理信息以定位所述第三类型EB。
15)根据项13)所述的计算机可读装置,所述EB映射操作还包括:
将第四类型EB分别映射到所述物理EB上,其中,所述第四类型EB中的每个都是用于再生所述第一类型EB、所述第二类型EB和所述第三类型EB中的一个的空物理EB。
16)根据项15)所述的计算机可读装置,所述EB映射操作还包括响应于所述第一类型EB是满的而且一个或更多个第四类型EB被映射在所述对应部分内:分配被映射在所述对应部分内的所述第四类型EB中的一个以再生所述第一类型EB。
17)根据项15)所述的计算机可读装置,所述EB映射操作还包括响应于所述第一类型EB是满的、没有第四类型EB被映射在所述对应部分内而且一个或更多个第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第二类型EB中的一个或更多个,以在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个以再生所述第一类型EB。
18)根据项15)所述的计算机可读装置,所述EB映射操作还包括响应于所述第一类型EB是满的而且没有第四类型EB且没有第二类型EB被映射在所述对应部分内:通过在所述对应部分之外分配所述第四类型EB中的一个或更多个以再生所述对应部分内的所述第三类型EB中的一个或更多个,从而在所述对应部分内生成所述第四类型EB中的一个或更多个;以及分配在所述对应部分内生成的所述第四类型EB中的一个,以再生所述第一类型EB。
附图说明
并入本文且形成部分详细说明的附图示出了本发明,并且连同说明书,进一步用来解释本发明的原理并使得本领域技术人员能够做出并使用本发明。
图1示出了根据一个实施例的擦除块(EB)映射机制。
图2示出了根据一个实施例的EB映射机制的EB擦除计数和启动时间。
图3示出了根据一个实施例的EB映射机制。
图4示出了根据一个实施例的EB映射机制的EB擦除计数和启动时间。
图5示出了根据一个实施例的EB映射机制。
图6示出了根据一个实施例的EB映射机制的EB擦除计数和启动时间。
图7是根据一个实施例的EB映射机制的寻址层次结构的图示。
图8示出了根据一个实施例的超级系统EB的垃圾收集。
图9示出了根据一个实施例的超级系统EB的垃圾收集。
图10示出了根据一个实施例的超级系统EB的垃圾收集。
图11是根据一个实施例的示出用于超级系统EB的垃圾收集的算法的流程图。
图12示出了根据各种实施方案的多个EB映射机制的EB擦除计数和挂载延迟的比较。
图13是用于实现各种实施方案的示例计算机系统。
当连同附图考虑时,通过以下提出的详细描述,本发明的特征和优点将变得更明显,其中,自始至终类似的参考字符标识对应的元素。在附图中,类似的参考数字一般指示相同的、功能上类似的,和/或结构上类似的元素。其中元素首次出现的附图由对应参考数字中最左边的数字指示。
具体实施方式
本说明书公开了包括本发明的特征的一个或更多个实施方案。公开的实施方案仅仅示例了本发明。本发明的范围不限于公开的实施方案。本发明由附到本文的权利要求限制。
描述的实施方案,详细说明中对“一个实施方案”、“一个实施方式”、“一个实施例”等的参考,指示描述的实施方案可以包括具体的特征、结构、或特性,但是每个实施方案可以并不必然地包括该具体的特征、结构、或特性。而且,这样的词组并不必然地指相同的实施方案。进一步,当结合实施方案描述该具体的特征、结构、或特性时,应当理解无论是否明确地描述,结合其他实施方案实施这样的特征、结构、或特性均在本领域技术人员的知识内。
本发明的实施方案可以以硬件、固件、软件、或其任何组合实施。本发明的实施方案也可以被实施为存储在机器可读介质上的指令,其可以由一个或更多个处理器读取并执行。机器可读介质可以包括用于存储或发送机器(例如,计算装置)可读形式的信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存存储器装置;电学、光学、声学或其他形式的传播信号等。进一步,固件、软件、例程、指令可以在本文中被描述为进行特定行为。然而,应当理解这样的描述仅仅是为了方便,这样的行为实际上是由执行固件、软件、例程、指令等的计算装置、处理器、控制器或其他装置而产生。
分片(Split)EB映射机制
根据一个实施方案,图1示出了分片擦除块(EB)映射机制100的例子,其可以被并入闪存存储器的闪存文件系统(FFS)中。分片擦除EB映射机制100可以被视为逻辑映射102或物理映射112。
逻辑映射102描绘了逻辑数据EB 104、逻辑预留数据EB 106、逻辑系统EB 108和逻辑预留系统EB 110的示例安排,其中,每个EB都是存储器单元的块。分片EB映射机制100将逻辑数据EB 104和逻辑预留数据EB 106映射到物理数据EB 114上,而将逻辑系统EB 108和逻辑预留系统EB 110映射到物理系统EB 116上。
物理映射112描绘了物理数据EB 114和物理系统EB 116的结果安排的例子。在具有使用分片EB映射机制的FFS的闪存存储器中,由于物理数据EB 114和物理系统EB 116典型地占据闪存存储器的专用部分,并且不共享任何EB,因此使用术语“分片”。而且,虽然未在图1中明确示出,但是闪存存储器典型地包括与数据EB相比相对较少的物理系统EB 116,该物理系统EB 116包括预留系统EB。
逻辑数据EB 104存储用户数据,而逻辑系统EB存储系统管理信息,除了其他事情,该逻辑系统EB还记录闪存存储器中用户数据的物理位置。在分片EB映射机制100中,逻辑预留数据EB 106是用于逻辑数据EB 104的垃圾收集的空EB,其中,垃圾收集是再生不再使用的存储器单元的过程。在垃圾收集操作期间,可以通过向一个或更多个逻辑预留数据EB106中传送逻辑数据EB 104内的有效数据,以再生一个或更多个逻辑数据EB104。随后,初始逻辑数据EB 104可以被擦除(即,再生),形成新的逻辑预留数据EB 106。类似地,可以通过向一个或更多个逻辑预留系统EB110中传送逻辑系统EB 108内的有效数据,以再生一个或更多个逻辑系统EB 108。然后,初始逻辑系统EB 108可以被擦除,形成新的逻辑预留系统EB110。
在图2中,图表200示出了在多个编程/擦除(P/E)循环之后与物理数据EB 114和物理系统EB 116对应的示例擦除计数。如箭头202所示,与对于物理数据EB 114的擦除计数相比,对于物理系统EB 116的擦除计数可以相对更高,导致两个部分之间不想要的且不均匀的耗损均衡。在此例子中,分片EB映射机制100在每个部分上独立地进行数据EB和系统EB的耗损均衡。具体地,在垃圾收集期间,将频繁被写的逻辑数据EB映射到具有低P/E循环的预留数据EB上,将非频繁被写的逻辑数据EB映射到具有高P/E循环的预留数据EB上。类似地,将频繁被写的逻辑系统EB映射到具有低P/E循环的预留系统EB上,将非频繁被写的逻辑系统EB映射到具有高P/E循环的物理EB上。只要存在相对较少的物理系统EB 116,那么与物理数据EB 114相比,物理系统EB 116就承受更高的P/E循环。
然而,分片EB映射机制100允许闪存存储器具有相对较快的启动时间。在挂载操作期间,只需要扫描闪存存储器的特定部分,如箭头204所示,以定位有效系统EB。因此,分片EB映射机制100实现了减少的挂载延迟,但是在闪存存储器上无效率的WL。
统一EB映射机制
根据一个实施方案,图3示出了示例统一EB映射机制300,其可以被视为逻辑映射302或物理映射312。与分片EB映射机制100不同,如逻辑映射302所示,统一EB映射机制300包括一套逻辑公共预留EB 306,替代分离的预留数据EB和预留系统EB。逻辑公共预留EB306可以用于逻辑数据EB 304或逻辑系统EB 308的垃圾收集。而且,统一EB映射机制300将逻辑数据EB 304、逻辑公共预留EB 306和逻辑系统EB 308映射到任何物理EB 318上。与分片EB映射机制100不同,统一EB映射机制300不包括物理映射312中数据EB与系统EB之间的划界。
在图4中,图表400示出了对于物理EB 318的示例擦除计数。如箭头402所示,统一EB映射机制300通常导致在所有EB上的均匀的耗损。通过将频繁被写的逻辑系统EB 308或逻辑数据EB 304映射到具有低擦除计数的逻辑公共预留EB 306上,将非频繁被写的逻辑系统EB 308或逻辑数据EB 304映射到具有高擦除计数的逻辑公共预留EB 306上,几乎一致的擦除计数得自于统一EB映射机制300在闪存存储器上进行WL操作的能力。
然而,统一EB映射机制300的缺点是由箭头404所示的相对较慢的启动时间。该较慢的启动时间是由于统一EB映射机制300在挂载操作期间需要扫描全部物理EB 318以定位有效系统EB的事实。因此,统一EB映射机制300实现了有效率的WL,但是冗长的挂载延迟。
覆盖EB映射机制
根据一个实施例,现在根据图5到图12描述覆盖EB映射机制,该机制能够同时实现减少的挂载延迟和有效率的WL。
图5是示例覆盖EB映射机制500的表示,其与图3中的统一EB映射机制300类似,除了闪存存储器中的其中一个EB是变型的系统EB。该变型的系统EB被示为图5中的超级系统EB 510。可以从下面的描述中明显看出,超级系统EB 510可以实现挂载延迟的减少。在图5中,如逻辑映射502所示,覆盖EB映射机制包括一套逻辑公共预留EB 506。覆盖EB映射机制500可以将公共预留EB不仅用于数据EB和系统EB的垃圾收集,而且用于超级系统EB 510的垃圾收集。如在统一EB映射机制300中的,可以将逻辑数据EB 504和逻辑系统EB 508映射到任何物理EB 518上,除了覆盖EB映射机制500将超级系统EB 510映射到闪存存储器的特定部分之外。在物理映射512中,该特定部分被示为被覆盖到物理EB 518上并相应地被标注为覆盖EB区域520。
在图6中,图表600示出对于物理EB 518的示例擦除计数。考虑到覆盖EB映射机制500可以使用公共预留EB在物理EB 518上进行公共WL操作,可以实现均匀耗损,如箭头602所示。这与统一EB映射300类似。然而,与统一EB映射300不同,覆盖EB映射机制500可以获得相对快的启动时间,如箭头604所示。这是因为,在挂载操作期间,覆盖EB映射机制500只扫描覆盖EB区域520以定位超级系统EB 510,超级系统EB 510包括指向有效系统EB的多个指针606。指针606可以包括元数据,除了其他事情,该元数据还可以包括对于有效系统EB的地址信息。因此,一旦超级系统EB 510被定位,则指针606可以用来在物理EB 518中间定位有效系统EB。
图7是覆盖EB映射机制500的示例寻址层次结构700的描绘。如箭头702所示,数据EB典型地承受最高写回量或P/E循环,然后分别是系统EB和超级系统EB。当擦除一个或更多个数据EB时,在系统EB内只记录新近再生的EB和新的数据EB的位置信息。因此,与数据EB相比,系统EB用完自由的存储器单元花费更长时间。类似地,当擦除系统EB时,将超级系统EB内的指针更新为指向新的系统EB。从而,与系统EB相比,超级系统EB用完自由的存储器单元花费更长时间。这导致了寻址层次结构700。
图7也示出当与数据EB相比时,示例闪存存储器如何典型地具有相对较少的系统EB。较少的系统EB不仅意味着更快的启动时间,而且意味着更多的可以用于数据EB的剩余EB。因此,具有较少系统EB的闪存存储器可以为用户数据提供更多空间。然而,较少的系统EB也意味着与数据EB相比,系统EB可以承受更高的P/E循环。因此,闪存存储器的制造商和用户通常需要在系统EB的数目和数据EB的分配之间做出权衡,这取决于他们对于运行速度(即,更少数目的系统EB和更快的启动时间)或耐久性(即,更高数目的系统EB和更少的P/E循环)的需要。
本领域技术人员应当了解,当闪存存储器的存储容量提高时(即,擦除块的数目增加),一个超级系统EB可能不能存储指向全部有效系统EB所需要的全部信息。在此情况下,可以使用多个超级系统EB。多个超级系统EB可以被限制到闪存存储器的特定区域,与图5中的覆盖EB区域520类似。在挂载操作期间,可以扫描特定区域以定位指向有效系统EB的全部的超级系统EB。
可选择地,另一种变型的系统EB——例如超级超级系统EB(super super systemEB)——可以用来指向多个超级系统EB。超级超级系统EB可以被限制到特定区域,而超级系统EB可以位于闪存存储器中任何位置。在挂载操作期间,可以扫描特定区域以定位超级超级系统EB,该超级超级系统EB指向超级系统EB,该超级系统EB依次指向有效系统EB。本领域技术人员应当进一步了解,当闪存存储器的存储容量更多地增加时,可以扩展具有指向多个EB的一个EB的树概念,而不扩大在挂载操作期间待扫描的区域。
超级系统EB垃圾收集算法
在一个例子中,在覆盖EB映射机制500中,确保将超级系统EB 510映射到覆盖EB区域520上。因此,应当根据特定算法执行超级系统EB 510的垃圾收集。图8到图10示出了由这样的用于进行超级系统EB 510的垃圾收集的算法涉及的不同的示例场景。
根据一个实施方案,图8示出了超级系统EB 510的示例垃圾收集操作800的例子。物理映射812示出了在多个P/E循环之后,数据EB、系统EB、公共预留EB和超级系统EB 510的分配的例子。在此场景中,覆盖EB区域520包含超级系统EB 510和两个公共预留EB。超级系统EB 510被标注为“旧的”,因为,例如,超级系统EB 510可以是满的(即,可以已用完自由的存储器单元)。在步骤822,可以通过分配覆盖EB区域520内的公共预留EB中的一个以及从“旧的”超级系统EB向分配的公共预留EB传送有效数据,以进行垃圾收集。因此,“新的”超级系统EB被形成并保留在覆盖EB映射机制500要求的覆盖EB区域520内。在步骤824,可以擦除“旧的”超级系统EB以形成公共预留EB。
根据一个实施方案,图9示出了超级系统EB 510的另一个示例垃圾收集操作900。物理映射912示出了在多个P/E循环之后,数据EB、系统EB、公共预留EB和超级系统EB 510的示例分配。在此场景中,覆盖EB区域520包含超级系统EB 510和两个系统EB。与图8中的场景类似,例如,超级系统EB 510可以是满的并被标注为“旧的”。然而,在此示例场景中,在覆盖EB区域520内没有公共预留EB以便于进行“旧的”超级系统EB的垃圾收集。需要在覆盖EB区域520内首先生成一个或更多个公共预留EB。因此,在步骤922,可以在覆盖EB区域520之外分配一个或更多个公共预留EB,以再生位于覆盖EB区域520内的系统EB中的一个或更多个。图8示出了,但不限于,正在被再生的两个系统EB。然后,在步骤924,可以通过擦除已被再生的系统EB,生成一个或更多个公共预留EB。随后,在步骤926,可以分配新近生成的公共预留EB中的一个,以再生“旧的”超级系统EB,形成“新的”超级系统EB。在步骤928,可以擦除“旧的”超级系统EB,以在覆盖EB区域520内形成公共预留EB。
根据一个实施方案,图10示出了超级系统EB 510的另一个示例垃圾收集操作1000。物理映射1012示出了在多个P/E循环之后,数据EB、系统EB、公共预留EB和超级系统EB510的示例分配。在此示例场景中,覆盖EB区域520包含超级系统EB 510和两个数据EB。与图8中的场景类似,例如,超级系统EB 510可以是满的并被标注为“旧的”。然而,在此示例场景中,在覆盖EB区域520内没有公共预留EB以便于进行“旧的”超级系统EB的垃圾收集。需要在覆盖EB区域520内首先生成一个或更多个公共预留EB。因此,在步骤1022,可以分配在覆盖EB区域520之外的一个或更多个公共预留EB,以再生覆盖EB区域520内的数据EB中的一个或更多个。图10示出了,但不限于,正在被再生的一个数据EB。然后,在步骤1024,可以通过擦除已被再生的数据EB,以生成一个或更多个公共预留EB。随后,在步骤1026,可以分配新近生成的公共预留EB中的一个,以再生“旧的”超级系统EB,形成“新的”超级系统EB。在步骤1028,可以擦除“旧的”超级系统EB,以在覆盖EB区域520内形成公共预留EB。
根据一个实施例,图11示出了由覆盖EB映射机制500采用以进行超级系统EB的垃圾收集的算法1100。图11应当参考图8到图10描述,但是应当理解,算法1100不限于图8-图10中描绘的实施例。
如图11所示,算法1100开始于步骤1102,从步骤1102,控制进行到步骤1104。在步骤1104,例如以随机存取存储器(RAM)表的形式,检索公共预留EB的位置。在步骤1106,算法1100确定公共预留EB中的一个或更多个是否位于覆盖EB区域内,该覆盖EB区域如图8-图10中的覆盖EB区域520所示。
如果在覆盖EB区域内存在一个或更多个公共预留EB,则算法1100转到步骤1108,其中,将公共预留EB中的一个分配用于下一个超级系统EB。在步骤1110中,向下一个超级系统EB中传送来自旧的超级系统EB的有效数据。步骤1108和步骤1110与图8中的步骤822对应。在步骤1112,擦除旧的超级系统EB,以生成公共预留EB。步骤1112与图8中的步骤824对应。
如果,在步骤1106,确定在覆盖EB区域内没有公共预留EB,则算法1100转到步骤1116,其中,以例如RAM表的形式检索系统EB的位置。在步骤1118,算法1100确定是否系统EB中的一个或更多个位于覆盖EB区域内。
如果在覆盖EB区域内存在一个或更多个系统EB,则算法1100转到步骤1120。在步骤1120,再生系统EB中的一个或更多个,以在覆盖EB区域内生成一个或更多个公共预留EB。步骤1120与图9中的步骤922和步骤924对应。一旦在覆盖EB区域内形成一个或更多个公共预留EB,算法1100就进行步骤1108到步骤1112,以再生旧的超级系统EB。
如果,在步骤1118,确定在覆盖EB区域内没有系统EB,则算法1100转到步骤1122,其中,再生在覆盖EB区域内的一个或更多个数据EB,以生成一个或更多个公共预留EB。步骤1122与图10中的步骤1022和步骤1024对应。算法1100然后进行步骤1108到步骤1112,以再生旧的超级系统EB。算法1100结束于步骤1114。
EB映射机制比较
图12提供了当应用于,但不限于,64兆字节(MB)NOR闪存存储器时,分片EB映射机制100、统一EB映射机制300和覆盖EB映射机制500之间的比较。
图表1200示出了对于三种机制的擦除计数,而直方图1202示出了它们的挂载延迟。在图表1200中,可以看到统一EB映射机制300和覆盖EB映射机制500在EB上具有类似的擦除计数。然而,对于分片EB映射机制100,一部分EB具有更高的擦除计数,如箭头1204所示。这一部分EB对应于在前描述的系统EB。
在直方图1202中,分片EB映射机制100和覆盖EB映射机制500具有类似的挂载延迟,但是统一EB映射机制300具有更高的挂载延迟。如在前描述的,在挂载操作期间,分片EB映射机制100和覆盖EB映射机制500必须扫描更小部分EB以定位有效系统EB,而统一EB映射机制300必须扫描全部EB以定位有效系统EB。
此比较确认了覆盖EB映射机制500实现了有效率的WL和减少的挂载延迟。虽然此比较使用了64MB NOR闪存存储器,但是对于其他闪存存储器可以得出类似的结论,而无论它们的存储容量或类型。
示例计算机系统
例如,可以使用一个或更多个熟知的计算机系统,例如图13中示出的计算机系统1300,实现各种实施方案。计算机系统1300可以是能够执行本文中描述的功能的任何熟知的计算机,例如可从国际商业机器公司(International Business Machines)、Apple、Sun、HP、Dell、Sony、Toshiba等获得的计算机。
计算机系统1300包括一个或更多个处理器(也称为中央处理单元,或CPU),例如处理器1304。处理器1304连接到通信基础设施或总线1306。
一个或更多个处理器1304可以每个都是图形处理单元(GPU)。在一个实施方案中,GPU是设计用来在电子装置上快速处理数学密集型应用的专门电子电路的处理器。GPU可以具有对于大数据块的并行处理有效的高度并行结构,例如计算机图形学应用、图像和视频共同的数学密集型数据。
计算机系统1300也包括用户输入/输出装置1303,例如监视器、键盘、定点装置等,其通过用户输入/输出接口1302与通信基础设施1306通信。
计算机系统1300也包括主或基本存储器1308,例如随机存取存储器(RAM)。主存储器1308可以包括一个或更多个级别的缓存。主存储器1308在其中存储了控制逻辑(即,计算机软件)和/或数据。
计算机系统1300也可以包括一个或更多个辅助存储装置或存储器1310。辅助存储器1310可以包括,例如,硬盘驱动1312和/或可去除存储装置或驱动1314。可去除存储驱动1314可以是软盘驱动、磁带驱动、光盘驱动、光学存储装置、磁带备份装置和/或任何其他存储装置/驱动。
可去除存储驱动1314可以与可去除存储单元1318相互作用。可去除存储单元1318包括已经在其上存储计算机软件(控制逻辑)和/或数据的计算机可用或可读存储装置。可去除存储单元1318可以是软盘、磁带、光盘、DVD、光学存储盘和/或任何其他计算机数据存储装置。可去除存储驱动1314以熟知方式从可去除存储单元1318读取和/或对可去除存储单元1318进行写入。
根据一个实施例,辅助存储器1310可以包括用于使得计算机系统1300能够访问计算机程序和/或其他指令和/或数据的其他手段、工具或其他途径。这样的手段、工具或其他途径可以包括,例如,可去除存储单元1322和接口1320。可去除存储单元1322和接口1320的例子可以包括程序盒式存储器和盒式接口(例如在视频游戏装置中发现的那些)、可去除存储器芯片(例如EPROM或PROM)和关联的插槽、存储棒和USB端口、存储卡和关联的存储卡槽,和/或任何其他可去除存储单元和相关的接口。
计算机系统1300可以进一步包括通信或网络接口1324。通信接口1324使得计算机系统1300能够与远程装置、远程网络、远程实体等的任何组合(单独地和总体地由参考数字1328标记)通信和交互。例如,通信接口1324可以使得计算机系统1300能够在通信路径1326上与远程装置1328通信,该通信路径1326可以是有线的和/或无线的,而且可以包括LAN、WAN、Internet等的任何组合。可以通过通信路径1326将控制逻辑和/或数据向和从计算机系统1300发送。
在一个实施方案中,包括有形计算机可用或可读介质的产品的有形设备或物件在本文中也被称作计算机程序产品或程序存储装置,该介质具有在其上存储的控制逻辑(软件)。这包括,但不限于,计算机系统1300、主存储器1308、辅助存储器1310,和可去除存储单元1318和1322,以及体现前述任何组合的产品的有形物件。当由一个或更多个数据处理装置(例如计算机系统1300)执行时,这样的控制逻辑使得这样的数据处理装置如本文中描述的运行。
根据本公开中包含的教导,对本领域技术人员明显的是,如何使用不同于图13中示出的数据处理装置、计算机系统和/或计算机体系结构做出和使用本发明。具体地,实施方案可以与不同于本文中描述的软件、硬件,和/或操作系统实现相互合作。
结论
应当理解详细描述部分,而不是发明概述和摘要部分(如果有的话),旨在用来解释权利要求。发明概述和摘要部分(如果有的话)可以提出发明人考虑的本发明的一个或更多个但不是全部的实施例,因此,并不旨在以任何方式限制本发明或附的权利要求。
虽然在这里对于示例领域和应用已经参考实施例描述了本发明,但是应当理解本发明并不限于其。对其的其他实施方案和变型是可能的,并在本发明的范围和精神内。例如,在不限制此段的一般性的情况下,实施方案不限于图中示出和/或本文中描述的软件、硬件、固件,和/或实体。进一步,实施方案(本文中无论是否明确描述的)对超过本文中描述的例子的领域和应用具有重要的实用性。
本文中已经借助于示出实现其详细说明的功能和关系的功能构件描述了实施方案。为了便于描述,已经在这里随意地定义了这些功能构件的边界。只要适当地执行详细说明的功能和关系(或其等价物),就可以定义可选择的边界。并且,可选择实施方案可以使用与本文中描述的那些不同的顺序以执行功能块、步骤、操作、方法等。
本发明的宽度和范围不应当由任何上述实施例限制,而是仅仅根据权利要求极其等价物定义。
Claims (20)
1.一种存储装置,包括:
多个物理擦除块(EB),包括
多个数据EB,其被配置为存储用于所述存储装置的用户的数据,
至少一个第一类型系统EB,其被配置为存储用于所述多个数据EB的系统管理信息,以及
至少一个第二类型系统EB,其被配置为存储用于定位所述至少一个第一类型系统EB的元数据;其中
所述至少一个第二类型系统EB被限制为所述多个物理擦除块的子集,所述子集具有预定的物理映射,以及
所述至少一个第一类型系统EB和所述多个数据EB不限于物理擦除块的所述子集。
2.根据权利要求1所述的存储装置,其中所述存储装置是计算机系统的存储驱动。
3.根据权利要求1所述的存储装置,其中所述多个物理擦除块包括闪存存储器。
4.根据权利要求1所述的存储装置,其中所述元数据包括指向所述至少一个第一类型系统EB的至少一个指针。
5.根据权利要求4所述的存储装置,其中所述至少一个指针包括所述至少一个第一类型系统EB的地址信息。
6.根据权利要求1所述的存储装置,还包括:
存储器映射模块,其被配置为至少在所述存储装置的启动操作中扫描具有所述预定的物理映射的物理擦除块的所述子集以定位所述至少一个第二类型系统EB。
7.根据权利要求6所述的存储装置,其中所述存储器映射模块进一步被配置为在定位所述至少一个第二类型系统EB时,使用所述元数据定位所述至少一个第一类型系统EB。
8.根据权利要求1所述的存储装置,其中:
所述多个物理EB还包括
多个第一类型系统EB,
包含第一元数据的第二类型系统EB,以及
包含第二元数据的至少一个第三类型系统EB;其中
所述至少一个第三类型系统EB不限于物理擦除块的所述子集。
9.根据权利要求8所述的存储装置,还包括:
存储器映射模块,其被配置为至少在所述存储装置的启动操作中,
扫描具有所述预定的物理映射的物理擦除块的所述子集以定位所述第二类型系统EB,
使用所述第二类型系统EB的所述第一元数据定位所述至少一个第三类型系统EB,以及
使用来自所述至少一个第三类型系统EB的所述第二元数据定位所述至少一个第一类型系统EB。
10.根据权利要求1所述的存储装置,其中:
所述多个数据EB、所述至少一个第一类型系统EB和所述至少一个第二类型系统EB各自具有到相应物理擦除块的逻辑映射。
11.一种操作存储装置的方法,包括:
提供多个物理擦除块(EB),每个物理擦除块包括作为块可擦除的多个非易失性存储器单元;和
通过操作所述存储装置的存储器映射模块,
仅扫描用于第二类型系统EB的所述多个物理擦除块的总物理映射的第一部分,
使用来自所述第二类型系统EB的元数据定位第一类型系统EB,
使用来自所述第一类型系统EB的系统数据定位数据EB,以使存储在所述存储装置中的用户数据对用户可用;其中
所述第一类型系统EB和所述数据EB能够位于由所述存储器映射模块扫描的所述总物理映射的所述第一部分的内部或外部。
12.根据权利要求11所述的方法,其中所述存储装置是计算机系统的存储驱动。
13.根据权利要求11所述的方法,其中所述多个物理擦除块包括闪存存储器。
14.根据权利要求11所述的方法,其中在所述存储装置的启动操作中执行仅所述总物理映射的所述第一部分的所述扫描。
15.根据权利要求11所述的方法,其中所述元数据包括指向所述第一类型系统EB的指针。
16.根据权利要求15所述的方法,其中所述指针包括所述第一类型系统EB的地址信息。
17.根据权利要求11所述的方法,其中使用来自所述第二类型系统EB的元数据定位所述第一类型系统EB包括
使用来自所述第二类型系统EB的元数据定位第三类型系统EB,以及
使用来自所述第三类型系统EB的元数据定位所述第一类型系统EB。
18.一种系统,包括:
至少一个处理器;
至少一个存储器,其通过通信基础设施耦合到所述至少一个处理器;以及
至少一个存储装置,其耦合到所述通信基础设施并包括多个物理擦除块(EB),每个物理擦除块包括被配置为一起被擦除的非易失性存储器单元,所述多个物理擦除块具有包括覆盖区域和非覆盖区域的物理映射,并且包括
多个数据EB,其被配置为存储数据,
第一类型系统EB,其被配置为存储用于所述多个数据EB的系统管理信息,以及
至少一个第二类型系统EB,其被配置为存储用于定位所述第一类型系统EB的元数据;其中
所述至少一个第二类型系统EB限于所述覆盖区域,并且
所述多个数据EB和所述第一类型系统EB不限于所述覆盖区域。
19.根据权利要求18所述的系统,其中:
所述存储装置包括存储器映射模块,所述存储器映射模块被配置为在预定操作中,
仅扫描用于所述至少一个第二类型系统EB的所述覆盖区域,
使用来自所述至少一个第二类型系统EB的元数据定位所述第一类型系统EB,以及
使用来自所述第一类型系统EB的系统数据定位所述多个数据EB,以使存储在所述存储装置中的数据对所述系统的用户可用。
20.根据权利要求19所述的系统,其中:
所述多个物理擦除块还包括被配置为存储用于定位所述第一类型系统EB的元数据的第三类型系统EB;以及
所述存储器映射模块被配置为在所述预定操作中,
使用来自所述至少一个第二类型系统EB的元数据定位所述第三类型系统EB,以及
使用来自所述第三类型系统EB的元数据定位所述第一类型系统EB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699543.2A CN111813708B (zh) | 2014-10-20 | 2015-10-12 | 用于存储装置的块映射系统和方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/518,560 | 2014-10-20 | ||
US14/518,560 US9990278B2 (en) | 2014-10-20 | 2014-10-20 | Overlaid erase block mapping |
PCT/US2015/055112 WO2016064613A1 (en) | 2014-10-20 | 2015-10-12 | Overlaid erase block mapping |
CN202010699543.2A CN111813708B (zh) | 2014-10-20 | 2015-10-12 | 用于存储装置的块映射系统和方法 |
CN201580048774.4A CN107077420B9 (zh) | 2014-10-20 | 2015-10-12 | 覆盖擦除块映射 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580048774.4A Division CN107077420B9 (zh) | 2014-10-20 | 2015-10-12 | 覆盖擦除块映射 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813708A true CN111813708A (zh) | 2020-10-23 |
CN111813708B CN111813708B (zh) | 2024-04-05 |
Family
ID=55749183
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580048774.4A Active CN107077420B9 (zh) | 2014-10-20 | 2015-10-12 | 覆盖擦除块映射 |
CN202010699543.2A Active CN111813708B (zh) | 2014-10-20 | 2015-10-12 | 用于存储装置的块映射系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580048774.4A Active CN107077420B9 (zh) | 2014-10-20 | 2015-10-12 | 覆盖擦除块映射 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9990278B2 (zh) |
CN (2) | CN107077420B9 (zh) |
DE (1) | DE112015003923B4 (zh) |
WO (1) | WO2016064613A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200126531A (ko) | 2019-04-30 | 2020-11-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 커맨드 수행 방법 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1713085A1 (en) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
CN101149705A (zh) * | 2006-09-20 | 2008-03-26 | 三星电子株式会社 | 在闪存中用于重构映射信息的设备和方法 |
CN101154190A (zh) * | 2006-09-27 | 2008-04-02 | 三星电子株式会社 | 映射信息管理设备和方法 |
US20080270681A1 (en) * | 2005-12-21 | 2008-10-30 | Nxp B.V. | Non-Volatile Memory with Block Erasable Locations |
CN101346702A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的存储器 |
CN101479725A (zh) * | 2006-06-23 | 2009-07-08 | 皇家飞利浦电子股份有限公司 | 表示数字内容元数据 |
US20100180145A1 (en) * | 2009-01-15 | 2010-07-15 | Phison Electronics Corp. | Data accessing method for flash memory, and storage system and controller system thereof |
US20100299494A1 (en) * | 2005-12-22 | 2010-11-25 | Nxp B.V. | Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information |
US20110283048A1 (en) * | 2010-05-11 | 2011-11-17 | Seagate Technology Llc | Structured mapping system for a memory device |
US20120239855A1 (en) * | 2009-07-23 | 2012-09-20 | Stec, Inc. | Solid-state storage device with multi-level addressing |
US10120792B1 (en) * | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6741978B1 (en) * | 2000-04-12 | 2004-05-25 | Intel Corporation | Accessing file data stored in non-volatile re-programmable semiconductor memories |
JP2004062328A (ja) * | 2002-07-25 | 2004-02-26 | Renesas Technology Corp | Nand型フラッシュメモリを搭載したフラッシュストレージメディア |
KR100843543B1 (ko) | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
US9223642B2 (en) | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
JP4645741B2 (ja) * | 2009-01-09 | 2011-03-09 | 株式会社デンソー | 電子制御装置 |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US9201786B2 (en) * | 2012-12-21 | 2015-12-01 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
-
2014
- 2014-10-20 US US14/518,560 patent/US9990278B2/en active Active
-
2015
- 2015-10-12 CN CN201580048774.4A patent/CN107077420B9/zh active Active
- 2015-10-12 WO PCT/US2015/055112 patent/WO2016064613A1/en active Application Filing
- 2015-10-12 DE DE112015003923.6T patent/DE112015003923B4/de active Active
- 2015-10-12 CN CN202010699543.2A patent/CN111813708B/zh active Active
-
2018
- 2018-05-18 US US15/984,071 patent/US10949340B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1713085A1 (en) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
US20080270681A1 (en) * | 2005-12-21 | 2008-10-30 | Nxp B.V. | Non-Volatile Memory with Block Erasable Locations |
CN101346702A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的存储器 |
US20100299494A1 (en) * | 2005-12-22 | 2010-11-25 | Nxp B.V. | Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information |
CN101479725A (zh) * | 2006-06-23 | 2009-07-08 | 皇家飞利浦电子股份有限公司 | 表示数字内容元数据 |
CN101149705A (zh) * | 2006-09-20 | 2008-03-26 | 三星电子株式会社 | 在闪存中用于重构映射信息的设备和方法 |
CN101154190A (zh) * | 2006-09-27 | 2008-04-02 | 三星电子株式会社 | 映射信息管理设备和方法 |
US20100180145A1 (en) * | 2009-01-15 | 2010-07-15 | Phison Electronics Corp. | Data accessing method for flash memory, and storage system and controller system thereof |
US20120239855A1 (en) * | 2009-07-23 | 2012-09-20 | Stec, Inc. | Solid-state storage device with multi-level addressing |
US20110283048A1 (en) * | 2010-05-11 | 2011-11-17 | Seagate Technology Llc | Structured mapping system for a memory device |
US10120792B1 (en) * | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
Non-Patent Citations (1)
Title |
---|
程凯;张俊刚;吴常玉;: "在C51系统上实现YAFFS文件系统", 单片机与嵌入式系统应用, pages 71 - 73 * |
Also Published As
Publication number | Publication date |
---|---|
CN111813708B (zh) | 2024-04-05 |
US20160110282A1 (en) | 2016-04-21 |
CN107077420B (zh) | 2020-07-17 |
US10949340B2 (en) | 2021-03-16 |
DE112015003923T5 (de) | 2017-05-18 |
US9990278B2 (en) | 2018-06-05 |
WO2016064613A1 (en) | 2016-04-28 |
DE112015003923B4 (de) | 2024-03-07 |
US20180349268A1 (en) | 2018-12-06 |
CN107077420A (zh) | 2017-08-18 |
CN107077420B9 (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114115747B (zh) | 存储器系统及控制方法 | |
CN101154190B (zh) | 映射信息管理设备和方法 | |
US9645894B2 (en) | Data storage device and flash memory control method | |
KR101390134B1 (ko) | 비휘발성 메모리를 갖는 시스템을 위한 동적 및 정적 데이터의 처리 | |
EP2715510B1 (en) | Method for storage devices to achieve low write amplification with low over provision | |
CN109144887B (zh) | 存储器系统及控制非易失性存储器的控制方法 | |
US9170885B2 (en) | Independent management of data and parity logical block addresses | |
US10528268B2 (en) | System and method for channel time management in solid state memory drives | |
TW201931123A (zh) | 記憶體系統及控制方法 | |
US20100082886A1 (en) | Variable space page mapping method and apparatus for flash memory device | |
JP2014071905A (ja) | コンピュータシステム及びコンピュータシステムのデータ管理方法 | |
CA2978927C (en) | Data check method and storage system | |
CN109558333B (zh) | 具有可变额外存储空间的固态存储设备命名空间 | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
CN105988875B (zh) | 一种运行进程的方法及装置 | |
CN107077420B9 (zh) | 覆盖擦除块映射 | |
CN110286848B (zh) | 数据处理方法及装置 | |
US10430288B2 (en) | Data backup method, data recovery method and storage controller | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
US11409444B2 (en) | Memory system and operation method thereof | |
US9025380B1 (en) | Management of data storage in a non-volatile memory system | |
Xiang et al. | An improved analytical expression for write amplification in nand flash | |
CN116974481A (zh) | 一种空闲物理块水位线的调整方法和存储设备 | |
CN117762322A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220621 Address after: California, USA Applicant after: Infineon Technology Co.,Ltd. Address before: California, USA Applicant before: CYPRESS SEMICONDUCTOR Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |