存储器管理方法技术

技术编号:2892116 阅读:213 留言:0更新日期:2012-04-11 18:40
一种闪速存储器,虚拟变换系统允许数据可被连续地写入空白的物理地址单元。虚拟存储变换和闪速存储器的物理单元地址相关,以跟踪存储器里数据的位置。(*该技术在2014年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种改进的在闪速存储器(flash memory)里存储和检索信息的系统,更具体地涉及一种组织和管理写入闪速存储器的数据的系统。正如本领域的一般技术人员所了解的那样,由闪速型、浮栅晶体管组成的电可擦可编程只读存储器(EEPROM)已得到技术上的说明而且目前在商业上是可得到的。这些所谓的闪速存储器是在功能上和性能上与EPROM存储器相类似的非易失性存储器,并具有额外的功能性即可允许电路内、可编程操作来擦除存储器块。在闪速存储器中在之前不先对该区域进行块擦除而要对以前已写过的存储器区域进行重写是不实际的。尽管本专利技术描述于闪速存储器情况,但是本领域的一般技术人员可以理解该
技术实现思路
同样可应用于那些具有类似于闪速存储器的写、读和写之前块擦除特性的数据存储部件。在典型的计算机系统里,操作系统程序负责对作为系统一部分的数据存储部件的数据管理。数据存储部件能和操作系统程序相容的一个必要的、通常是充分的特性是它能对数据存储媒体的任何位置读出数据和写入数据。这样,闪速存储器和典型的现存操作系统程序是不相容的,因为数据不能写到闪速存储器那些先前已被写进过数据的区域,除非这些区域首先被擦除。现在技术中已提出用软件产品在不必修改现有的操作系统程序下允许现有的计算机操作程序来管理闪速存储器。但是,这些现有技术的程序把闪速存储器作为“写一次读多次”的部件来运行。现有技术的软件产品不能够重复利用以前已写过的位置。当所有的位置最终写完后如果没有特定的用户干预存储器不能得到进一步的使用。本专利技术的目的是提供一种控制和管理闪速存储器存取的方法(软件,硬件的固件),使得对计算机操作系统而言闪速存储器好象是一个数据存储部件,因而有可能对闪速存储器的任何单元读出数据和写进数据。一种允许闪速存储器仿真随机存取存储器和允许现有计算机操作系统提供所有其它所需支持的方法,这种支持和标准随机存取存储器提供的支持具有相同的方式并和仿真方法无关。简言之,本专利技术设想提供一种闪速存储器,虚拟变换系统,它允许数据被连续读写进空白的物理地址单元。虚拟存储变换和闪速存储器物理单元地址相关以跟踪存储器里数据的位置。闪速存储器的物理位置组织为字节阵列。阵列里的各个字节被分配若干地址(anumber of),用这个方法该字节是物理上可存取的,本文中称之为物理地址空间。阵列中的各个字节具有第二个地址,称为虚拟地址空间。一个称为虚拟变换的表把虚拟地址转换为物理地址。在这里须注意,虚拟地址空间不必具有和物理地址空间相同的规模。相连的、固定长度的物理字节地址组形成块。例如,假设块的长度为512个字节,具有物理地址256211的字节是块500中的211号字节(256211∶512=500+211)。一个或多个物理上相连的闪速存储器区域(称为区)组成单元,该区域可用适当的现有闪速存储器技术物理地擦除每个单元包含整数的块。虚拟存储变换是一个表,其中第一项目属于虚拟块0,第二个项目属于虚拟块1,依此类推。有一相应的物理地址和表中各个虚拟块地址相关联。在读闪速存储器的操作中,计算机生成的地址译码为虚拟块地址和该块中的字节位置。虚拟存储变换用来把虚拟块地址转换为物理块地址;在虚拟地址空间和物理地址空间中字节的位置相同。在写操作中,计算机生成的地址再次解释为虚拟块地址和块中的字节位置。虚拟存储变换把它转换成物理存储器块地址。如果对应于该物理地址的闪速存储器块当前已被写过,则通常不可能对该物理地址进行写。一个空白的块则被定位并被写入。虚拟存储变换被改变,使得空白的物理块地址变换给原来的虚拟地址,而原来的物理地址标志为不可使用的并保持为不可使用,直到区擦除操作擦除包含该块的单元为止。要注意写操作假设整个块可被重写。这是计算机系统通常在存储媒体中存取数据的方式。但是,将会理解通常任何所需数据数量的字节可被写进新的存储位置。本专利技术的最佳实施例中,对各个单元分配了一个逻辑单元地址,该逻辑单元地址在该单元被重写到闪速存储器的新的物理地址位置时保持不变。虚拟变换包含对逻辑单元地址的参考而不是对物理单元地址的参考,这样单元转换期间的数据移动不会影响虚拟变换。各个单元具有使用图,它包括该单元的所有的块,块的虚拟地址,如果它(单元)被变换,还包括标志自由块和标志不可使用块的特定字符。通过把包括不可使用块的存储器单元转换到闪速存储器的保留空白空间,以前写过的闪速存储器的不可使用块被回收。只有可使用块在转换操作中被写入,这样,当重写时,不可使用块的位置不被重写到保留空间,进而成为可使用的。在重写之后,原来的存储器单元空间被闪速擦除为一个单元并且变为空白保留空间对它可进行后续的转换。此外,在本专利技术的最佳实施例中,虚拟变换主要是存储在闪速存储器里只有少量的次要虚拟变换存储在随机存取存储器里。闪速存储器的虚拟变换存储在块中并按页面组织,页面的长度等于块中字节数量乘以字节所代表的物理块地址数量的乘积。次要的随机存取存储器包含页面地址。当对一给定的虚拟地址读数据时,通过地址被页面长度除来确定页面号。该结果索引次要的虚拟变换来寻找正确的主要虚拟变换块。余数被存储在闪速存储器里的虚拟变换用来计算所需的物理地址。为改变闪速存储器里的虚拟变换,改变后的变换写入到自由块并且随机存取存储器的次要交换也被改变以反映主要变换位置里的变化,被替换的块被标记为删除。通过下述对本专利技术最佳实施例的说明并参照附图可对上述的和其它的目的、概念和优点得到更好的理解,附图为附图说明图1是一个方块图,说明按照本专利技术
技术实现思路
的一个系统实施例中系统的功能部件。图2是按照本专利技术的
技术实现思路
的闪速存储器组织的一层图示。图3图示一个单元是如何格式的。图4图示说明计算机产生的地址是怎样变换为物理地址的。图5是说明读操作的流程图。图6是说明写操作的流程图。图7图示说明在转移操作之前和之后的一个单元的状态。图8为转移操作的流程图。图9为一个流程图,说明把虚拟对物理变换的主要部分存入闪速存储器的操作。现参照附图1,在一个典型的系统里,处理器10结合其操作系统软件发出一系列读和写命令,对随机存取存储器的特定地址单元读写数据。如本领域的一般技术人员所理解的那样,在随机存取存储器部件里,诸如磁盘存储器,数据可被写或读到任何地址单元。在图1的系统里,处理器10对闪速存储器12中的特定地址单元按块写入数据和读出数据。尽管闪速存储器12的区可被擦除,但是当前已写地址单元不能被重写,除非整个区被擦除。根据本专利技术的
技术实现思路
,闪速存储器控制器14提供一个完整的可重写虚拟地址空间,这样闪速存储器仿真为一个随机存取存储器,如磁盘存储器,并且处理器操作系统软件按照它对标准随机存取存储器提供运行支持的相同方式和按照一种和闪速存储器12和其控制器14无关的方式提供所有其它必需的运行支持(例如文件系统)。典型的系统还包括一个常规的随机存取存储器16。可以理解控制器14的功能由软件、硬件的固件来实现,这就不再需要如图中所建议的那样存在一个物理上的分离装置。现看图2,它部分地表示闪速存储器的组织。闪速存储器具有若干区,在这里标号为区A和区B等。每个区由许多相连的物理存储位置所组成,它们可利用常规的、周知的闪速存储器技术来进行块擦除。区组织为单元,图中只显示了4个单元,标号为1号单元、本文档来自技高网
...

【技术保护点】
一种用于数据只能写入空白物理存储单元及相连存储单元区可同时擦除存储器上的存储管理方法,包括以下步骤: 把存储器组织成多个单元,各个单元至少包括一个区; 把各个单元组织成多个块,各个所述块包括多个相连物理存储单元; 为各个单元建立分配表其指示单元中各块的状态如有效写入,空白或删除; 建立一个表以把虚拟地址变换为单元里的物理地址; 当按虚拟地址向所述存储器写数据时: (a)把所述虚拟地址变换为单元里的物理块地址; (b)检查由(a)小节中所述虚拟地址变换得到的所述单元的所述分配表来确定所述物理块地址上块的状态为有效写入或空白; (c)如果所述物理块地址上所述块为有效写入状态: (1)检查所述单元中至少一个单元的所述分配表以识别一个空白块地址; (2)把所述数据写入到所述存储器的所述空白块地址上; (3)改变由所述虚拟地址变换得到的所述单元的所述分配表,标明为删除的物理块地址; (4)改变根据节(c)(2)中所述数据写入的单元的所述分配表,把所述数据写入的空白块地址指示为有效写入; (5)改变把虚拟地址变换为一个单元里的物理地址的所述表使得所述表能把所述虚拟地址变换到按步骤(c)(2)所述数据所写入到的所述空白块的物理地址上。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿米尔班
申请(专利权)人:M系统有限公司
类型:发明
国别省市:IL[以色列]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1