存储系统以及相关的操作方法

文档序号:6439244阅读:205来源:国知局

专利名称::存储系统以及相关的操作方法
技术领域
:本发明构思一般涉及电子存储技术。更加具体来说,本发明构思涉及存储系统以及相关的操作方法。
背景技术
:存储系统经常使用存储器映射将虚拟存储地址转译为物理存储地址。存储器映射一般使用虚拟地址空间和物理地址空间实现,其中虚拟地址空间是处理器在参考地址位置时使用的地址空间,物理地址空间是与实际硬件存储位置相应的地址空间。在运行的存储系统的传统方法中,即使是在物理地址空间连续的情况下,仍以静态大小为单位(例如,4K字节)分配存储器,这可能妨碍系统性能。
发明内容根据本发明构思的实施例,一种存储系统包括转译后备缓冲器(TLB),被配置为接收虚拟地址以及搜索匹配所述虚拟地址的TLB项;和转译信息缓冲器(TIB),被配置为与所述TLB相连,并且在没有找到匹配所述虚拟地址的TLB项情况下确定与所述虚拟地址相应的物理地址是否落入连续映射区域。根据本发明构思的另一实施例,一种存储系统包括中央处理单元(CPU),被配置为生成虚拟地址;以及存储器管理单元(MMU),被配置为管理CPU对存储器的访问,从CPU接收虚拟地址,以及将虚拟地址映射到物理地址。所述存储器包括将虚拟地址映射到物理地址的页表。MMU能够访问存储器并且包括TLB和TIB,该TLB被配置为接收虚拟地址并且搜索匹配所述虚拟地址的TLB项,该TIB被配置为与TLB相连以及在没有找到匹配虚拟地址的TLB项的情况下确定与所述虚拟地址相应的物理地址是否落入连续映射区域。根据本发明构思的又一实施例,一种操作存储系统的方法包括接收虚拟地址以及搜索转译后备缓冲器(TLB)以识别匹配该虚拟地址的TLB项;以及访问TIB以便在确定在TLB中没有找到匹配所述虚拟地址的TLB项时、确定与所述虚拟地址相应的物理地址是否落入连续映射区域。本发明构思的这些及其它实施例可以用于提高存储系统的性能和可靠性。附图示出本发明构思的所选实施例。在附图中,同样的参考标记表示同样的特征,除非上下文指示不是如此。图IA是根据发明构思的实施例的存储系统的图。图IB是根据本发明构思的实施例的、在图IA中示出的存储系统的详细框图。图2是用于说明图IB中示出的转译后备缓冲器(translationlookasidebuffer,TLB)的图。图3是用于说明图2中示出的TLB项的图。图4是用于说明图IB中示出的转译信息缓冲器(translationinformationbuffer,TIB)的图。图5是用于说明图4中示出的TIB项的图。图6是用于说明图IB中示出的存储器的图。图7是示出根据本发明构思的实施例运行存储系统的方法的流程图。具体实施例方式下面将参考附图详细描述本发明的所选实施例。给出这些实施例作为教导的示例,而不应当被释为限制本发明构思的范围。在下述的描述中,在元素被称为“连接”至另一元素的情况下,它可以直接连接至其它元素或者可以存在居间元素。相反,在元素被称为“直接连接”至另一元素的情况下,不存在居间元素。如这里所使用的那样,术语“和/或”包括一个或多个相关联所列项的任一个或者它们的所有组合,并且可以缩写为“/”。这里可以使用术语第一、第二等等用于描述各种元素,但是这些元素不应当受限于这些术语。反而,这些术语仅用于将一个元素与另一元素相互区分开。例如,第一信号可以称作第二信号,第二信号可以称作第一信号而不脱离公开的教导。这里使用的术语仅用于描述特定实施例的目的,而不在于限制本发明构思。如这里所使用的那样,单数形式“一”、“一个”和“该”将同样包括复数形成,除非上下文清楚地表示不是如此。还将理解,当术语“包括”、“包含”、“具有”和/或“含有”在这里使用时指定所述特征、区域、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其它特征、区域、整体、步骤、操作、元件、组件或其群组的存在或添加。除非另外定义,否则这里使用的全部术语(包括技术术语和科学术语)都具有本领域普通技术人员所通常理解的相同意义。诸如通常使用的词典中定义的那些术语的术语应当被解释为具有与它们在相关技术和/或本说明书的上下文中的意义一致的意义,并且除非这里明确定义如此,否则不应当解释为理想化的或者过于形式的意义。图IA是根据本发明构思的实施例的存储系统100的图,图IB是根据本发明构思的实施例的、在图IA中示出的存储系统100的详细框图。图2是用于说明图IB中示出的转译后备缓冲器(translationlookasidebuffer,TLB)122的图。图3是用于说明图2中示出的TLB项124的图。图4是用于说明图IB中示出的转译信息缓冲器(translationinformationbuffer,TIB)132的图。图5是用于说明图4中示出的TLB项134的图。参考图1A,存储系统100包括中央处理单元(CPU)250、存储管理单元(MMU)200和存储器150。CPU250生成虚拟地址,MMU200将虚拟地址映射到物理地址并且访问存储器150。存储器150存储将虚拟地址链接到物理地址的页表(pagetable)。存储器150包括动态随机存取存储器(DRAM)和非易失性存储器(NVM)。NVM可以采用各种形式中任何一种,诸如电可擦可编程只读存储器(EEPROM)、磁随机存取存储器(MRAM)、自旋扭矩转换MRAM、铁磁RAM(FeRAM)、相变RAM(PRAM)、电阻RAM(RRAM)、碳纳米管RRAM、聚合物RAM、纳米浮动栅极存储器、全息存储器、分子电子存储器件或者绝缘阻变存储器(insulatorresistancechangememory)。参考图1B,存储系统100包括通用寄存器110、地址转译单元120、页表走步单元(pagetablewalkunit)130、接口140和存储器150。通用寄存器位于CPU250内,地址转译单元120和页表走步单元130位于MMU200内。存储系统100可以是诸如便携终端、数字相机、笔记本计算机、个人计算机(PC)、移动电话或者个人数字助理(PDA)这样的电子设备。然而,存储系统100不局限于上面的电子设备。在存储系统100中,数据一般被分组为预定长度的存储块,称作页。例如,存储器的最小地址单元可以是一个字节,并且一组顺序地址可以由一组顺序存储字节形成。因此,页可以被定义为包括预定数目的顺序存储字节的块。在某些实施例中,页包括等于2的幂(例如,212=4096或者4K字节)的数目的字节。换句话说,页可以具有大小L(例如,4096字节或者4k字节)。在存储系统100的存储器寻址中,虚拟存储器可以使用分页(paging)来实现。在使用分页的情况下,虚拟地址空间一般被划分为固定大小的块——称作页,每个页被映射或者转译到一个物理地址。然后可以决定虚拟地址与物理地址之间的映射,并且使用页表来保存它。例如,可以根据由存储系统100的页表走步单元130执行的预定存储系统运行方法或者算法来实现这样的映射。页表一般存储在存储器150中。然而,为了加速分页,一部分页表可以存储在TLB122或者TIB132中。尽管转译地址被描述为物理地址,但是转译地址可以用于许多其它目的。例如,在获得物理地址之前,转译地址可以经历进一步的转译。另外,尽管在某些实施例中转译了虚拟地址空间,但是在其它实施例中可以转译其它类型的地址。存储系统100执行虚拟地址空间与物理地址空间之间的映射。总的来说,虚拟地址空间与物理地址空间可以被划分为页。虚拟页编号信息被映射到物理页编号信息,虚拟地址的较低的N位链接到物理页编号以便实现虚拟到物理的地址映射。换句话说,虚拟地址与相应于该虚拟地址的物理地址可以总是具有相同的较低位数目,也即,N个低位。这里,N是页大小(以字节为单位)例如,L,以2为基的对数(例如,lo&L)。因此,虚拟地址空间与物理地址空间可以被划分为若干块连续地址。每个虚拟地址提供虚拟页编号信息,物理页编号信息表示存储器150中数据的特定页的位置。存储器150中的页表可以存储与存储系统100中的虚拟页编号信息的每个单元相应的物理页编号信息。换句话说,页表可以包括相对于虚拟地址空间中所有虚拟页编号信息的、虚拟页编号信息与物理页编号信息之间的映射。如图6中所示,页表可以包括多个页表项,其中每个页表项表示与存储器150中的特定虚拟地址信息相应的页。地址转译单元120包括TLB122,页表走步单元130包括TIB132。通用寄存器110包括多个地址寄存器。图IB示出地址寄存器112,作为每一个地址寄存器的例子。参考图IA至图5,地址寄存器112包括最低位中的页偏移信息和最高位中的虚拟页编号信息。虚拟页编号信息表示存储器150中的多个页当中的特定页,页偏移信息表示特定页的位置。例如,地址寄存器112是32位寄存器的情况下,第0位到第9位可以包括页偏移信息,第10位到第31位可以包括虚拟页编号信息。地址寄存器112提供虚拟地址到地址转译单元120的TLB122。TLB122根据管理大小检索多个TLB项以便确定TLB项IM是否具有与地址寄存器112所提供的虚拟地址匹配的标记。在搜索结果是TLB命中的情况下,也即,在找到了包括与地址寄存器112所提供的虚拟地址相应的物理地址的TLB项124的情况下,在TLB122上检索物理地址。在搜索结果是TLB没命中的情况下,也即,在没有找到包括与地址寄存器112所提供的虚拟地址相应的物理地址的TLB项124的情况下,TLB122通过页表走步单元130访问存储器150并且搜索页表。TLB122包括多个TLB项,图2和图3示出了作为各个TLB项的例子的TLB项124。TLB项IM包括标记和数据,该标记包括虚拟页编号信息,该数据包括物理页编号信息。TLB项124还可以包括存储器属性,诸如“读”和“写”。尽管在图IB中地址转译单元120是提供在MMU200内,但是可以连同通用寄存器110和页表走步单元130—起提供在CPU250内。页表走步单元130包括TIB132,其存储物理地址信息。TIB132包括多个TIB项,在图4中作为这些TIB项的例子示出TIB项134。在TLB没命中的情况下,TIB132基于TIB项确定与虚拟地址相应的物理地址是否落入连续映射区域中。在确定物理地址落入连续映射区域的情况下,TIB132调整TLB122的管理大小并且将调整后的管理大小发送给TLB122。此后,TLB122根据调整后的管理大小分配TLB项。例如,在TLB122的管理大小是4K字节的情况下,TLB122在搜索数据时通常为每个TLB项IM分配4K字节。然而,根据图1至4的实施例,其中与虚拟地址相应的物理地址落入连续映射区域,TIB132根据连续映射区域调整TLB122的管理大小(例如,从4k字节到IM字节),并且将调整后的IM字节的管理大小发送给TLB122。因此,TLB122在搜索数据时根据调整后的管理大小分配TLB项124。在物理地址没有落入连续映射区域的情况下,TIB132访问存储器150。参考图5,TIB项134存储虚拟页开始地址VPSA、虚拟页结束地址VPEA以及物理地址信息,也即,物理页基本地址PPBA。TIB132使用通过访问存储器150获得的物理地址信息以及虚拟页结束地址VPEA,来确定与虚拟地址相应的物理地址是否落入连续映射区域。当根据连续映射区域调整TLB122的管理大小时,TIB132可以存储有关调整后的管理大小的信息,或者所述信息可以被发送到TLB122并且存储在其中。例如,在TLB没命中的情况下,在确定了TIB132通过访问存储器150获得的物理地址信息与TIB132中已经存储的物理地址信息连续的情况下,TIB132可以基于该连续来调整并且更新TLB122的当前管理大小,并且存储用于TLB122的新管理大小。在由于与已经存储在TIB132中的管理大小有关的现有信息引起的TIB132存储空间已满的情况下,TIB132可以擦除现有信息当中的特定信息(例如,有关用于TLB122的最小管理大小的信息)并且存储用于TLB122的新管理大小。图6是用于说明图IB中示出的存储器150的图。参考图6,存储器150包括页表152和多个页。页表152包括多个页表项。图6示出作为页表项一个例子的页表项154。页表项巧4表示物理存储器150中与虚拟地址相应的页156。例如,页表项巧4包括页156的物理地址和页156的访问信息。图7是示出根据本发明构思的实施例运行存储系统的方法的流程图。为了说明的方便起见,假定图7的方法由图IB的存储系统100执行。然而,可替换地,可以由其它系统执行。参考图IA至图7,本方法确定是否已经发生TLB没命中(SllO)。换句话说,确定是否没有找到包括与地址寄存器112提供的虚拟地址相应的物理地址的TLB项124。在确定尚未发生TLB没命中(SllO=否)的情况下,或者换句话说,在已经发生TLB命中的情况下,在TLB122中搜索与虚拟地址相应的物理地址(S120)。然而,在检测到TLB未命中(S110=是)的情况下,TIB132确定与虚拟地址相应的物理地址是否落入连续映射区域(S130)。在确定与虚拟地址相应的物理地址没有落入连续映射区域(S130=否)的情况下,TIB132访问存储器150并且搜索页表152(S140)。然而,在确定与虚拟地址相应的物理地址落入连续映射区域(S130=是)的情况下,在操作S150中TIB132根据连续映射区域调整TLB122的当前管理大小,并且发送新管理大小到TLB122。例如,在TLB122的当前管理大小是4k字节并且连续4K字节的连续映射区域是IM字节的情况下,TIB132将TLB122的管理大小调整为IM字节并且将有关IM字节的新管理大小的信息发送给TLB122。然后,TLB122在搜索数据时为TLB项1分配IM字节。在图7的方法中,一次给连续映射区域分配存储器150的一个空间,以使得对存储器150的访问次数降低。结果,系统性能与以仅4K字节为单位分配存储器150的情况相比提尚了。总的来说,本发明构思可以以硬件、软件或者其组合具体实现。还可以由存储在计算机可读媒介上的计算机可读代码具体实现,计算机可读媒介可以是能够将数据存储为程序的数据存储设备,所述程序可以由计算机系统读取。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘以及光数据存储器件等等。计算机可读记录介质也可以分布在计算机系统耦联的网络上,以使得以分布式存储和运行计算机可读代码。而且,实现本发明总体发明构思的功能程序、代码和代码段可以由本发明所属领域的程序员容易地解释。如前述所示,本发明构思的某些实施例可以提高存储系统的性能和可靠性。虽然已经参考某些实施例具体示出和描述了本发明构思,但是本领域普通技术人员将理解,在不脱离如权利要求定义的本发明构思的条件下可以在此进行形式和细节上的各种变化。权利要求1.一种存储系统,包括转译后备缓冲器(TLB),被配置为接收虚拟地址以及搜索匹配该虚拟地址的TLB项;以及转译信息缓冲器(TIB),被配置为与所述TLB相连,并且在没有找到匹配所述虚拟地址的TLB项的情况下确定与所述虚拟地址相应的物理地址是否落入连续映射区域。2.如权利要求1所述的存储系统,其中,在所述TIB确定与所述虚拟地址相应的物理地址落入所述连续映射区域的情况下,所述TIB根据所述连续映射区域调整所述TLB的管理大小,以及所述TLB根据作为调整结果所获得的新管理大小来分配TLB项。3.如权利要求2所述的存储系统,还包括存储器,其包括页表,其中所述TIB经由接口访问所述存储器并且在与所述虚拟地址相应的物理地址落入所述连续映射区域中的情况下调整所述TLB的管理大小。4.如权利要求3所述的存储系统,其中,所述页表将所述虚拟地址映射到所述物理地址。5.如权利要求3所述的存储系统,其中,所述TIB包括虚拟页开始地址、虚拟页结束地址和物理地址信息,并且使用通过访问所述存储器获得的物理地址信息以及所述虚拟页结束地址来确定与所述虚拟地址相应的物理地址是否落入所述连续映射区域。6.如权利要求1所述的存储系统,还包括通用寄存器,其被配置为提供所述虚拟地址给所述TLB。7.如权利要求6所述的存储系统,其中,所述通用寄存器包括多个地址寄存器,每个都被配置为生成所述虚拟地址。8.一种存储系统,包括中央处理单元(CPU),被配置为生成虚拟地址;以及存储器管理单元(MMU),其被配置为管理所述CPU对存储器的访问,从所述CPU接收虚拟地址,以及将所述虚拟地址映射到物理地址;其中,所述存储器包括将虚拟地址映射到物理地址的页表,以及其中,所述MMU能够访问所述存储器并且包括转译后备缓冲器(TLB),被配置为接收虚拟地址以及搜索匹配该虚拟地址的TLB项;以及转译信息缓冲器(TIB),被配置为与所述TLB相连,并且在没有找到匹配所述虚拟地址的TLB项的情况下确定与所述虚拟地址相应的物理地址是否落入连续映射区域。9.如权利要求8所述的存储系统,其中,在所述TIB确定与所述虚拟地址相应的物理地址落入所述连续映射区域的情况下,所述TIB根据所述连续映射区域调整所述TLB的管理大小,以及所述TLB根据作为调整结果所获得的新管理大小来分配TLB项。10.如权利要求9所述的存储系统,其中,所述TIB经由与所述TIB和所述TLB关联的接口访问所述存储器。11.如权利要求10所述的存储系统,其中,所述TIB包括虚拟页开始地址、虚拟页结束地址和物理地址信息,并且所述TIB使用通过访问所述存储器获得的物理地址信息以及所述虚拟页结束地址来确定与所述虚拟地址相应的物理地址是否落入所述连续映射区域。12.如权利要求8所述的存储系统,其中,所述存储器包括易失性存储器和非易失性存储器。13.如权利要求8所述的存储系统,其中所述CPU包括通用寄存器,其被配置为将所述虚拟地址提供给所述TLB。14.如权利要求13所述的存储系统,其中,所述通用寄存器包括多个地址寄存器,每个都被配置为生成所述虚拟地址。15.一种操作存储系统的方法,包括接收虚拟地址以及搜索转译后备缓冲器(TLB)以识别匹配该虚拟地址的TLB项;以及访问转译信息缓冲器(TIB)以便在确定在TLB中没有找到匹配所述虚拟地址的TLB项时、确定与所述虚拟地址相应的物理地址是否落入连续映射区域。16.如权利要求15所述的方法,还包括当确定与所述虚拟地址相应的物理地址落入所述连续映射区域时根据所述连续映射区域调整所述TLB的管理大小。17.如权利要求16所述的方法,还包括当确定与所述虚拟地址相应的物理地址没有落入所述连续映射区域时搜索页表。18.如权利要求15所述的方法,还包括当确定在所述TLB中找到了匹配所述虚拟地址的TLB项时,搜索所述TLB以找出与所述虚拟地址相应的物理地址。19.如权利要求17所述的方法,其中,所述页表将所述虚拟地址映射到所述物理地址。20.如权利要求15所述的方法,其中,所述TIB包括虚拟页开始地址、虚拟页结束地址和物理地址信息,并且使用通过访问存储器获得的物理地址信息以及所述虚拟页结束地址,来确定与所述虚拟地址相应的物理地址是否落入所述连续映射区域。全文摘要本申请提供一种存储系统,包括转译后备缓冲器(TLB),被配置为接收虚拟地址以及搜索匹配所述虚拟地址的TLB项;和转译信息缓冲器(TIB),被配置为与所述TLB相连,并且如果没有找到匹配所述虚拟地址的TLB项则确定与所述虚拟地址相应的物理地址是否落入连续映射区域。文档编号G06F12/10GK102567228SQ20111038052公开日2012年7月11日申请日期2011年11月25日优先权日2010年11月25日发明者安炫宣申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1