CN1296833C - 用于存储器管理的设备和方法 - Google Patents
用于存储器管理的设备和方法 Download PDFInfo
- Publication number
- CN1296833C CN1296833C CNB2003101240822A CN200310124082A CN1296833C CN 1296833 C CN1296833 C CN 1296833C CN B2003101240822 A CNB2003101240822 A CN B2003101240822A CN 200310124082 A CN200310124082 A CN 200310124082A CN 1296833 C CN1296833 C CN 1296833C
- Authority
- CN
- China
- Prior art keywords
- page
- physical page
- access
- frequency index
- lpage
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在一种存储器管理设备中提供的TLB为每一逻辑页存储表目,并且每一表目保存被映射到相应逻辑页的物理页的地址,一个表示物理页老化程度的指数,以及一个表示逻辑页存取频率的指数。所述存储器管理设备根据TLB中存储的数据存取被映射到所要求的逻辑页的物理页,周期性地在被映射到具有最大存取频率指数的特定逻辑页的第一物理页和具有最小老化指数的第二物理页之间交换内容,然后将所述特定逻辑页映射到所述第二物理页。经由所述物理页交换和相应映射处理,分配了对每一物理页的存取,从而基本上均衡了存储功能方面的老化。
Description
该申请基于在日本提交的第2002-321669号申请,其内容结合在此作为参考。
技术领域
本发明涉及一种用于存储器管理的设备和方法,具体涉及用于对由于对存储设备的存储单元进行存取而在所述存储单元处引起的老化程度进行均匀化的技术。
背景技术
某些类型的存储设备具有这样的特性,即对存储区中的一存储单元执行数据擦除操作会引起该存储单元老化。此类存储设备包括闪存设备。当对一闪存的一特定存储单元集中地执行多次擦除操作的时候,该特定存储单元将显著地老化,最终将无法存储数据。其结果是,该存储设备将比预期的提早结束其可用寿命。
为此,一个闪存设备需要存储器管理,用于在该闪存设备的整个存储区上分配擦除操作,以便将其可用寿命最大化。
由于其结构的原因,闪存设备具有存取约束条件,即可以以一个单独的标准设置位,但是一旦设置了这些位,就需要复位被称作物理块的全部单位。
为此,往往以物理块为单位完成对闪存设备的存取。一般来讲,闪存设备通过根据需要在物理块中设置各个位来将数据写入空白的物理块,所述空白物理块中,所有位都被复位。当该数据不再被需要的时候,闪存设备通过同时将物理块中的所有位一起复位来擦除该数据。从而,该物理块可以再次用于下一个写入操作。
在上述处理中,每当每一个构成闪存设备物理块的位被复位以便擦除数据的时候,该位立刻老化。
例如,日本未审专利申请公开文本第08-016482号公开了一种鉴于上面提到的闪存设备的存取约束和老化特征而提出的一种存储器管理技术。
图24示出根据上述常规存储器管理技术的逻辑块之间的映射,它们是从上级设备(superordinate device)存取的单位并且是一闪存设备的物理块。
根据上述技术,闪存设备始终为每一逻辑块独立地记录写入操作和擦除操作的数目。
当命令将数据写入一个具有较大的写入计数的逻辑块(即,被频繁地存取)的时候,闪存设备将该逻辑块映射到一个具有小擦除计数的(即较少老化的)空白物理块,并将该数据写入该空白物理块。
通过该写入操作,具有小写入计数的空白物理块的数目减少了一个。因此,该闪存设备选择一个当前已用的具有小擦除计数的物理块,将所选择的物理块中存储的数据复制到另一空白物理块,随后将所选择的物理块中的数据立刻擦除。因此,就出现了另一个具有小擦除计数的空白物理块。
通过上述一系列的操作,基本上所有物理块都具有均匀的写入计数,从而避免了特定物理块集中地老化。这使得将闪存的可用寿命最大化。
近年来,作为闪存设备的未来替换物的FeRAM(铁电随机存取存储器)设备正朝着商业化的方向发展。
FeRAM设备这样构成以便允许同时以逐位的方式对单独位设置或者复位。因此,可以以逐位的方式(事实上,是以几个字节为单位,所述几个字节为总线带宽)存取FeRAM设备。
在FeRAM设备中,每当每一位被设置或者被复位的时候以及当每一位被存取的时候,该位将老化。
因此,为了将其可用寿命最大化,FeRAM设备也需要存储器管理,用以在该存储设备的整个存储区上分配写入操作和读取操作。
然而令人遗憾的是,无法在不引起以下问题的同时将上述用于闪存的常规存储器管理施用于FeRAM设备。
首先,常规技术是基于数据写入操作是老化的唯一原因这一认知提出的,因此不足以正确地评估FeRAM设备的老化,因为FeRAM设备的老化还由数据读出操作引起。
其次,常规技术是基于以物理块为单位发生老化这一认知提出的,因此没有考虑到一个物理块中的老化程度可能是不均匀的。为此,常规技术不足以扼制FeRAM设备的一个物理块中由于其随机存取能力而可能发生的局部老化。
最后,尽管使用某些手段减少存取的绝对次数是可取的,尤其是在能够快速存取的FeRAM情况中,但是常规技术无法满足该需要。
发明内容
本发明用于解决以上提出的问题,其目的在于提供一种用于存储器管理的设备和方法,适于将一种能够快速随机存取并且同时由于数据写入操作和数据读取操作引起老化的存储设备的可用寿命最大化。
在本发明的一个方面中,本发明提供了一种存储器管理设备,用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取,所述逻辑页包括一个由存取请求指定的逻辑地址,所述映射信息表示在多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,所述设备包括:一个存取频率指数存储单元,可操作地为每一逻辑页存储一个存取频率指数,所述存取频率指数表示一个存取请求的出现频率,所述存取请求用于指定包括在一个相应逻辑页中的一个逻辑地址;一个老化指数存储单元,可操作地为每一物理页存储一个老化指数,所述老化指数表示一个相应物理页在存储性能方面的老化程度;以及一个老化均匀化单元,可操作地(i)在一个第一物理页和一个第二物理页之间交换留存数据,所述第一物理页根据映射信息被映射到一个存取频率指数大于或等于一个第一阈值的特定逻辑页,所述第二物理页具有小于或等于一个第二阈值的老化指数,以及(ii)更新所述映射信息,以便表明所述特定逻辑页被映射到所述第二物理页。
在这里,每一物理页都可以通过铁电随机存取存储器实现。
利用上述结构,在(i)被映射到比较频繁地被存取的逻辑页并已因此老化了很大程度的物理页与(ii)相对老化较少的物理页之间交换数据内容。随后,按照当前映射更新映射信息。因此,没有特定物理页被集中地老化,并在每一物理页中均匀地发生老化。
所述存储器管理设备可以在不要求将所有数据一起擦除以确保为一个空白物理页的情况下执行交换。更确切些说,所述存储器管理设备对以有效状态存储的数据进行交换。因此,所述存储器管理设备特别适合于可随机重写的FeRAM。
在这里,所述存储器管理设备可以进一步包括:一个高速缓冲存储单元,可操作地为直到一个预定数目的物理页中的每一个存储高速缓存数据,所述高速缓存数据是一个相应物理页中保留的数据的一个副本并被存取以代替原始数据,并且如果高速缓存数据已经由于随后的存取被修改的话,还可操作地将所述被修改的高速缓存数据写回到相应物理页;以及一个老化指数更新单元,可操作地将一个第一值增加给每一个物理页的老化指数,所述物理页保持了在所述高速缓冲存储单元中存储的高速缓存数据的原始数据,并将一个第二值增加给已经被修改的高速缓存数据所写回的每一个物理页的老化指数。
利用上述结构,所述存储器管理设备通过所述高速缓冲存储装置存取物理页,以致减少了存取的绝对次数。
此外,在随后的两个高速缓存刷新操作之间,一个物理页中的每一存储单元(i)根本不被存取,(ii)被读取但不被写入,或者(iii)被读取和被写入。这消除了对一物理页中的特定存储单元的无限制的存取,以致扼制了一个物理页中的局部老化。
进一步来讲,所述存储器管理设备为每一老化指数增加了一个值,该值适当表示了由于对相应物理页读取或者写入操作而引起的老化程度。也就是说,即使在读出操作和写入操作产生的老化程度之间存在不同,所述老化指数也可以可靠地表示物理页的老化程度。
在这里,所述老化指数更新单元在每当高速缓存数据被无效或者被另一物理页中保持的数据替代的时候,如果所述高速缓存数据已经被修改,则将所述第一值和第二值的总和增加给存储所述高速缓存数据的原始数据的物理页的老化指数,并且如果所述高速缓存数据没有被修改,则将所述第一值增加给所述老化指数。
利用上述结构,在使高速缓存数据无效或者替换高速缓存数据的时候立刻执行老化指数的更新,这导致减少了老化指数的更新次数。
在这里,所述存储器管理设备可以进一步包括一个存取频率指数更新单元,可操作地将所述第一值增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到每一个保持在所述高速缓冲存储单元中所存储的高速缓存数据的原始数据的物理页,并可操作地将第二值增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到已修改的高速缓存数据已经被写回的每一个物理页。
进一步来讲,所述存取频率指数更新单元在每当高速缓存数据被无效或者被另一物理页中保持的数据替代的时候,如果所述高速缓存数据已经被修改,则将所述第一值和第二值的总和增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到一个保持所述高速缓存数据的原始数据的物理页,并且如果所述高速缓存数据没有被修改,则将所述第一值增加给所述存取频率指数。
利用上述结构,所述存取频率指数反映出逻辑页存取频率随时间变化而发生的改变,以便最近被访问过的逻辑页更经常地达到大存取频率指数。因此,被频繁存取的逻辑页被映射到一个较少老化的物理页。因而,这些结构特别适合于需要为每一物理页的均衡老化考虑存取频率随时间变化而发生的改变的情况。
在这里,所述高速缓存数据存储单元在每次存储高速缓存数据的时候,为所述高速缓存数据进一步存储一个高速缓存存取频率指数,所述高速缓存存取频率指数的初始值被设置为“0”。所述存储器管理设备进一步包括:一个高速缓存存取频率指数更新单元,可操作地响应于对所述高速缓存数据的一次存取,对该高速缓存数据的高速缓存存取频率指数加1;以及一个存取频率指数更新单元,可操作地为每一高速缓存数据段比较(i)根据映射信息被映射到保持一个相应高速缓存数据段的原始数据的物理页的逻辑页的存取频率指数以及(ii)相应高速缓存数据段的高速缓存存取频率指数,并且如果所述高速缓存存取频率指数大于所述存取频率指数,用所述高速缓存存取频率指数更新所述存取频率指数。
进一步来讲,所述存取频率指数更新单元可以以预定时间间隔执行所述更新,并将所有高速缓存存取频率指数复位为“0”。
利用上述结构,存储器管理设备保存每一逻辑页的存取频率的峰值,以致一个一旦被记录了高峰值的逻辑页在这之后始终被映射到较少老化的物理页。
这些结构特别适合于长期集中地存取特定逻辑页的情况,因为这样一种被频繁存取的逻辑页被映射到最少老化的物理页,而不管访问频率方面的短期波动。
在这里,所述存取频率指数更新单元通过基于相应高速缓存数据段被保持在高速缓冲存储单元中的时间周期对高速缓存存取频率指数进行标准化,来为每一高速缓存数据段计算一个标准化的高速缓存存取频率指数,将所述标准化的高速缓存存取频率指数与一个逻辑页的存取频率指数进行比较,所述逻辑页根据映射信息被映射到存储相应高速缓存数据段的原始数据的物理页,并且如果所述标准化的高速缓存存取频率指数大于所述存取频率指数,则用所述标准化的高速缓存存取频率指数更新所述存取频率指数。
利用上述结构,即使为在高速缓冲存储器中保持了不同时间长度的高速缓存数据段获取每一个高速缓存存取频率峰值,也可将峰值标准化,并从而可靠地彼此比较。
也就是说,不再需要仅仅为了互相比较峰值而将每一高速缓存数据段保持固定的时间周期。因此,举例来说,不必执行使诸高速缓存数据段一次性全部无效的处理,该处理将在下文中的实施例中进行说明。这导致减少了存取的绝对次数。
在这里,每一逻辑页具有包括在一个相应逻辑页中的通用逻辑地址。所述存储器管理设备进一步包括:一个检测单元,可操作地检测用于指定任何一个所述通用逻辑地址的存取请求;一个老化指数更新单元,可操作地对一个物理页的老化指数加1,该物理页根据映射信息被映射到一个包括由所述检测单元检测到的存取请求所指定的通用逻辑地址的逻辑页;以及一个存取频率指数更新单元,可操作地对包括由所检测到的存取请求指定的通用逻辑地址的逻辑页的存取频率指数加1。
进一步来讲,每一个通用逻辑地址可以是这样一种逻辑地址,即无论何时包括相应通用逻辑地址的逻辑页被存取,该逻辑地址即被存取。
由于没有提供高速缓存存储单元,上述结构是紧凑的,然而足以在应用于相对小的存取绝对次数的情况的时候均衡物理页的老化。
在另一方面中,本发明提供了一种存储器管理设备,用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取,所述逻辑页包括一个由存取请求指定的逻辑地址,所述映射信息表示多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,所述设备包括:一个存取频率指数存储单元,可操作地为每一个逻辑页存储一个存取频率指数,所述存取频率指数指示一个用于指定在相应逻辑页中所包括的逻辑地址的存取请求的出现频率;一个高速缓冲存储单元,可操作地为直到一个预定数目的物理页中的每一个存储与副本存取频率指数相关联的高速缓存数据,所述副本存取频率指数是根据映射信息映射到一个相应的物理页的存取频率指数的一个副本,所述高速缓存数据是相应物理页中保持的数据的一份副本并且被存取以代替所述原始数据;以及一个老化均匀化单元,当所述高速缓存数据段中的一个需要被替换为新物理页中保持的数据的时候,可操作地替换与副本存取频率指数相关联的高速缓存数据,所述副本存取频率指数小于或等于根据映射信息被映射到所述新物理页的逻辑页的存取频率指数。
在这里,所述存储器管理设备可以进一步包括一个副本存取频率指数更新单元,用于响应于对高速缓存数据的一次存取,对所述与高速缓存数据相关联的副本存取频率指数减1。
在这里,每一物理页都可以通过铁电随机存取存储器实现。
利用上述结构,所述存储器管理设备在必要时,将替换与被重新高速缓存的数据相比被更少存取的高速缓存数据段。因而,每一高速缓存数据段在高速缓冲存储单元中被保留了基本上相等的时间长度。因此,以平均的频率对每一物理页进行用于替换高速缓存数据的存取,这均衡了物理页产生的老化。
在另一个方面中,本发明提供了一种用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取的存储器管理方法,所述逻辑页包括由存取请求指定的逻辑地址,所述映射信息表示在多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,其特征在于:所述方法采用(i)一个存取频率指数,用于为每一逻辑页指示一存取请求的出现频率,所述存取请求指定了在一个相应逻辑页中包括的逻辑地址以及(ii)一个老化指数,用于为每一物理页指示一个相应物理页存储性能方面的老化程度,所述方法包括:一个老化均匀化步骤:(i)在第一物理页和第二物理页之间交换留存数据,所述第一物理页根据映射信息被映射到一个存取频率指数大于或等于一个第一阈值的特定逻辑页,所述第二物理页具有小于或等于一个第二阈值的老化指数,以及(ii)更新所述映射信息,以便表明所述特定逻辑页被映射到所述第二物理页。
在这里,所述存储器管理方法可以进一步包括:一个高速缓存管理步骤,用于为直到一个预定数目的物理页中的每一个存储高速缓存数据,所述高速缓存数据是相应物理页中所保留数据的一个副本并被存取以代替原始数据,并且如果高速缓存数据已经由于随后的存取被修改的的话,用于将所述被修改高速缓存数据写回到相应物理页;以及一个老化指数更新步骤,用于将一个第一值增加给每一个物理页的老化指数,所述物理页保持了高速缓冲存储步骤中所存储的高速缓存数据的原始数据,并将一个第二值增加给已经被修改的高速缓存数据所写回的每一个物理页的老化指数。
在这里,每一逻辑页可以具有包括在一个相应逻辑页中的一个通用逻辑地址。所述存储器管理方法进一步包括:一个检测步骤,检测用于指定任何一个所述通用逻辑地址的存取请求;一个老化指数更新步骤,对一个根据映射信息被映射到一个包括由所述检测步骤中检测到的存取请求指定的通用逻辑地址的逻辑页的物理页的老化指数加1;以及一个存取频率指数更新步骤,用于对包括由所检测到的存取请求指定的通用逻辑地址的逻辑页的存取频率指数加1。
在另一个方面中,本发明提供了一种存储器管理方法,用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取,所述逻辑页包括由存取请求指定的逻辑地址,所述映射信息表示在多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,其特征在于:所述方法采用(i)一个存取频率指数,为每一逻辑页指示一存取请求的出现频率,所述存取请求指定了在一相应逻辑页中包括的逻辑地址以及(ii)一个老化指数,用于为每一物理页指示相应物理页存储性能方面的老化程度,所述方法包括:一个高速缓冲存储步骤,用于为直到一个预定数目的物理页中的每一个存储与副本存取频率指数相关联的高速缓存数据,所述副本存取频率指数是根据映射信息被映射到一个相应的物理页的逻辑页的存取频率指数的一份副本,所述高速缓存数据是相应物理页中保持的数据的一份副本并且被存取以代替原始数据;以及一个老化均匀化步骤,当高速缓存数据段中的一个需要被替换为新物理页中保持的数据的时候,用于替换与副本存取频率指数相关联的高速缓存数据,所述副本存取频率指数小于或等于根据映射信息被映射到所述新物理页的逻辑页的存取频率指数。
利用上述的存储器管理方法执行了存储器管理,用于实现类似于以上所述的效果。
附图的说明
本发明的这些及其他目的、有益效果和特征将通过以下结合附图举例说明本发明一特定实施例的描述而变得清晰明白。
在所述附图中:
图1是示出包括一存储器管理设备的计算机系统的结构的功能方框图;
图2A图示了计算机系统的逻辑地址空间的地址映射;
图2B图示逻辑地址的位结构的一个范例;
图3A图示逻辑地址空间中FeRAM区域的细节;
图3B图示FeRAM的存储区的结构;
图4图示一种高速缓冲存储器的结构;
图5图示一种TLB的结构;
图6是示出高速缓存刷新和TLB更新处理的PAD;
图7是示出物理页交换处理的PAD;
图8是示出数据和信号随时间变化发生改变的时序图;
图9是示出该数据和信号随时间变化发生改变的时序图;
图10A-10E示出在主要时刻对FeRAM的存储单元进行的累积存取计数;
图11A-11E示出在主要时刻的TLB内容;
图12是示出高速缓存刷新和TLB更新处理的PAD;
图13是示出数据和信号随时间变化发生改变的时序图;
图14是示出该数据和信号随时间变化发生改变的时序图;
图15A-15E示出在主要时刻对FeRAM的存储单元进行的累积存取计数;
图16A-16E示出在主要时刻的TLB内容;
图17是示出包括一存储器管理设备的计算机系统的结构的功能方框图;
图18示出在一FeRAM区域中分配程序例程的范例;
图19图示一种TLB的结构;
图20示出一个在TLB中存储的存取频率指数的范例;
图21是示出替换目标判定处理的PAD;
图22是图示一判定电路结构的方框图;
图23是示出数据随时间变化发生改变的时序图;以及
图24图示一种常规存储器管理技术。
具体实施方式
<实施例1>
根据本发明实施例1的一种存储器管理设备,存储映射信息,该映射信息将多个逻辑页中的每一个映射到多个物理页中的一个,每当对所述物理页进行一次存取,相应物理页就会老化。响应于一个指定逻辑页的存取请求,所述存储器管理设备对根据所述映射信息被映射到所述被指定的逻辑页的物理页进行存取。所述存储器管理设备在被映射到被频繁存取的逻辑页的第一物理页与老化程度相对小的第二物理页之间周期性地交换内容,并修改所述映射信息,以便将所述被频繁存取的逻辑页映射到所述第二物理页。
在下文中,将参照图1-11对所述存储器管理设备进行说明。
<整体结构>
图1是示出一个计算机系统100的结构的功能方框图,所述计算机系统100中包括一种根据本实施例1的存储器管理设备10。
所述计算机系统100由存储器管理设备10、CPU(中央处理器)20、RAM(随机存取存储器)30、ROM(只读存储器)40、FeRAM 50以及逻辑地址总线61、逻辑数据总线62、物理地址总线71和物理数据总线72组成。
所述存储器管理设备10由控制电路11、高速缓冲存储器12和TLB(翻译后援缓冲器)13组成。
所述CPU 20通过逻辑地址总线61和逻辑数据总线62对存储器管理设备10、RAM 30和ROM 40进行存取。
<逻辑页和物理页>
图2A是用于例示所述计算机系统100的逻辑地址空间的地址映射。逻辑地址空间600包括FeRAM区610、高速缓存直接存取区620、TLB直接存取区630、ROM区640和RAM区650,并且通过各个区域对FeRAM 50、高速缓冲存储器12、TLB 13、RAM 30和ROM 40进行存取。
图2B图示了逻辑地址的位结构,所述逻辑地址在逻辑地址空间600中以字节为单位指定一个存储单元。在本范例中,逻辑地址由20比特组成。所述逻辑地址被输出到逻辑地址总线61,用于指定待存取的存储单元。两个最高位A[19:18]是“00”的时候,所述逻辑地址指定FeRAM区610,其余位A[17:0]指定所述FeRAM区610中的一个字节。FeRAM区610的大小是256K字节。
图3A图示了所述FeRAM区610的细节。所述FeRAM区610被分成256个逻辑页,所述逻辑页是存储器管理的单位。每一逻辑页的大小是1K字节。逻辑地址的中间八位A[17:10]指定一个逻辑页,并且十个最低位A[9:0]指定所述逻辑页中的一个字节。
图3B图示了所述FeRAM 50的存储区的结构。所述FeRAM 50的存储区由256个物理页组成,每一个物理页能够保持1K字节数据。通过所述存储器管理设备10,每一物理页被映射到所述诸逻辑页中的一个不同的逻辑页。
以32字节为单位对所述FeRAM 50进行存取,所述32字节是在一个存取单元区域中可被保持的字节数目,所述存取单元区域是通过将一个物理页划分为32个区域定义的。
响应于通过指定一逻辑地址而发出的一个存取请求,所述存储器管理设备10将32字节数据高速缓存到高速缓冲存储器12中,所述32字节数据包括被映射到所述被指定的逻辑地址的一物理页中的一个目标字节。
<高速缓冲存储器12>
图4图示了所述高速缓冲存储器12的结构。所述高速缓冲存储器12是一种4路集关联高速缓存。该图仅仅示出了用于其中一路的存储单元120的结构,然而还为其他每一路提供了具有类似结构的存储器。
所述存储单元120具有逻辑页地址列121、有效位列122、页面重写标志位(dirty bit)列123、高速缓存存取频率指数列124以及高速缓存数据列125。
所述高速缓存数据列125由32根线组成,每根线对应于所述存取单元区域中的不同的一个,并且将作为一个存取单元区域中所保持的数据的副本的高速缓存数据存储到一根相应的高速缓存线里。所述逻辑页地址列121为每一段高速缓存数据存储一个逻辑页地址,所述逻辑页地址将在存取所述高速缓存数据的时候被指定。所述有效位列122存储用于指示所述高速缓存数据是否有效的信息。所述页面重写标志位列123存储表示所述高速缓存数据与其初始内容相比已经被修改的信息。所述高速缓存存取频率指数列124存储用于指示对所述高速缓存数据所作存取的频率的指数。
现在,将详细说明存储高速缓存数据的操作。响应于一个指定FeRAM区中的一存储单元的存取请求,所述存储器管理设备10选择由所述逻辑地址位A[9:5]指定的线。然后所述存储器管理设备10将所述逻辑地址位A[17:10]存储到所述逻辑页地址列121中一根相应线,而且还将原始数据的一份副本存储到高速缓存数据列125的相应线。在这里,用来制作副本的所述原始数据是被保持在一物理页中的32字节数据,所述物理页被映射到在由逻辑地址比特A[9:5]指定的存取单元区域中由逻辑地址位A[17:10]指定的一逻辑页。
随后,所述存储器管理设备10将在有效位列122、页面重写标志位列123以及高速缓存存取频率指数列124中的选定线分别修改为“1”、“0”和“0”。
从而,对所存储的高速缓存数据而不是原始数据进行存取,并且如果所述存取导致修改了所述被存储的高速缓存数据,则将其写回到存取单元区域。
此外,每次存取所述高速缓存数据时,存储在所述高速缓存存取频率指数列124中的值增加“1”。
注意,用于存取高速缓冲存储器12的一般技术(例如命中,未中,以及写回)是常规公知技术,因此不对其给予进一步说明。
<TLB 13>
图5示出了TLB 13的结构。所述TLB 13由一个缓存器130和一个解码器139组成。
所述缓存器130具有一个物理页地址列131、一个老化指数列132和一个存取频率指数列133,并对应于诸逻辑页存储了256个表目。
对于每一表目,所述物理页地址列131保存了一个物理页地址,其指定了一个被映射到相应逻辑页的物理页。所述老化指数列132保存了用以指示物理页的老化程度的老化指数。所述存取频率指数列133保存了用以指示存取请求的出现频率的存取频率指数,该存取请求的出现频率用于指定所述逻辑页。
稍后将详细说明老化指数和存取频率指数所采用的值。
所述控制电路11为所述解码器139提供了一个逻辑页地址ACACHE[7:0],所述解码器139对所述逻辑页地址A CACHE[7:0]解码,从而输出一个用于选择一个表目的选择信号。
在FeRAM需要被实际存取的时候提供所述逻辑页地址A CACHE[7:0]。具体地说,所述逻辑页地址A CACHE[7:0]是与一个在高速缓存未中的情况下被从所述FeRAM 50中读出的存取单元区域有关的逻辑页地址,或者是与一个在写回到所述FeRAM 50的情况中将数据写回到其中的存取单元区域有关的逻辑页地址。
所述缓存器130将在根据选择信号选定的表目中保存的物理页地址A TRAN[7:0]输出到物理地址总线71的八个最高位A PHY[12:5]。也就是,逻辑页编号被转换为在由该逻辑页编号指定的表目中保存的物理页编号。通过这个地址转换操作,实际访问的是被映射到期望逻辑页的物理页。
同时,所述控制电路11将物理地址的五个中间位A[9:5]输出到五个最低位A PHX[4:0]。
因而,存取的是存储在所述FeRAM 50中的、并位于由所述物理地址A PHY[12:0]指定的存储单元中的32字节数据。
<由存储器管理设备10执行的处理>
接下来,将说明由所述存储器管理设备10执行的本发明的两个不同的处理。
这些处理可以是由构成所述控制电路11的硬件电路执行的,可以是由所述控制电路11根据ROM40中存储的程序进行操作执行的,或者可以是由所述控制电路11在由所述CPU 20根据ROM 40中存储的程序发出的指令下进行操作来执行的。
进一步来讲,在下文对该处理的说明中所提及的数组和变量实际上是通过RAM 30或者所述控制电路11中所包括的寄存器实现的。
<高速缓存刷新和TLB更新处理>
所述高速缓存刷新和TLB更新处理使所述高速缓冲存储器12中的所有高速缓存数据无效(刷新),并且如果有高速缓存数据段与其初始内容相比已经被修改的话,将该高速缓存数据段写(写回)(write-back)到FeRAM 50。进一步来讲,所述高速缓存刷新和TLB更新处理对TLB 13进行更新,以致高速缓存存取频率指数的峰值被存为相应逻辑页的存取频率指数,而且基于是否对相应物理页进行了一次访问以及基于所述访问是读取访问还是写入访问,来确定是否对老化指数加1。
响应于由具有规则时间间隔的定时电路(没有示出)发出的中断来调用和执行以上所述处理。在下文中,将详细进行说明。
图6是示出所述高速缓存刷新和TLB更新处理的PAD(程序算法图)。所述处理是使用数组T[0:255]和变量N、M和L执行的。在这里,数组T[0:255]示出物理页的老化程度,变量N是指定路的参数,变量M是指定线的参数,以及变量L是指定逻辑页的参数。
控制电路11首先将数组T的元素初始化为“0”(S100),然后为每一路N(S110-S111)以及每一线M(S120-S121)执行步骤直到S139。
如果有效位[N,M]是“1”(S122:是),控制电路11将逻辑地址[N,M]分配给变量L,并选择TLB 13的表目[L]。
如果高速缓存存取频率指数[N,M]大于存取频率指数[L],则控制电路11用所述高速缓存存取频率指数[N,M]来更新所述存取频率指数[L](S133-S134)。
经由上述步骤,TLB 13中的每一存取频率指数被定期更新,以便在与相应逻辑页相关的每一高速缓存数据段的存取频率之中保持一个峰值。
接着,如果所述页面重写标志位[N,M]是“1”(S135:是),控制电路11将数组元素T[L]修改为“2”,并将高速缓存数据[N,M]写回FeRAM 50(S136-S137)。另一方面,如果所述页面重写标志位[N,M]不为“1”(S135:否),假若数组元素T[L]是“0”的话,控制电路11将数组元素T[L]修改为“1”,(S138)。
经由上述步骤,数组元素T[L]在没有对被映射到所述逻辑页的物理页进行存取的情况中具有值“0”,在已经读取所述物理页但没有写回数据的情况中具有值“1”,并且在所述物理页被读和写的情况中具有值“2”。
这些值是在这样的前提下给出的一个范例:物理页当每次数据读出操作或者数据写入操作的情况中老化了“1”。当然,恰当的是,为数据读出操作和数据写入操作使用不同的老化值。
其后,控制电路11将有效位、页面重写标志位以及高速缓存存取频率指数均复位为“0”(S139)。
最终,所述控制电路11将每一逻辑页的T[L]增加给被映射到所述逻辑页的物理页的老化指数(S150-S152)。
<物理页交换处理>
所述物理页交换处理是在被映射到一个具有最大存取频率指数的物理页的第一物理页以及一个具有最小老化指数的第二物理页之间交换数据内容,并更新TLB中存储的信息,以便维持一致性。
该物理页交换处理是接在如上所述的高速缓存刷新和TLB更新处理后被执行的。详细说明如下。
图7是示出所述物理页交换处理的PAD。
所述控制电路11首先从TLB 13中检索保持有最大存取频率指数LMAX的表目ILMAX以及保持有最小老化指数PMIN的表目IPMIN(S200)。
然后所述控制电路11经由以下步骤(S210-S214)交换由这两个表目所指示的物理页。
首先,控制电路11读取由表目ILMAX中保存的物理页地址指定的物理页的内容,并将所读取的内容存储到RAM 30。
然后控制电路11将由表目IPMIN中保存的物理页地址指定的物理页的内容传输到由表目ILMAX中保存的物理页地址指定的物理页。
进一步来讲,控制电路11交换这两个表目中保存的物理页地址,将“2”增加给每一表目中保存的老化指数,然后交换老化指数。增加值“2″的原因在于,如上所述,该值是该物理页所接收的老化值的总和:因为一次数据读取而产生的“1”,以及因为一次数据写回而产生的“1”。
<具体范例>
现在,将使用一具体范例说明通过执行上述处理的存储器管理设备10,FeRAM 50中的物理页所产生的老化基本上是均匀的进行的。
在该范例中,以下三组操作被重复了两遍:(i)常规操作:由存储器管理设备10所作的操作,该操作是响应对FeRAM 50进行的存取请求,并经由高速缓冲存储器12执行的,(ii)高速缓存刷新操作:由存储器管理设备10执行如上所述的高速缓存刷新和TLB更新处理的操作,以及(iii)物理页交换操作:由存储器管理设备10执行如上所述的物理页交换处理的操作。
图8和9是示出所述计算机系统100中每一组件中的数据和信号随时间变化的时序图。图8示出两个重复操作(iteration)中的第一个,而图9示出了第二个。
图10A-10E示出在主要时刻对FeRAM 50的存储单元进行的累积存取计数。
图11A-11E示出在主要时刻的TLB 13的内容。
在下文中,参照附图中相关部分,以时间顺序进行说明。
(时间t0-t1)第一重复操作的常规操作
如图10A中所示,在时刻t0,没有对FeRAM 50的任一存储单元进行存取,并且如图11A中所示,每一逻辑页被映射给一个与相应逻辑页具有相同地址的物理页,并且老化指数和存取频率指数都被设置为“0”。
对于这种情况,如图8中所示,指定逻辑地址000x-01Fx的存取请求(其对应于所述逻辑页0最高处的存取单元区域中的32字节数据)被顺序地发送到所述逻辑地址总线。在这里,每一存取请求是在两个周期内被处理的。在第一周期中,完成有关高速缓存命中/未中的判断。当存取请求被判定为高速缓存未中的时候,从FeRAM中获取高速缓存数据送到高速缓冲存储器,并且在随后的第二周期中,使用因此获取的高速缓存数据处理存取请求。
结果,所述第一存取请求被判定为高速缓存未中,TLB表目0中保存的对应于逻辑页0的物理地址00x被输出到物理地址总线[12:5],并且逻辑地址[9:5]被输出到物理地址总线[4:0]。因此,FeRAM 50将物理页00x最高处的存取单元区域中保持的32字节数据L 0输出到物理数据总线。由此输出的数据L0被作为高速缓存数据存储到路0的线0。
根据随后的每一次存取,因此被存储的高速缓存数据被存取,以致路0-线0中保存的高速缓存存取频率指数增加到20x。在这里,是在假定随后的存取包括一次写存取并且因此将页面重写标志位设置为“1”的前提下进行的说明。
(时间t1-t2)用于第一重复操作的高速缓存刷新操作
在周期t1-1中,发出一条中断信号,以致存储器管理设备10在时刻t1开始高速缓存刷新操作。
所述高速缓存刷新操作正如在上述的高速缓存刷新和TLB更新处理部分中所详细描写的。
为了增加对该具体范例的说明,由于所述高速缓冲存储器的路0-线0中的有效位被设置为“1”,所以所述高速缓存存取频率指数“20x”与TLB表目0中保存的存取频率指数“00x”相比较,所述TLB表目0对应于逻辑页0。通过该比较,存取频率指数被更新为“20x”。
进一步来讲,因为页面重写标志位被设置为“1”,所以数组元素T[0](图8中没有示出)被修改为“2”,并且所述被修改的高速缓存数据L′0被写回到物理页0。此外,TLB表目0的老化指数被更新为“2”。
结果,如图10B中所示,在时刻t2,FeRAM 50的物理页0的最高处的存取单元区域的累积存取计数变为“2”,并且如图11B中所示,TLB表目0的老化指数和存取频率指数分别变为“2”和“20x”。
(时间t2-t3)用于第一重复操作的物理页交换操作
在时刻t2进行高速缓存刷新操作之后,存储器管理设备执行用于所述第一重复操作的物理页交换操作。
该操作正如上述物理页交换操作处理部分所描写的。
为了增加对该具体范例的说明,在TLB中检索保存了最大存取频率指数“20x”的表目0和保存了最小老化指数“0”的表目1。在存在超过一个的保存最小老化指数的表目的情况中,检索最小数目的表目。
接下来,在由表目1和2分别表示的物理页0和物理页1之间交换内容。
然后,在表目0和表目1之间交换物理页地址。此外,将值“2”增加给每一表目的老化指数,然后将这两个老化指数互相交换。
结果,如图10C中所示,在时刻t3,FeRAM 50的物理页0的最高处的存取单元区域的累积存取计数变为“4”,其余物理页0的累积存取计数变为“2”,并且物理页1的累积存取计数变为“2”。此外,还如图11C中所示,在时刻t3,TLB表目0中的老化指数和存取频率指数分别变为“1”和“2”,并且TLB表目1中的物理页地址和老化指数分别变为“0”和“4”。
正如从上文明显看出的,每一老化指数表示出一个物理页中的最严重老化的存储单元的老化程度。
(时间t3-t4)用于第二重复操作的常规操作
在物理页交换操作之后,存储器管理设备在时刻t3之后执行用于第二重复操作的常规操作。
如图9中所示,再次指定逻辑地址000x-01Fx的存取请求被顺序地发送到逻辑地址总线。这些存取请求包括写入存取请求。
结果,类似于所述第一常规操作,路0-线0的高速缓存存取频率增加到“20x”,并且页面重写标志位被设置为“1”。
(时间t4-t5)用于第二重复操作的高速缓存刷新操作
在周期t4-1中,发出一条中断信号,以致存储器管理设备10在时刻t4开始为第二次重复操作进行高速缓存刷新操作。
经由该操作,在高速缓冲存储器的路0-线0中保存的高速缓存存取频率指数“20x”与在TLB表目0中保存的存取频率指数“20x”相比较,所述TLB表目0对应于逻辑页0。通过该比较,存取频率指数“20x”被维持原样。
进一步来讲,数组元素T[0](图9中没有示出)被修改到“2”,并且所述被修改的高速缓存数据L″0被写回到物理页1。此外,T[0]被增加给TLB表目0的老化指数,结果为“4”。
结果,在时刻t5,在FeRAM 50中的物理页0的最高处的存取单元区域的累积存取计数变为“4”,如图10D中所示,并且TLB表目0的老化指数变为“4”,如图11D中所示。
(时间t5-t6)用于第二重复操作的物理页交换操作
存储器管理设备在时刻t5之后为第二次重复操作执行物理页交换操作。
经由该操作,在TLB中检索保存了最大存取频率指数“20x”的表目0和保存了最小老化指数“0”的表目2。
接下来,在由表目0和2分别表示的物理页1和物理页2之间交换内容。还在表目0和表目2之间交换物理页地址。此外,将值“2”增加给每一表目的老化指数,然后将这两个老化指数互相交换。
结果,如在图10E中所示,在时刻t6,在FeRAM 50的物理页1的最高处的存取单元区域的累积存取计数变为“6”,其余物理页1的累积存取计数变为“4”,并且物理页2的累积存取计数变为“2”。此外,还如图11E中所示,在时刻t6,TLB表目0中的老化指数和存取频率指数分别变为“2”和“2”,并且TLB表目2中的物理页地址和老化指数分别变为“1”和“6”。
<结论>
如上所述,根据实施例1的存储器管理设备,每一存取频率指数表示相应逻辑页的存取频率,同时每一老化指数表示相应物理页的老化程度。所述存储器管理设备在被映射到具有最大存取频率指数的逻辑页的第一物理页与具有最小老化指数的物理页之间交换内容,并随后相应地修改所涉及的逻辑页和物理页之间的映射。
也就是说,由于被映射到被频繁存取的逻辑页而显著老化的物理页被重新映射到不太经常被存取的逻辑页。此外,被频繁存取的逻辑页被重新映射到一个老化最少的物理页。该操作被周期性地执行,以致避免一个或多个物理页相对于其他物理页显著地老化。
特别要注意的是,每一逻辑页的存取频率指数保存了存取频率的峰值。因此,一旦一个逻辑页记录了高峰值,存储器管理设备将总是在其后将一个老化最少的物理页映射到该逻辑页。
上述的结构要优越于长期集中地存取一个或多个特定逻辑页的情况。这是因为,这种结构的存储器管理设备将此类被频繁存取的逻辑页映射到老化最少的物理页,而不管存取频率方面的短时被动。
进一步来讲,因为存储器管理设备经由高速缓冲存储器存取FeRAM,所以减少了对FeRAM的存取绝对次数。
在存在高速缓冲存储器的情况下,物理页中的每一存取单元区域在每一次高速缓存闪存操作中,是(i)根本没有被存取,(ii)被读取一次,或者(iii)被读取一次,写回一次。这消除了对一特定存储单元区域的无限制存取的可能性,从而扼制了一个物理页内部的局部老化。
注意的是,在本说明书中的相关技术部分中说明的技术采用了空白物理块,特别适合于闪存。不同于这种常规技术,根据本发明的存储器管理设备通过对保持有效的存储数据进行交换,在物理页之中实现了老化均匀化。该特征特别适合于FeRAM的存储器管理,其不需要将整个物理页一次全部擦除来执行物理页交换,并从而可被随机地存取。
<实施例2>
类似于实施例1中所说明的存储器管理设备,根据本发明实施例2的存储器管理设备用于通过在被映射到被频繁存取的逻辑页的第一物理页和老化最少的物理页之间周期性地交换内容来对物理页老化进行均匀化。实施例2的存储器管理设备在存取频率指数怎样指示每一逻辑页的存取频率方面,不同于实施例1中的存储器管理设备。
<整体结构>
根据实施例2的存储器管理设备的结构以及包括该存储器管理设备的计算机系统的结构基本上类似于实施例1中所说明的结构(参见图1)。仅有的差异在于高速缓冲存储器没有高速缓存存取频率指数列。实施例2的存储器管理设备和计算机系统的示例说明从略。
进一步来讲,与实施例1相同的说明适用于逻辑页和物理页。
<高速缓存刷新和TLB更新处理>
实施例2的存储器管理设备通过执行以下高速缓存刷新和TLB更新处理来计算存取频率指数,其与在实施例1中所采用的存取频率指数不同。
根据实施例2的高速缓存刷新和TLB更新处理是,在进行高速缓存刷新和写回之后,基于是否对一物理页进行了一次访问以及所述访问是读取访问还是写入访问,对存取频率指数和老化指数加1。
图12是示出该处理的PAD。与根据实施例1的高速缓存刷新和TLB更新处理(参见图6)相比,删去了基于高速缓存存取频率指数来更新存取频率指数的步骤S133-S134,同时增加了将A[L]增加给存取频率指数的步骤S353。相应地,实施例2中的存取频率指数指示已经经由相应逻辑页对一物理页完成的累积存取计数(即已经给予该物理页的老化累积量)。
其他步骤保持相同。
基于所述存取频率指数,执行类似于实施例1的物理页交换处理。
<具体范例>
现在,在存取请求与实施例1中所作的相似的前提下,说明一个与实施例2有关的具体范例。
图13和14是示出所述计算机系统100中每一组件中的数据和信号随时间变化的时序图。注意,没有表示高速缓存存取频率指数的行。
图15A-15E示出了在主要时刻对FeRAM 50的存储单元进行的累积存取计数。
图16A-16E示出在主要时刻的TLB 13的内容。
在下文中,参照附图中相关部分,以时间顺序进行说明。
(时间t0-t1)用于第一重复操作的常规操作
除了没有执行更新高速缓存存取频率指数的操作之外,在这里执行的其他操作类似于实施例1中所执行的那些操作。
(时刻t1-t2)用于第一重复操作的高速缓存刷新操作
TLB表目0的存取频率指数与老化指数一起更新为“2”。在这里执行的其他操作类似于实施例1中执行的那些操作。
结果,在时刻t2,FeRAM中的物理页0最高处的存取单元区域的累积存取计数变为“2”,如图15B中所示,并且如图16B中所示,TLB表目0的老化指数和存取频率指数分别都变为“2”和“2”。
(时间t2-t3)用于第一重复操作的物理页交换操作
在TLB中检索保存了最大存取频率指数“2”的表目0和保存了最小老化指数“0”的表目1。接下来,在由各自表目分别表示的物理页0和物理页1之间交换内容。
随后,在表目0和表目1之间交换物理页地址。此外,将值“2”增加给每一表目的老化指数,然后将这两个老化指数互相交换。
结果,在时刻t3,FeRAM的每一存储单元的累积存取计数以及TLB中的内容分别如图15C和16C中所示。
(时间t3-t4)用于第二重复操作的常规操作
除了没有执行更新高速缓存存取频率指数的操作之外,在这里执行的其他操作类似于实施例1中所执行的那些操作。
(时间t4-t5)用于第二重复操作的高速缓存刷新操作
TLB表目0中保存的存取频率指数和老化指数都被更新为“4”。在这里进行的其他每一个操作类似于实施例1中进行的那些操作。
结果,在时刻t5,在FeRAM 50中的物理页0的第一个32-字节数据的累积存取计数变为“4”,如图15D中所示,并且如图16D中所示,TLB表目0的老化指数和存取频率指数分别变为“4”和“4”。
(时间t5-t6)用于第二重复操作的物理页交换操作
在TLB中检索保存了最大存取频率指数“4”的表目0和保存了最小老化指数“0”的表目2。接下来,在由各自表目分别表示的物理页1和物理页2之间交换内容。
随后,在表目0和表目2之间交换物理页地址。此外,将值“2”增加给每一表目的老化指数,然后将这两个老化指数互相交换。
结果,在时刻t6,FeRAM的每一存储单元的累积存取计数以及TLB中的内容分别如图15E和16E中所示。
<结论>
如上所述,根据实施例2的所述存储器管理设备,每一存取频率指数表示已经经由相应逻辑页对一物理页所完成的累积存取计数。相应地,每一逻辑页的存取频率随时间而变化,较以前被更加频繁地存取的逻辑页将具有较大的存取频率指数。因此,被频繁存取的逻辑页被映射到老化最少的物理页。也就是说,上述结构特别适合于在对物理页进行老化均匀化时需要考虑存取频率随时间变化而发生的改变的情况。
<实施例3>
类似于实施例1中所说明的存储器管理设备,根据本发明实施例3的存储器管理设备用于通过在被映射到被频繁存取的逻辑页的第一物理页和老化最少的物理页之间周期性地交换内容来对物理页老化进行均匀化。
为了在存取绝对次数相对小的情况中使用,实施例3的存储器管理设备与实施例1中的存储器管理设备的不同之处在于没有配置高速缓冲存储器,并因此采用了不同的存取频率指数。
在下文中,参照图17-19,主要说明实施例3的存储器管理设备独有的几点特征,而与实施例1相似的特征从略。
<整体结构>
图17是示出一个计算机系统200的结构的功能方框图,所述计算机系统200中包括一种根据本实施例3的存储器管理设备90。
所述计算机系统200由存储器管理设备90、CPU 20、RAM 30、ROM 40、FeRAM 50以及逻辑地址总线61、逻辑数据总线62、物理地址总线71、物理数据总线72、CD-ROM I/F(光盘-只读存储器接口)80和CD-ROM81组成。
所述存储器管理设备90由控制电路91和TLB 93组成。
在所述控制电路91除了没有提供高速缓冲存储器的控制功能之外,其它类似于实施例1中的控制电路11。
注意,与实施例1相同的附图标记被用于指示与实施例1中提到的那些组件(参见图1)相似的组件,并且因此省略对它们的说明。
计算机系统200还具有物理页和逻辑页,对它们采用了与实施例1中相同的描述。
当计算机系统200被接通电源的时候,CPU 20执行一个预先录制在ROM 40中的程序,以致从CD-ROM81中将多个程序例程经由CD-ROM I/F 80加载到FeRAM 50。其后,CPU 20执行所加载的程序例程,借此执行预定功能。计算机系统200可以是面向控制的微型计算机系统,游戏机,或者通信设备。
<程序例程的分配>
图18示出在计算机系统200中的FeRAM区域中分配程序例程的范例。如该图中所示,从CD-ROM 81加载的每一程序例程被分配给一个或多个逻辑页。
<TLB 93>
图19图示一种TLB 93的结构。所述TLB 93由缓存器930、比较电路935和解码器939组成。
所述缓存器930具有物理页地址列131、老化指数列932、存取频率指数列933和通用逻辑地址列934,并相应于所述逻辑页存储了256个表目。
对于每一表目,所述物理页地址列131保存了一个被映射到相应逻辑页的物理页地址。所述老化指数列932保存了用以指示物理页的老化程度的老化指数。所述存取频率指数列933保存了用以指示指定所述逻辑页的存取请求的出现频率。所述通用逻辑地址列934保存了表示逻辑页的通用逻辑地址。
解码器939从逻辑地址总线61获取逻辑地址A[17:10],并对所获取的逻辑地址解码,从而输出用于选择一个表目的选择信号。所述缓存器930将在根据所述选择信号选定的表目中的物理页地址ATRAN[7:0]输出到物理地址总线71的八个最高位A PHY[12:5]。因此,TLB 93将由逻辑地址总线61表示的逻辑页地址直接转换为物理页地址。
所述比较电路935由比较器9351-9354组成,每一个对应于所述诸表目中的不同的一个。所述比较电路935从逻辑地址总线61获取逻辑地址A[19:0],并将所获取的逻辑地址的值与每一表目中的通用逻辑地址进行比较。一旦发现表目中的通用逻辑地址与该值匹配,则所述比较电路935将老化指数和存取频率指数都加“1”。
在这里,每一个通用逻辑地址是这样的预定逻辑地址,即当一个位于相应逻辑页中的程序例程被执行的时候,所述每一个通用逻辑地址没有被例外的存取。
这样一种地址的范例是每一程序例程的入口地址。由于执行相应程序例程的时候始终存取入口地址,所以如果存取保存有所述程序例程的逻辑页的话,相应的要知道所述入口地址。
<结论>
如上所述,根据实施例3的存储器管理设备将每一个表示分配给一个相应逻辑页的程序例程已经被调用了多少次的累积计数作为存取频率指数保存,并且将每一个表示相应物理页中保存的程序例程实际上已经被存取了多少次的累积存取计数作为老化指数保存。
类似于实施例2中所使用的存取频率指数和老化指数,这些值表示逻辑页的累积存取计数和物理页的累积老化。因此,通过基于这些指数执行物理页交换,基本上均匀的实现了物理页的老化。
因为该结构没有采用高速缓冲存储器,所以存在对存取绝对次数和每一物理页内部的局部老化都不扼制的缺点。然而,当应用于可容许上述缺点的用途时,通过使用没有高速缓冲存储器结构的紧凑存储器管理设备,将FeRAM的可用寿命最大化了。
<实施例4>
根据本发明实施例4的存储器管理设备经由n路集关联高速缓存存取目标存储器。本实施例的存储器管理设备将高速缓存数据驻留在不同路中相同线上的时间周期均衡化,借此要求以基本均匀的频率完成对物理页进行的一次存取、该一次存取用于替换被高速缓存到同一线上的数据。
为此目的,本实施例的存储器管理设备为每一逻辑页预存了一个存取频率估计值。在一个当前已被存储的高速缓存数据段需要被替换,以便高速缓存一个新的数据段的时候,所述存储器管理设备引用逻辑页估计的存取频率,新数据段和每一当前高速缓存数据段位于所述逻辑页中。然后,所述存储器管理设备将存取频率小于新数据段存取频率的当前高速缓存数据段替换为所述新数据段。
在下文中,将参照图20-23对所述存储器管理设备进行说明。
<整体结构>
根据实施例4的存储器管理设备的结构以及包括该存储器管理设备的计算机系统的结构基本上类似于实施例1中所说明的结构(参见图1)。
<TLB 13>
所述TLB 13在存取频率指数列123中预先存储存取频率指数,举例来说,所述存取频率指数的每一个表示经由仿真估计的逻辑页的存取频率。作为一个范例,这里的说明是以这一点为前提的,即:所述存取频率指数是对在预定单位时间内通过指定相应逻辑页所作出的存取请求的平均计数。所述存取频率指数作为确定哪一段高速缓存数据被替换的系数。
图20示出在实施例4中在TLB 13存储的存取频率指数的一个范例。如该图中所示,TLB 13在存取频率指数列中保存了分别为物理页0、1、2、3和4估计的存取频率指数“4”、“2”、“1”、“1”和“1”。在实施例4中,存取频率指数没有被更新。
<高速缓冲存储器12>
所述高速缓冲存储器12将数据高速缓存到高速缓存数据列里。此外,所述高速缓冲存储器12将预先为一逻辑页估计的存取频率指数存储到一高速缓存存取频率列里,所述逻辑页是所述高速缓存数据的原始数据被分配的逻辑页。所述高速缓存存取频率指数相当于权利要求书中所述的副本(replication)存取频率。
因此,每次存取相应高速缓存数据段的时候,所存储的存取频率指数减“1”。因此,高速缓存存取频率指数列示出预计在预定单位时间内对相应高速缓存数据段多进行了多少次存取。
<替换目标判定处理>
现在,说明由所述存储器管理设备10执行的替换目标判定处理。
该处理可以是由构成所述控制电路11的硬件电路执行的,可以是由所述控制电路11根据ROM40中存储的程序进行操作执行的,或者可以是由所述控制电路11在由所述CPU 20根据ROM 40中存储的程序发出的指令下进行操作来执行的。
在以下说明中所提及的变量实际上是通过RAM 30或者所述控制电路11中所包括的寄存器实现的。
在所述高速缓冲存储器12的所有路的相同线已经存储了有效高速缓存数据(即,有效位是“1”)的情形中,并且当作出了对要重新高速缓存到那些线中之一的数据的存取请求的时候,执行所述替换目标判定处理。经由该处理,确定了待要被替换为新数据段的高速缓存数据段。
图21是示出所述替换目标判定处理的PAD。该处理采用变量N和M。在这里,变量N是一个指定路的参数,变量M是一个指定线的参数。
控制电路11首先根据用于指定新数据段的逻辑地址的中间位A[17:10]选择TLB 13的一个表目,并获取所选择的表目中所包括的存取频率指数。从而,所获取的存取频率指数被指定为比较值(S400)。然后控制电路11顺序地以每一路N作为目标(S410),执行步骤直到S412。
对于由逻辑地址的中间位A[9:5]表示的线M(S411),如果高速缓存存取频率指数[N,M]小于所述比较值,则控制电路11将路N判定为替换目标(步骤S412-S413)。
经由该处理,当数据被重新高速缓存的时候,所述数据是被替换为这样的当前已存储的高速缓存数据:所述当前已存储的高速缓存数据在预定单位时间内预期的保留存取计数小于所述重新高速缓存数据的存取计数。也就是说,如果对当前存储的高速缓存数据段期望的存取次数比对新数据期望的存取次数更多,则每一个当前存储的高速缓存数据段被保留在高速缓冲存储器中。因此,在每一高速缓存数据段驻留在所述高速缓冲存储器中的时间周期基本上被均衡了。
<判定电路>
现在,说明由硬件实现的用于执行替换目标判定处理的判定电路。
图22是图示一判定电路110的结构的方框图。该图还示出了为所述判定电路110提供高速缓存存取频率指数的高速缓冲存储器12。所述判定电路110可以作为所述控制电路11的一部分实现。
所述判定电路110包括相应于所述高速缓冲存储器的各路中的不同的一个所提供的比较器111-114,以及响应于来自比较器111-114的输出产生选择信号的门115-117。
假定逻辑地址A[19:0]指定了待被重新高速缓存的数据,所述高速缓冲存储器12的每一路将在由位A[9:5]选定的线中保存的高速缓存存取频率指数提供给相应的比较器。同时,TLB 13将在根据逻辑地址A[17:10]的各位选定的表目中的存取频率指数作为比较值提供给每一比较器。
作为响应,如果所提供的比较值大于所提供的高速缓存存取频率指数,每一比较器输出逻辑值“1”,指示相应路可被选择作为替换目标。来自对应于路1-3的比较器112-114的输出经由门115-117被顺序地限制到一个输出,即来自对应于较少路编号的比较器的输出。因此,判定信号REP0-REP3中的一个被输出,并且所述输出对应于所有可被选择作为替换目标的路中的最小路编号。
然后所述控制电路11根据所述判定信号替换在选定路中存储的高速缓存数据。
<具体范例>
现在,将使用一具体范例进行说明,以表示通过存储器管理设备10替换经由上述替换目标判定处理判定的路中的高速缓存数据,存储器管理设备10对FeRAM 50中的物理页的老化进行均匀化。
图23是以时间顺序示意性地示出被请求的物理页、高速缓冲存储器的内容以及被存取的物理页的时序图。在这里,TLB 13的内容如图20中所示。
在该图中,包围逻辑页编号的圆圈表示请求高速缓存数据替换的存取请求。进一步来讲,该图示出每一路的同一线中的逻辑页地址列和高速缓存存取频率指数列中的内容。
在该图中所示出的整个时间周期内,逻辑页0-4分别被映射到物理页0-4,并且没有发生映射变化。也就是说,每一逻辑页和相应物理页在整个时间周期内是由相同页编号表示的。
在下文中,将按时间顺序进行说明。
(时间t0-t3)
在时刻t0,没有任何路保存有效的高速缓存数据,为分配给逻辑页0中的数据发出一个存取请求。作为响应,所请求的数据被高速缓存到路0,并且路0中的逻辑页地址和高速缓存存取频率指数分别被更新为“0”和“3”。
用下列方式获取作为高速缓存存取频率指数保存的值“3”。为逻辑页0估计的存取频率指数是“4”,并且在所述存取频率指数被高速缓存之后,该值“4”对于一次高速缓存存取减“1”。
在时间周期t1-t3期间,顺序地作出对于分配给逻辑页1-3的数据中的存取请求,并对路1-3执行类似的处理。
(时间t4-t7)
响应于每一存取请求,存取高速缓存数据,并且相应地将高速缓存存取频率指数减值。
(时间t8)
在时刻t8,所有路存储有效的高速缓存数据。在该情形中,为没有被高速缓存的逻辑页4的同一线上的数据作出一次存取请求。因此,需要替换当前高速缓存数据段。
在该阶段,执行如上所述的替换目标判定处理。待要被高速缓存的数据所处的逻辑页4具有存取频率指数“1”。相应地,确定路0作为替换目标,因为路0是所有存储了小于“1”的高速缓存存取频率指数的路中最小编号的路。然后,所请求的分配给逻辑页4中的数据被重新高速缓存,并且逻辑页地址和高速缓存存取频率指数分别被设置为“4”和“0”。
(时间t9)
在时刻t9,为分配给逻辑页0中的数据提出一个存取请求。逻辑页0的存取频率指数是“4”,以致路0被确定为替换目标,因为路0是所有存储了小于“4”的高速缓存存取频率指数的路中最小数目的路。然后,所请求的分配给逻辑页0中的数据被重新高速缓存,并且逻辑页地址和高速缓存存取频率指数分别被设置为“0”和“3”。
[时间t10-t14]
响应于每一存取请求,存取高速缓存数据,并且相应地减小高速缓存存取频率指数的值。注意,所述高速缓存存取频率指数不会减少到小于“0”。
[时间t15]
为分配逻辑页4中的数据提出一个存取请求。逻辑页4的存取频率指数是“1”,以致所有保存小于“1”的存取频率指数的路中的最小数目路被选为替换目标。然后,所请求的分配给逻辑页4中的数据被重新高速缓存,并且逻辑页地址和高速缓存存取频率指数分别被设置为“4”和“0”。
<结论>
如上所述,当当前存储的高速缓存数据段需要被替换的时候,根据实施例4的存储器管理设备将替换这样的高速缓存数据:所述高速缓存数据在预定单位时间内期望被存取的次数小于期望对重新高速缓存的数据存取的次数。利用这一方案,高速缓存数据驻留在每一路中的时间周期基本上是均匀的。
这意味着每一高速缓存数据段的替换频率基本上是均匀的。因此,由高速缓存数据替换引起的每一物理页的存取频率是均衡的,因此物理页的老化被均匀化了。
<改进>
到目前为止,已经借由上述具体实施例说明了本发明。然而,很自然地,可以理解本发明决不局限于那些具体实施例。以下改进仍属于本发明的范围。
(1)本发明可以被具体化为由计算机系统执行的、用于实现上述实施例中所描述的任何方法的计算机程序,或者是表示所述计算机程序的数字信号。
进一步来讲,本发明可以被具体化为存储上述计算机程序或者数字信号的计算机可读记录介质。这样一种计算机可读记录介质的范例包括软盘,硬盘,CD-ROM,MO(磁-光)盘,DVD(数字多用盘),或者半导体存储器。
更进一步来讲,本发明可以被具体化为经由网络例如电子通信网络,有线或者无线通信网络,或者因特网传送的上述计算机程序或者数字信号。
更进一步来讲,可以以如上所述的记录介质形式或者经由任何上述网络将上述程序或者数字信号传输到一个独立的计算机系统。然后所述独立的计算机系统可以执行所述计算机程序或者数字信号。
(2)根据实施例1的存储器管理设备通过高速缓存刷新和TLB更新处理,存储高速缓存存取频率指数的峰值作为高速缓存数据所属逻辑页的存取频率指数,随后将所有高速缓存数据段同时无效。
相应地,获取峰值的每一周期是恒定的,这允许为每一段高速缓存值获取的峰值被直接地比较。
在一替代方案中,在高速缓存刷新和TLB更新处理中,可以使用相应高速缓存数据段驻留在高速缓冲存储器中的时间周期将高速缓存存取频率指数标准化。从而,将标准化高速缓存存取频率指数的峰值用于随后的处理。
在这里,使用其期间驻留有高速缓存数据的时间周期进行标准化,意味着高速缓存存取频率指数除以常规操作的持续时间,即,对高速缓存存取频率指数保持计数的时间周期。
利用这一结构,即使为每一驻留在高速缓冲存储器中的高速缓存数据段以不同的时间周期长度获取存取频率指数,也可以获取标准化的峰值,用于彼此直接比较。这使得无需对令所有高速缓存数据段一起同时无效,用以减少存取绝对次数。
(3)作为一个范例,根据实施例3的存储器管理设备使用每一程序例程的入口地址作为通用逻辑地址。
在一个替代方案中,对于由所述存储器管理设备所执行的存储器管理,适于在每一程序例程中明确地嵌入一个指令,无论相应程序例程何时被执行,始终都执行所述指令。在这里,该指令的地址被确定为通用逻辑地址。在另一替代方案中,当每一程序例程包括迭代处理的时候,适于明确地包括一个指令,始终为每一次迭代执行所述指令,从而所述指令的地址被确定为通用逻辑地址。
(4)在一替代方案中,根据实施例4的存储器管理设备可以选择高速缓存存取频率指数最小的高速缓存数据段作为高速缓存数据替换目标,即选择预计在预定单位时间内被访问最小次数的高速缓存数据段。
利用这一结构,当高速缓存数据需要被替换的时候,首先被替换的是已经被存取了超过在预定单位时间内估计要被进行的次数的高速缓存数据段。这用来均衡每一高速缓存数据段驻留在所述高速缓冲存储器中的时间周期。
尽管已经参照附图通过实施例的方式充分地说明了本发明,但应当注意的是,对于本领域中的普通技术人员来讲各种改变和改进都是显而易见的。因此,除非这种改变和改进脱离了本发明的范围,否则它们都应该被看作是被包括在其中。
Claims (14)
1.一种存储器管理设备,用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取,所述逻辑页包括一个由存取请求指定的逻辑地址,所述映射信息表示在多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,所述设备包括:
一个存取频率指数存储单元,可操作地为每一逻辑页存储一个存取频率指数,所述存取频率指数表示一个存取请求的出现频率,所述存取请求用于指定包括在一个相应逻辑页中的一个逻辑地址;
一个老化指数存储单元,可操作地为每一物理页存储一个老化指数,所述老化指数表示一个相应物理页在存储性能方面的老化程度;以及
一个老化均匀化单元,可操作地(i)在一个第一物理页和一个第二物理页之间交换留存数据,所述第一物理页根据映射信息被映射到一个存取频率指数大于或等于一个第一阈值的特定逻辑页,所述第二物理页具有小于或等于一个第二阈值的老化指数,以及(ii)更新所述映射信息,以便表明所述特定逻辑页被映射到所述第二物理页。
2.如权利要求1所述的存储器管理设备,进一步包括:
一个高速缓冲存储单元,可操作地为直到一个预定数目的物理页中的每一个存储高速缓存数据,所述高速缓存数据是一个相应物理页中保留的数据的一个副本并被存取以代替原始数据,并且如果高速缓存数据已经由于随后的存取被修改的话,还可操作地将所述被修改的高速缓存数据写回到相应物理页;以及
一个老化指数更新单元,可操作地将一个第一值增加给每一个物理页的老化指数,所述物理页保持了在所述高速缓冲存储单元中存储的高速缓存数据的原始数据,并将一个第二值增加给已经被修改的高速缓存数据所写回的每一个物理页的老化指数。
3.如权利要求2所述的存储器管理设备,其中
所述老化指数更新单元在每当高速缓存数据被无效或者被另一物理页中保持的数据替代的时候,如果所述高速缓存数据已经被修改,则将所述第一值和第二值的总和增加给存储所述高速缓存数据的原始数据的物理页的老化指数,并且如果所述高速缓存数据没有被修改,则将所述第一值增加给所述老化指数。
4.如权利要求2所述的存储器管理设备,进一步包括
一个存取频率指数更新单元,可操作地将所述第一值增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到每一个保持在所述高速缓冲存储单元中所存储的高速缓存数据的原始数据的物理页,并可操作地将第二值增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到已修改的高速缓存数据已经被写回的每一个物理页。
5.如权利要求4所述的存储器管理设备,其中
所述存取频率指数更新单元在每当高速缓存数据被无效或者被另一物理页中保持的数据替代的时候,如果所述高速缓存数据已经被修改,则将所述第一值和第二值的总和增加给一个逻辑页的存取频率指数,所述逻辑页根据映射信息被映射到一个保持所述高速缓存数据的原始数据的物理页,并且如果所述高速缓存数据没有被修改,则将所述第一值增加给所述存取频率指数。
6.如权利要求2所述的存储器管理设备,其中
所述高速缓冲存储单元在每次存储高速缓存数据的时候,为所述高速缓存数据进一步存储一个高速缓存存取频率指数,所述高速缓存存取频率指数的初始值被设置为“0”,
所述存储器管理设备进一步包括:
一个高速缓存存取频率指数更新单元,可操作地响应于对所述高速缓存数据的一次存取,对该高速缓存数据的高速缓存存取频率指数加1;以及
一个存取频率指数更新单元,可操作地为每一高速缓存数据段比较(i)根据映射信息被映射到保持一个相应高速缓存数据段的原始数据的物理页的逻辑页的存取频率指数以及(ii)相应高速缓存数据段的高速缓存存取频率指数,并且如果所述高速缓存存取频率指数大于所述存取频率指数,用所述高速缓存存取频率指数更新所述存取频率指数。
7.如权利要求6所述的存储器管理设备,其中
所述存取频率指数更新单元以预定时间间隔执行所述更新,并将所有高速缓存存取频率指数复位为“0”。
8.如权利要求6所述的存储器管理设备,其中
所述存取频率指数更新单元,通过基于相应高速缓存数据段被保持在高速缓冲存储单元中的时间周期对高速缓存存取频率指数进行标准化,来为每一高速缓存数据段计算一个标准化的高速缓存存取频率指数,将所述标准化的高速缓存存取频率指数与一个逻辑页的存取频率指数进行比较,所述逻辑页根据映射信息被映射到存储相应高速缓存数据段的原始数据的物理页,并且如果所述标准化的高速缓存存取频率指数大于所述存取频率指数,则用所述标准化的高速缓存存取频率指数更新所述存取频率指数。
9.如权利要求1所述的存储器管理设备,其中
每一逻辑页具有包括在一个相应逻辑页中的通用逻辑地址,
所述存储器管理设备进一步包括:
一个检测单元,可操作地检测用于指定任何一个所述通用逻辑地址的存取请求;
一个老化指数更新单元,可操作地对一个物理页的老化指数加1,该物理页根据映射信息被映射到一个包括由所述检测单元检测到的存取请求所指定的通用逻辑地址的逻辑页;以及
一个存取频率指数更新单元,可操作地对包括由所检测到的存取请求指定的通用逻辑地址的逻辑页的存取频率指数加1。
10.如权利要求9所述的存储器管理设备,其中
每一个通用逻辑地址是这样一种逻辑地址,即,无论何时包括一个相应通用逻辑地址的逻辑页被存取,该逻辑地址即被存取。
11.如权利要求1所述的存储器管理设备,其特征在于每一物理页是通过铁电随机存取存储器实现的。
12.一种用于对根据映射信息被映射到一个逻辑页的一个物理页进行存取的存储器管理方法,所述逻辑页包括由存取请求指定的逻辑地址,所述映射信息表示在多个逻辑页和多个物理页之间的一对一映射,所述逻辑页是通过按预定大小划分逻辑地址空间来定义的,每一物理页起到物理上保持所述预定大小数据的作用,并且在每次对其进行一次存取后,在存储性能方面发生老化,其中:
所述方法采用(i)一个存取频率指数,用于为每一逻辑页指示一存取请求的出现频率,所述存取请求指定了在一个相应逻辑页中包括的逻辑地址以及(ii)一个老化指数,用于为每一物理页指示一个相应物理页存储性能方面的老化程度,
所述方法包括:
一个老化均匀化步骤:(i)在第一物理页和第二物理页之间交换留存数据,所述第一物理页根据映射信息被映射到一个存取频率指数大于或等于一个第一阈值的特定逻辑页,所述第二物理页具有小于或等于一个第二阈值的老化指数,以及(ii)更新所述映射信息,以便表明所述特定逻辑页被映射到所述第二物理页。
13.如权利要求12所述的存储器管理方法,进一步包括:
一个高速缓冲存储步骤,用于为直到一个预定数目的物理页中的每一个存储高速缓存数据,所述高速缓存数据是相应物理页中所保留数据的一个副本并被存取以代替原始数据,并且如果高速缓存数据已经由于随后的存取被修改的的话,用于将所述被修改高速缓存数据写回到相应物理页;
以及
一个老化指数更新步骤,用于将一个第一值增加给每一个物理页的老化指数,所述物理页保持了高速缓冲存储步骤中所存储的高速缓存数据的原始数据,并将一个第二值增加给已经被修改的高速缓存数据所写回的每一个物理页的老化指数。
14.如权利要求12所述的存储器管理方法,其中:
每一逻辑页具有包括在一个相应逻辑页中的一个通用逻辑地址,
所述存储器管理方法进一步包括:
一个检测步骤,检测用于指定任何一个所述通用逻辑地址的存取请求;
一个老化指数更新步骤,对一个根据映射信息被映射到一个包括由所述检测步骤中检测到的存取请求指定的通用逻辑地址的逻辑页的物理页的老化指数加1;以及
一个存取频率指数更新步骤,用于对包括由所检测到的存取请求指定的通用逻辑地址的逻辑页的存取频率指数加1。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP321669/2002 | 2002-11-05 | ||
JP321669/02 | 2002-11-05 | ||
JP2002321669A JP4199519B2 (ja) | 2002-11-05 | 2002-11-05 | メモリ管理装置及びメモリ管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1512348A CN1512348A (zh) | 2004-07-14 |
CN1296833C true CN1296833C (zh) | 2007-01-24 |
Family
ID=32697445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101240822A Expired - Fee Related CN1296833C (zh) | 2002-11-05 | 2003-11-05 | 用于存储器管理的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7120773B2 (zh) |
JP (1) | JP4199519B2 (zh) |
CN (1) | CN1296833C (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162594B2 (en) * | 2003-11-19 | 2007-01-09 | Buffalo Inc. | Memory module indicator device |
US7281114B2 (en) * | 2003-12-26 | 2007-10-09 | Tdk Corporation | Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory |
US8224964B1 (en) | 2004-06-30 | 2012-07-17 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
US8676922B1 (en) | 2004-06-30 | 2014-03-18 | Google Inc. | Automatic proxy setting modification |
US7437364B1 (en) * | 2004-06-30 | 2008-10-14 | Google Inc. | System and method of accessing a document efficiently through multi-tier web caching |
JP2007080325A (ja) * | 2005-09-12 | 2007-03-29 | Matsushita Electric Ind Co Ltd | 半導体記憶装置 |
KR100678913B1 (ko) | 2005-10-25 | 2007-02-06 | 삼성전자주식회사 | 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법 |
JP4770602B2 (ja) * | 2006-06-23 | 2011-09-14 | 株式会社デンソー | 電子機器 |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
DE112006004187B4 (de) * | 2006-12-27 | 2015-09-10 | Intel Corporation | Verfahren, nicht-flüchtige Speichervorrichtung und Computersystem zum initiativen Abnutzungsausgleich für einen nicht-flüchtigen Speicher |
US8812651B1 (en) | 2007-02-15 | 2014-08-19 | Google Inc. | Systems and methods for client cache awareness |
US7657572B2 (en) * | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
US7856522B2 (en) | 2007-05-16 | 2010-12-21 | Oracle International Corporation | Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8122179B2 (en) * | 2007-12-14 | 2012-02-21 | Silicon Motion, Inc. | Memory apparatus and method of evenly using the blocks of a flash memory |
KR101038167B1 (ko) | 2008-09-09 | 2011-05-31 | 가부시끼가이샤 도시바 | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 |
JP4909963B2 (ja) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | 統合メモリ管理装置 |
CN101676882B (zh) * | 2008-09-16 | 2013-01-16 | 美光科技公司 | 存储器装置的内嵌映射信息 |
CN101419842B (zh) * | 2008-11-07 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 硬盘的损耗均衡方法、装置及系统 |
CN101493794B (zh) * | 2009-01-19 | 2011-12-21 | 成都市华为赛门铁克科技有限公司 | 一种闪存数据处理方法及装置 |
US8296503B2 (en) * | 2009-05-26 | 2012-10-23 | Mediatek Inc. | Data updating and recovering methods for a non-volatile memory array |
JP5408257B2 (ja) * | 2009-07-22 | 2014-02-05 | 日本電気株式会社 | コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム |
CN101625660B (zh) * | 2009-08-04 | 2013-12-18 | 威盛电子股份有限公司 | 数据储存装置与数据储存方法 |
US8473680B1 (en) * | 2009-09-18 | 2013-06-25 | Marvell International Ltd. | Hotspot detection and caching for storage devices |
CN101699413B (zh) * | 2009-10-30 | 2011-12-07 | 成都市华为赛门铁克科技有限公司 | 硬盘数据读写控制方法和装置 |
JP5130313B2 (ja) * | 2010-04-02 | 2013-01-30 | 株式会社日立製作所 | 管理システム及び計算機システムの管理方法 |
CN102541463B (zh) * | 2010-12-28 | 2014-07-23 | 慧荣科技股份有限公司 | 快闪存储装置及其数据存取方法 |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US8909850B2 (en) * | 2011-03-10 | 2014-12-09 | Deere & Company | Memory life extension method and apparatus |
JP5597584B2 (ja) * | 2011-03-29 | 2014-10-01 | 三菱電機株式会社 | 命令実行分析装置及び命令実行分析方法及びプログラム |
CN102279712A (zh) * | 2011-08-10 | 2011-12-14 | 北京百度网讯科技有限公司 | 一种适用于互联网存储系统的存储控制方法、系统和装置 |
JP2013097416A (ja) * | 2011-10-28 | 2013-05-20 | Hitachi Ltd | 記憶装置および計算機 |
US10152423B2 (en) * | 2011-10-31 | 2018-12-11 | International Business Machines Corporation | Selective population of secondary cache employing heat metrics |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9026887B2 (en) * | 2012-03-15 | 2015-05-05 | Micron Technology, Inc. | Physical page, logical page, and codeword correspondence |
CN103365785B (zh) * | 2012-03-30 | 2016-03-30 | 点序科技股份有限公司 | 闪速存储器模块的地址映射方法 |
US11024352B2 (en) | 2012-04-10 | 2021-06-01 | Samsung Electronics Co., Ltd. | Memory system for access concentration decrease management and access concentration decrease method |
US9524248B2 (en) * | 2012-07-18 | 2016-12-20 | Micron Technology, Inc. | Memory management for a hierarchical memory system |
JP5288039B1 (ja) * | 2012-11-06 | 2013-09-11 | 富士ゼロックス株式会社 | 印刷画像処理システムおよびプログラム |
JP6004923B2 (ja) * | 2012-11-29 | 2016-10-12 | キヤノン株式会社 | 情報処理装置及びその制御方法とプログラム |
US9575884B2 (en) * | 2013-05-13 | 2017-02-21 | Qualcomm Incorporated | System and method for high performance and low cost flash translation layer |
KR102085127B1 (ko) | 2013-11-13 | 2020-04-14 | 삼성전자주식회사 | 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치 |
CN104182514B (zh) * | 2014-08-21 | 2018-02-06 | 杭州华为数字技术有限公司 | 一种置换方法及终端 |
US10067968B2 (en) * | 2014-11-07 | 2018-09-04 | International Business Machines Corporation | Pre-caching of relational database management system based on data retrieval patterns |
US9727241B2 (en) * | 2015-02-06 | 2017-08-08 | Advanced Micro Devices, Inc. | Memory page access detection |
KR20170051563A (ko) * | 2015-10-29 | 2017-05-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170075396A (ko) * | 2015-12-23 | 2017-07-03 | 고려대학교 산학협력단 | 메모리 시스템 |
US10007614B2 (en) * | 2016-02-02 | 2018-06-26 | Cavium, Inc. | Method and apparatus for determining metric for selective caching |
US10733110B1 (en) * | 2017-12-04 | 2020-08-04 | Amazon Technologies, Inc. | Collecting statistics for persistent memory |
CN109753241B (zh) * | 2018-12-05 | 2022-04-08 | 新华三技术有限公司合肥分公司 | 固态硬盘的数据写入方法及装置、计算机可读存储介质 |
US11119934B2 (en) * | 2018-12-20 | 2021-09-14 | SK Hynix Inc. | Storage device having enhanced map update speed and method thereof |
KR102080192B1 (ko) * | 2019-06-27 | 2020-05-18 | 삼성전자주식회사 | 억세스 집중 감소 매니지먼트를 위한 메모리 콘트롤 장치 및 억세스 집중 감소방법 |
US20230033029A1 (en) * | 2021-07-22 | 2023-02-02 | Vmware, Inc. | Optimized memory tiering |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04116742A (ja) * | 1990-09-07 | 1992-04-17 | Hitachi Ltd | 仮想記憶システムにおけるメモリ割り当て方式 |
JPH04123149A (ja) * | 1990-09-12 | 1992-04-23 | Nec Ibaraki Ltd | ページ置換回路 |
JPH04165547A (ja) * | 1990-10-30 | 1992-06-11 | Oki Electric Ind Co Ltd | メモリ領域切替え処理装置 |
CN1098526A (zh) * | 1993-03-08 | 1995-02-08 | M-系统有限公司 | 闪速文件系统 |
US5737742A (en) * | 1994-06-29 | 1998-04-07 | Hitachi, Ltd. | Memory system using flash memory and method of controlling the memory system |
JP2000148515A (ja) * | 1998-11-06 | 2000-05-30 | Nec Corp | メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69033438T2 (de) * | 1989-04-13 | 2000-07-06 | Sandisk Corp., Santa Clara | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US6925529B2 (en) * | 2001-07-12 | 2005-08-02 | International Business Machines Corporation | Data storage on a multi-tiered disk system |
US20030058681A1 (en) * | 2001-09-27 | 2003-03-27 | Intel Corporation | Mechanism for efficient wearout counters in destructive readout memory |
US20030163633A1 (en) * | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
US6957158B1 (en) * | 2002-12-23 | 2005-10-18 | Power Measurement Ltd. | High density random access memory in an intelligent electric device |
-
2002
- 2002-11-05 JP JP2002321669A patent/JP4199519B2/ja not_active Expired - Lifetime
-
2003
- 2003-11-05 US US10/701,073 patent/US7120773B2/en not_active Expired - Fee Related
- 2003-11-05 CN CNB2003101240822A patent/CN1296833C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04116742A (ja) * | 1990-09-07 | 1992-04-17 | Hitachi Ltd | 仮想記憶システムにおけるメモリ割り当て方式 |
JPH04123149A (ja) * | 1990-09-12 | 1992-04-23 | Nec Ibaraki Ltd | ページ置換回路 |
JPH04165547A (ja) * | 1990-10-30 | 1992-06-11 | Oki Electric Ind Co Ltd | メモリ領域切替え処理装置 |
CN1098526A (zh) * | 1993-03-08 | 1995-02-08 | M-系统有限公司 | 闪速文件系统 |
US5737742A (en) * | 1994-06-29 | 1998-04-07 | Hitachi, Ltd. | Memory system using flash memory and method of controlling the memory system |
JP2000148515A (ja) * | 1998-11-06 | 2000-05-30 | Nec Corp | メモリスケジューリング方法及びメモリスケジューリングプログラムを格納する記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US7120773B2 (en) | 2006-10-10 |
US20040139282A1 (en) | 2004-07-15 |
CN1512348A (zh) | 2004-07-14 |
JP2004157686A (ja) | 2004-06-03 |
JP4199519B2 (ja) | 2008-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1296833C (zh) | 用于存储器管理的设备和方法 | |
CN1120425C (zh) | 存储器控制器和存储器控制方法 | |
CN1677570A (zh) | 写入多值数据的非易失性半导体存储装置 | |
CN1303536C (zh) | 执行自高速缓存的快速推测式加载运算的微处理器及方法 | |
CN1253790C (zh) | 指令调度方法和指令调度设备 | |
CN1866399A (zh) | 存储器控制器、非易失性存储器、非易失性存储系统和数据写入方法 | |
CN1498367A (zh) | 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法 | |
CN1991798A (zh) | 半导体存储装置 | |
CN1914689A (zh) | 具有区块管理系统的非易失性存储器和方法 | |
CN101044450A (zh) | 处理器 | |
CN1643600A (zh) | 允许更新缺陷列表的信息记录介质、记录装置、再现装置、记录方法和再现方法 | |
CN1201519C (zh) | 数据一致性检测装置、数据一致性判断装置及数据挑选装置 | |
CN101040306A (zh) | 伪随机数生成装置 | |
CN1252646C (zh) | 图像处理方法和图像处理装置 | |
CN1975931A (zh) | 非易失性半导体存储器件 | |
CN1387125A (zh) | 存储器系统 | |
CN1300802C (zh) | 半导体存储器件 | |
CN1991801A (zh) | 访问控制设备、方法和存储器访问控制设备、方法 | |
CN1532709A (zh) | 数据存储器高速缓存装置及数据存储器高速缓存系统 | |
CN1950803A (zh) | 非易失性存储装置和数据写入方法 | |
CN1573702A (zh) | 资源管理装置、资源管理方法及存储媒体 | |
CN1203487C (zh) | 半导体存储器 | |
CN1595807A (zh) | 能以数字量观测降压转换器输出的半导体集成电路 | |
CN1627252A (zh) | 微处理机与随机存取快取记忆体的快速弹出装置及其方法 | |
CN1302395C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20121105 |