CN101288054B - 闪存管理方法、系统、存储设备、以及闪存设备 - Google Patents

闪存管理方法、系统、存储设备、以及闪存设备 Download PDF

Info

Publication number
CN101288054B
CN101288054B CN2005800258489A CN200580025848A CN101288054B CN 101288054 B CN101288054 B CN 101288054B CN 2005800258489 A CN2005800258489 A CN 2005800258489A CN 200580025848 A CN200580025848 A CN 200580025848A CN 101288054 B CN101288054 B CN 101288054B
Authority
CN
China
Prior art keywords
physical
flash memory
virtual
address
flash
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.)
Expired - Fee Related
Application number
CN2005800258489A
Other languages
English (en)
Other versions
CN101288054A (zh
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.)
Western Data Israel Ltd
Original Assignee
SanDisk IL Ltd
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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN101288054A publication Critical patent/CN101288054A/zh
Application granted granted Critical
Publication of CN101288054B publication Critical patent/CN101288054B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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

Abstract

一种用于存储器的闪存管理系统,用于从主机存取数据,该系统包括存储器的物理单元和虚拟单元,以及每个虚拟单元到一个或多个物理单元的映射机构,其中,存取每个虚拟单元所需的二进制比特数少于存取每个物理单元所需的二进制比特数。

Description

闪存管理方法、系统、存储设备、以及闪存设备
技术领域
本发明涉及一种用于寻址闪存的改进的系统,特别涉及减少虚拟寻址所需的比特数的快闪文件系统中的地址翻译。
背景技术
快闪设备包括由快闪型浮栅晶体管构成的电可擦除可编程只读存储器(EEPROM),并且是在功能和性能上与EPROM存储器相似的非易失性存储器,具有允许在线、可编程操作以擦除存储器的某些部分的附加功能。快闪设备与传统磁性存储盘相比具有相对便宜和需要相对小的功率的优势。然而,快闪设备具有某些局限性,使得在物理地址水平使用它们有一点问题。在快闪设备中,重写先前被写过的存储器区域而不事先擦除该区域是不实际的,即,快闪单元在它们能够被再次编程之前必须被擦除(例如被编程为“1”)。擦除只能对通常被称为“擦除块”的相对大的单元组进行(典型地,在当前商业NAND设备中尺寸为16到128K字节,并且在NOR设备中尺寸更大)。因此,更新单个字节或者甚至1千字节的程序块的内容需要“内务处理”操作-不被更新的擦除块的一些部分必须首先被移动到别处,使得它们在擦除期间被保留,然后被移回归位。
此外,该设备的某些块为“坏块”,它们不可靠并且应该避免使用它们。在由制造商初始测试该设备时,或者当在现场使用该设备期间应用软件检测到块失效时,所述块被声明为“坏块”。
为克服背景技术的这些局限,在美国专利第5,404,485号中公开了一种快闪文件系统(FFS,Flash File System),它被转让给本申请的受让人并因此在这里通过引用而并入,如在这里进行了完整的描述。FFS提供了一种对快闪设备的数据存储和操纵的系统,允许这些设备仿真磁盘。在现有技术中,应用或操作系统与不使用物理地址而使用虚拟地址的闪存子系统进行交互。在软件应用和物理设备之间存在一个中间层,提供从虚拟地址到物理地址的映射。尽管软件可以将存储系统视为具有不间断的无缺陷介质,该介质可以被随机地无限制地读或写,该物理寻址方案在其地址范围内具有“漏洞”(例如由于坏块),并且在虚拟地址范围内相互邻接的数据段可能在物理地址范围内被严重分开。上述进行映射的中间层可以是在运行所述应用的同一个CPU上运行的软件驱动器。作为选择,所述中间层可以被嵌入控制闪存设备的控制器内,并且当主计算机存取该存储器时作为对于主计算机的主CPU的接口点。这是例如在诸如安全数字(SD,secure digital)卡或多媒体卡(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不能包括坏块,因此,虚拟空间11被“挤压”以将坏块从其地址范围中排除,但是坏块可能存在于物理空间13中。
(2)对于支持一到多映射的快闪文件系统,如美国专利第5,937,425号中所公开的,虚拟空间11必须小于物理空间13。
在现有快闪管理系统中,表示虚拟地址所需的比特数与表示物理地址所需的比特数相同。例如,假设一个NAND快闪设备由1,024个物理单元111构成,每个物理单元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,并且表示虚拟单元数目所需的比特数仍是10。有时非常希望表示虚拟地址所需的比特数尽可能低。快闪文件系统和软件应用都在表格中保存地址并处于不同的数据结构,以及地址需要越多的比特,所消耗的RAM存储器就越多。
因而有这样的需要,并且在快闪文件系统中具有从虚拟到物理地址的翻译的方法以减少虚拟寻址所需的比特数是非常有利的。
发明内容
根据本发明,提供了一种闪存管理方法,所述方法包括下列步骤:(a)提供所述闪存的物理地址空间,所述物理地址空间设置用于一定数目的物理单元并可通过多个物理地址来寻址,所述物理单元的数目大于2n并少于2n+1,其中n为整数;(b)提供所述闪存的虚拟地址空间,所述虚拟地址空间设置用于比所述物理地址空间中的物理单元的数目更少数目的虚拟单元并可通过多个虚拟地址来寻址;以及(c)将所述虚拟地址映射到所述物理地址,其中,存取每个所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的二进制比特数。
根据本发明,提供了一种闪存管理方法,所述方法包括下列步骤:(a)提供所述闪存的多个物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;(b)提供所述闪存的多个虚拟单元,所述虚拟单元的数目少于所述物理单元的数目;(c)将每个所述虚拟单元映射到至少一个所述物理单元,其中,寻址每个所述虚拟单元所需的二进制比特数少于寻址每个所述物理单元所需的二进制比特数。
根据本发明,提供了一种闪存管理系统,所述系统包括:(a)包括可通过多个物理地址寻址的多个物理单元的所述闪存,所述物理单元的数目大于2n并少于2n+1,其中n为整数;(b)数目少于所述物理单元的数目的虚拟单元的多个虚拟地址;以及(c)所述虚拟地址到所述物理地址的映射机构,其中,存取每个所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的二进制比特数。
根据本发明,提供了一种闪存管理系统,所述系统包括:(a)所述闪存的多个物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;(b)多个虚拟单元,所述虚拟单元的数目少于所述物理单元的数目;(c)所述虚拟单元到所述物理单元的映射机构,其中,寻址每个所述虚拟单元所需的二进制比特数少于寻址每个所述物理单元所需的二进制比特数。
根据本发明,提供了一种管理闪存的方法,包括下列步骤:(a)通过物理地址空间来寻址所述闪存,所述物理地址空间设置用于一定数目的物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;以及(b)从所述闪存的主机仅接受来自设置用于数目少于所述物理地址空间中的物理单元的数目的虚拟单元并因此小于所述物理地址空间的虚拟地址空间的地址,其中,所述虚拟地址空间的地址比所述物理地址空间的物理地址具有更少比特。
根据本发明,提供了一种存储设备,包括:(a)包括多个物理存储单元的闪存,所述物理存储单元的数目大于2n并少于2n+1,其中n为整数;以及(b)控制器,在存取所述闪存的过程中,使用物理地址空间来寻址所述闪存,并且从寻址所述存储设备的主机仅接受来自设置用于数目少于所述物理地址空间中的物理存储单元的数目的虚拟存储单元的虚拟地址空间的地址,其中,寻址所述虚拟存储单元比寻址所述物理存储单元需要更少的二进制比特。
根据本发明,提供了一种闪存设备,包括:(a)包含多个物理闪存单元的闪存,所述物理闪存单元的数目大于2n并少于2n+1,其中n为整数;以及(b)控制器,在存取所述闪存的过程中,使用来自采用物理单元的物理地址空间的地址来寻址所述闪存,并且从寻址所述存储设备的主机仅接受来自采用虚拟单元的虚拟地址空间的地址,所述物理单元的数目等于所述物理闪存单元的数目,所述虚拟单元的数目少于所述物理单元的数目,其中,寻址所述虚拟存储单元比寻址所述物理存储单元需要更少的二进制比特。
根据本发明,提供了一种用于闪存的闪存管理方法,以便从主机存取数据。该方法包括:提供所述闪存的物理地址空间,所述物理地址空间可通过物理地址来寻址;以及提供所述闪存的虚拟地址空间,所述虚拟地址空间可通过虚拟地址来寻址,以及将虚拟地址映射到物理地址,使得存取每个虚拟地址所需的二进制比特数少于存取每个物理地址所需的二进制比特数。
根据本发明,提供了一种用于闪存的闪存管理方法,以便从主机存取数据,该方法提供所述闪存的物理单元;所述闪存的虚拟单元;以及将每个虚拟单元映射到一个或多个物理单元,使得寻址每个虚拟单元所需的二进制比特数少于寻址每个物理单元所需的二进制比特数。
根据本发明,提供了一种用于闪存的闪存管理系统,以便从主机存取数据,该系统包括:可通过物理地址、虚拟地址寻址的闪存;以及虚拟地址到物理地址的映射机构,其中,存取每个虚拟地址所需的二进制比特数少于存取每个物理地址所需的二进制比特数。
根据本发明,提供了一种用于闪存的闪存管理系统,以便从主机存取数据,该系统包括:所述闪存的物理和虚拟单元;以及虚拟单元到物理单元的映射机构,其中,寻址每个虚拟单元所需的二进制比特数少于寻址每个物理单元所需的二进制比特数。
根据本发明,提供了一种管理闪存的方法,以便从主机存取所述闪存。该方法包括:通过物理地址空间来寻址所述闪存;以及从主机仅接受来自小于物理地址空间的虚拟地址空间的地址,其中,所述虚拟地址空间的地址比物理地址空间的物理地址具有更少比特。
根据本发明,提供了一种存储设备,包括:闪存;以及控制器,在存取所述闪存时,使用物理地址空间来寻址所述闪存,从寻址所述存储设备的主机仅接受来自虚拟地址空间的地址,其中,所述虚拟地址空间的地址比物理地址空间的地址具有更少的二进制比特。
根据本发明,提供了一种快闪存储设备,包括:包含物理闪存单元的闪存;以及控制器,在存取所述闪存时,使用来自采用物理单元的物理地址空间的地址来寻址所述闪存,从寻址所述存储设备的主机仅接受来自采用虚拟单元的虚拟地址空间的地址,其中,寻址所述虚拟存储单元比寻址物理存储单元需要更少的二进制比特。
附图说明
本发明仅通过示例在这里参照附图被说明,其中:
图1(现有技术)为快闪文件系统中的传统的虚拟至物理地址翻译的示意表示;
图2为根据本发明实施例的快闪文件系统中的虚拟至物理地址翻译的示意表示。
具体实施方式
本发明是快闪文件系统中的虚拟至物理地址的映射,以减少虚拟寻址所需的比特数。
根据本发明的系统和方法的原则和操作参照附图和附加说明可以被更好地理解。
在详细说明本发明的实施例之前,需要理解的是,本发明并不限于其对在以下说明中给出的或在图中图解的设计的详细内容和部件排列的应用。本发明可以有其它的实施例,或者可以以不同的方式被实现或执行。同样,需要理解的是,在这里采用的措词和术语的目的是为了说明而不能被视为限制。
在这里使用的术语“单元”和“页”并没有在现有技术中被一致地使用。在美国专利第5,937,425号中使用了术语“块”而不是在这里使用的术语“页”。其它现有技术系统使用术语“扇区”来代替在这里使用的“页”,并且其它现有技术系统使用术语“块”来代替在这里使用的“单元”。术语“单元”在这里被定义为能够被擦除的最小的存储程序块。术语“页”在这里被定义为能够被写的最小的存储程序块。术语“比特”和“二进制比特”在这里被可交替地使用。
需要注意的是,不同的现有技术系统对于“虚拟”寻址使用不同的术语-有些使用“虚拟”,有些使用“逻辑”,其它的在同一系统中两个术语都使用,在应用级地址和设备级地址之间实现两层映射,首先将“虚拟”映射到“逻辑”,然后“逻辑”映射到“物理”,或者相反。所有这样的映射都在本发明的应用范围内。本发明的映射只需要使用该设备的软件看到一个地址空间,例如虚拟的,而物理设备采用不同的地址空间,例如物理的。如果某个数据段可以具有两个地址空间中的不同地址,该地址空间在这里被定义为“不同的”。术语“物理空间”和“物理地址空间”在这里被可交替地使用。术语“虚拟空间”和“虚拟地址空间”在这里被可交替地使用。术语“存取”存储器在这里被定义为指对存储器进行“读或写”。寻址存储器所需的“比特数”被定义为包括引导比特,例如00000001,需要8比特来寻址。
需要注意的是,这里并没有提到不是所有的物理快闪设备都参加映射的情形。在现有技术中已知,物理设备的某部分有时被留出用于某特殊目的(诸如引导或操作系统代码图像),所述部分直接通过物理地址来存取。仅该设备的剩余部分参加映射,并且相应虚拟空间也明显被减少。在这种情形中,在这里的讨论只涉及被映射至物理的部分,好像这是在该设备中仅有的部分。
本发明是与物理地址中的比特数相比减少虚拟地址中的比特数的地址映射。考虑例如一种低成本快闪控制器,其在固件中实现快闪文件系统并且使用美国专利第5,937,425号的方法。可以使用由物理单元号索引并且存储虚拟单元号的转换表来实现所述映射。例如,在以上讨论的设备中,该表将消耗1,024x10=10,240比特。如果虚拟地址可以被保证不需要多于9比特,那么被消耗的存储器只有1,024x9=9,216比特。此外,如果控制器的固件不能分配单个比特而只能是完整字节,那么地址从9比特降到8比特将导致重要得多的存储器节省,因为每个表目将从2字节降到1字节。使用作为从虚拟到物理地址映射的一部分减少表示虚拟地址所需的比特数的快闪文件系统存在很大的好处。
在本发明的所有实施例中,减少了虚拟地址的比特计数的快闪文件系统减少了可用的存储容量,但是在很多情形中,不需要更高容量,以及仅仅因为更小设备不可用而使用更大设备。同样,已知美国第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个地址比特,同时保持物理和虚拟地址范围之间的尺寸差相对较小。
因此,上文仅被认为是对本发明的原理的举例。此外,由于本领域技术人员容易进行很多修改和改变,最好不要将本发明限制为所示和所说明的确切设计和操作,并且相应地,所有合适的修改和等价物可以视为落于本发明的范围内而被采取。
同样地,本领域技术人员将意识到,本公开所基于的概念可以被容易地用作设计其它方法和系统的基础以实现本发明的几个目的。因此,权利要求被视为包括这些等价的解释,只要它们没有背离本发明的精神和范围。
虽然本发明已经关于有限数目的实施例被说明,需要意识到可以对本发明进行很多变化、修改和其它应用。

Claims (28)

1.一种闪存管理方法,所述方法包括下列步骤:
(a)提供所述闪存的物理地址空间,所述物理地址空间设置用于一定数目的物理单元并可通过多个物理地址来寻址,所述物理单元的数目大于2n并少于2n+1,其中n为整数;
(b)提供所述闪存的虚拟地址空间,所述虚拟地址空间设置用于比所述物理地址空间中的物理单元的数目更少数目的虚拟单元并可通过多个虚拟地址来寻址;以及
(c)将所述虚拟地址映射到所述物理地址,其中,存取每个所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的二进制比特数。
2.根据权利要求1所述的闪存管理方法,其中,存取每个所述虚拟地址所需的二进制比特数比存取每个所述物理地址所需的二进制比特数少1。
3.根据权利要求1所述的闪存管理方法,其中,在管理所述闪存的软件中执行所述映射。
4.根据权利要求1所述的闪存管理方法,其中,所述虚拟单元的数目最多为2n
5.一种闪存管理方法,所述方法包括下列步骤:
(a)提供所述闪存的多个物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;
(b)提供所述闪存的多个虚拟单元,所述虚拟单元的数目少于所述物理单元的数目;
(c)将每个所述虚拟单元映射到至少一个所述物理单元,其中,寻址每个所述虚拟单元所需的二进制比特数少于寻址每个所述物理单元所需的二进制比特数。
6.根据权利要求5所述的闪存管理方法,其中,存取每个所述虚拟单元所需的二进制比特数比存取每个所述物理单元所需的二进制比特数少1。
7.根据权利要求5所述的闪存管理方法,其中,在管理所述闪存的软件中执行所述映射。
8.根据权利要求5所述的闪存管理方法,其中,所述虚拟单元的数目最多为2n
9.一种闪存管理系统,所述系统包括:
(a)包括可通过多个物理地址寻址的多个物理单元的所述闪存,所述物理单元的数目大于2n并少于2n+1,其中n为整数;
(b)数目少于所述物理单元的数目的虚拟单元的多个虚拟地址;以及
(c)所述虚拟地址到所述物理地址的映射机构,其中,存取每个所述虚拟地址所需的二进制比特数少于存取每个所述物理地址所需的二进制比特数。
10.根据权利要求9所述的闪存管理系统,其中,存取每个所述虚拟地址所需的二进制比特数比存取每个所述物理地址所需的二进制比特数少1。
11.根据权利要求9所述的闪存管理系统,其中,在管理所述闪存的软件中执行所述映射。
12.根据权利要求9所述的闪存管理系统,其中,所述虚拟单元的数目最多为2n
13.一种闪存管理系统,所述系统包括:
(a)所述闪存的多个物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;
(b)多个虚拟单元,所述虚拟单元的数目少于所述物理单元的数目;
(c)所述虚拟单元到所述物理单元的映射机构,其中,寻址每个所述虚拟单元所需的二进制比特数少于寻址每个所述物理单元所需的二进制比特数。
14.根据权利要求13所述的闪存管理系统,其中,存取每个所述虚拟单元所需的二进制比特数比存取每个所述物理单元所需的二进制比特数少1。
15.根据权利要求13所述的闪存管理系统,其中,在管理所述闪存的软件中执行所述映射。
16.根据权利要求13所述的闪存管理系统,其中,所述虚拟单元的数目最多为2n
17.一种管理闪存的方法,包括下列步骤:
(a)通过物理地址空间来寻址所述闪存,所述物理地址空间设置用于一定数目的物理单元,所述物理单元的数目大于2n并少于2n+1,其中n为整数;以及
(b)从所述闪存的主机仅接受来自设置用于数目少于所述物理地址空间中的物理单元的数目的虚拟单元并因此小于所述物理地址空间的虚拟地址空间的地址,
其中,所述虚拟地址空间的地址比所述物理地址空间的物理地址具有更少比特。
18.根据权利要求17所述的管理闪存的方法,其中,所述虚拟地址空间的地址比所述物理地址空间的所述物理地址少1个比特。
19.根据权利要求17所述的管理闪存的方法,其中,在管理所述闪存的软件中执行所述虚拟地址到所述物理地址的映射。
20.根据权利要求17所述的管理闪存的方法,其中,所述虚拟单元的数目最多为2n
21.一种存储设备,包括:
(a)包括多个物理存储单元的闪存,所述物理存储单元的数目大于2n并少于2n+1,其中n为整数;以及
(b)控制器,在存取所述闪存的过程中,使用物理地址空间来寻址所述闪存,并且从寻址所述存储设备的主机仅接受来自设置用于数目少于所述物理地址空间中的物理存储单元的数目的虚拟存储单元的虚拟地址空间的地址,
其中,寻址所述虚拟存储单元比寻址所述物理存储单元需要更少的二进制比特。
22.根据权利要求21所述的存储设备,其中,所述虚拟地址空间的地址比所述物理地址空间的地址少1个二进制比特。
23.根据权利要求21所述的存储设备,其中,在管理所述闪存的软件中执行所述虚拟地址到所述物理地址的映射。
24.根据权利要求21所述的存储设备,其中,所述虚拟存储单元的数目最多为2n
25.一种闪存设备,包括:
(a)包含多个物理闪存单元的闪存,所述物理闪存单元的数目大于2n并少于2n+1,其中n为整数;以及
(b)控制器,在存取所述闪存的过程中,使用来自采用物理存储单元的物理地址空间的地址来寻址所述闪存,并且从寻址所述存储设备的主机仅接受来自采用虚拟存储单元的虚拟地址空间的地址,所述物理存储单元的数目等于所述物理闪存单元的数目,所述虚拟存储单元的数目少于所述物理存储单元的数目,
其中,寻址所述虚拟存储单元比寻址所述物理存储单元需要更少的二进制比特。
26.根据权利要求25所述的闪存设备,其中,寻址所述虚拟存储单元比寻址所述物理存储单元少需要1个比特。
27.根据权利要求25所述的闪存设备,其中,在管理所述闪存的软件中执行所述虚拟存储单元到所述物理存储单元的映射。
28.根据权利要求25所述的闪存设备,其中,所述虚拟存储单元的数目最多为2n
CN2005800258489A 2004-07-30 2005-07-18 闪存管理方法、系统、存储设备、以及闪存设备 Expired - Fee Related CN101288054B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US59216204P 2004-07-30 2004-07-30
US60/592,162 2004-07-30
US11/025,982 2005-01-03
US11/025,982 US7386700B2 (en) 2004-07-30 2005-01-03 Virtual-to-physical address translation in a flash file system
PCT/IL2005/000765 WO2006011131A2 (en) 2004-07-30 2005-07-18 Virtual-to-physical address translation in a flash file system

Publications (2)

Publication Number Publication Date
CN101288054A CN101288054A (zh) 2008-10-15
CN101288054B true CN101288054B (zh) 2012-04-18

Family

ID=35733728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800258489A Expired - Fee Related CN101288054B (zh) 2004-07-30 2005-07-18 闪存管理方法、系统、存储设备、以及闪存设备

Country Status (7)

Country Link
US (1) US7386700B2 (zh)
EP (1) EP1779246A4 (zh)
JP (1) JP5089385B2 (zh)
KR (1) KR100946286B1 (zh)
CN (1) CN101288054B (zh)
HK (1) HK1122620A1 (zh)
WO (1) WO2006011131A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730482B2 (en) * 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
US7634494B2 (en) * 2005-05-03 2009-12-15 Intel Corporation Flash memory directory virtualization
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US8059455B2 (en) * 2008-05-09 2011-11-15 Sandisk Il Ltd. Partial scrambling to reduce correlation
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US20120185667A1 (en) * 2009-09-25 2012-07-19 Gandhi Kamlesh Virtual-memory system with variable-sized pages
US8171253B2 (en) * 2009-10-30 2012-05-01 Brocade Communications Systems, Inc. Virtual disk mapping
WO2012104975A1 (ja) * 2011-01-31 2012-08-09 三菱電機株式会社 メモリコントローラ
CN102736981B (zh) * 2011-04-08 2016-02-03 航天信息股份有限公司 提高nor flash擦写寿命的方法
US9323662B2 (en) 2012-12-31 2016-04-26 SanDisk Technologies, Inc. Flash memory using virtual physical addresses
CN103914409B (zh) * 2013-01-06 2017-05-10 北京忆恒创源科技有限公司 用于具有多处理器的存储设备的方法
CN105706071A (zh) * 2013-09-26 2016-06-22 英特尔公司 持久性存储器的块存储孔
CN105808453B (zh) * 2014-12-31 2018-09-28 晨星半导体股份有限公司 嵌入式装置及其存储器管理方法
CN104598170B (zh) * 2015-01-30 2017-12-05 华为技术有限公司 确定读写路径的方法和装置
CN106294187B (zh) * 2015-05-15 2019-11-08 比亚迪股份有限公司 位存取操作功能的控制方法及装置
TWI571740B (zh) * 2016-03-18 2017-02-21 華邦電子股份有限公司 記憶體裝置及記憶體區塊使用方法
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
CN111414248B (zh) * 2019-01-04 2023-03-21 阿里巴巴集团控股有限公司 内存管理方法、装置及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293404A (zh) * 1999-10-14 2001-05-02 三星电子株式会社 快闪文件系统
US20030031052A1 (en) * 2001-08-13 2003-02-13 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
CN1420440A (zh) * 2001-11-16 2003-05-28 三星电子株式会社 快闪存储器管理方法
US20040088502A1 (en) * 2002-11-01 2004-05-06 Frayer Jack E. Method and apparatus for virtually partitioning an integrated multilevel nonvolatile memory circuit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3854126A (en) 1972-10-10 1974-12-10 Digital Equipment Corp Circuit for converting virtual addresses into physical addresses
US4774652A (en) * 1987-02-18 1988-09-27 Apple Computer, Inc. Memory mapping unit for decoding address signals
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
KR100305679B1 (ko) * 1999-02-24 2001-09-26 윤종용 반도체 메모리 장치의 테스터의 테스터 방법 및 그 장치
JP2001256793A (ja) * 2000-03-09 2001-09-21 Toshiba Corp 半導体集積回路装置
US6510488B2 (en) * 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
FI117489B (fi) * 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293404A (zh) * 1999-10-14 2001-05-02 三星电子株式会社 快闪文件系统
US20030031052A1 (en) * 2001-08-13 2003-02-13 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
CN1420440A (zh) * 2001-11-16 2003-05-28 三星电子株式会社 快闪存储器管理方法
US20040088502A1 (en) * 2002-11-01 2004-05-06 Frayer Jack E. Method and apparatus for virtually partitioning an integrated multilevel nonvolatile memory circuit

Also Published As

Publication number Publication date
HK1122620A1 (en) 2009-05-22
KR100946286B1 (ko) 2010-03-08
WO2006011131A3 (en) 2007-02-15
EP1779246A2 (en) 2007-05-02
CN101288054A (zh) 2008-10-15
US7386700B2 (en) 2008-06-10
JP5089385B2 (ja) 2012-12-05
WO2006011131A2 (en) 2006-02-02
EP1779246A4 (en) 2008-11-05
US20060026341A1 (en) 2006-02-02
JP2008508589A (ja) 2008-03-21
KR20070046864A (ko) 2007-05-03

Similar Documents

Publication Publication Date Title
CN101288054B (zh) 闪存管理方法、系统、存储设备、以及闪存设备
US11416391B2 (en) Garbage collection
US20170199702A1 (en) Solid state memory formatting
KR100441587B1 (ko) 블록 얼라인먼트 기능을 갖는 반도체 기억 장치
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
KR102233400B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102585883B1 (ko) 메모리 시스템의 동작 방법 및 메모리 시스템
CN111158579B (zh) 固态硬盘及其数据存取的方法
US11513949B2 (en) Storage device, and control method and recording medium thereof
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
CN112230849B (zh) 存储器控制方法、存储器存储装置及存储器控制器
US10007601B2 (en) Data storage device and operating method for flash memory
KR20190095825A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190091035A (ko) 메모리 시스템 및 그것의 동작 방법
US11113205B2 (en) Die addressing using a reduced size translation table entry
US9507706B2 (en) Memory system controller including a multi-resolution internal cache
KR20190061942A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN113096713A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN117636968A (zh) 用于块条写入的混合写入光标
CN111857563A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1122620

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1122620

Country of ref document: HK

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Israel Kfar Saba

Patentee after: Western data Israel Ltd.

Address before: Israel saaba

Patentee before: SANDISK IL Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418

Termination date: 20210718