虚拟存储器系统、虚拟存储器控制方法和程序的制作方法

文档序号:6365303阅读:261来源:国知局
专利名称:虚拟存储器系统、虚拟存储器控制方法和程序的制作方法
技术领域
本公开涉及一种可与非易失性的非易失性随机存取存储器兼容、对重写次数具有上限,并且允许随机存取的虚拟存储器系统、虚拟存储器控制方法和程序。
背景技术
当前的虚拟存储器系统由被称为MMU(存储器管理单元)的存储器管理单元和作为操作系统的功能实现的虚拟存储器控制软件构成。

具有这种配置的虚拟存储器系统在各种系统中用作意在将DRAM的物理存储器空间用作易失性存储器的系统。虚拟存储器系统以页为单位划分并管理物理存储器(物理地址)空间。需要存储器的应用在使用虚拟页之前事先从虚拟存储器系统中请求并且保证的必要虚拟页。这被称为要求调页(demand paging)。在虚拟存储器系统中,仅保证必要存储器容量。因此,可以有效利用有限的物理存储器容量。此外,利用对每个应用独立的虚拟地址空间来存取物理存储器空间。因此,虚拟存储器系统的优点是,允许在要作为虚拟地址空间内的连续虚拟页空间存取的物理地址空间中不连续的物理页的排列。此外,当用于要执行的应用的物理存储器空间中容量不足时,执行被称为换出(swap-out)处理的处理,该处理将对被确定将以最低频率使用的虚拟页指派的物理页的数据写到诸如硬盘等的存储设备(调换区域(swap area))。此后,该物理页被作为未使用物理页指派给该应用请求的虚拟地址。因此,可以提供物理存储器空间的不足。当存取保存在该存储设备上的调换区域内的页的数据时,执行再一次将物理页指派给该数据的虚拟地址并且从该调换区域读取数据的处理(换入(swap-in))。因此,可以再一次存取数据,作为在虚拟存储器内的数据。换出和换入处理在其发生时涉及存取存储设备以及在存储器与存储设备之间的数据传送的发生,因此,从应用的观点出发,使得系统性能临时恶化。然而,换出和换入处理的优点是使应用在不受物理存储器容量限制的情况下执行。第2007-188499号日本专利特开提出了一种用于改善系统性能的技术。该技术将以当前情况下的NAND闪速存储器为代表的非易失性存储器用作高速存储设备,从而提高代码和数据的加载速度以及上面描述的诸如换入和换出的要求调页的处理的速度,并因此提高系统性能。然而,与NAND闪速存储器不同,作为下一代存储器开发的诸如PCM、PeRAM等的非易失性存储器与SRAM和DRAM相同,具有允许以字为单位高速随机存取的特征。当采用这种非易失性随机存取存储器的非易失性特征时,非易失性随机存取存储器不仅可以形成比NAND闪速存储器更高速的存储设备,而且通过替换DRAM作为工作存储器,可以以低功耗实现高速系统。

发明内容
下一代非易失性随机存取存储器具有在对存储器单元写时执行验证处理并检测写错误的功能。为了将错误发生率降低到特定水平或者以下,需要使用非易失性随机存取存储器,以便不超过重写次数的上限。另一方面,诸如SRAM、DRAM等易失性存储器不引起写错误,并且对重写次数没有上限。为了利用下一代非易失性随机存取存储器替换诸如SRAM、DRAM等的易失性随机存取存储器,需要考虑到重写次数的上限来构造系统。随着重写次数的升高,非易失性存储器的数据保持特性降质,因此,对单元的重写次数具有限制。当在假定诸如易失性存储器等对重写次数没有上限的存储器的当前系统中,非易失性随机存取存储器按照原样地用作工作存储器时,可能存在下面的缺点。当非易失性随机存取存储器按照原样地用作工作存储器时,特定区域上的重写的集中可能导致数据错 误,因此,对系统的操作产生重大影响。在当前系统中,易失性随机存取存储器的资源可以由虚拟存储器系统管理。通过使虚拟存储器系统也与非易失性随机存取存储器兼容,因为非易失性随机存取存储器的非易失性,可以产生减少功率消耗的效果,同时在当前系统中实现诸如要求调页等的有用功能。具体地说,对于非易失性随机存取存储器,可以停止对未正被存取的地址的存储器件供电。因此,非易失性随机存取存储器比同样容量的易失性存储器消耗更少的功率,并且还使得系统的即时启动和即时结束成为可能,因为在启动和结束该系统时,不需要为了存储和再现存储器的状态而存取存储设备。然而,当前情况下的虚拟存储器系统具有由应用通过虚拟存储器地址存取存储器的机制。结果,当前情况下的虚拟存储器系统根据基于来自应用的请求的顺序确定物理页的指派,并且没有办法进行管理和控制以防止对特定物理页的数据写的集中。此外,在不影响存取性能的情况下,监视对物理页的写存取和测量每个物理页的重写次数非常难以实现,并且可能导致用于存储重写次数的区域挤压数据区域。希望提供一种使得能够在存取对重写次数具有限制的非易失性存储器时避免从应用写的限制的虚拟存储器系统、虚拟存储器控制方法以及程序。根据本公开的第一实施例,提供了一种虚拟存储器系统,包括非易失性存储器,允许随机存取,对重写次数具有上限,并且包括通过虚拟地址存取的物理地址空间;以及虚拟存储器控制部分,配置为用于以页为单位管理非易失性存储器的物理地址空间,映射物理地址空间与虚拟地址空间,并将所存取的虚拟地址转换为物理地址;其中虚拟存储器控制部分配置为扩展对发生重写的虚拟页分配的物理存储器容量。根据本公开的第二实施例,提供了一种虚拟存储器控制方法,包括以页为单位管理非易失性存储器的物理地址空间,非易失性存储器允许随机存取,对重写次数具有上限,并且包括通过虚拟地址存取的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址,当虚拟页中发生重写时,根据关于虚拟页的写入量的信息,扩大对该虚拟页分配的物理存储器容量。根据本公开的第三实施例,提供了一种用于使得计算机执行虚拟存储器控制处理的程序,该虚拟存储器控制处理包括以页为单位管理非易失性存储器的物理地址空间,非易失性存储器允许随机存取,对重写次数具有上限,并且包括通过虚拟地址存取的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址,当虚拟页中发生重写时,根据关于虚拟页的写入量的信息,扩大对该虚拟页分配的物理存储
器容量。根据本公开,可以在存取对重写次数具有限制的非易失性存储器时,在不影响来自应用的存取性能的情况下避免写限制。


图I是示出应用了根据本公开第一实施例的非易失性随机存取存储器(NVRAM)的虚拟存储器系统的配置的示意图;
图2是示出虚拟地址空间与物理地址空间的常规映射的示例的示意图;图3是示出根据本实施例的虚拟地址空间与物理地址空间的映射的示例的示意图;图4是示出在虚拟存储器系统中从虚拟地址到物理地址的转换处理的示意图;图5是示出根据本实施例的物理页管理信息表的示例的示意图;图6是示出常规物理页管理信息表的示例的示意图;图7是示出常规页目录表中的项的示例的示意图;图8是示出常规页表中的项的示例的示意图;图9是示出根据本实施例的页目录表中的项的示例的示意图;图IOA和图IOB是示出根据本实施例的页表中的项的示例以及由该项和虚拟地址产生物理地址的处理的示意图;图11是帮助解释根据本实施例的虚拟存储器系统对虚拟页指派新物理页时的处理的流程图;图12是帮助解释根据本实施例移动其容量扩大的物理页内的虚拟页的数据,从而平均虚拟存储器系统内的重写次数的处理的流程图;图13是帮助解释在根据本实施例的虚拟存储器系统中释放对虚拟页指派的物理页的处理的流程图;图14是示出应用了根据本公开第二实施例的非易失性随机存取存储器(NVRAM)的虚拟存储器系统的配置的示意图;图15是示出在对非易失性存储器和易失性存储器分别提供独立页表的情况下,在虚拟存储器系统中从虚拟地址到物理地址的转换处理的示意图;图16A和图16B是示出对应于图15的配置的易失性存储器的页表项的示例以及由该项和虚拟地址产生物理地址的处理的示意图;图17A和图17B是示出对应于图15的配置的非易失性存储器的页表项的示例以及由该项和虚拟地址产生物理地址的处理的示意图;以及图18是示出应用了根据本公开第三实施例的非易失性随机存取存储器(NVRAM)的虚拟存储器系统的配置的示意图。
具体实施例方式下面将参考附图描述本公开的优选实施例。顺便提到,描述以下面的顺序进行。I.第一实施例(虚拟存储器系统的配置的第一示例)2.第二实施例(虚拟存储器系统的配置的第二示例)3.第三实施例(虚拟存储器系统的配置的第三示例)〈I.第一实施例〉图I是示出应用了根据本公开第一实施例的非易失性随机存取存储器(NVRAM)的虚拟存储器系统的配置的示意图。 本虚拟存储器系统10包括作为虚拟存储器控制部分的CPU 20、存储器控制器30、非易失性随机存取存储器(NVRAM) 40和系统总线50。非易失性随机存取存储器40是可随机存取的,并且对重写次数具有上限。在CPU20的控制下,通过虚拟地址空间存取非易失性随机存取存储器40的物理地址空间。CPU 20包括处理器单元21、存储器管理单元(MMU) 22和高速缓冲存储器23。CPU 20还包括翻译后援(look-aside)缓冲器(TLB) 24和总线接口单元25。根据本实施例的虚拟存储器系统10形成为假定非易失性随机存取存储器40基本上对重写次数具有上限的虚拟存储器系统。本虚拟存储器系统10具有考虑到从应用分配的存储器区域的重写次数而确定存储器区域的分配和大小的第一功能。此外,虚拟存储器系统10具有接收定时器等的内部事务或者来自OS或者应用的指令,并且移动数据以平均指派的物理页之间的写次数的第二功能。此外,在虚拟存储器系统10中,作为虚拟存储器控制部分的CPU 20从存储器控制器获得关于非易失性随机存取存储器40的重写次数的上限的信息。因此,形成虚拟存储器系统10,从而能够根据每个非易失性随机存取存储器的重写次数的指定,灵活地执行上面描述的第一功能和第二功能。在图I的虚拟存储器系统10中,作为虚拟存储器控制部分的CPU 20通过连接到系统总线50的存储器控制器30存取非易失性随机存取存储器40。CPU 20内的处理器单元21通过总线接口单元25连接到系统总线50。总线接口单元25与MMU 22、高速缓冲存储器23和TLB 24连接,TLB24用于高速缓存由MMU 22使用的页目录表项和页表项。顺便提到,独立具有用于指令的高速缓冲存储器23和TLB 24和用于数据的高速缓冲存储器23和TLB 24的CPU,或者在诸如例如L1、L2和L3之类的多个阶段具有高速缓冲存储器的CPU也可以应用为该CPU。存储器控制器30根据输入命令和输入地址识别连接到存储器控制器30的存储器内要存取的存储器件,并且根据该命令进行读(读出)和写(写入)的存取。在本公开的第一实施例中,存储器是非易失性随机存取存储器。然而,正如下面所描述的,还可以连接诸如DRAM等的易失性存储器,并且将虚拟存储器系统10配置为常规虚拟存储器系统。CPU 20用作虚拟存储器控制部分。根据本实施例的CPU 20配置为具有下面的功倉泛。在CPU 20中,基本上以MMU 22和虚拟存储器控制软件为中心执行虚拟存储器控制。MMU 22具有以页为单位管理非易失性随机存取存储器40的物理地址空间、将映射物理地址空间与虚拟地址空间的信息保存为表、以及利用该表将存取的虚拟地址转换为物理地址的功能。虚拟存储器控制部分具有对虚拟页指派新物理页的功能以及释放MMU22和虚拟存储器控制软件对虚拟页指派的物理页的功能。MMU 22利用管理表管理虚拟页与物理页之间的对应性,如将在下面描述的。当未使用的物理页不足时,虚拟存储器控制部分执行控制,以在MMU 22管理的、 已经对其指派了物理页的虚拟页当中,选择确定对性能有很小影响的虚拟页,并且将被指派到虚拟页的物理页的数据写到存储设备中的专用区域。在这种情况下,选择确定对性能有很小影响的虚拟页就是例如选择确定以最低存取频率存取的页。将上面的物理页的数据保存到存储设备后,虚拟存储器控制部分对于对上面的物理页指派的虚拟页的管理表中的属性,设置指示物理存储器中不存在虚拟页的标志。当再次需要写到存储设备中的专用区域内的物理页的数据时,虚拟存储器控制部分执行控制,以将数据读入空闲物理页,并且此时,复位MMU 22管理的管理表中的属性的标志,该标志指示虚拟页不在存储器中。顺便提到,存储设备的示例包括硬盘等。虚拟存储器控制部分具有接收对虚拟页指派物理页的请求以及关于写到请求区域的数据量的信息,以及根据收到的关于写入量的信息扩大对虚拟页指派的物理存储器容量的功能。MMU 22可以以页为单位映射物理地址与虚拟地址,并且可以根据关于对虚拟页的写入量的信息对发生重写的虚拟页指派并且管理多个物理页。虚拟存储器控制部分根据由关于写入数据量的信息计算物理页中发生的重写次数的结果来确定物理存储器容量要扩大到的容量。虚拟存储器控制部分具有根据定时器的内部事务等或者来自OS或者应用的指令来在指派的物理页之间移动数据以平均写入次数的功能。在本实施例中,虚拟存储器系统10具有包括用于将虚拟地址转换为物理地址的信息的两个管理表。第一管理表包括指示物理页是否被指派给虚拟页并且使用,或者物理页是否未指派并且未使用的信息以及关于物理页的过往写入的累积量的信息,作为物理页管理信息(将在后面描述的图5)。第二管理表包括用于管理对虚拟页指派的物理页地址的信息,作为地址转换信息。该信息包括指示该物理页是否存在于非易失性存储器内的信息和关于该物理页要扩大到的确定容量的信息。在虚拟存储器系统10中,虚拟存储器控制部分具有根据定时器等的内部事务或者来自OS或者应用的指令执行控制,以存取物理页扩大到的容量的一部分,作为用于减少因为对虚拟页指派的物理页的写入次数增加而发生数据错误的处理的功能。在本实施例中,管理表的信息存储在非易失性随机存取存储器40内。因此,在接通电源时,从非易失性随机存取存储器40读取表信息,从而可以恢复电源断开之前的状态。此外,CPU 20的虚拟存储器控制部分还可以从存储器控制器30获得关于非易失性随机存取存储器40的重写次数的上限的信息。下面将集中描述具有上述特征配置的CPU 20中的虚拟存储器控制,同时将虚拟存储器系统10与对其应用了易失性存储器而不是非易失性随机存取存储器的常规虚拟存储器系统进行比较。[常规系统] 在当前情况下,在常规系统中,将DRAM控制器用作存储器控制器并且将作为易失性存储器的DRAM用作工作存储器的系统最常见。最近,存在为了改善CPU与工作存储器之间的传送效率而在CPU中包括DRAM控制器的器件。在当前情况下的这种系统中,所有存储器均是易失性的,因此,需要被称为BIOS的ROM来启动该系统。然后,执行在BIOS内被称为自举加载器的程序,从而将执行OS所需的程序代码和数据、或者OS和基于OS的应用从诸如硬盘等的存储设备加载到工作存储器内,并随后执行。硬盘的存取时间是几十ms,而作为工作存储器的DRAM的存取时间是几十ns量级的。因此,存取时间之间的间隙宽。包括NAND闪速存储器的SSD的出现将存储设备的存取时间改善到几百μ S。然而,与DRAM仍存在存取速度的间隙,该间隙是影响CPU的操作效率的主要因素。[虚拟地址空间与物理地址空间的常规映射]图2是示出虚拟地址空间与物理地址空间的常规映射的示例的示意图。常规虚拟存储器系统中使用的存储器是对写入次数没有上限的易失性存储器,诸如 SRAM、DRAM 等。虚拟地址空间VAS是比物理地址空间PAS更大的地址空间。虚拟地址和物理地址以通常具有4K字节的大小的被称为页PG的区域为单位映射。一个虚拟页VPG指派给一个物理页PPG。虚拟页VPG与物理页PPG的大小互相一致。例如,图2中的读区域RAl是只读区域,而写区域WAl和WA2是读写区域。在这3个区域中,所指派的虚拟页VPG的数目与所指派的物理页PPG的数目一致。[根据本实施例的虚拟地址空间与物理地址空间的映射]图3是示出根据本实施例的虚拟地址空间与物理地址空间的映射示例的示意图。这种情况下使用的存储器是非易失性随机存取存储器,并且是对重写次数具有上限的存储器。通过在发生重写时对虚拟页指派多个物理页来避免对重写次数的限制,而限定根据本实施例的虚拟存储器系统10。例如,图3中的读区域RAll是只读区域,而写区域WAll是读写区域。在这两个区域中,所指派的虚拟页VPG的数目与所指派的物理页PPG的数目一致。另一写区域WA12在虚拟存储器空间内具有2页的大小,而在物理存储器空间内该大小为4页。写区域WAll和写区域WA12之间的差别在于重写次数的不同,该不同是由区域上出现的写数据量的不同导致的。写区域WA12指示在写区域WA12内出现两倍写区域WAll内的重写次数。在本实施例中,指示对虚拟页VGP的写入量的信息提供到虚拟存储器系统10,并且虚拟存储器系统10具有根据关于写入量的信息来计算并确定要指派的物理页PPG的数目的功能。
[虚拟存储器系统中从虚拟地址到物理地址的转换处理]图4是示出在虚拟存储器系统中从虚拟地址到物理地址的转换处理的示意图。两个表,即,页目录表TOTIi和页表PTII用作该地址转换的第二管理表。页目录表TOTlI通过将虚拟地址VA的高序位UBT用作基准值来识别页目录表PDTll中的项TOTE。然后,存取用于管理与由高序位UBT指定的虚拟地址对应的物理页PPG的地址的页表PTlI。接着,利用虚拟地址VA的中序位作为基准值,识别页表PT 11中的项PTE,并且获得相应的物理页PPG的地址。利用由剩余低序位LBT指示的地址作为偏移量,确定数据的最终物理地址PA。因此,页目录表PDTll和页表PTll是具有虚拟地址VA到物理地址PA的转换的必要信息的表,并且保存在由物理地址PA指示的相同存储器中。图5是示出根据本实施例的物理页管理信息表的示例的示意图。图6是示出作为与图5的比较例的常规物理页管理信息表的示例的示意图。第一管理表是具有指示每个物理页是否指派给虚拟页并且使用的信息的物理页管理信息表PPGMTl (使用状态标志uflag)。当虚拟存储器控制部分指派新物理页PPG或者释放指派的物理页PPG时,虚拟存储器控制部分根据物理页管理信息来改变并管理目标物理页的管理信息,如图5和图6所
/Jn ο包括常规易失性存储器的虚拟存储器系统在结束时将这两个管理表存储在存储设备中,而在启动时,通过重读这两个管理表来再现结束之前的状态。除了上面的使用状态标志Uflag,根据本实施例的物理页管理信息还具有指示直到当前时间的写入量(writing volume)的信息(CWAM),如图5所示。当虚拟存储器控制部分指派新物理页或者释放指派的物理页时,虚拟存储器控制部分根据物理页管理信息,即,根据直到当前时间的使用状态标志uflag和写入量CWAM,来选择物理页,并且更新和管理每条信息。使用状态标志uflag例如在未使用期间设置为逻辑“0”,而在使用期间设置为逻辑 “I,,。本实施例包括非易失性随机存取存储器40,因此,不需要存取存储设备以及将管理表存储在存储设备内。[常规页目录表中的项的示例]图7是示出常规页目录表中的项的示例的示意图。
图7中的页目录表项TOTEl包括指示在由虚拟地址的高序位指定的区域内存在页表PTll的开始物理地址的页表基地址PTBA。页目录表项TOTEl由页表基地址PTBA和其它信息位构成。页级高速缓冲禁止P⑶位当该位为I时,指示由该项指示的虚拟地址区域不存储在由上述CPU 20拥有的高速缓冲存储器23内。当上述P⑶位是O且后面所示的R/W(读/写)位是I时,页级高速缓冲直写(writethrough) PCffT位指示如下。页级高速缓冲直写PCWT位是I指示写入由该项指示的虚拟地址区域存储在CPU20拥有的高速缓冲存储器23内,并且还写入虚拟地址区域。即,页级高速缓冲直写PCWT位是I指示不执行写入该区域到该高速缓冲存储器23 内,而是直接写入由该项指示的页表PTIi所指示的物理页区域。PCffT位是O指示回写系统,并且指示执行写入由该项指示的虚拟地址区域到CPU20拥有的高速缓冲存储器23内。R/W位在该位是I时指示对由该项指示的虚拟地址区域进行读存取或者写存取。R/W位当该位是O时指示“只读”。存在P位(presence P bit)当位P是I时指示在该存储器内存在由该项指示的虚拟地址区域的数据。存在P位为O指示该数据被换出,并且存储在存储设备中,并且再使用该数据需要指派新物理地址空间并且从该存储设备读取数据的换入处理。[常规页表项的示例]图8是示出常规页表项的示例的示意图。图8中的页表项PTl由指示对由该项指示的虚拟页指派的物理页的开始地址的页基地址PBA和其它信息位构成。错误状态位(dirty bit)DB当该位是I时指示发生了对指派给该项的虚拟页VPG的物理页PPG的写。其他信息位与图7所示的页目录表项I3DTEl的相同。[根据本实施例的页目录表中的项的示例]图9是示出根据本实施例的页目录表中的项的示例的示意图。图9中的页目录表项I3DTEl通过对图7中的项添加NVM(非易失性存储器)位作为信息位而形成。NVM位当该位是I时指示由该项指示的页表PTll和对虚拟地址区域指派的物理页PPG均位于非易失性随机存取存储器40内,并且在对重写次数具有上限的存储器形成的物理页空间内。[根据本实施例的页表中的项的示例]图IOA和图IOB是示出根据本实施例的页表中的项的示例以及由该项和虚拟地址产生物理地址的处理的示意图。图IOA中的页表项PTEll是通过对图8中的项添加信息位的3个字段形成的。页表项PTEl I包括指示对由该项指示的虚拟页VPG指派的物理页的数目的页数PN位。
页表项PTEll还包括指示该页是当前使用的指派物理页中的一页的当前页编号(CPN)位。页基地址PBA指示页编号CPN指示的物理页的地址。页表项PTEll还包括NVM(非易失性存储器)位。当NVM位是I时,上面描述的PN位和CPN位的值有效。NVM位是O指示对虚拟页指派的存储器是易失性存储器。如图IOB所示,通过求得页表项PTEll的页基地址PBA与虚拟地址VA的偏移量OFST的逻辑和(OR)来产生物理地址PA。[对虚拟页指派新物理页的处理]图11是帮助解释根据本实施例的虚拟存储器系统对虚拟页指派新物理页时的处 理的流程图。在第一步骤ST1,由物理页管理信息获得当前未使用的物理页地址。在第二步骤ST2,获得关于直到物理页的当前时间的写入量的信息。在第三步骤ST3,由下面的计算公式计算请求的虚拟页区域所需的物理页的数目。NPN
权利要求
1.一种虚拟存储器系统,包括 非易失性存储器,允许随机存取,具有对重写次数的上限,并且包括通过虚拟地址存取的物理地址空间;以及 虚拟存储器控制部分,配置为以页为单位管理所述非易失性存储器的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址; 其中所述虚拟存储器控制部分配置为扩大对发生重写的虚拟页分配的物理存储器容量。
2.根据权利要求I所述的虚拟存储器系统, 其中所述虚拟存储器控制部分接收对虚拟页指派物理页的请求和关于对请求区域的数据写入的量的信息,以及根据接收到的关于写入量的信息来扩大对虚拟页分配的物理存储器容量。
3.根据权利要求I所述的虚拟存储器系统, 其中所述虚拟存储器控制部分以页为单位映射物理地址与虚拟地址,以及所述虚拟存储器控制部分通过根据关于对虚拟页的写入量的信息来对发生重写的虚拟页指派多个物理页,而扩大物理存储器容量。
4.根据权利要求I所述的虚拟存储器系统, 其中所述虚拟存储器控制部分根据由关于数据写入量的信息计算在相应物理页中发生的重写次数的结果来确定物理存储器容量扩大到的容量。
5.根据权利要求I所述的虚拟存储器系统, 其中所述虚拟存储器控制部分配置为平均在所指派的物理页之间的写入次数。
6.根据权利要求I所述的虚拟存储器系统,还包括含有用于将虚拟地址转换为物理地址的信息的表, 其中所述表的信息包括指示物理页是否指派给虚拟页并且正在使用或者物理页是否未指派并且未使用的信息以及关于物理页的过去累计写入量的信息,作为物理页管理信肩、O
7.根据权利要求6所述的虚拟存储器系统, 其中所述虚拟存储器控制部分根据由关于数据写入量的信息计算在相应物理页中发生的重写次数的结果来确定物理存储器容量扩大到的容量,以及 所述表的信息包括用于管理对虚拟页指派的物理页地址的表信息,并且该表信息包括指示相应物理页是否在非易失性存储器内的信息和关于所确定的物理页扩大到的容量的信息。
8.根据权利要求7所述的虚拟存储器系统, 其中所述虚拟存储器系统保存指示对于每个物理页直到当前时间已经发生的写入量的信息,以及 所述虚拟存储器控制部分响应于定时器的内部事务和来自OS和应用之一的指令在所指派的物理页之间移动数据。
9.根据权利要求8所述的虚拟存储器系统, 其中所述虚拟存储器控制部分进行控制以存取物理页扩大到的容量的一部分。
10.根据权利要求6所述的虚拟存储器系统,其中所述表的信息存储在所述非易失性存储器内。
11.根据权利要求I所述的虚拟存储器系统, 其中所述虚拟存储器控制部分配置为以页为单位管理所述非易失性存储器的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址,并且还配置为对虚拟页指派新物理页并释放对虚拟页指派的物理页。
12.根据权利要求11所述的虚拟存储器系统, 其中所述虚拟存储器控制部分通过管理表来管理虚拟页与物理页之间的对应关系, 当未使用的物理页不足时,所述虚拟存储器控制部分执行控制,以从已经对虚拟页指派的物理页中选择确定为对性能具有很小影响的物理页,并且将所选的物理页的数据写到存储设备中的专用区域,以及 所述虚拟存储器控制部分设置在所述管理表中指示物理页不存在于存储器中的标志,作为保存到存储设备的指派物理页的虚拟页的属性。
13.根据权利要求12所述的虚拟存储器系统, 其中当再次需要物理页的数据、已经写入所述存储设备中的专用区域的物理页的数据时,所述虚拟存储器控制部分进行控制,以将该数据读入空闲物理页,以及 所述虚拟存储器控制部分复位所述管理表中指示物理页不存在于存储器内的标志。
14.根据权利要求I所述的虚拟存储器系统,还包括 存储器控制器,用于根据所述虚拟存储器控制部分的控制处理存取所述非易失性存储器, 其中所述虚拟存储器控制部分从所述存储器控制器获得关于对所述非易失性存储器的重写次数的上限的信息。
15.—种虚拟存储器控制方法,包括 以页为单位管理非易失性存储器的物理地址空间,非易失性存储器允许随机存取,具有对重写次数的上限,并且包括通过虚拟地址存取的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址, 当虚拟页中发生重写时,根据关于虚拟页的写入量的信息,扩大对虚拟页分配的物理存储器容量。
16.一种用于使得计算机执行虚拟存储器控制处理的程序,所述虚拟存储器控制处理包括 以页为单位管理非易失性存储器的物理地址空间,非易失性存储器允许随机存取,具有对重写次数的上限,并且包括通过虚拟地址存取的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址,以及 当虚拟页中发生重写时,根据关于虚拟页的写入量的信息,扩大对虚拟页分配的物理存储器容量。
全文摘要
在此公开了虚拟存储器系统、虚拟存储器控制方法和程序。该虚拟存储器系统包括非易失性存储器,允许随机存取,具有对重写次数的上限,并且包括通过虚拟地址存取的物理地址空间;以及虚拟存储器控制部分,配置为以页为单位管理非易失性存储器的物理地址空间,映射物理地址空间与虚拟地址空间,以及将所存取的虚拟地址转换为物理地址;其中虚拟存储器控制部分配置为扩大对发生重写的虚拟页分配的物理存储器容量。
文档编号G06F12/02GK102707899SQ20121004389
公开日2012年10月3日 申请日期2012年2月24日 优先权日2011年3月4日
发明者中西健一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1