操作仿真电可擦除(eee)存储器的制作方法

文档序号:6350529阅读:140来源:国知局
专利名称:操作仿真电可擦除(eee)存储器的制作方法
技术领域
本公开内容总体上涉及存储器系统,更具体而言,涉及操作仿真电可擦除(EEE) 存储器的方法。
背景技术
仿真电可擦除(EEE)存储器一般组合使用随机存取存储器和电可擦除的非易失性存储器,以便在大小与常规随机存取存储器的大小相当的情况下,提供具有比常规非易失性存储器耐久性增加的存储器系统。这是利用比随机存取存储器大得多的非易失性存储器来获得的,但是EEE存储器工作起来就好像其仅仅具有该随机存取存储器的大小。因而, EEE存储器仿真比相对于EEE存储器所使用的尺寸减小了尺寸的电可擦除存储器,但是具有增加的耐久性。在耐久性非常重要的情况下,例如其中数据常常更新并且必须以非易失性方式存储的汽车应用中,这是有用的。EEE存储器常见的一个问题是在能够把数据写到非易失性存储器时不时地会存在长的延迟,这是因为非易失性存储器的扇区中的太多位置具有被划分成有效数据和无效数据的数据。因此,在那些位置可以被再次写入之前,扇区必须被擦除,但是,在擦除操作之前,具有有效数据的位置必须写到别的地方。当出现这种情况时,可能需要过多的时间来进行执行写操作的所有必需操作。相应地,需要提供改善上述问题的EEE存储器。


本发明是通过例子说明的,并且不受附图的限制,附图中相同的标号指示相似的元件。图中的元件是为了简化和清晰而说明的,并且不一定是按比例绘制的。图1以框图形式示出了在实现本发明的实施方式中有用的系统,该系统包括利用非易失性存储器的仿真电可擦除存储器;图2以框图形式示出了根据本发明实施方式的图1的闪存阵列;图3示出了根据所述实施方式的方法的流程图;以及图4示出了在理解图3的方法中有用的非易失性存储器的两个扇区。
具体实施例方式在一方面,仿真电可擦除(EEE)存储器具有划分成扇区的NVM和RAM。响应于包括EEE存储器的NVM中的记录的写入的更新,NVM的最早填充的扇区的记录的一个小子集被转移到当前正在填充的扇区。该小子集只包括有效(active)记录。在最早填充的扇区中的所有有效记录都转移完之后,响应于EEE存储器的更新,执行擦除处理的一部分。擦除处理可以方便地划分成多个相对短的脉冲,使得响应于更新所执行的擦除处理的部分是简单的,以便为最早填充的扇区提供单个或者至少减少数量的写脉冲。对于避免必须执行转移所有有效记录、之后跟着整个擦除处理的长处理以便获得提供新写入所需的空间的情况,这种方法是有用的。通过参考附图和以下说明书,这更好理解。在一种实施方式中,闪存存储器用作NVM。在一个例子中,并且如在此所使用的,编程指把逻辑电平零存储到位单元,而擦除指把逻辑电平一存储到位单元。但是,在另选实施方式中,编程可以指把逻辑电平一存储到位单元,而擦除可以指把逻辑电平零存储到位单元。逻辑电平零还可以称为逻辑低,而逻辑电平一还可以称为逻辑高。如在此所使用的,术语“总线”用于指可以用于转移一个或多个各种类型信息(例如数据、地址、控制或状态)的多个信号或导体。如在此所讨论的,导体可以参考作为单个导体、多个导体、单向导体或双向导体来示出或描述。但是,不同的实施方式可以改变导体的实现方式。例如,可以使用单独的单向导体,而不是双向导体,反之亦然。而且,多个导体可以用串行地或者以时间复用方式转移多个信号的单个导体代替。同样,承载多个信号的单个导体可以划分成承载这些信号子集的多个不同导体。因此,对于转移信号而言,存在许多选项。当分别将信号、状态位或类似装置的呈现指示为其逻辑真或逻辑假状态时,在这里使用术语“断言”或“设置”和“否决”(或者“解除断言”或“清除”)。如果逻辑真状态是逻辑电平一,则逻辑假状态是逻辑电平零。以及,如果逻辑真状态是逻辑电平零,则逻辑假状态是逻辑电平一。在一个数字前面的符号“$”指该数字是以十六进制或者基数为16的形式表示的。 在一个数字前面的符号“%”指该数字是以二进制或者基数为2的形式表示的。应当指出, 在图2中,“FFFF”的值是十六进制形式并且对应于二进制形式的“1111111111111111”。图1以框图形式示出了系统10,该系统10包括处理器14、其它模块16(如果有的话)、系统互连12和EEE存储器系统18 (也可以称为存储器系统或者非易失性存储器系统)。处理器14、其它模块16和EEE存储器系统18中的每一个都双向耦合到系统互连12。 EEE存储器系统18包括RAM 20、存储器控制器22、擦除/编程电路系统23、感测电路系统M 和闪存阵列26 (也可以称为NVM阵列,其中任何类型的NVM都可以代替闪存存储器使用)。 RAM 20双向耦合到系统互连12和存储器控制器22。存储器控制器22耦合到感测电路系统M和闪存阵列26。擦除/编程电路系统23和感测电路系统M耦合到闪存阵列26。存储器控制器22与感测电路系统M通信控制信号。存储器控制器22与闪存阵列沈通信控制信号,向闪存阵列26提供地址和datajn并从闪存阵列沈接收read_data。感测电路系统M能够向闪存阵列沈提供正常的读参考、限制用电读取0参考和限制用电读取1参考。 在一种实施方式中,在一个时刻,这些参考中只有一个(可以采用参考电压和/或参考电流的形式)提供给闪存阵列26。复位信号提供给处理器14和存储器控制器22。该复位信号可以是例如用于系统10的全局复位信号。处理器14可以是任意类型的处理器,例如微处理器、数字信号处理器等等,或者可以是任何可以访问EEE存储器系统18的其它类型的互连主机。系统互连12的一种形式是系统总线。其它形式的互连也可以使用,包括例如交叉开关(crossbar)、点到点连接及光与无线传输技术。其它模块16可以包括任何类型的模块,例如另一个存储器、另一个处理器、另一个互连主机、外围设备、输入/输出(I/O)设备、等等。另选地,在系统10中可以不存在其它模块。在操作中,处理器14可以向存储器系统18发送访问请求(读或写访问请求)。来自处理器14的访问请求提供给RAM 20,该请求包括访问地址并且在写访问的情况下还包括关联的写数据。在读访问的情况下,RAM 20向处理器14提供存储在所接收到的访问地址位置的数据。在写访问的情况下,RAM 20把接收到的写数据存储在所接收到的访问地址位置。在写访问的情况下,存储器控制器22可以检测RAM 20的更新并选择性地把所接收到的访问地址和关联的写数据以逻辑上顺次的方式存储到闪存阵列26。例如,在对RAM 20 更新(写入)的情况下,所接收到的访问地址和关联的写数据用于形成写到闪存阵列26的下一个可用位置的记录。所述下一个可用位置与闪存阵列26紧挨在之前的加载中所加载的位置是逻辑上顺次的。(应当指出,参考图1,所接收到的访问地址可以作为地址提供给闪存阵列26,而关联的写数据作为datajn提供给闪存阵列26。)在一个例子中,对应于 RAM更新的记录的写入只有在当前存储在所述RAM位置的值与同对该RAM位置的写访问请求关联的新写入值不同的时候才执行。以这种方式,闪存阵列26可以以更持久的方式存储更新后的RAM 20的值。S卩,当RAM 20没有电时,其数据丢失。一旦恢复供电,RAM的值就可以从闪存阵列26恢复,其中闪存阵列沈不会在没有电时丢失其数据。在一种实施方式中,闪存阵列26具有比RAM 20更大的存储容量。例如,闪存阵列沈可以具有RAM 20至少四倍大的容量而且一般比这还大。EEE存储器系统18的操作将参考图2更具体地描述。图2以框图形式示出了 EEE 存储器系统18操作期间闪存阵列沈的实施方式。一开始,闪存阵列沈全部都是空的。在一种实施方式中,当闪存阵列26的一个位置为空时,它还没有写任何值,因而处于其擦除状态。在这里所描述的实施方式中,擦除状态对应于逻辑电平一;因此,闪存阵列沈的每个空或擦除位置都存储一个逻辑电平一。闪存阵列26包括N个扇区。在一种实施方式中,数据可以由擦除/编程电路系统23写到这些扇区中的任何位置;但是,但期望擦除时,每个扇区只能作为一块被擦除(以扇区为基础,其中擦除/编程电路系统23对扇区的擦除可以同时擦除该扇区的所有内容)。应当指出,在图2中,当特定扇区、区域或者行被指示为空时, 在括号中提供“FFFF”,这代表那个空扇区、区域或行中的位是逻辑电平一。这也是擦除状态。如上所述,闪存阵列沈的每个位置都从第一个位置开始顺次地被更新。在RAM 20 下一个紧接在后面的更新(其中,新的写入值与当前存储在要更新的MM位置的值不同), 用新纪录来写与所述第一个位置相邻并且逻辑上顺次的下一个位置(并因而变成用于紧接在之后的更新的前一个位置)。因此,在紧接在后面的RAM 20的更新(其中,新的写入值与当前存储在要更新的RAM位置的值不同)中,用新纪录来写与所述前一个位置相邻并且逻辑上顺次的下一个位置。因而,对于反映在闪存阵列沈中的RAM 20的每次更新,以顺次的方式用新纪录加载闪存阵列26。在所说明的实施方式中,闪存阵列沈包括空区域 40(其可以包括一个或多个空扇区)、最早填充的扇区30、较早填充的扇区32、较新填充的扇区34、最新填充的扇区36和当前正在填充的扇区38。在所说明的实施方式中,当RAM 20 更新时被写入的第一个位置是最早填充的扇区30中的第一个位置。即,被填充的扇区30用记录(对应于RAM 20中所存储的数据的地址/数据对)填充,而且是首先被填充的扇区。 在一种实施方式中,被填充的扇区,例如填充扇区30、32、34和36,不包括空位置。在时间上来说,在最早填充的扇区30之后被填充的下一个扇区是较早填充的扇区32。较早填充的扇区32中的每个扇区被顺次填充,其中较早填充的扇区32的每个扇区中的每个位置都被顺次填充。在时间上来说,在较早填充的扇区32之后被填充的下一个扇区是较新填充的扇区 34。同样,较新填充的扇区34中的每个扇区被顺次填充,其中较新填充的扇区34的每个扇区中的每个位置都被顺次填充。而且,应当指出,在较早填充的扇区32中的最早填充的扇区之后,顺次填充绕到闪存阵列沈的顶部,到达较新填充的扇区34的第一个扇区。因此, 应当指出,闪存阵列26中的两个记录位置(S卩,一对NVM位置)可以认为是相邻的(S卩,逻辑上相邻或者逻辑上顺次),即使这两个位置中的第二个需要绕到下一行、下一个扇区或者甚至到闪存阵列沈的顶部。在时间上来说,在较新填充的扇区34之后被填充的下一个扇区是最新填充的扇区36。同样,最新填充的扇区36中的每个位置被顺次填充。因此,最新填充的扇区36存储比较新填充的扇区34更新的来自RAM 20的数据,而较新填充的扇区34 存储比较早填充的扇区32更新的来自RAM20的数据,而较早填充的扇区32存储比最早填充的扇区30更新的来自RAM20的数据。仍然参考图2,在时间上来说,在最新填充的扇区36之后被填充的下一个扇区是当前正在填充的扇区38。因此,图2表示在存储器系统18的操作期间某个特定时间点的闪存阵列26,其中扇区38正被填充。图2示出了这个扇区的放大版本,以便更好地理解闪存阵列沈如何被顺次填充(即,写或者加载)。这也是更新EEE存储器系统18的处理。应当指出,在最新填充扇区36的最后一个位置被填充之后,当前正在填充的扇区38在其第一个位置开始填充。当前正在填充的扇区38示出为具有多行,其中前四行中的每一行都代表已被填充的行46 (其中,这些行中的所有位置都被填充,因而所述行中没有空位置)。当前正在填充的扇区38的最后8行中的每一行都代表空行50(其中,所述行中的所有位置都是空的,为逻辑电平一,因而这些行中没有位置被填充)。当前正在填充的扇区38中的行48 当前正在被填充,该行既包括已填充的位置也包括空位置,被边界43隔开。应当指出,位置 42代表存储最新写入记录的位置,其中ADDR2代表RAM 20中用新值最新更新的地址位置, 而DATA2代表写到RAM 20中那个位置的更新值。与位置42相邻的位置44代表下一个可顺次寻址的可用位置,对RAM 20的下一次更新将记录到该位置。应当指出,顺次在位置42 之前的位置存储ADDR1,其中ADDRl代表RAM 20中在ADDR2之前更新的下一个最新更新的地址位置,而DATAl代表写到RAM 20中的ADDRl的更新值。应当指出,在一种实施方式中, 由于ADDRl和ADDR2的更新存储在闪存阵列沈中,因此假定DATAl和DATA2分别是与更新之前存储在ADDRl和ADDR2的值不同的值。而且,应当指出,闪存阵列沈的每个扇区都可以具有任意数量的行,并且对当前正在填充的扇区38的说明仅仅提供了每个都包括13行的扇区的一个例子。因此,可以理解,闪存阵列沈的加载是如何根据顺序的地址顺次地执行的。此外,在EEE存储器系统18的操作中,闪存阵列沈可以包括一对地址,这对地址包括最早填充的位置(例如,位置42)和相对于最后被填充位置(例如,位置44)连续的空位置。过去,在例如当前正在填充的扇区38的当前正在填充的扇区变满并且最终需要对后续更新的附加空空间的某个时间点,例如最早填充的扇区30的最早填充扇区把其有效记录转移到空扇区,然后该最早填充的扇区被擦除。这种转移数据与擦除的组合操作会是相当耗时而且非常不期望的。图3中所示的是描述操作EEE存储器系统18的方法的流程图60,该方法避免在持续的处理中对该扇区转移所有有效记录和执行完全擦除处理的延迟的状况。EEE存储器系统18的更新在步骤62开始。步骤62响应于对RAM 20的写访问而开始,以便对所选位置执行写入。在步骤64确定RAM 20中要被写入的位置是否已经处于擦除状态。在NVM中, 如果要被写入的位置已经被擦除,则唯一的任务就是执行写入。因而,作为NVM的仿真,简单地在当前正在填充的扇区中的下一个位置写所选位置,在图2的例子中所述扇区是扇区 38,更特别地所述位置是填充位置44。图4中所示的是,对于要被写入的RAM位置不处于擦除状态的情况,在理解流程图 60的步骤(尤其是步骤80)中有用的例子中最早填充的扇区30和当前正在填充的扇区38 的图。最早填充的扇区30具有处于无效(inactive)状态的第一部分记录。在这种情况下, 无效意味着记录或者已经被更新并且因而更新的数据写到NVM 26中的后续位置,或者已经被转移到NVM沈中的不同位置。因而,对于RAM中的给定位置,最新写入的位置具有有效记录。在第一部分无效位置之后(在这个例子中该部分在一行开头的无效位置结束),存在在所述行中第二位置的有效记录82,之后跟着有效记录84,之后在所述行的结尾跟着更新后的记录86,之后在下一行的开头跟着更新后的记录88,之后跟着有效记录90,并且之后跟着有效记录92。当前正在填充的扇区38以被填充的位置开始,后面跟着空位置。在所述被填充的位置之后的前五个位置要在所述写操作中被填充。在这个例子中,最后被填充的位置是一行中的第一个位置,下一个位置是位置94,后面跟着位置96,后面跟着位置98, 开始下一行的位置100,后面跟着位置102。剩余的位置是空的。对于该方法中把RAM位置识别为处于非擦除状态的步骤64的情况,下一步是确定被擦除扇区的数量是否大于或者等于阈值。这可以简单地是存在至少一个完全为空的扇区或者可以有更高的需求,例如两个或者三个。如果满足阈值,则可以作为下一个位置(例如图3所示位置44)的写入来简单地执行更新。另一方面,如果不满足阈值,对于图2所示如果要求是存在两个空扇区时这种情况将发生,则下一个步骤70是确定来自最早填充的扇区的有效记录的转移是否完成。如果所有记录都是无效的,则转移已经完成,而且下一个步骤在72。如果还有任何记录仍然有效,则下一步骤是执行一部分有效记录从最早填充的扇区的转移。在这个所述例子中,要从最早填充的扇区转移的这部分是四个记录,并且在图4 中示出。如图4所示,有效记录82转移到位置94,有效记录84转移到位置96,有效记录90 转移到位置98,而有效记录92转移到位置100。在记录82、84、90和92转移之后,它们就被标记为无效。由于已经被更新,因此记录86和88已经是无效的。因而,记录86和88被跳过,并且不作为写操作的一部分被转移。用于RAM 20中要被写入的被选位置的新数据写到位置102,如图4中所示,并且就象图3中的步骤66那样。另一方面,如果在步骤70中确定最早填充的扇区中的所有记录都是无效的,则执行确定最早填充的扇区是否已经被擦除的步骤72。如果是,则通过写入到当前正在填充的扇区中的下一个位置,例如图2中所示的位置44,来更新EEE存储器系统18。并且,这意味着现在存在不同的最早填充的扇区。相应地,在步骤76中,识别新的最早填充的扇区。如果最早填充的扇区还没有被擦除,则执行擦除处理的一部分。在这个例子中,擦除处理包括对该最早填充的扇区施加多个写脉冲。因而,一部分可以是所施加的单个擦除脉冲。擦除处理可以包括一百个脉冲,因此每个脉冲仅仅是整个擦除的百分之一,使得擦除脉冲的每次出现相对短,从而对整个写循环具有相对小的影响。对其的变化包括改变脉冲宽度或者脉冲的数量。变化可以基于被填充的扇区有多接近于填满而进行。例如,可以生成两个脉冲或者脉冲的宽度可以加倍。所执行的写入处理的部分小于完整的写入处理。通过写到当前正在填充的扇区中的下一个位置,例如图2中所示的位置44,来更新EEE存储器系统18。 可能期望同时执行写入(步骤66)和擦除处理的部分(步骤74)。到现在为止,应当认识到,已经提供了一种方法,该方法允许根据需要对每个更新循环进行一部分数据转移或者一部分写入处理,以确保有足够的空间可以用于执行更新, 而根本不需要在出现这种情况时立刻进行大量的数据转移和完整的擦除处理,造成大的延迟。因为实现本发明的装置大部分是由本领域技术人员已知的电子部件和电路组成的,因此为了理解和认识本发明的基本概念并且为了不模糊或者分散本发明的教导,电路的细节将不以比如上所述的认为是需要的程度更具体地解释。而且,例如,在一种实施方式中,所说明的系统10的元件是位于单个集成电路上或者同一设备中的电路系统。另选地,系统10可以包括任何数量彼此互连的单独的集成电路或者单独的设备。例如,EEE存储器系统18可以位于与处理器14相同的集成电路上或者在单独的集成电路上。存储器系统18可以是嵌入式存储器系统或者独立的存储器系统。 其它模块16也可以位于单独的集成电路或者设备上。此外,本领域技术人员将认识到,上述操作的功能之间的边界仅仅是说明性的。多个操作的功能可以组合到单个操作中,以及/或者单个操作的功能可以分布到附加的操作中。而且,另选实施方式可以包括特定操作的多个实例,并且操作的次序可以在各种其它实施方式中改变。尽管本发明在这里是参考具体实施方式
进行描述的,但是在不背离以下权利要求中所述本发明范围的情况下,可以进行各种修改与变化。例如,除了闪存存储器之外,任何类型的NVM都可以使用。而且,步骤80描述为转移四个记录,后面跟着把新数据写到当前正在填充的扇区中,但是这四个记录和新数据的次序可以不同。在所转移的记录的数量小于扇区中的记录总数时,这个数目当然可以是预先确定的与4不同的数字。相应地,说明书和附图应当认为是说明性而不是约束性意义的,而且所有这类修改都意图包括在本发明的范围之内。在此关于特定实施方式所述的任何好处、优点或者对问题的解决方案都不希望解释为任何或者全部权利要求的关键的、必需的或者基本的特征或者要素。 如在此所使用的,术语“耦合”不意图限定到直接耦合或者机械耦合。此外,词语“一” (a)或“一个”(an),如同在此所使用的,被定义为一个或多个。同样,诸如“至少一个”或“一个或多个”这样的引入性短语的使用在权利要求中不应当被认为暗指由不定冠词“一” (a)或“一个”(an)所引入的另一权利要求的要素将含有该引入的权利要求要素的任意特定的权利要求限定于仅含有一个这样的要素的发明,即使当同一的权利要求包括引入性短语“一个或多个”或“至少一个”和例如“一”(a)或“一个”(an)的不定冠词时也是如此。对于定冠词的使用同样如此。除非另外规定,否则例如“第一”和“第二”这样的词语被用来任意区分此类词语所描述的要素。因而,这些词语并不一定意指此类要素的时间先后或其他优先级。以下是本发明的各种实施方式。公开了操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除系统的方法,其中NVM具有多个扇区,其中一个扇区是当前正在填充的扇区,而另一个扇区是最早填充的扇区,其中当前正在填充的扇区的位置是根据逻辑上顺次排序加载的。该方法包括接收对RAM的写访问,其中该写访问提供第一写数据和RAM的第一地址。该方法还包括,响应于所述写访问,把所述第一写数据存储到RAM的所述第一地址。该方法还包括, 响应于所述写访问,更新NVM当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的空位置,其中更新空位置包括把所述第一写数据和第一地址作为第一记录存储在该空位置。该方法还包括,响应于所述写访问,基于在最早填充的扇区是否存在任何剩余的有效记录,执行至多预定数量的有效记录从NVM的最早填充的扇区到当前正在填充的扇区的转移或者通过向NVM的最早填充的扇区提供预定数量的擦除脉冲而进行的一部分擦除处理中的一个,其中有效记录的预定数量小于最早填充的扇区中可以存储的全部记录的最大数量,并且其中每个有效记录都包括RAM地址和对应的数据,该数据代表存储在RAM中所述RAM地址的数据,其中擦除脉冲的预定数量小于完成擦除处理所需的擦除脉冲的总数。所述方法的特征还在于响应于写访问执行至多预定数量的有效记录的转移或者一部分擦除处理中一个的步骤包括确定在最早填充的扇区中是否存在任何剩余的有效记录;如果在最早填充的扇区中存在任何剩余的有效记录,则执行至多预定数量的有效记录从NVM的最早填充的扇区到当前正在填充的扇区的转移;并且如果在最早填充的扇区中不存在任何剩余的有效记录,则通过向NVM的最早填充的扇区提供预定数量的擦除脉冲执行一部分擦除处理。该方法的进一步的特征在于如果在最早填充的扇区中不存在任何剩余的有效记录,该方法还包括确定NVM的最早填充的扇区是否已经被完全擦除, 其中只有当NVM的最早填充的扇区还没有完全被擦除时才执行所述一部分擦除处理。该方法还可以包括,如果NVM的最早填充的扇区已经被完全擦除,就把该最早填充的扇区的标识从最早填充的扇区更新为被擦除的扇区。该方法的进一步的特征在于,如果在最早填充的扇区中存在任何剩余的有效记录,则执行至多预定数量的有效记录的转移包括把每个转移的有效记录都存储在NVM的当前正在填充的扇区的后续空位置,其中每个后续空位置都与当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着。该方法还可以包括,响应于所述写访问,确定由RAM的第一地址所指示的RAM位置是否为空;并且只有当确定由RAM的第一地址所指示的RAM位置不为空时才执行至多预定数量的有效记录的转移或者一部分擦除处理中的一个。该方法还可以包括,响应于所述写访问,确定NVM的被擦除扇区的数量是否大于预定的阈值;并且只有当被擦除扇区的数量小于该预定阈值时才执行至多预定数量的有效记录的转移或者一部分擦除处理中的一个。该方法的进一步的特征在于,只有当确定由RAM的第一地址所指示的RAM位置不为空并且被擦除扇区的数量小于所述预定阈值时才执行至多预定数量的有效记录的转移或者一部分擦除处理中的一个。该方法的进一步的特征在于,擦除脉冲的预定数量为一。 还公开了操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除存储器系统的方法,其中NVM具有多个扇区,其中一个扇区是当前正在填充的扇区, 而另一个是最早填充的扇区,其中当前正在填充的扇区的位置是根据逻辑上顺次排序更新的。该方法包括接收对RAM的第一写访问,其中该第一写访问提供第一写数据和RAM的第一地址。该方法还包括,响应于所述第一写访问,把所述第一写数据存储到RAM的第一地址。该方法还包括,响应于所述第一写访问,更新NVM的当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的空位置,其中更新空位置包括把所述第一写数据和第一地址作为第一记录存储在该空位置。该方法还包括,响应于所述第一写访问,确定在NVM的最早填充扇区中存在剩余的有效记录,并且把至多预定数量的有效记录从NVM的最早填充的扇区转移到当前正在填充的扇区,其中有效记录的预定数量小于最早填充的扇区中可以存储的全部记录的最大数量,并且其中每个有效记录都包括RAM地址和对应的数据,该数据代表存储在RAM中的所述RAM地址的数据。该方法的进一步的特征在于,转移至多预定数量的有效记录包括把每个转移的有效记录都存储在NVM的当前正在填充的扇区的后续空位置,其中每个后续空位置都与当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着。该方法的进一步的特征在于,转移至多预定数量的有效记录是进一步响应于确定由RAM的第一地址所指示的RAM位置非空而进行的。该方法还可以包括接收对RAM的第二写访问,其中该第二写访问提供第二写数据和RAM的第二地址,响应于所述第二写访问,把所述第二写数据存储到RAM的所述第二地址,响应于所述第二写访问,更新 NVM的当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新第二空位置包括把所述第二写数据和第二地址作为第二记录存储在该第二空位置,并且响应于所述第二写访问,确定在NVM的最早填充扇区中不存在任何剩余的有效记录并且把至多预定数量的擦除脉冲提供给NVM的最早填充的扇区,其中擦除脉冲的预定数量小于完全擦除NVM的最早填充的扇区所需的擦除脉冲的总数。该方法还可以包括,响应于所述第二写访问,确定NVM的最早填充的扇区是否已经被完全擦除,其中只有当NVM的最早填充的扇区还没有被完全擦除时预定数量的擦除脉冲才提供给NVM的最早填充的扇区。该方法还可以包括,如果NVM的最早填充的扇区已经被完全擦除,就把最早填充的扇区的标识从最早填充的扇区更新成被擦除的扇区。该方法还可以包括接收对RAM 的第二写访问,其中该第二写访问提供第二写数据和RAM的第二地址,响应于所述第二写访问,把所述第二写数据存储到RAM的第二地址,响应于所述第二写访问,更新NVM的当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新第二空位置包括把所述第二写数据和第二地址作为第二记录存储在该第二空位置,以及响应于所述第二写访问,确定在NVM的最早填充扇区中是否存在任何剩余的有效记录,并且,如果存在任何剩余的有效记录,则将至多为预定数量的有效记录的附加数量的有效记录从NVM的最早填充的扇区转移到当前正在填充的扇区。
还公开了操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除存储器系统的方法,其中NVM具有多个扇区,其中一个扇区是当前正在填充的扇区,而另一个是最早填充的扇区,其中当前正在填充的扇区的位置是根据逻辑上顺次排序更新的。 该方法包括接收对RAM的第一写访问,其中该第一写访问提供第一写数据和RAM的第一地址。该方法还包括,响应于所述第一写访问,把所述第一写数据存储到RAM的第一地址。该方法还包括,响应于所述第一写访问,更新NVM的当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的空位置,其中更新空位置包括把所述第一写数据和第一地址作为第一记录存储在该空位置。该方法还包括,响应于所述第一写访问, 确定在NVM的最早填充的扇区中不存在任何剩余的有效记录,并且把至多预定数量的擦除脉冲提供给NVM的最早填充的扇区,其中擦除脉冲的预定数量小于完全擦除NVM的最早填充的扇区所需的擦除脉冲的总数。该方法还可以包括接收对RAM的第二写访问,其中该第二写访问提供写数据和RAM的第二地址,并且其中该第二写访问是第一写访问紧接着的后续写访问;响应于所述第二写访问,把所述第二写数据存储到RAM的第二地址;响应于所述第二写访问,更新NVM的当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新第二空位置包括把所述第二写数据和第二地址作为第二记录存储在该第二空位置;并且响应于所述第二写访问,确定NVM的最早填充的扇区是否已经被完全擦除,并且,如果最早填充的扇区已经被完全擦除,就把至多为预定数量的擦除脉冲的一个或多个附加的擦除脉冲提供给最早填充的扇区,其中第一写访问处理中NVM的最早填充的扇区是与第二写访问处理中NVM的最早填充的扇区相同的扇区。该方法还可以包括,响应于所述第二写访问,如果最早填充的扇区已经被完全擦除,就把最早填充的扇区的标识从最早填充的扇区更新为被擦除的扇区。该方法的进一步的特征在于, 擦除脉冲的预定数量为一。
权利要求
1.一种操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除存储器系统的方法,其中所述NVM具有多个扇区,其中一个扇区是当前正在填充的扇区,而另一个扇区是最早填充的扇区,其中所述当前正在填充的扇区的位置是根据逻辑上顺次的排序加载的,该方法包括以下步骤接收对所述RAM的写访问,其中所述写访问提供第一写数据和RAM的第一地址; 响应于所述写访问,将所述第一写数据存储到所述RAM的第一地址; 响应于所述写访问,更新所述NVM的所述当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的空位置,其中更新空位置包括将所述第一写数据和所述第一地址作为第一记录存储在所述空位置;以及响应于所述写访问,基于在所述最早填充的扇区中是否存在任何剩余的有效记录,执行以下操作中的一个至多预定数量的有效记录从所述NVM的所述最早填充的扇区到所述当前正在填充的扇区的转移,其中有效记录的预定数量小于可在所述最早填充的扇区中存储的全部记录的最大数量,并且其中每个有效记录都包括RAM地址和代表存储在所述RAM中的所述RAM地址处的数据的对应的数据,或者通过向所述NVM的所述最早填充的扇区提供预定数量的擦除脉冲来执行一部分擦除处理,其中擦除脉冲的预定数量小于完成擦除处理所需的擦除脉冲的总数。
2.如权利要求1所述的方法,其中响应于所述写访问执行至多预定数量的有效记录的转移或者一部分擦除处理中一个的步骤包括确定在所述最早填充的扇区中是否存在任何剩余的有效记录; 如果在所述最早填充的扇区中存在任何剩余的有效记录,则执行至多预定数量的有效记录从所述NVM的所述最早填充的扇区到所述当前正在填充的扇区的转移;以及如果在所述最早填充的扇区中不存在任何剩余的有效记录,则通过向所述NVM的所述最早填充的扇区提供预定数量的擦除脉冲来执行一部分擦除处理。
3.如权利要求2所述的方法,其中,如果在所述最早填充的扇区中不存在任何剩余的有效记录,则所述方法还包括确定所述NVM的所述最早填充的扇区是否已经被完全擦除,其中只有当所述NVM的所述最早填充的扇区还没有完全被擦除时才执行所述一部分擦除处理。
4.如权利要求3所述的方法,还包括如果所述NVM的所述最早填充的扇区已经被完全擦除,则将所述最早填充的扇区的标识从最早填充的扇区更新为被擦除的扇区。
5.如权利要求2所述的方法,其中,如果在所述最早填充的扇区中存在任何剩余的有效记录,则执行至多预定数量的有效记录的转移包括将每个转移的有效记录都存储在所述NVM的所述当前正在填充的扇区的后续空位置, 其中每个后续空位置都与所述当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着。
6.如权利要求1所述的方法,还包括响应于所述写访问,确定由所述MM的第一地址所指示的RAM的位置是否为空;并且只有当确定由所述RAM的第一地址所指示的RAM位置不为空时才执行所述至多预定数量的有效记录的转移或者所述一部分擦除处理中的一个。
7.如权利要求1所述的方法,还包括响应于所述写访问,确定所述NVM的被擦除扇区的数量是否大于预定阈值;并且只有当被擦除扇区的数量小于所述预定阈值时才执行所述至多预定数量的有效记录的转移或者所述一部分擦除处理中的一个。
8.如权利要求1所述的方法,其中只有当确定由所述RAM的第一地址所指示的RAM位置不为空并且被擦除扇区的数量小于所述预定阈值时才执行所述至多预定数量的有效记录的转移或者所述一部分擦除处理中的一个。
9.如权利要求1所述的方法,其中擦除脉冲的预定数量为一。
10.一种操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除存储器系统的方法,其中所述NVM具有多个扇区,其中一个扇区是当前正在填充的扇区,而另一个扇区是最早填充的扇区,其中所述当前正在填充的扇区的位置是根据逻辑上顺次的排序更新的,所述方法包括接收对所述RAM的第一写访问,其中所述第一写访问提供第一写数据和RAM的第一地址;响应于所述第一写访问,将所述第一写数据存储到所述RAM的第一地址; 响应于所述第一写访问,更新所述NVM的所述当前正在填充的扇区中与该当前正在填充的扇区最新填充位置逻辑上顺次且紧挨着的空位置,其中更新所述空位置包括将所述第一写数据和所述第一地址作为第一记录存储在所述空位置;响应于所述第一写访问,确定在所述NVM的所述最早填充的扇区中是否存在剩余的有效记录,并且将至多预定数量的有效记录从所述NVM的所述最早填充的扇区转移到所述当前正在填充的扇区,其中有效记录的预定数量小于可以存储在所述最早填充的扇区中的全部记录的最大数量,并且其中每个有效记录都包括RAM地址和代表当前存储在所述RAM中的所述RAM地址处的数据的对应的数据。
11.如权利要求10所述的方法,其中转移至多预定数量的有效记录包括将每个转移的有效都记录存储在所述NVM的所述当前正在填充的扇区的后续空位置, 其中每个后续空位置都与所述当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着。
12.如权利要求10所述的方法,其中转移至多预定数量的有效记录是进一步响应于确定由所述MM的第一地址所指示的RAM位置非空而进行的。
13.如权利要求10所述的方法,还包括接收对所述RAM的第二写访问,其中所述第二写访问提供第二写数据和RAM的第二地址;响应于所述第二写访问,将所述第二写数据存储到所述RAM的第二地址; 响应于所述第二写访问,更新所述NVM的上述当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新所述第二空位置包括将所述第二写数据和所述第二地址作为第二记录存储在所述第二空位置;响应于所述第二写访问,确定在所述NVM的所述最早填充的扇区中不存在任何剩余的有效记录并且将至多预定数量的擦除脉冲提供给所述NVM的所述最早填充的扇区,其中擦除脉冲的预定数量小于完全擦除所述NVM的所述最早填充的扇区所需的擦除脉冲的总数。
14.如权利要求13所述的方法,还包括响应于所述第二写访问,确定所述NVM的所述最早填充的扇区是否已经被完全擦除, 其中只有当所述NVM的所述最早填充的扇区还没有被完全擦除时预定数量的擦除脉冲才被提供给NVM的所述最早填充的扇区。
15.如权利要求14所述的方法,还包括如果所述NVM的所述最早填充的扇区已经被完全擦除,则将所述最早填充的扇区的标识从最早填充的扇区更新成被擦除的扇区。
16.如权利要求10所述的方法,还包括接收对所述RAM的第二写访问,其中所述第二写访问提供第二写数据和RAM的第二地址;响应于所述第二写访问,将所述第二写数据存储到所述RAM的第二地址; 响应于所述第二写访问,更新所述NVM的所述当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新所述第二空位置包括将所述第二写数据和所述第二地址作为第二记录存储在所述第二空位置;响应于所述第二写访问,确定在所述NVM的所述最早填充的扇区中是否存在任何剩余的有效记录,并且,如果存在任何剩余的有效记录,则将至多为预定数量的有效记录的附加数量的有效记录从所述NVM的所述最早填充的扇区转移到所述当前正在填充的扇区。
17.一种操作具有随机存取存储器(RAM)和非易失性存储器(NVM)的仿真电可擦除存储器系统的方法,其中所述NVM具有多个扇区,其中一个扇区是当前正在填充的扇区,而另一个扇区是最早填充的扇区,其中所述当前正在填充的扇区的位置是根据逻辑上顺次的排序更新的,所述方法包括接收对所述RAM的第一写访问,其中所述第一写访问提供第一写数据和RAM的第一地址;响应于所述第一写访问,将所述第一写数据存储到所述RAM的第一地址; 响应于所述第一写访问,更新所述NVM的所述当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的空位置,其中更新所述空位置包括将所述第一写数据和所述第一地址作为第一记录存储在所述空位置;响应于所述第一写访问,确定在所述NVM的所述最早填充的扇区中不存在任何剩余的有效记录,并且将至多预定数量的擦除脉冲提供给所述NVM的所述最早填充的扇区,其中擦除脉冲的预定数量小于完全擦除所述NVM的所述最早填充的扇区所需的擦除脉冲的总数。
18.如权利要求17所述的方法,还包括接收对所述RAM的第二写访问,其中所述第二写访问提供第二写数据和RAM的第二地址,并且其中所述第二写访问是与所述第一写访问紧挨着的后续写访问; 响应于所述第二写访问,将所述第二写数据存储到所述RAM的第二地址; 响应于所述第二写访问,更新所述NVM的所述当前正在填充的扇区中与该当前正在填充的扇区的最新填充位置逻辑上顺次且紧挨着的第二空位置,其中更新所述第二空位置包括将所述第二写数据和所述第二地址作为第二记录存储在所述第二空位置;响应于所述第二写访问,确定所述NVM的所述最早填充的扇区是否已经被完全擦除, 并且,如果所述最早填充的扇区还没有被完全擦除,就将至多为预定数量的擦除脉冲的一个或多个附加的擦除脉冲提供给所述最早填充的扇区,其中在所述第一写访问中所述NVM 的最早填充的扇区是与所述第二写访问中所述NVM的最早填充的扇区相同的所述NVM的扇区。
19.如权利要求18所述的方法,还包括响应于所述第二写访问,如果所述最早填充的扇区已经被完全擦除,则将所述最早填充的扇区的标识从最早填充的扇区更新为被擦除的扇区。
20.如权利要求17所述的方法,其中擦除脉冲的预定数量为一。
全文摘要
一种仿真电可擦除存储器系统(10),包括随机存取存储器(RAM)(20)和非易失性存储器(NVM)(26)。接收对RAM的写访问,该写访问提供第一写数据和第一地址,其中所述第一数据存储在RAM中的所述第一地址处,并且NVM的当前正在填充的扇区(38)被更新,以便将所述第一写数据和所述第一地址存储为第一记录。响应所述写访问,基于在NVM的最早填充的扇区(30)中是否存在任何剩余的有效记录,执行擦除处理的一部分或者至多预定数量的有效记录从最早填充的扇区到当前正在填充的扇区的转移。有效记录的预定数量小于最早填充的扇区中可以存储的全部记录的最大数量。
文档编号G06F13/16GK102549551SQ201080043387
公开日2012年7月4日 申请日期2010年8月5日 优先权日2009年9月29日
发明者D·L·安德烈, R·S·斯考勒, S·F·麦金蒂 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1