快闪文件系统中的虚拟至物理地址翻译的制作方法

文档序号:6656561阅读:263来源:国知局
专利名称:快闪文件系统中的虚拟至物理地址翻译的制作方法
技术领域
本发明涉及一种用于寻址闪存的改进的系统,特别涉及减少虚拟 寻址所需的比特数的快闪文件系统中的地址翻译。
背景技术
快闪设备包括由快闪型浮栅晶体管构成的电可擦除可编程只读
存储器(EEPROM),并且是在功能和性能上与EPROM存储器相似 的非易失性存储器,具有允许在线、可编程操作以擦除存储器的某些 部分的附加功能。快闪设备与传统磁性存储盘相比具有相对便宜和需 要相对小的功率的优势。然而,快闪设备具有某些局限性,使得在物 理地址水平使用它们有一点问题。在快闪设备中,重写先前被写过的 存储器区域而不事先擦除该区域是不实际的,即,快闪单元在它们能 够被再次编程之前必须被擦除(例如被编程为"l,,)。擦除只能对通常 被称为"擦除块"的相对大的单元组进行(典型地,在当前商业NAND 设备中尺寸为16到128K字节,并且在NOR设备中尺寸更大)。因
此,更新单个字节或者甚至1千字节的程序块的内容需要"内务处理" 操作-不被更新的擦除块的一些部分必须首先被移动到别处,使得它们
在擦除期间被保留,然后被移回归位。
此外,该设备的某些块为"坏块",它们不可靠并且应该避免使用 它们。在由制造商初始测试该设备时,或者当在现场使用该设备期间 应用软件检测到块失效时,所述块^^皮声明为"坏块"。
为克服背景技术的这些局限,在美国专利第5,404,485号中公开 了一种快闪文件系统(FFS, Flash File System),它^皮转让给本申请 的受让人并因此在这里通过引用而并入,如在这里进行了完整的描述。 FFS提供了一种对快闪设备的数据存储和操纵的系统,允许这些设备仿真磁盘。在现有技术中,应用或操作系统与不使用物理地址而使用 虚拟地址的闪存子系统进行交互。在软件应用和物理设备之间存在一 个中间层,提供从虛拟地址到物理地址的映射。尽管软件可以将存储 系统视为具有不间断的无缺陷介质,该介质可以被随机地无限制地读 或写,该物理寻址方案在其地址范围内具有"漏洞,,(例如由于坏块), 并且在虛拟地址范围内相互邻接的数据段可能在物理地址范围内被严
重分开。上述进行映射的中间层可以是在运行所述应用的同一个CPU
上运行的软件驱动器。作为选择,所述中间层可以被嵌入控制闪存设 备的控制器内,并且当主计算机存取该存储器时作为对于主计算机的
主CPU的接口点。这是例如在诸如安全数字(SD, secure digital) 卡或多i某体卡(MMC, multimedia card )的可移动存储卡中的情形, 该卡具有运行除其它功能以外的固件程序的板上控制器,实现了上述 类型的映射。
进行这种地址映射的软件或固件实现典型地被称为"快闪管理系 统"或"快闪文件系统"。后一个术语用词不当,因为该实现并不一定在 文件被用在操作系统或个人计算机中的意义下支持"文件",而是支持 与硬盘软件驱动器所输出的那些相似的块设备接口。尽管如此,该术 语被普遍地使用,"快闪管理系统"和"快闪文件系统,,在这里-皮可交替 地使用。
其它实现虚拟至物理地址映射的现有技术系统可以在由Ban 开的美国专利第5,937,425号和由Lasser公开的美国专利第6,591,330 号中找到,两者都通过引用而被并入,用于在这里被完全描述的目的。
在尤其适合于NAND型快闪设备的美国专利第5,937,425号中, 该映射被如下完成,参照图1 (现有技术)。物理地址空间13由单元 111构成,单元111实际上是擦除块,即能够被擦除的最小程序块。 每个物理单元111包含一个或多个物理页113,这里页是可以纟皮写的 最小程序块。虛拟地址空间11由与物理单元具有相同尺寸的虚拟单元 121构成。每个虚拟单元包含一个或多个虚拟页123,其具有与物理页 113相同的尺寸。当应用提供了一个虚拟地址用于读或写时,从该虛拟地址中提取该地址所属的虛拟单元号。存在向每个虚拟单元121分 配一个物理单元111或者多于一个物理单元111的链的映射。然后, 使用将虚拟页123关联到物理页113的"局部"映射规则,或者使用与 物理页113 —起存储的控制信息,将对应于虚拟单元121内所请求的 虚拟页123的物理页113定位于对应的物理单元111内。
美国第5,937,425号中所公开方法的一个优势是,由于主映射是 在单元上而不是在页上完成的,翻译表变得非常小,因为单元比页少 得多。另一个优势是,由于能够将多于一个的物理单元111分配给一 个虚拟单元121而产生的写性能的提高。
由于几个原因,有效虚拟地址范围的典型尺寸稍小于映射到物理 地址范围的尺寸。这些原因包括(1)虚拟空间11不能包括坏块, 因此,虚拟空间ll被"挤压"以将坏块从其地址范围中排除,但是坏块 可能存在于物理空间13中。
(2)对于支持一到多映射的快闪文件系统,如美国专利第 5,937,425号中所公开的,虚拟空间ll必须小于物理空间13。
在现有快闪管理系统中,表示虚拟地址所需的比特数与表示物理 地址所需的比特数相同。例如,假设一个NAND快闪设备由1,024个 物理单元lll构成,每个物理单元111包含32个512字节的页113(忽 略典型地不存储用户数据而存储诸如纠错码的系统信息的NAND设 备中的"额外,,字节)。在物理水平上,字节地址范围是从0到16兆字 节减1,完整表示需要24比特。使用仅直接映射单元地址的美国第 5,937,425号的方法,有1,024个物理单元111并且需要10比特。假设 虚拟空间11少24个单元,我们得到1,000个每个包含32个512字节 的页123的虚拟单元121。表示完整字节地址的比特数还是24,并且 表示虚拟单元数目所需的比特数仍是IO。有时非常希望表示虚拟地址 所需的比特数尽可能低。快闪文件系统和软件应用都在表格中保存地 址并处于不同的数据结构,以及地址需要越多的比特,所消耗的RAM 存储器就越多。
因而有这样的需要,并且在快闪文件系统中具有从虚拟到物理地址的翻译的方法以减少虚拟寻址所需的比特数是非常有利的。

发明内容
根据本发明,提供了一种用于闪存的闪存管理方法,以便从主机
存取数据。该方法包括提供所述闪存的物理地址空间,所述物理地 址空间可通过物理地址来寻址;以及提供所述闪存的虚拟地址空间, 所述虚拟地址空间可通过虚拟地址来寻址,以及将虚拟地址映射到物 理地址,使得存取每个虚拟地址所需的二进制比特数少于存取每个物 理地址所需的二进制比特数。
根据本发明,提供了一种用于闪存的闪存管理方法,以便从主机 存取数据,该方法提供所述闪存的物理单元;所述闪存的虚拟单元; 以及将每个虚拟单元映射到一个或多个物理单元,使得寻址每个虚拟 单元所需的二进制比特数少于寻址每个物理单元所需的二进制比特 数。
根据本发明,提供了一种用于闪存的闪存管理系统,以便从主机 存取数据,该系统包括可通过物理地址、虛拟地址寻址的闪存;以 及虚拟地址到物理地址的映射机构,其中,存取每个虚拟地址所需的 二进制比特数少于存取每个物理地址所需的二进制比特数。
根据本发明,提供了一种用于闪存的闪存管理系统,以便从主机 存取数据,该系统包括所述闪存的物理和虚拟单元;以及虚拟单元 到物理单元的映射机构,其中,寻址每个虚拟单元所需的二进制比特 数少于寻址每个物理单元所需的二进制比特数。
根据本发明,提供了一种管理闪存的方法,以便从主机存取所述 闪存。该方法包括通过物理地址空间来寻址所述闪存;以及从主才几 仅接受来自小于物理地址空间的虚拟地址空间的地址,其中,所述虚 拟地址空间的地址比物理地址空间的物理地址具有更少比特。
根据本发明,提供了一种存储设备,包括闪存;以及控制器, 在存取所述闪存时,使用物理地址空间来寻址所述闪存,从寻址所述 存储设备的主机仅接受来自虚拟地址空间的地址,其中,所述虛拟地址空间的地址比物理地址空间的地址具有更少的二进制比特。
根据本发明,提供了一种快闪存储设备,包括包含物理闪存单 元的闪存;以及控制器,在存取所述闪存时,使用来自采用物理单元 的物理地址空间的地址来寻址所述闪存,从寻址所述存储设备的主机 仅接受来自釆用虚拟单元的虚拟地址空间的地址,其中,寻址所述虚 拟存储单元比寻址物理存储单元需要更少的二进制比特。


本发明仅通过示例在这里参照附图被说明,其中 图1 (现有技术)为快闪文件系统中的传统的虚拟至物理地址翻 译的示意表示;
图2为根据本发明实施例的快闪文件系统中的虚拟至物理地址翻 译的示意表示。
具体实施例方式
本发明是快闪文件系统中的虚拟至物理地址的映射,以减少虛拟 寻址所需的比特数。
根据本发明的系统和方法的原则和操作参照附图和附加说明可 以被更好地理解。
在详细说明本发明的实施例之前,需要理解的是,本发明并不限 于其对在以下说明中给出的或在图中图解的设计的详细内容和部件排 列的应用。本发明可以有其它的实施例,或者可以以不同的方式被实 现或执行。同样,需要理解的是,在这里采用的措词和术语的目的是 为了说明而不能被视为限制。
在这里使用的术语"单元,,和"页"并没有在现有技术中#:一致地
使用。在美国专利第5,937,425号中使用了术语"块"而不是在这里使用 的术语"页"。其它现有技术系统使用术语"扇区,,来代替在这里使用的 "页",并且其它现有技术系统使用术语"块"来代替在这里使用的"单 元"。术语"单元"在这里被定义为能够被擦除的最小的存储程序块。术语"页"在这里被定义为能够被写的最小的存储程序块。术语"比特,,和 "二进制比特"在这里被可交替地使用。
需要注意的是,不同的现有技术系统对于"虚拟,,寻址使用不同的 术语-有些使用"虚拟",有些使用"逻辑",其它的在同一系统中两个术 语都使用,在应用级地址和设备级地址之间实现两层映射,首先将"虚 拟,,映射到"逻辑",然后"逻辑"映射到"物理",或者相反。所有这样的 映射都在本发明的应用范围内。本发明的映射只需要使用该设备的软 件看到一个地址空间,例如虚拟的,而物理设备采用不同的地址空间, 例如物理的。如果某个数据段可以具有两个地址空间中的不同地址, 该地址空间在这里净皮定义为"不同的"。术语"物理空间"和"物理地址空 间,,在这里被可交替地使用。术语"虚拟空间"和"虚拟地址空间"在这里 被可交替地使用。术语"存取"存储器在这里被定义为指对存储器进行 "读或写"。寻址存储器所需的"比特数,,被定义为包括引导比特,例如
00000001,需要8比特来寻址。
需要注意的是,这里并没有提到不是所有的物理快闪设备都参加 映射的情形。在现有技术中已知,物理设备的某部分有时被留出用于 某特殊目的(诸如引导或操作系统代码图像),所述部分直接通过物 理地址来存取。仅该设备的剩余部分参加映射,并且相应虚拟空间也 明显被减少。在这种情形中,在这里的讨论只涉及净皮映射至物理的部 分,好像这是在该设备中仅有的部分。
的地址映射。考虑例如一种低成本快闪控制器,其在固件中实现快闪 文件系统并且使用美国专利第5,937,425号的方法。可以使用由物理单 元号索引并且存储虚拟单元号的转换表来实现所述映射。例如,在以 上讨论的设备中,该表将消耗l,024xl0=10,240比特。如果虚拟地址 可以被保证不需要多于9比特,那么被消耗的存储器只有 1,024x9=9,216比特。此外,如果控制器的固件不能分配单个比特而只 能是完整字节,那么地址从9比特降到8比特将导致重要得多的存储 器节省,因为每个表目将从2字节降到l字节。使用作为从虚拟到物理地址映射的 一部分减少表示虚拟地址所需的比特数的快闪文件系统 存在很大的好处。
在本发明的所有实施例中,减少了虚拟地址的比特计数的快闪文 件系统减少了可用的存储容量,但是在很多情形中,不需要更高容量, 以及仅仅因为更小设备不可用而使用更大设备。同样,已知美国第
5,937,425号类型的快闪文件系统因为虛拟单元121的数目与物理单元 111的数目相比变得更小而性能更好,因为更多的一到多虚拟到物理 单元分配同时存在于所述映射中,因此平均写性能由于更有效的擦除 而被改进。因而存在证实虚拟存储容量的损失的考虑,并且因此减少 映射中的虛拟地址比特计数的本发明是有利的。
当前快闪文件系统没有减少映射地址时的地址比特数。其原因与 通用快闪设备典型地包含数目是2的确切幂的物理单元的事实紧密相 关。例如,上述1,024个单元的设备具有数目为2的10次幂(210)的单 元。结果,将虚拟地址范围减少几个百分比(这是虛拟和物理范围之 间的典型差别)不足以"越过边界,,到更低比特计数的地址范围。
然而,让快闪设备的尺寸为2的确切幂不是强制性的。不存在用 数目为除了 2的幂之外的诸如600或700个物理单元111来建立快闪 设备的物理障碍。具有数目稍微大于2的幂的物理单元111的优势与 坏块有关。闪存制造商典型地在快闪硅管芯中包括一些备用块,预料 到在设备测试期间检测到坏块。接着测试是替换阶段,在其间,检测 到的坏块由好的备用块来替换,使得设备可以以更少数目并最好是0 个坏块而被运送。该方法的一个缺点是,任何好的不需要用于替换的 备用块是用户的损失。
现在参照图2,其是根据本发明实施例的虛拟至物理存储器映射 20的示意表示。图2显示了虚拟空间21到物理空间23的存储器映射 20。
在根据本发明的存储器管理期间由主机205与闪存控制器207实 现存储器映射20。
物理空间23提供了数目为2的幂的"常规,,单元201,也提供了作为地址紧接着"常规,,单元的附加单元的备用单元203。于是该快闪设 备具有的单元总数(常规单元201加上备用单元203)比2的确切幂 稍微高例如0.5%。根据本发明,快闪文件系统减少了虚拟空间21中 的地址比特数,而没有牺牲很多虚拟空间21中的单元121。例如,如 果快闪设备提供了额外10个备用单元203,那么物理空间23包括的 单元(常规单元201加上备用单元203 )数目从0到1,024+10誦1=1,033, 需要11个地址比特。根据本发明,改进的快闪文件系统将虚拟空间 21减少到数目从0到1,009的虚拟单元121,只需要10个地址比特, 同时保持物理和虚拟地址范围之间的尺寸差相对较小。
因此,上文仅被认为是对本发明的原理的举例。此外,由于本领 域技术人员容易进行很多修改和改变,最好不要将本发明限制为所示 和所说明的确切设计和操作,并且相应地,所有合适的修改和等fK勿 可以视为落于本发明的范围内而被釆取。
同样地,本领域技术人员将意识到,本公开所基于的概念可以被 容易地用作设计其它方法和系统的基础以实现本发明的几个目的。因 此,权利要求被视为包括这些等价的解释,只要它们没有背离本发明 的精神和范围。
虽然本发明已经关于有限数目的实施例被说明,需要意识到可以 对本发明进行很多变化、修改和其它应用。
权利要求
1.一种用于闪存的闪存管理方法,用于从主机存取数据,所述方法包括步骤(a)提供所述闪存的物理地址空间,所述物理地址空间可通过多个物理地址来寻址;(b)提供所述闪存的虚拟地址空间,所述虚拟地址空间可通过多个虚拟地址来寻址;以及(c)将所述虚拟地址映射到所述物理地址,其中,存取每个所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的二进制比特数。
2. —种用于闪存的闪存管理方法,用于从主机存取数据,所述 方法包括步骤(a) 提供所述闪存的多个物理单元;(b) 提供所述闪存的多个虛拟单元;(c) 将每个所述虚拟单元映射到至少一个所述物理单元,其中, 寻址每个所述虚拟单元所需的二进制比特数少于寻址每个所述物理单 元所需的二进制比特数。
3. —种用于闪存的闪存管理系统,用于从主机存取数据,所述 系统包括(a) 可通过多个物理地址寻址的所述闪存;(b) 多个虚拟地址;以及(c) 所述虚拟地址到所述物理地址的映射机构,其中,存取每个 所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的 二进制比特数。
4. 一种用于闪存的闪存管理系统,用于从主机存取数据,所述 系统包括(a) 所述闪存的多个物理单元;(b) 多个虚拟单元;(C)所述虚拟单元到所述物理单元的映射机构,其中,寻址每个 所述虛拟单元所需的二进制比特数少于寻址每个所述物理单元所需的 二进制比特数。
5. —种管理闪存的方法,在从主机存取所述闪存的过程中包括步骤(a) 通过物理地址空间来寻址所述闪存;以及(b) 从所述主机仅接受来自小于所述物理地址空间的虚拟地址空 间的地址,其中,所述虚拟地址空间的地址比所述物理地址空间的物理地址 具有更少比特。
6. —种存储设备,包括(a) 闪存;以及(b) 控制器,在存取所述闪存过程中,使用物理地址空间来寻址 所述闪存,并且从寻址所述存储设备的主机仅接受来自虚拟地址空间 的地址,其中,所述虚拟地址空间的地址比所述物理地址空间的地址具有 更少二进制比特。
7. —种闪存^殳备,包括(a) 包含多个物理闪存单元的闪存;以及(b) 控制器,在存取所述闪存的过程中,使用来自采用物理单元 的物理地址空间的地址来寻址所述闪存,并且从寻址所述存储设备的 主机仅^妄受来自采用虚拟单元的虚拟地址空间的地址,其中,寻址所述虛拟存储单元比寻址所述物理存储单元需要更少 的二进制比特。
全文摘要
一种用于存储器的闪存管理系统,用于从主机存取数据,该系统包括存储器的物理单元和虚拟单元,以及每个虚拟单元到一个或多个物理单元的映射机构,其中,存取每个虚拟单元所需的二进制比特数少于存取每个物理单元所需的二进制比特数。
文档编号G06F12/06GK101288054SQ200580025848
公开日2008年10月15日 申请日期2005年7月18日 优先权日2004年7月30日
发明者曼纳切姆·拉瑟 申请人:M-系统快闪盘开拓者公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1