软件刷新的存储器设备和方法

文档序号:6418551阅读:273来源:国知局
专利名称:软件刷新的存储器设备和方法
技术领域
本发明总体上涉及计算机存储器设备,更具体而言涉及必须被周期地刷新以免丢失数据的存储器设备。
背景技术
某些存储器设备可以长时期地维护存储在所述存储器中的信息,即使当关闭所述存储器设备的电源时也是如此。这些存储器设备被称为非易失性存储器设备。非易失性存储器设备的一些例子包括磁随机访问存储器(MRAM)、可擦可编程只读存储器(EPROM)及其变形。
其它存储器设备需要电源来维护存储在所述存储器中的信息。必须周期地刷新这些被称为易失性存储器设备的存储器设备以免丢失数据。易失性存储器设备的一个通用的例子是动态随机访问存储器(DRAM),其中存储在电容器中的电压表示信息的数字位。因为存储在电容器中的电压会随着时间的流逝而耗散,所以必须周期地再充电DRAM的电容器,来维护存储在所述DRAM中的信息。
常规的易失性存储器设备包括配置在阵列中的多个独立存储单元,所述阵列一般包括交叉的行和列的配置。为了维护存储在常规易失性存储器设备中的信息,一般每秒刷新在所述阵列中的每个存储单元至少若干次。例如,在某些常规的DRAM中,必须大约每隔64毫秒刷新每个存储单元一次以免丢失存储在所述DRAM中的信息。因此,常规的易失性存储器设备一般包括刷新电路,确保以必要的频率刷新每个存储单元以防止丢失数据,其通常为每秒至少若干次。

发明内容
在一个实施例中,刷新存储器设备中的一个单元的方法包括确定所述单元是处于写入状态还是处于擦除状态;以及如果所述单元处于所述写入状态,那么通过向所述单元发布刷新写入指令来刷新所述单元。
在另一实施例中,保存存储在具有多个单元的易失性存储器设备中的数据的方法包括对于所述多个单元中的每个,确定是否需要刷新所述单元;以及如果需要刷新所述单元,那么刷新所述单元。
在另一实施例中,保存存储在具有多个单元的易失性存储器设备中的数据的方法包括刷新所述多个单元;以及等待持续至少大约一秒的预先确定的时段,其中在所述预先确定的时段期间不刷新所述多个单元中的任何单元。
在另一实施例中,保存存储在具有多个存储单元的易失性存储器设备中的数据的方法包括寻址第一存储单元,从寻址所述第一存储单元开始等待第一时段,以及确定是否需要刷新所述第一存储单元。如果需要刷新所述第一存储单元,那么所述方法还包括确定系统资源是否可以用来刷新所述第一存储单元,以及如果需要刷新所述第一存储单元并且如果所述系统资源不可用,那么监视从寻址所述第一存储单元开始的第二时段内所述系统资源是否变为可以用来刷新所述第一存储单元。如果需要刷新所述第一存储单元并且如果在所述第二时段内所述系统资源没有变为可用,那么所述方法还包括强迫释放所述资源,以使所述资源变为可以用来刷新所述第一存储单元,并且如果需要刷新所述第一存储单元,那么使用所述可用的系统资源来刷新所述第一存储单元。所述方法还包括寻址第二存储单元。
在另一实施例中,在易失性存储器设备中防止数据丢失的方法包括建立必须刷新所述易失性存储器设备的最后期限,以及监视资源是否可以用来刷新所述易失性存储器设备。如果在所述最后期限之前的第一预先确定时段内,所述资源没有变为可以用来刷新所述易失性存储器设备,那么所述方法还包括强迫释放所述资源,以使所述资源变为可以用来刷新所述易失性存储器设备。所述方法还包括在所述最后期限之前使用所述可用资源来刷新所述易失性存储器设备。
在另一实施例中,计算机系统包括处理器、与所述处理器耦合的存储器设备,其中所述存储器设备包括必须被周期地刷新的多个单元,所述计算机系统还包括软件模块,当其由所述处理器执行时,所述软件模块刷新所述多个单元。
在另一实施例中,一种存储器设备包括必须被周期刷新的多个单元,其中把所述多个单元配置为响应于从处理器所接收的写入指令或擦除指令而被刷新,并且其中没有把所述存储器设备配置为产生或接收不同于所述写入指令或所述擦除指令的刷新控制信号。
在另一实施例中,一种存储器设备包括必须被周期地刷新的多个单元,其中把所述多个单元配置为响应于从处理器所接收的写入指令或擦除指令而被刷新,并且其中没有把所述存储器设备配置为产生或接收不同于所述写入指令或所述擦除指令的刷新控制信号。所述多个单元中的每个包括可编程的金属化单元,所述可编程的金属化单元包括具有上表面的单元体,其中所述单元体包括金属硫化物的离子玻璃(chalcogenide-metal ion glass)和置于所述上表面的两个电极,其中所述电极彼此分开一段距离。
在另一实施例中,存储器设备包括必须被周期地刷新的多个单元,其中把所述多个单元配置为响应于从处理器所接收的写入指令或擦除指令而被刷新。


图1举例说明了包括易失性存储器设备的计算机系统。
图2举例说明了依照本发明一个实施例、具有软件刷新的存储器设备的计算机系统。
图3举例说明了依照本发明一个实施例刷新一个存储单元的方法。
图4举例说明了依照本发明一个实施例刷新多个存储单元的方法。
图5举例说明了依照本发明一个实施例刷新多个存储单元的方法。
具体实施例方式
图1举例说明了包括常规的易失性存储器设备110的计算机系统100。所述计算机系统100还包括经由总线130与所述存储器设备110耦合的处理器120。所述存储器设备110包括地址/数据/控制模块140和存储器刷新电路150,二者都经由总线130与所述处理器120耦合。所述存储器设备110还包括经由线200与所述地址/数据/控制模块140耦合并且经由线210与所述存储器刷新电路150耦合的存储器阵列160。本领域内普通技术人员将理解在所述存储器设备110中可以把线200和210实现为单条物理总线的一部分。所述存储器阵列160包括多个存储单元170;所述存储单元170通过多个交叉的行180和列190来互连。
为了在存储器设备110中执行操作,所述处理器120经由总线130向所述存储器设备110发送确定的信号。例如,为了读取存储在特定存储器地址的数据,所述处理器120向总线130连同所述存储器地址一起发布读取命令。所述地址/数据/控制模块140通过经由线200访问存储器阵列160来接收所述读取命令并处理所述读取命令。特别地,地址/数据/控制模块140通过激活适当的行180和列190来在线200上产生读取控制信号并且寻址所期望的存储单元170。然后地址/数据/控制模块140经由线200接收存储在所寻址的存储单元170的数据,并且经由总线130向处理器120传送所述数据。
另外,为了把数据写入特定的存储器地址,处理器120向总线130连同所述存储器地址和要存储的数据一起发布写入命令。如上所述,地址/数据/控制模块140通过在线200上产生写入控制信号并且寻址所期望的存储单元170来接收并处理所述写入命令。然后地址/数据/控制模块140经由线200把要存储的数据传送到所寻址的存储单元170。
因为存储在所述存储单元170中的数据随着时间的流逝而耗散,所以必须周期地刷新所述存储单元170以免丢失存储在所述存储器设备110中的数据。存储器刷新电路150的主要功能是执行这些周期的存储器刷新操作。当所述存储器刷新电路150确定有必要执行存储器刷新操作时,使存储器设备110不能被处理器120用来执行其它操作,诸如读取操作或写入操作。
为了执行存储器刷新操作,所述存储器刷新电路150一般顺序地寻址存储器阵列160的行180。当寻址所述阵列160的给定行180时,所述存储器刷新电路在线210上产生刷新控制信号,其使在所寻址的行180中的所有存储单元170同时被刷新。通过同时刷新大量的存储单元170,所述存储器刷新电路150有益地降低了执行存储器刷新操作所需要的时间量,借此降低了存储器设备110不能被处理器120用来执行其它操作的时间量。
因为在存储器刷新操作期间不能使用所述存储器设备110来执行其它操作,所以希望定时存储器刷新操作,以使这些操作发生在不会与来自处理器120的请求冲突的时刻。因此,常常把所述存储器刷新电路150配置为识别处理器120不可能对所述存储器设备110发布请求的时段,并且在这些被识别的时段期间执行存储器刷新操作。另一方面,因为需要电源来执行存储器刷新操作,所以希望最小化所执行的存储器刷新操作数目。从而,还常常把所述存储器刷新电路150配置为在保持在所述存储器设备110中存储的数据的同时尽可能少地执行存储器刷新操作。
然而,为了防止丢失存储在常规的易失性存储器设备110中的数据,所述存储器刷新电路150必须频繁地执行存储器刷新操作,常常是每秒多次。例如在一些实施例中,必须每隔64毫秒刷新每个存储单元170至少大约一次以免丢失数据。在这些实施例中,为了防止丢失存储在所述存储器设备110中的信息,存储器刷新电路150必须确保每个存储单元170每秒被刷新的次数至少多于大约15次。
图2举例说明了依照本发明一个实施例、具有软件刷新存储器设备260的计算机系统250。所述计算机系统250还包括经由总线280与存储器设备260耦合的处理器270。所述计算机系统250还包括一组存储器刷新指令290,其采用可以由所述处理器270执行的软件实现。存储器设备260包括经由总线280与处理器270耦合的地址/数据/控制模块300。所述存储器设备260还包括经由线350与地址/数据/控制模块300耦合的存储器阵列310。所述存储器阵列310包括多个存储单元320,其通过多个交叉的行330和列340互连。
结合图1,使用上述相同的方法在图2中举例说明的计算机系统250可以执行存储器读取和写入操作。然而除这些方法之外,所述计算机系统250可以采用为本领域内普通技术人员所公知的各种其它方法来执行存储器读取和写入操作。
在一些实施例中,所述软件刷新存储器设备260的存储单元320包括易失性存储单元,其优选比常规的DRAM存储单元更稳定。例如在一个实施例中,即便在连续的存储器刷新操作之间的时间间隔大约是0.1秒,所述存储单元320也可以避免丢失数据。在另一实施例中,在连续的存储器刷新操作之间的时间间隔可以大约是一秒。在又一实施例中,在连续的存储器刷新操作之间的时间间隔可以大约是一小时。在又一实施例中,在连续的存储器刷新操作之间的时间间隔可以大约是一天到一星期。
在一些实施例中,所述软件刷新存储器设备260的存储单元320包括可编程导体随机访问存储器(PCRAM)单元,其在下列专利文献中得到描述,Kozicki等人的美国专利号5,761,115、5,896,312、5,914,893、6,084,796(“Kozicki专利”),Moore等人的美国专利号6,348,365(“Moore专利”),以及下面的共同待决的美国专利申请于2002年4月10日提交的美国专利申请序号10/121,792、题目为“Method of Manufacture of Programmable ConductorMemory”,于2002年4月10日提交的序号10/121,790、题目为“Programmable Conductor Memory Cell Structure and MethodTherefor”,于2002年4月10日提交的序号10/121,794、题目为“Thin Film Diode Integrated with Chalcogenide Memory Cell”。在此将Kozicki专利、Moore专利及这些共同待决的专利申请一并引入以供参考。如在这些参考中所更详细地描述那样,PCRAM单元包括一对电极并且可以处于两种可能的状态之一。在第一状态中,在所述PCRAM单元的电极之间存在电短路。在第二状态中,在所述PCRAM单元的电极之间存在开路。
PCRAM单元的某些实施例包括诸如金属硫化物的离子玻璃之类的玻璃离子导体,以及放置在所述玻璃离子导体表面上并且彼此分开一段距离的两个电极。在一个实施例中,PCRAM单元包括锗硒化物,其具有在其中溶解的IV族金属(例如银),所述锗硒化物为诸如Ag/Ge3Se7。优选地是,所述电极之一包括IV族金属,并且所述PCRAM单元的玻璃元件包含相同的金属。
操作中,当把具有第一极性的电压加到PCRAM单元的电极上时,在所述电极之间沿着通孔的侧壁创建导电通路,在所述通孔中形成玻璃元件。当把具有反向极性的电压应用到所述电极上时,金属离子重新溶解到所述单元体中,借此使所述导电通路消失。可以通过测量在所述电极之间的电阻来检测在PCRAM单元内导电通路的存在或不存在。当存在导电通路时,在所述电极之间存在电短路,并且在所述电极之间的电阻比较低(例如,数量级为毫欧)。另一方面,当不存在导电通路时,在所述电极之间存在开路,并且在所述电极之间的电阻比较高(例如,数量级为兆欧)。
在以下论述的操作过程中参考图2的特征。
一般地,存储器设备260的存储单元320能够处于两种状态之一,即“写入”状态或“擦除”状态。例如,如果存储单元320包括一个能保持电荷的电容器,在所述电容器中存在电荷往往对应于所述写入状态,而在所述电容器中不存在电荷往往对应于所述擦除状态。类似地,如果PCRAM单元充当存储单元320,那么在所述电极之间存在导电通路往往对应于写入状态,而在所述电极之间不存在导电通路往往对应于擦除状态。本领域内普通技术人员将理解,大体上,在存储单元320内存在感兴趣的元件将对应于写入状态,而不存在感兴趣的元件将对应于擦除状态。
结合图1如上所述,当常规的易失性存储器设备110的存储单元170处于特定状态时,所述存储单元170在给定状态中保持相对较短的时段,例如大约64毫秒。因为这种常规的存储单元170只能在这样一个短时段内保持它们的赋值状态,所以必须常常刷新每个存储单元170,例如每秒至少要多于15次。
相反,当在图2中举例说明的软件刷新存储器设备260的存储单元320处于特定状态时,所述存储单元320有益地在给定状态中保持相对较长的时段。例如,在一些实施例中,每个存储单元320可以维持给定状态数秒、数分钟、数小时、数天、数星期或更长。因此,可以保持存储在存储器设备260中的数据,而较不频繁地执行存储器刷新操作,例如大约每隔几星期一次,而不是每秒若干次。
因为存储器刷新操作可以较不频繁地发生,所以所述计算机系统250可以通过执行采用软件而不是采用硬件实现的一组存储器刷新指令290来有益地执行这些存储器刷新操作。例如,在一些实施例中,所述存储器刷新指令290构成所述计算机系统250的操作系统的一部分。
通过采用软件而不是采用硬件来实现所述存储器刷新指令290,可以有益地简化所述存储器设备260。例如,有益地消除了对存储器刷新电路150以及在线210上唯一的刷新控制信号的需要,如在图1中举例说明。采用软件而不是采用硬件来实现所述存储器刷新指令290的另一个优点是所述处理器270(图2)与存储器刷新电路150(图1)相比可以执行更高级的算法,以便确定何时执行存储器刷新操作。
图3依照本发明一个实施例举例说明了刷新存储单元320(图2)的方法。在第一步骤400,所述过程开始。在下一步骤402,所述处理器270读取存储单元320的状态。给存储单元320的状态分配一个逻辑值,其对应于数据的一个数字位。例如在一些实施例中,存储单元320的写入状态可以对应于逻辑“1”,而存储单元320的擦除状态对应于逻辑“0”。另一方面在一些可选择的实施例中,存储单元320的写入状态可以对应于逻辑“0”,而存储单元320的擦除状态对应于逻辑“1”。
在步骤404,处理器270确定存储在所述存储单元320中的数据位是“1”还是“0”。如果所述数据位是“1”,那么在步骤406,所述处理器270把“1”写入存储单元320。例如,如果“1”对应于写入状态,那么在步骤406期间,所述处理器270向所述存储单元发布“写入指令”,即发布写入命令,并且所述存储单元320被置于写入状态。如果在步骤404期间,所述处理器270确定存储在所述存储单元320中的数据位是“0”,那么在步骤408,所述处理器270把“0”写入所述存储单元320。例如,如果“0”对应于擦除状态,那么在步骤408期间,所述处理器270向所述存储单元发布“擦除指令”,即发布写入命令,并且所述存储单元320被置于所述擦除状态。
在存储器刷新操作期间发布的写入指令可以和对所述存储器设备260进行标准写入操作期间发布的写入指令相同。类似地,在存储器刷新操作期间发布的擦除指令可以与对所述存储器设备260进行标准写入操作期间发布的擦除指令相同。因此如上所述,有益地消除的了对唯一的刷新控制信号的需要,其只是用在存储器刷新操作期间。在处理器270完成步骤406或步骤408之后,然后在最终步骤410,所述过程结束。
在图3举例说明的方法中,假定除非通过向存储单元320(图2)发布写入指令或擦除指令(适当的一个)来周期地刷新所述存储单元320,否则所述存储单元320不会无限期地保持在写入状态或擦除状态中。然而在一些实施例中,所述存储单元320趋向于随着时间的流逝回到一个特定的状态。例如在一些实施例中,所述存储单元320趋向于随着时间的流逝回到擦除状态。在这些实施例中,当存储单元320处于写入状态时,除非通过对所述存储单元320执行写入操作来周期地刷新所述存储单元320,否则其不会无限期地保持在写入状态中。另一方面,由于所述存储单元320的自然趋势是回到所述擦除状态,所以置于擦除状态中的存储单元320将长时期地保持在该状态中,而不需要被刷新。在这些实施例中,通过取消步骤406或步骤408(其对应于擦除状态),可以有益地简化在图3中举例说明的方法。
此外,依照在图3中举例说明的方法,假定每个存储单元320(图2)只能够处于两种状态之一中。然而,根据本公开内容,本领域内普通技术人员将理解如果所述存储单元320存在两种以上的状态,可以如何来修改在图3中举例说明的方法。
如果存储器刷新操作包括在图3中举例说明的方法,单个地刷新每个存储单元320(图2),而不是同时刷新大量的存储单元320,如以上结合图1所述。通过单个地评估每个存储单元320,所述处理器270可以确定是否需要刷新每个单个的存储单元320,借此有益地防止对那些不必刷新的存储单元320执行不必要的刷新操作。
图4举例说明了依照本发明一个实施例刷新多个存储单元320(图2)的方法。为了执行该方法,所述计算机系统250维护具有以下值的计数器,所述值对应于存储器阵列190中的特定地址。在第一步骤450,使用在图3中举例说明的方法或另一适当的方法,来刷新在对应于所述计数器当前值的地址的上存储单元320。在下一步骤452,增量所述计数器的值,并且在下一步骤454,复位并启动计时器。
在步骤456,所述处理器270确定所述计时器是否超出预先确定的最小等待时间。可以通过考虑许多因素来确定所述最小等待时间的适当值,所述因素诸如存储单元320可以保持其赋值状态的最大时间,刷新存储单元320所需要的时间,要加以刷新的存储单元320的数目等等。如上所述,有益地是,该预先确定的最小等待时间可以是相对长的时间,诸如数秒、数分钟、数小时、数天或更长。在一个实施例中,所述预先确定的最小等待时间是大约为一分钟的时段。在另一实施例中,所述最小等待时间是大约为一小时的时段。在又一实施例中,所述最小等待时间大是约为一天到一星期的时段。
如果还没有到达所述最小等待时间,那么在步骤458,所述处理器270确定是否需要刷新在对应于所述计数器当前值的地址上的存储单元320。许多不同的状况可以表明不必刷新在当前地址上的存储单元320。例如如上所述,在一些实施例中,当存储单元320处于擦除状态时,不必刷新所述存储单元320。此外,如果在步骤454期间所述处理器270在复位并启动所述计时器之后,对所述存储单元320执行写入操作,那么在下一个存储器刷新周期之前都不需要刷新所述存储单元320。
如果在等待所述计时器到达最小等待时间时,处理器270确定不必刷新在当前地址的存储单元320,那么所述过程回到步骤452,在那里增量对应于当前存储器地址的计数器的值,并且如上所述继续所述过程。另一方面,如果一旦所述计时器到达最小等待时间,还需要刷新在当前地址的存储单元320,那么所述过程继续至步骤460,在那里所述处理器270确定系统资源是否可以用来刷新所述存储单元320。在进行该确定时,所述处理器270可以计算多种因素,诸如对处理器270的需要,以及对存储器设备260或在所述计算机系统250中的其它设备的需要等等。
如果系统资源是可用的,那么所述过程回到步骤450,在那里刷新在当前地址的存储单元320,并且所述过程继续,如上所述。另一方面,如果系统资源不可用来刷新所述存储单元320,那么在步骤462,所述处理器270确定所述计时器是否已经超出预先确定的最大等待时间。就像所述最小等待时间,可以通过考虑许多因素来确定所述最大等待时间适当的值,所述因素为诸如存储单元320可以保持其赋值状态的最大时间,刷新存储单元320所需要的时间,要刷新的存储单元320的数目等等。如上所述,有益地,该预先确定的最大等待时间可以是相对长的时段,诸如数秒、数分钟、数小时、数天、数星期或更长。在一个实施例中,所述最大等待时间是大约一小时的时段。在另一实施例中,所述最大等待时间是大约一星期的时段。在又一实施例中,所述最大等待时间是大约一个月的时段。
如果还没有到达所述最大等待时间,那么在步骤464,所述处理器270确定是否需要刷新在对应于所述计数器当前值的所述地址上的存储单元320。如以上结合步骤458所述,许多不同的状况可以表明不必刷新在当前地址的存储单元320。
如果不必刷新在当前地址的存储单元320,那么所述过程回到步骤452,在那里增量对应于当前存储器地址的计数器值,并且所述过程继续,如上所述。另一方面,如果需要刷新在当前地址的存储单元320,那么所述处理器270继续监视系统资源是否已经变为可以用来刷新所述存储单元320。
一旦所述计时器到达预先确定的最大等待时间,如果系统资源还没有变为可用并且仍然需要刷新在当前地址的存储单元320,那么所述过程继续至步骤466,在那里所述处理器270会强迫某些系统资源由其它过程释放,以使必要的资源变为可以用来刷新所述存储单元320。然后所述过程回到步骤450,在那里刷新在当前地址的存储单元320,并且所述过程继续,如上所述。
在一个实施例中,由处理器270不中断地重复执行在图4中举例说明的过程。在该实施例中,所述存储器刷新操作是一个不间断过程(ongoing process),其不断地发生在由处理器270执行的其它过程的后台。有益地是,可以选择并调整最小等待时间和最大等待时间,以便尽可能少地刷新存储单元320,同时保持存储在存储器设备310中的信息。
图5举例说明了依照本发明一个实施例刷新多个存储单元320的另一方法。在第一步骤500,所述过程开始,并且在下一步骤502,复位并启动计时器。就像在图4中举例说明的方法,图2的计算机系统250维护计数器以便执行在图5中举例说明的方法,所述计数器具有对应于所述存储器阵列310中的特定地址的值。在步骤504,使用在图3中举例说明的方法或另一适当的方法,来刷新在对应于所述计数器当前值的所述地址上的存储单元320。在下一步骤506,增量所述计数器值。
在步骤508,处理器270确定是否完成存储器刷新操作。许多状况可以表明完成了存储器刷新操作。例如,当已经刷新在存储器阵列310中的每个存储单元320时,或当已经刷新了在特定存储块中的每个存储单元320时可以认为完成了存储器刷新操作。
如果还没有完成所述存储器刷新操作,那么在步骤510,处理器270确定系统资源是否可以用来刷新在对应于所述计数器当前值的地址上的存储单元320。如果系统资源是可用的,那么所述过程回到步骤504,在那里刷新在当前地址处的存储单元320,并且所述过程继续,如上所述。
另一方面,如果系统资源不可用来刷新所述存储单元320,那么在步骤512,所述处理器270确定所述计时器是否已经超出预先确定的最大等待时间。如以上结合图4所述,可以通过考虑许多因素来确定所述最大等待时间的适当值,所述因素为诸如存储单元320可以保持其赋值状态的最大时间,刷新存储单元320所需要的时间,要刷新的存储单元320的数目等等。此外如上所述,有益地是,该预先确定的最大等待时间可以是相对长的时间,诸如数秒、数分钟、数小时、数天、数星期或更长。
在一个实施例中,以上结合图4所述的最大等待时间对应于在处理器270强迫系统资源变为可以用来刷新独立存储单元320之前可以等待的最大时间。在图5举例说明的过程中,另一方面,最大等待时间对应于在处理器270强迫系统资源变为可以用来刷新在存储器阵列310中或在正在刷新的存储块中剩余的所有存储单元320之前,所述处理器270可以等待的最大时间。从而,在一个实施例中,所述最大等待时间是大约一天的时段。在另一实施例中,所述最大等待时间是大约一星期的时段。在又一实施例中,所述最大等待时间是大约一个月到两个月的时段。
如果还没有到达最大等待时间,那么过程回到步骤510,在那里如上所述,处理器270继续监视系统资源是否已经变为可以用来刷新存储单元320。一旦所述计时器到达预先确定的最大等待时间,如果系统资源还没有变为可用,那么所述过程继续至步骤514,在那里处理器270强迫某些系统资源由其它过程释放,以使必要的资源变为可以用来刷新所述存储单元320。然后所述过程回到步骤504,在那里刷新在当前地址处的存储单元320,并且所述过程继续,如上所述。
重复该过程直到在步骤508期间,所述处理器270确定完成了存储器刷新操作。一旦作出该确定,那么所述过程继续至步骤516,在那里复位存储器地址计数器。在最终步骤518,所述过程结束。
在一个实施例中,由处理器270周期地重复在图5中举例说明的过程。在该实施例中,周期地执行存储器刷新操作,而不是一个恒定的不间断过程,结合图4如上所述。有益地是,处理器270可以根据计算机系统250的要求并且根据存储在存储单元320中数据的持久性,采用规则的时间间隔或不规则的时间间隔来调用并执行该过程。
在图3、4和5中举例说明的过程仅仅是可以采用存储器刷新指令290实现的算法的例子。本领域内普通技术人员将理解通过增加、删除或改变某些步骤可以容易地修改这些示例性的算法。此外,根据本公开内容,本领域内普通技术人员将理解怎样开发多种可替换的算法。
权利要求
1.一种刷新存储器设备中的单元的方法,包括确定所述单元是处于写入状态还是处于擦除状态;以及如果所述单元处于所述写入状态,那么通过向所述单元发布刷新写入指令来刷新所述单元。
2.如权利要求1所述的方法,还包括如果所述单元处于所述擦除状态,那么通过向所述单元发布刷新擦除指令来刷新所述单元。
3.一种保持在具有多个单元的易失性存储器设备中存储的数据的方法,包括对于所述多个单元中的每一个,确定是否需要刷新所述单元;以及如果需要刷新所述单元,那么刷新所述单元。
4.一种保持在具有多个单元的易失性存储器设备中存储的数据的方法,包括刷新所述多个单元;以及等待一个持续至少大约64毫秒的预先确定的时段,其中在所述预先确定的时段期间不刷新所述多个单元中的任何单元。
5.如权利要求4所述的方法,其中所述预先确定的时段持续至少大约一秒。
6.如权利要求4所述的方法,其中所述预先确定的时段持续至少大约一星期。
7.一种保持在具有多个存储单元的易失性存储器设备中存储的数据的方法,包括寻址第一存储单元;等待从寻址所述第一存储单元开始的第一时段;确定是否需要刷新所述第一存储单元;如果需要刷新所述第一存储单元,那么确定系统资源是否可以用来刷新所述第一存储单元;如果需要刷新所述第一存储单元并且如果所述系统资源不可用,那么在从寻址所述第一存储单元开始的第二时段内,监视所述系统资源是否变为可以用来刷新所述第一存储单元;如果需要刷新所述第一存储单元并且如果所述系统资源在所述第二时段内没有变为可用,那么强迫释放所述资源,以使所述资源变为可以用来刷新所述第一存储单元;如果需要刷新所述第一存储单元,那么使用所述可用的系统资源来刷新所述第一存储单元;以及寻址第二存储单元。
8.如权利要求6所述的方法,其中所述第一时段在大约一秒到大约一星期的范围内。
9.如权利要求6所述的方法,其中所述第二时段在大约一星期到大约两个月的范围内。
10.一种防止丢失易失性存储器设备中的数据的方法,包括建立一个必须刷新所述易失性存储器设备的最后期限;监视资源是否可以用来刷新所述易失性存储器设备;如果在所述最后期限之前的第一预先确定时段内,所述资源没有变为可以用来刷新所述易失性存储器设备,那么强迫释放所述资源,以使所述资源变为可以用来刷新所述易失性存储器设备;以及在所述最后期限之前使用所述可用资源来刷新所述易失性存储器设备。
11.一种计算机系统,包括处理器;与所述处理器耦合的存储器设备,其中所述存储器设备包括必须被周期地刷新的多个单元;和软件模块,当其由所述处理器执行时,刷新所述多个单元。
12.如权利要求11所述的计算机系统,还包括操作系统,其被配置为由所述处理器来执行,其中所述操作系统包括所述软件模块。
13.如权利要求11所述的计算机系统,其中所述存储器设备包括可编程导体随机访问存储器。
14.如权利要求11所述的计算机系统,其中所述多个单元中的每一个包括可编程的金属化单元。
15.如权利要求14所述的计算机系统,其中所述可编程的金属化单元包括具有上表面的单元体,其中所述单元体含有金属硫化物的离子玻璃;和放置在所述上表面的二个电极,其中所述电极彼此分开一段距离。
16.如权利要求15所述的计算机系统,其中所述金属硫化物的离子玻璃包括锗硒化物,其具有在其中溶解的IV族金属。
17.如权利要求16所述的计算机系统,其中所述金属硫化物的离子玻璃包括Ag/Ge3Se7。
18.一种包括必须被周期地刷新的多个单元的存储器设备,其中把所述多个单元配置为响应于从处理器接收的写入指令或擦除指令而被刷新,并且其中没有把所述存储器设备配置为产生或接收不同于所述写入指令或所述擦除指令的刷新控制信号。
19.如权利要求18所述的存储器设备,其中所述存储器设备包括可编程导体随机访问存储器。
20.如权利要求18所述的存储器设备,其中所述多个单元中的每一个包括可编程的金属化单元。
21.如权利要求20所述的存储器设备,其中所述可编程的金属化单元包括具有上表面的单元体,其中所述单元体包括金属硫化物的离子玻璃;和放置在所述上表面的两个电极,其中所述电极彼此相互之间分开一段距离。
22.如权利要求21所述的存储器设备,其中所述金属硫化物的离子玻璃包括锗硒化物,其具有在其中溶解的IV族金属。
23.如权利要求22所述的存储器设备,其中所述金属硫化物的离子玻璃包括Ag/Ge3Se7。
全文摘要
一种软件刷新的存储器设备包括多个存储单元,所述多个存储单元必须被周期地刷新以免丢失数据。优选地是,与在常规的、诸如DRAM之类的易失性存储器设备中连续的存储器刷新操作之间的时间间隔相比,所述存储单元即使在连续的存储器刷新操作之间的时间间隔相对较长时,也可以防止丢失数据。处理器可以通过执行采用软件而不是采用硬件实现的一组存储器刷新指令来执行周期的存储器刷新操作。因此,由于有益地消除了对存储器刷新电路和唯一的刷新控制信号的需要,所以可以有益地简化所述存储器设备。此外,与采用硬件实现的存储器刷新电路相比,执行所述存储器刷新指令的处理器可以典型地执行更高级的算法,以便确定何时执行存储器刷新操作。例如,所述处理器可以确定是否需要刷新每个单个的存储单元,借此有益地防止对那些不必刷新的存储单元执行不必要的刷新操作。
文档编号G06F12/00GK1689111SQ03824507
公开日2005年10月26日 申请日期2003年8月28日 优先权日2002年8月29日
发明者T·L·吉尔顿 申请人:微米技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1