静默活动页面迁移错误制造技术

技术编号:22758121 阅读:17 留言:0更新日期:2019-12-07 05:16
本文中公开用于迁移存储器页面的系统、设备和方法。响应于检测到第一页面在存储器位置之间的迁移开始,对与所述第一页面对应的第一页面表项(PTE)定位并且将迁移挂起指示存储于所述第一PTE中。在一个实施方案中,通过禁用读取权限和写入权限来将所述迁移挂起指示编码在所述第一PTE中。如果以所述第一PTE为目标的转换请求被MMU接收到并且所述转换请求对应于读取请求,那么允许对所述第一页面进行读取操作。另外,如果所述转换请求对应于写入请求,那么阻止对所述第一页面进行写入操作,并且生成静默重试请求并将所述静默重试请求传送到请求客户端。

Silent active page migration error

Systems, devices, and methods for migrating storage pages are disclosed herein. In response to the detection of the beginning of the migration of the first page between memory locations, the first page table entry (PTE) corresponding to the first page is located and the migration pending indication is stored in the first PTE. In one embodiment, the migration suspend indication is encoded in the first PTE by disabling read and write permissions. If a conversion request targeted at the first PTE is received by the MMU and the conversion request corresponds to a read request, then a read operation is allowed on the first page. In addition, if the conversion request corresponds to a write request, the first page is prevented from being written, and a silent retry request is generated and transmitted to the requesting client.

【技术实现步骤摘要】
【国外来华专利技术】静默活动页面迁移错误
技术介绍
相关技术的描述许多计算装置使用虚拟存储器技术来处理软件程序对数据的存取。虚拟存储器页面转换机制使得系统软件能够为每个进程或应用程序创建单独的地址空间。这些地址空间被称作虚拟地址空间。系统软件使用分页机制来使用一组分层地址转换表选择性地将物理存储器的单独页面映射到所述虚拟地址空间中,该组分层地址转换表被统称为页面表。虚拟存储器可以用任何处理器来实施,包括但不限于中央处理单元(CPU)、图形处理单元(GPU)和加速处理单元(APU)。当程序存取数据时,将包括所述数据的具有给定大小(例如,4千字节(KB))的存储器的块(被称作存储器的“页面”)从备份存储体(例如,磁盘驱动器或半导体存储器)复制到计算装置中的主存储器中的可用物理位置。一些系统具有存储于存储器中的多个不同的页面大小。胜于使用程序来管理页面的物理位置,计算装置中的存储器管理单元管理页面的物理位置。替代使用基于页面的物理位置的地址(或“物理地址”)来存取存储器,所述程序使用虚拟地址空间中的虚拟地址来存取存储器。从程序的观点来看,虚拟地址指示数据存储于存储器中的页面内的实际物理地址(即,物理位置),并且因此通过程序使用所述虚拟地址来进行存储器存取。然而,虚拟地址并未直接映射到存储数据的物理位置的物理地址。因此,作为管理页面的物理位置的部分,存储器管理单元将所述程序使用的虚拟地址转换成数据实际上所处的物理地址。随后使用经转换的物理地址来执行所述程序的存储器存取。为了执行上述转换,存储器管理单元使用存储器中的页面表,所述页面表包括所述存储器中存储的页面的从虚拟地址到物理地址的一组转换。不时地,系统可以在存储器位置之间迁移页面,致使虚拟到物理地址转换改变。在一些情况中,系统确定要将页面从第一存储器移动到第二存储器。可选地,所述系统可以作为垃圾回收操作的部分在单个存储器内移动页面。然而,在进程正在运行时(例如,图形程序正在执行渲染任务),对页面进行迁移可能会中断。附图说明结合附图,通过参考以下描述将能更好地理解本文中描述的方法和机制的优点,在附图中:图1是计算系统的一个实施方案的框图。图2示出页面表项(PTE)格式的实例。图3是页面迁移正在进行中的系统的一个实施方案的框图。图4是页面迁移完成之后的系统的一个实施方案的框图。图5是示出用于在存储器位置之间迁移第一页面的方法的一个实施方案的一般化流程图。图6是示出用于处理转换请求的方法的一个实施方案的一般化流程图,所述转换请求命中具有迁移挂起指示的PTE。图7是示出用于处理转换请求的方法的一个实施方案的一般化流程图。具体实施方式在以下描述中,陈述众多具体细节以提供对本文中呈现的方法和机制的全面理解。然而,本领域的普通技术人员应认识到,可以在没有这些具体细节的情况下实施各种实施方案。在一些情况中,未详细地示出熟知的结构、部件、信号、计算机程序指令和技术以免掩盖本文中描述的方法。将了解,为了简单地并清楚地进行说明,图式中所示的元件不一定按比例绘制。举例来说,所述元件中的一些元件的尺寸可以相对于其它元件放大。本文中公开用于在存储器位置之间迁移页面的系统、设备和方法。在一个实施方案中,一种系统包括至少一个处理器、存储器管理单元(MMU)和存储器子系统。在一个实施方案中,检测第一页面将从所述存储器子系统中的第一存储器位置迁移到第二存储器位置的指示。在迁移所述第一页面之前,对与所述第一页面对应的第一页面表项(PTE)定位。随后,将迁移挂起指示存储于所述第一PTE中。在一个实施方案中,通过禁用所述第一页面的读取权限和写入权限来将所述迁移挂起指示编码在所述第一PTE中。在将所述迁移挂起指示存储于所述第一PTE中之后,可以开始所述第一页面的迁移。在一个实施方案中,在将所述迁移挂起指示编码在所述第一PTE中时,由所述MMU接收以所述第一PTE为目标的转换请求。如果所述转换请求对应于读取请求,那么允许对所述第一页面执行读取操作。否则,如果所述转译请求对应于以所述第一页面为目标的写入请求,那么防止对所述第一页面执行写入操作,并且生成静默重试请求并将所述静默重试请求传送到请求客户端。在一个实施方案中,所述静默重试被称作“静默”是因为它不包括生成中断或更新状态寄存器。因此,所述请求客户端被配置为在之后的时间点重试所述写入请求。现在参看图1,示出计算系统100的一个实施方案的框图。在一个实施方案中,计算系统100包括经由中央处理单元(CPU)芯片集140联接到系统存储器150的系统单芯片(SoC)105。SoC105还可以被称作集成电路(IC)。在一个实施方案中,SoC105至少包括输入/输出(I/O)接口155、结构120、图形处理单元(GPU)130和本地存储器110。SoC105还可以包括为了避免使图式难懂而未在图1中示出的其它部件。在另一个实施方案中,GPU130可以是另一种类型的处理单元(例如,中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP))。GPU130至少包括转换后备缓冲器(TLB)复合体135和计算机单元145A-N,所述计算机单元表示用于图形处理或通用处理的任何数目和类型的计算单元。GPU130经由结构120联接到本地存储器110。在一个实施方案中,使用高带宽存储器(HBM)来实施本地存储器110。在一个实施方案中,GPU130被配置为执行图形管线操作,诸如绘图命令、像素操作、几何计算以及用于向显示器呈现图像的其它操作。在另一个实施方案中,GPU130被配置为执行与图形无关的操作。在另一个实施方案中,GPU130被配置为执行图形操作和非图形相关操作。在一个实施方案中,GPU130使用TLB来高速缓存被分配给在这些装置上执行的不同进程的虚拟地址的、虚拟地址到物理地址的映射。这些TLB被示出为计算单元145A-N中相应的L1TLB170A-N以及TLB复合体135中的L2TLB160。TLB复合体135还包括表格查看器165。一般来说,取决于实现方式,存储器管理单元可以包括一个或多个TLB、表格查看逻辑、故障处理程序和电路。在一些实施方案中,可以在GPU130内为指令或数据实施不同的TLB。举例来说,由执行查找需要更多循环的较大L2TLB给相对较小且较快的L1TLB做后备。与对页面表125A-B的表格查看相比,由L2TLB执行的查找相对较快。取决于实施方案,页面表125A-B可以位于本地存储器110、系统存储器150中,或者页面表125A-B的部分可以位于本地存储器110和系统存储器150中。TLB复合体的一些实施方案包括指令TLB(ITLB)、一级数据TLB(L1DTLB)以及二级数据TLB(L2DTLB)。TLB复合体的其它实施方案可以包括其它配置和/或层级的TLB。可以通过将对虚拟地址转换的请求传递到L1TLB来执行针对GPU130中的载入指令或存储指令的地址转换。如果在L1TLB的项中发现所述虚拟地址,那么L1TLB返回物理本文档来自技高网...

【技术保护点】
1.一种系统,所述系统包括:/n存储器子系统;以及/n处理器,所述处理器联接到所述存储器子系统;/n其中所述系统被配置为:/n检测第一页面将从所述存储器子系统中的第一存储器位置迁移到第二存储器位置;/n对与所述第一页面对应的第一页面表项(PTE)定位;并且/n将迁移挂起指示存储于所述第一PTE中。/n

【技术特征摘要】
【国外来华专利技术】20170424 US 15/495,2961.一种系统,所述系统包括:
存储器子系统;以及
处理器,所述处理器联接到所述存储器子系统;
其中所述系统被配置为:
检测第一页面将从所述存储器子系统中的第一存储器位置迁移到第二存储器位置;
对与所述第一页面对应的第一页面表项(PTE)定位;并且
将迁移挂起指示存储于所述第一PTE中。


2.如权利要求1所述的系统,其中响应于检测到以所述第一PTE为目标的转换请求并且检测到所述第一PTE中的所述迁移挂起指示,所述系统被配置为:
如果所述转换请求对应于以所述第一页面为目标的读取请求,那么允许对所述第一页面执行读取操作;并且
如果所述转换请求对应于以所述第一页面为目标的写入请求,那么防止对所述页面执行写入操作并且生成静默重试请求。


3.如权利要求2所述的系统,其中所述系统被配置为将所述静默重试请求传送到请求客户端。


4.如权利要求3所述的系统,其中所述请求客户端被配置为在之后的时间点重试所述写入请求。


5.如权利要求1所述的系统,其中通过禁用对所述第一PTE的读取权限和写入权限来将所述迁移挂起指示编码在所述第一PTE中。


6.如权利要求1所述的系统,其中响应于所述第一页面从所述第一存储器位置到所述第二存储器位置的所述迁移完成,所述系统被配置为:
清除所述迁移挂起指示;并且
为与所述第一PTE对应的任何高速缓存的转换生成无效请求。


7.如权利要求1所述的系统,其中:
所述存储器子系统包括第一存储器和第二存储器;
所述第一存储器位置是在所述第一存储器中;并且
所述第二存储器位置是在所述第二存储器中。


8.一种方法,所述方法包括:
通过计算系统检测第一页面将从第一存储器位置迁移到第二存储器位置;
对与所述第一页面对应的第一页面表项(PTE)定位;以及
将迁移挂起指示存储于所述第一PTE中。


9.如权利要求8所述的方法,其中响应于检测到以所述第一PTE为目标的转换请求并且检测到所述第一PTE中的所述迁移挂起指示,所述方法还包括:
如果所述转换请求对应于以所述第一页面为目标的读取请求,那么允许对所述第一页面执行读取操作;以及
如果所述转换请求对应于以所述第一页面为目标的写入请求,那么防止对所述页面执行写入操作并且生...

【专利技术属性】
技术研发人员:韦德·K·史密斯安东尼·阿萨罗
申请(专利权)人:超威半导体公司ATI科技无限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利