对存储在闪存中的数据有地址ram的模拟电可擦存储器的制造方法
【专利摘要】本发明涉及对存储在闪存中的数据有地址RAM的模拟电可擦存储器。存储器系统包括存储器控制器、耦合于所述存储器控制器的地址随机存取存储器(RAM)、以及耦合于所述存储器控制器的非易失性存储器。所述非易失性存储器有地址部分和数据部分。所述非易失性存储器的所述地址部分给所述存储器控制器提供了数据部分地址和有效数据的数据部分地址。所述存储器控制器加载所述数据部分地址并将其存储在有效数据的所述查找地址限定的位置处的地址RAM内。所述存储器控制器使用所述数据部分地址,以及所述地址RAM内的数据块的位置,以将所述数据块定位在所述非易失性存储器数据部分内。所述存储器控制器使用所述数据部分地址,以及所述地址RAM内的所述数据块地址的位置,以将所述数据块定位在所述非易失性存储器数据部分内。
【专利说明】对存储在闪存中的数据有地址RAM的模拟电可擦存储器
【技术领域】
[0001]本发明通常涉及存储系统,更具体地说,涉及模拟电可擦(EEE)存储器。
【背景技术】
[0002]模拟电可擦(EEE)存储器通常使用随机存取存储器(RAM)和非易失性存储器,例如被电可擦合并以给与该RAM有可比大小的存储器提供带有超过普通非易失性存储器的增强的忍耐力的存储系统的闪存存储器。这是通过使用远远大于RAM的非易失性存储器实现的,但EEE存储器的操作就像它仅仅是RAM的大小。因此EEE存储器模拟从被EEE存储器使用的但是在忍耐力方面有增加的尺寸减小的电可擦存储器。
[0003]EEE存储器使用RAM以显示模拟存储器的内容,但是当刻意的模拟EE编程变得大时开始变得没有竞争性。RAM模拟意味着通过基于方法论的搜索的缓慢的访问时间。
[0004]因此,有必要提供改进了上述描述的问题的EEE存储器以允许非易失性存储器能够与电可擦只读存储器(EEPROM)竞争。
【专利附图】
【附图说明】
[0005]本发明通过举例说明并不被附图所限制。在附图中,相同的参考符号表示相同的元素。对图中的元素的示出是为了简便和清晰并不一定按比例绘制。
[0006]图1以方框图的形式示出了对从闪存存储器阵列读取数据有用的系统的实施例。
[0007]图2示出了可以被用在图1的系统中的全地址记录的实施例。
[0008]图3示出了可以被用在图1的系统中的地址系统记录的实施例。
[0009]图4示出了可以被用在图1的系统中的地址随机存取存储器的实施例。
[0010]图5示出了可以被用在图1的系统中的闪存存储器阵列的数据部分的实施例。
[0011]图6示出了可以被用在图5的闪存存储器阵列的数据部分的记录状态格式的实施例。
[0012]图7示出了可以被用在图5的闪存存储器阵列的数据部分的数据块的格式的实施例。
[0013]图8以方框图的形式示出了对将数据写入闪存存储器阵列有用的系统的另一实施例。
[0014]图9以流程图的形式示出了一种使用图8的系统执行写入操作的方法的实施例。【具体实施方式】
[0015]一方面,模拟电可擦(EEE)存储器有被分成多个分区的非易失性存储器(NVM)和用于存储NVM地址信息的随机存取存储器(RAM)。地址信息被存储在一种类型的RAM存储器中;所述RAM存储器允许在两个时钟周期内访问保持在NVM中的数据记录。NVM和地址RAM相互协作以防止可能在电涌或在记录生成期间的降落期间发生的数据丢失。结合突发程序模式,分布式压缩/擦除操作可以被实施以允许对命令的快速响应。参照附图和以下的说明书可对此有更好的理解。
[0016]在一个实施例中,闪存存储器被用作NVM。在一个例子中,正如本发明所使用的,编程指将逻辑电平“O”存储到位单元,而擦除指将逻辑电平“ I ”存储到位单元。然而,在替代实施例中,编程可以指将逻辑电平“ I ”存储到位单元,而擦除可以指将逻辑电平“O”存储到位单元。逻辑电平“O”也可以被称为逻辑低,而逻辑电平“I”也可以被称为逻辑高。
[0017]当将信号、状态位、或类似的装置分别变为其逻辑真或逻辑假状态的时侯,术语“断言”或“设置”和“否定”(或“去断言”或“清除”)在本发明中被使用。如果逻辑真状态是逻辑电平“I”,逻辑假状态是逻辑电平“O”。如果逻辑真状态是逻辑电平“0”,逻辑假状态是逻辑电平“I”。
[0018]图1以方框图的形式示出了对从闪存存储器108读取数据有用的处理系统100的实施例,包括处理器102、以及使用非易失性闪存存储器阵列108和地址RAM106的EEE存储器系统114。EEE存储器系统114包括存储器控制器104、地址RAM106、以及闪存阵列108(也可以被称为NVM阵列,其中任何类型的NVM可以代替闪存存储器被使用)。闪存阵列108可以包括一个或多个数据段110和一个或多个地址系统112。可以被认为是易失性存储器的RAM106双向耦合于存储器控制器104。存储器控制器104被耦合以接收来自处理器102的全地址记录和来自地址系统112的更新的数据块地址。存储器控制器104被进一步耦合以给地址RAM106提供查找地址以及给门116提供相应的数据部分位置。重置信号被提供给处理器102和存储器控制器104。该重置信号例如可以是系统100的全局重置信号。门116接收来自地址RAM106的数据部分地址,并且将数据部分地址和数据块中的相应的位置进行合并,并且发送合并的地址/块位置信号以访问相应的数据块和在数据段110中的特定数据块内的位置。
[0019]处理器102可以是任何类型的处理器,例如微处理器、数字信号处理器等,或者可以是任何其它类型的可以访问EEE存储器系统114的互连主机。系统100也可以包括图1中未显示的部件,例如系统总线或其它形式的互连,例如交叉开关(crossbar)、点至点连接、以及光纤和无线传输部件、其它存储器、一个或多个附加处理器、一个或多个外围设备、一个或多个输入/输出(I/O)设备等等。或者,系统100中不存在其它模块或部件。
[0020]在操作中,处理器102可以将访问请求(读取或写入访问请求)发送到存储器系统114。包括全地址,并且在写访问的情况下与写数据相关的来自处理器102的访问请求被提供给存储器控制器104。全地址包括查找地址和与查找地址相关联的数据块中的相应的位置。地址RAM106包括将查找地址转化成相应的数据部分地址的表。在读访问的情况下,数据段110给处理器104提供了对应于全地址指定的位置的数据。在写访问的情况下,数据段110将接收到的写数据在接收到的地址位置存储为新的记录。在写访问的情况下,存储器控制器104可以检测闪存阵列108的更新并且给地址RAM106提供来自地址系统112的更新的数据块地址。
[0021]作为带有使用32位记录的地址系统112的例子,前16位可以在128K EEE图像内容纳64字节的位置。低16位指向数据部分110内的64字节块的物理位置。对于带有64字节块的128K EEE图像,8K闪存存储器将包括2K用于地址系统112内的地址位置。整个系统可以包括两个或多个EEE图像,并且对每EEE图像需要8k的闪存存储器。
[0022]所有64字节块的物理地址被转移到对应于高位字中的64字节偏移的地址处的地址RAM。使用测试逻辑,转移过程可以自动进行,其中在8K地址系统112内每记录耗费I个周期。因此,对带8Κ地址系统112的系统更新地址RAM106对25mHz的时钟速率将需要IOus0
[0023]数据部分110中的块可以以两个自动化步骤读作标准的电可擦编程只读存储器,所述两个自动化步骤包括(I)从查找地址中去除高地址位以确定地址RAM106中的数据部分地址,以及(2)将数据部分地址和数据部分110中的数据位置进行合并以访问数据部分110中的特定数据。每自动化步骤需要I个时钟周期。
[0024]图2示出了可以被用在图1的系统100的全地址200的实施例。全地址200连同读取或写入请求从处理器102发送到存储器控制器104并且包括查找地址和要访问的数据块内的位置。查找地址被转化成地址RAM106中的数据部分地址。数据部分地址和在数据块中的位置被门116进行合并并且被用于访问闪存阵列108的数据部分110中的数据块中的特定位置。
[0025]图3示出了可以被用在图1的系统100中的地址系统记录300的实施例。地址系统记录300是可以在地址系统112 (图1)中实现的多地址系统记录300的其中一个,并且可以包括查找地址字段、数据部分地址字段、状态字段、以及块选择字段。来自查找地址字段的信息和在数据块中的位置由地址RAM106提供以填充记录300中的查找地址和数据部分地址字段。记录300中的状态字段和数据部分地址字段的信息由存储器控制器104提供。合格的状态位可以被使用以确定地址系统112中的记录的存在,所以全部O可以表示没有记录。
[0026]图4示出了可以被用在图1的系统中的地址RAM106的实施例,包括查找地址(O)至(η)和相应的数据部分地址(O)至(η)的表。当地址RAM106从存储器控制器104接收查找地址时,地址RAM106检索相应的数据部分地址并且将数据部分地址发送到门116。注意,在数据块中的数据部分地址和位置可以被单独发送到数据部分110,而不是通过门116。查找地址和数据部分地址的数量和大小可以基于闪存阵列110的大小。
[0027]图5示出了可以被用在图1的系统100中的闪存存储器阵列108的数据部分110的实施例,包括状态记录500和数据块(O)至(N)。状态记录500可以包括分区识别字段502、记录状态字段504-508、以及未使用字节510。分区识别字段502识别闪存存储器阵列108中的分区。记录状态字段504-508包括关于至闪存存储器阵列108中的相应的块的写入是否被启动或被完成的信息。
[0028]图6示出了可以被用在图5的闪存存储器阵列108的数据部分110中的记录状态字段504-508的格式的实施例。作为例子,记录状态字段508可以有4个位,其中2个位被保留以表示操作(例如写入命令)是否已被启动,并且其它2个位表示该操作是否已被完成。记录状态字段504-508的其它合适格式可以被使用。
[0029]未使用的字节510可以被用作附加块的记录状态字段,追踪分区擦除计数,或保留未使用,这取决于数据部分110的大小。
[0030]图7示出了可以被用在图5的闪存存储器阵列108的数据部分110中的数据块
(O)的格式的实施例。注意,相同的格式可以被用于数据块(I)至(η)。通过使用数据部分地址,数据块(O)被访问,并且正如门116 (图1)或其它合适技术或机械装置所提供的,通过使用数据块(O)中的位置,数据块(O)中的每字节可以被访问。虽然数据块(O)被显示为有64字节,数据块(O)、以及数据块(I) - (η)可以有任何合适数量的字节。
[0031]图8以方框图的形式示出了对将数据写入闪存存储器108有用的系统100的另一实施例。处理器102提供了连同地址一起被写入的数据以将数据写入存储器控制器104。存储器控制器104将数据发送到闪存阵列108中的数据部分110的所需地址。状态信息,例如特定数据块的写入是否已被启动或已被完成,也被发送到数据部分110。查找和数据部分地址和状态信息也可以被发送到闪存阵列108的地址系统112以追踪数据部分110。存储器控制器104也可以与地址RAM106进行通信以在系统重置或需要对一个或多个查找地址和/或相应的数据部分地址进行更新的其它事件之后提供更新的数据块地址。
[0032]图9示出了一种使用图8的系统100执行写入操作的方法900的实施例的流程图。过程902可以包括生成包括将数据写入闪存阵列108的记录命令。记录命令可以通过连同数据和来自处理器102的地址一起给存储器控制器104发送命令被生成。
[0033]过程904可以包括确定记录状态字段504-508 (图5)的设置以表示写入操作正在进行,并且一旦写入操作完成,更新的数据在相应的块中是可用的。
[0034]过程906可以包括编程或写入数据块。注意,数据可以被写入闪存阵列中的单一位,或突发编程模式可以被使用以通过地址写入一组位,假定起始位被写入由地址识别的块中。作为过程906的一部分,相应的记录状态字段502-508也可以被写入数据部分110。与突发写入操作相反,单一写入操作可以被使用以写入记录状态字段502-508的其中一个。
[0035]过程908可以包括将数据部分地址和在数据块中的位置写入地址系统112。数据部分地址和在数据块中的位置对应于被写入数据部分110的数据。注意,不需要搜索来确定数据部分地址,因为使用地址系统112中的查找地址,信息可以很容易地被确定。
[0036]在过程909,存储器控制器104改变记录状态来完成并且将更新的记录状态发送到闪存阵列108。
[0037]过程910可以包括确定压缩或擦除操作是否将被执行。根据压缩操作将在过程910被执行的确定,过程912可以根据预定的压缩算法压缩输入数据,由此减小存储在存储器块中的数据大小。根据擦除操作将在过程910被执行的确定,过程914执行擦除操作;在该操作期间,存储在单一块中的一个或多个页面中的数据按顺序被擦除。
[0038]在过程912或914被执行之后,或在过程910确定没有压缩或擦除操作要通过写入操作被执行之后,过程916包括使用来自地址系统112的更新的查找地址更新存储器控制器104和地址RAM106。
[0039]作为例子,下面的表I显示了执行方法900所需的时间:
[0040]表1:过程900的各自部分所需的例子时间
【权利要求】
1.一种存储器系统,包括: 存储器控制器; 耦合于所述存储器控制器的地址随机存取存储器(RAM);以及 耦合于所述存储器控制器的非易失性存储器(NVM); 其中: 所述非易失性存储器具有地址部分和数据部分; 所述非易失性存储器的所述地址部分向所述存储器控制器提供数据部分地址和有效数据的查找地址; 所述存储器控制器加载所述数据部分地址并将其存储在有效数据的所述查找地址限定的位置处的所述地址RAM内;以及 所述存储器控制器使用数据部分地址,以及所述地址RAM内的数据块地址的位置,以将数据块定位在所述非易失性存储器的所述数据部分内。
2.根据权利要求1所述的存储器系统,还包括耦合于所述非易失性存储器的所述数据部分的处理器,其中: 响应于所述处理器提供的系统地址,所述地址RAM向所述非易失性存储器提供来自由查找地址选择的地址RAM中的位置的数据部分地址。
3.根据权利要求2所述的存储器系统,其中所述系统地址包括识别所述地址RAM内的位置的所述查找地址。`
4.根据权利要求2所述的存储器系统,其中所述系统地址还包括数据部分地址,所述存储器系统还包括将从所述地址RAM提供的数据部分地址和所述数据块内的所述位置进行结合以从所述数据部分选择有效数据的逻辑门。
5.一种操作具有非易失性存储器(NVM)的存储器系统的方法,包括: 识别所述NVM内的第一 NVM位置,其中所述第一 NVM位置具有第一有效数据; 在地址RAM的第一随机存取存储器(RAM)位置内加载所述第一 NVM位置的地址; 提供用于选择所述第一 RAM位置的系统地址; 响应于用于选择所述第一 RAM位置的所述系统地址,从所述地址RAM向所述NVM提供所述第一 NVM位置的所述地址;以及 响应于从所述地址RAM接收所述第一 NVM位置的所述地址,提供来自所述第一 NVM位置的所述第一有效数据。
6.根据权利要求5所述的方法,其中: 识别所述第一 NVM位置的步骤的进一步特征在于,所述第一 NVM位置具有附加有效数据;以及 提供所述系统地址的步骤的进一步特征在于,所述系统地址具有用于选择所述第一RAM位置的第一部分和用于从所述第一有效数据和所述附加有效数据之中选择所述第一有效数据的第二部分。
7.根据权利要求6所述的方法,还包括: 将所述第一有效数据和所述附加有效数据写入所述NVM位置作为突发操作的一部分。
8.根据权利要求7所述的方法,还包括: 通过将有效数据从包括无效数据的分区复制到只包括所述有效数据的一个或多个分区中来压缩所述NVM内的所述有效数据;以及 改变只包括所述无效数据的所述分区中的每一个的状态指示器。
9.根据权利要求5所述的方法,还包括: 通过相应的系统地址向所述存储器控制器提供要写入所述NVM的第二有效数据;以及 使用所述NVM的地址系统将所述第二有效数据写入所述NVM的数据部分内的第二 NVM位置。
10.根据权利要求9所述的方法,还包括通过所述第二有效数据的所述位置加载所述地址RAM。
11.根据权利要求10所述的方法,还包括: 提供对应于所述第二有效数据的所述地址; 从所述地址RAM获得所述第二有效数据的所述位置;以及 向所述NVM提供从所述地址RAM获得的所述第二有效数据的所述位置以从所述NVM获得所述第二有效数据。
12.根据权利要求11所述的方法,其中所述第二有效数据是从NVM的所述数据部分获得的。
13.根据权利要求12所述的方法,其中所述数据部分包括状态信息。
14.根据权利要求13所述的方法,其中所述数据部分包括数据块,其中访问位置是识别所述数据块和所述数据块内的位置的组合。
15.根据权利要求14所述的方法,其中在读取期间,所述数据块内的所述位置由所述系统地址提供,并且所述数据块的识别来自所述地址RAM。
16.—种存储器系统,包括: 具有数据部分和地址系统的非易失性存储器; 根据系统地址将数据写入所述数据部分的数据处理器; 存储器控制器,耦合于所述非易失性存储器和所述处理器,用于接收所述系统地址和所述数据; 地址随机存取存储器(RAM),耦合于所述存储器控制器,提供对应于系统地址的查找地址; 其中: 所述存储器控制器向所述地址系统提供所述查找地址,并且将数据写入通过所述查找地址选择的所述数据部分中的位置。
17.根据权利要求16所述的方法,其中所述数据部分存储状态信息。
18.根据权利要求17所述的方法,其中所述数据部分存储分区ID信息。
19.根据权利要求16所述的方法,其中: 所述数据处理器根据系统地址从所述数据部分读取数据; 所述存储器控制器从对应于系统地址的所述地址RAM获得数据部分地址,并且向所述地址系统提供所述数据部分地址以识别所述数据部分中的位置用于读取;以及所述数据部分从对应于所述数据部分地址的位置向所述处理器提供数据。
20.根据权利要求19所述的方法,其中所述数据部分具有数据块,并且所述地址各自具有数据块部分和数据块部分中的位置。
21.根据权利要求20所述的方法,其中在读取期间,所述非易失性存储器接收选择地址,所述选择地址是来自所述系统地址的数据块内的所述位置和来自所述RAM地址的所述数据块部分的组合。
【文档编号】G11C16/14GK103514953SQ201310247508
【公开日】2014年1月15日 申请日期:2013年6月21日 优先权日:2012年6月22日
【发明者】R·S·斯考勒, F·K·小巴克尔, R·J·西兹代克 申请人:飞思卡尔半导体公司