在基于中央处理单元CPU的系统中使用压缩指示符CI提示目录来提供存储器带宽压缩技术方案

技术编号:19396803 阅读:20 留言:0更新日期:2018-11-10 05:03
本发明专利技术公开在基于中央处理单元CPU的系统中使用压缩指示符CI提示目录来提供存储器带宽压缩。在这点上,一种经压缩存储器控制器提供包括多个CI提示目录条目的CI提示目录,所述CI提示目录条目各自提供多个CI提示。所述经压缩存储器控制器经配置以接收包括存储线的物理地址的存储器读取请求,且起始包括所请求的读取长度值的存储器读取事务。所述经压缩存储器控制器进一步经配置以与起始所述存储器读取事务并行地,确定所述物理地址是否对应于所述CI提示目录中的CI提示目录条目。如果是,那么所述经压缩存储器控制器从所述CI提示目录的所述CI提示目录条目读取CI提示,并基于所述CI提示来修改所述存储器读取事务的所述所请求的读取长度值。

【技术实现步骤摘要】
【国外来华专利技术】在基于中央处理单元CPU的系统中使用压缩指示符CI提示目录来提供存储器带宽压缩优先权申请本申请案主张2016年3月31日申请且标题为“在基于中央处理单元(CPU)的系统中使用压缩指示符(CI)提示目录来提供存储器带宽压缩(PROVIDINGMEMORYBANDWIDTHCOMPRESSIONUSINGCOMPRESSIONINDICATOR(CI)HINTDIRECTORIESINACENTRALPROCESSINGUNIT(CPU)-BASEDSYSTEM)”的第15/086,882号美国专利申请案的优先权,所述专利申请案以全文引用的方式并入本文中。
本专利技术的技术大体上涉及计算机存储器系统,且明确地说,涉及用于提供具有到存储器的存储器存取接口的中央处理单元(CPU)的计算机存储器系统中的存储器控制器。
技术介绍
微处理器为各种各样的应用程序执行计算任务。典型的微处理器应用程序包含执行软件指令的一或多个中央处理单元(CPU)。所述软件指令可指令CPU从存储器中的位置取数据,使用取到的数据来执行一或多个CPU操作,并产生结果。接着可将结果存储于存储器中。作为非限制性实例,此存储器可为在CPU本地的高速缓冲存储器、在CPU块中的CPU之间共享的本地高速缓冲存储器,在多个CPU块之间共享的高速缓冲存储器,或微处理器的主存储器。就此来说,图1是包含基于CPU的系统102的示范性芯片上系统(SoC)100的示意图。在此实例中,基于CPU的系统102包含多个CPU块104(0)到104(N),其中“N”等于所要的任何数目的CPU块104(0)到104(N)。在图1的实例中,CPU块104(0)到104(N)中的每一者含有两(2)个CPU106(0)、106(1)。CPU块104(0)到104(N)进一步分别含有共享2级(L2)高速缓冲存储108(0)到108(N)。还提供系统高速缓冲存储器110(例如3级(L3)高速缓冲存储器)来存储供CPU块104(0)到104(N)中的任一者使用或在其中的每一者之间共享的高速缓存的数据。提供内部系统总线112,来使CPU块104(0)到104(N)中的每一者能够存取系统高速缓冲存储器110以及其它共享资源。CPU块104(0)到104(N)通过内部系统总线112存取的其它共享资源可包含存储器控制器114,其用于存取主要外部存储器(例如双速率动态随机存取存储器(DRAM)(DDR),作为非限制性实例)、外围装置116、其它存储装置118、快速外围部件互连标准(PCI)(PCI-e)接口120、直接存储器存取(DMA)控制器122,和/或集成存储器控制器(IMC)124。随着在图1中的基于CPU的系统102中执行的基于CPU的应用程序的复杂性和性能增加,对存储器带宽的限制可对基于CPU的系统102强加约束条件。如果对外部存储器的存取达到存储器带宽限制,那么可迫使基于CPU的系统102的存储器控制器114将存储器存取请求排成队列。存储器存取请求的此排队列可增加存储器存取的等待时间,其反过来可降低基于CPU的系统102的性能。可通过使用存储器带宽压缩方案来实现存储器带宽节省,以潜在地减少给定存储器存取所消耗的带宽。明确地说,一些存储器带宽压缩方案可利用主目录来跟踪系统存储器的每一存储线的压缩状态。然而,此类存储器带宽压缩方案所使用的主目录可消耗系统存储器的不可接受大的部分,可需要实施额外逻辑,和/或可招致用于任何存储器存取请求的额外等待时间。其它存储器带宽压缩方案可使用错误校正码(ECC)字段中的备用位来指示所述系统存储器的每一存储线的压缩状态。虽然此类机制可避免对主目录的需要,但它们可牺牲一些存储器存取性能,因为在线的初始读取完成之前,无法确定系统存储器的每一线的压缩状态。因此,期望提供一种存储器带宽压缩机制,其避免了使用主目录的缺点,同时提供改进的存储器存取性能。
技术实现思路
本文所公开的方面包含在基于中央处理单元(CPU)的系统中使用压缩指示符(CI)提示目录来提供存储器带宽压缩。在这点上,在一些方面,提供经压缩的存储器控制器。经压缩存储器控制器包含CI提示目录,其存储多个CI提示目录条目。每一CI提示目录条目提供多个CI提示,其各自对应于系统存储器中的存储线。根据一些方面,可选择每CI提示目录条目的CI提示的数目,以优化系统存储器的存储器存取粒度。作为非限制性实例,如果系统存储器的存储器存取粒度是64个字节,那么CI提示目录可经配置以将CI提示的64个字节存储在每一CI提示目录条目中。每一CI提示提供关于对应存储线的压缩状态的指示。在一些方面,作为非限制性实例,每一CI提示可由两(2)个位构成,其指示存储线的四(4)个压缩状态中的一者:存储线包括指定模式(例如全零(0),作为非限制性实例);存储线已知经压缩;存储线已知未经压缩;或存储线的压缩状态未知。在接收到存储器读取请求后,经压缩的存储器控制器发出具有所请求的读取长度值的存储器读取事务。与发出存储器读取事务并行,经压缩存储器控制器存取CI提示目录,以确定对应于存储器读取请求的物理地址的CI提示目录条目是否存在于CI提示目录中。如果是,那么经压缩存储器控制器读取针对是存储器读取请求的目标的存储线的CI提示。基于CI提示,经压缩存储器控制器可修改存储器读取事务的所请求的读取长度值。举例来说,经压缩存储器控制器可修改存储器读取事务的所请求的读取长度值,以对应于存储线的经压缩长度或未经压缩长度,或可在存储线包括全零(0)的情况下,取消存储器读取事务。在存储器读取事务完成后,可基于存储在存储线的一或多个错误校正码(ECC)位中的CI来更新针对所述存储线的CI提示。在将经压缩数据写入到存储线后,还可即刻通过经压缩存储器控制器来更新针对存储线的CI提示。以此方式,经压缩存储器控制器可通过使用CI提示目录跟踪系统存储器的每一存储线的压缩状态来改进存储器存取性能,同时避免存储器消耗、存取等待时间,以及实施主目录所需的额外逻辑。经压缩存储器控制器还可通过在存储器读取操作完成之前,确定系统存储器中的存储线的压缩状态来改进存储器存取性能,从而使经压缩存储器控制器能够在存储器读取操作正在进行中时修改存储器读取操作。在另一方面,提供一种经压缩存储器控制器。经压缩存储器控制器包括存储器接口,其经配置以经由系统总线存取系统存储器。所述经压缩存储器控制器进一步包括CI提示目录,其包括多个CI提示目录条目,所述CI提示目录条目各自包含多个CI提示。经压缩存储器控制器经配置以接收存储器读取请求,其包括系统存储器中的存储线的物理地址。经压缩存储器控制器进一步经配置以基于物理地址起始存储器读取事务,其包括到系统存储器的所请求的读取长度值。经压缩存储器控制器还经配置以与起始存储器读取事务并行,确定所述物理地址是否对应于CI提示目录的多个CI提示目录条目中的一CI提示目录条目。经压缩存储器控制器另外经配置以响应于确定物理地址对应于CI提示目录的多个CI提示目录条目中的一CI提示目录条目,从所述CI提示目录条目读取所述多个CI提示中针对所述存储线的CI提示。所述经压缩存储器控制器进一步经配置以基于针对存储线的CI提示来修改存储器读取事务的所请求的读取长度值。本文档来自技高网
...

【技术保护点】
1.一种经压缩存储器控制器,其包括:存储器接口,其经配置以经由系统总线来存取系统存储器;以及压缩指示符CI提示目录,其包括多个CI提示目录条目,各自包含多个CI提示;所述经压缩存储器控制器经配置以:接收包括所述系统存储器中的存储线的物理地址的存储器读取请求;基于所述物理地址,起始包括到所述系统存储器的所请求的读取长度值的存储器读取事务;与起始所述存储器读取事务并行地,确定所述物理地址是否对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目;以及响应于确定所述物理地址对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目:从所述CI提示目录条目读取所述多个CI提示中针对所述存储线的CI提示;以及基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值。

【技术特征摘要】
【国外来华专利技术】2016.03.31 US 15/086,8821.一种经压缩存储器控制器,其包括:存储器接口,其经配置以经由系统总线来存取系统存储器;以及压缩指示符CI提示目录,其包括多个CI提示目录条目,各自包含多个CI提示;所述经压缩存储器控制器经配置以:接收包括所述系统存储器中的存储线的物理地址的存储器读取请求;基于所述物理地址,起始包括到所述系统存储器的所请求的读取长度值的存储器读取事务;与起始所述存储器读取事务并行地,确定所述物理地址是否对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目;以及响应于确定所述物理地址对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目:从所述CI提示目录条目读取所述多个CI提示中针对所述存储线的CI提示;以及基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值。2.根据权利要求1所述的经压缩存储器控制器,其进一步经配置以在基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值之前:确定所述存储器读取事务是否已由所述经压缩存储器控制器发布给所述系统存储器;其中所述经压缩存储器控制器经配置以响应于确定所述存储器读取事务尚未由所述经压缩存储器控制器发布给所述系统存储器,基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值。3.根据权利要求2所述的经压缩存储器控制器,其进一步经配置以在确定所述存储器读取事务已由所述经压缩存储器控制器发布给所述系统存储器之前:确定所述CI提示是否指示所述存储线包括指定模式;以及响应于确定所述CI提示指示所述存储线包括指定模式:响应于所述存储器读取请求返回所述指定模式;响应于确定所述存储器读取事务尚未由所述经压缩存储器控制器发布给所述系统存储器,取消所述存储器读取事务;以及响应于确定所述存储器读取事务已由所述经压缩存储器控制器发布给所述系统存储器,丢弃来自所述系统存储器的对所述存储器读取事务的后续响应。4.根据权利要求2所述的经压缩存储器控制器,其进一步经配置以在确定所述存储器读取事务已由所述经压缩存储器控制器发布给所述系统存储器之前:确定所述CI提示是否指示所述存储线已知为经压缩;以及响应于确定所述CI提示指示所述存储线已知为经压缩,确定所述存储线的经压缩长度是否小于所述所请求的读取长度值;其中所述经压缩存储器控制器经配置以进一步响应于确定所述存储线的所述经压缩长度小于所述所请求的读取长度值,通过修改所述存储器读取事务的所述所请求的读取长度值以对应于所述存储线的所述经压缩长度,来基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值。5.根据权利要求2所述的经压缩存储器控制器,其进一步经配置以在确定所述存储器读取事务已由所述经压缩存储器控制器发布给所述系统存储器之前:确定所述CI提示是否指示所述存储线已知为未经压缩;以及响应于确定所述CI提示指示所述存储线已知为未经压缩,确定所述存储线的长度是否大于所述所请求的读取长度值;其中所述经压缩存储器控制器经配置以进一步响应于确定所述存储线的所述长度大于所述所请求的读取长度值,通过修改所述存储器读取事务的所述所请求的读取长度值以对应于所述存储线的所述长度,来基于针对所述存储线的所述CI提示,修改所述存储器读取事务的所述所请求的读取长度值。6.根据权利要求5所述的经压缩存储器控制器,其进一步经配置以响应于确定所述存储线的所述长度大于所述所请求的读取长度值,且所述存储器读取事务已由所述经压缩存储器控制器发布给所述系统存储器,基于所述物理地址和所述所请求的读取长度值,起始向所述系统存储器的至少一个后续存储器读取事务。7.根据权利要求2所述的经压缩存储器控制器,其进一步经配置以在基于针对所述存储线的所述CI提示修改所述存储器读取请求的所述所请求的读取长度值之前:确定所述CI提示是否指示所述存储线的压缩状态是未知的;以及响应于确定所述CI提示指示所述存储线的所述压缩状态是未知的,允许所述存储器读取事务在所述所请求的读取长度值未经修改的情况下继续。8.根据权利要求1所述的经压缩存储器控制器,其进一步经配置以在所述存储器读取事务的完成后,即刻:读取存储在一或多个错误校正码ECC位中的与所述存储线相关联的CI;以及基于所述CI来更新所述CI提示。9.根据权利要求1所述的经压缩存储器控制器,其进一步经配置以响应于确定所述物理地址并不对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目:收回所述CI提示目录的所述多个CI提示目录条目中的现有CI提示目录条目;安置所述多个CI提示目录条目中的新CI提示目录条目;初始化所述新CI提示目录条目的所述多个CI提示,以指示每一对应存储线的压缩状态是未知的;以及在所述存储器读取事务完成后,即刻:读取存储在一或多个错误校正码ECC位中的与所述存储线相关联的CI;以及基于所述CI来更新对应于所述存储线的所述CI提示。10.根据权利要求9所述的经压缩存储器控制器,其进一步经配置以基于所述经压缩存储器控制器所做出的概率性确定,收回所述现有CI提示目录条目,安置所述新CI提示目录条目,且初始化所述新CI提示目录条目的所述多个CI提示。11.根据权利要求1所述的经压缩存储器控制器,其中所述多个CI提示中的每一CI提示包括两(2)个位,且指示对应于所述CI提示的所述存储线是否已知具有长度零(0)、已知经压缩、已知未经压缩,或具有未知的压缩状态。12.根据权利要求1所述的经压缩存储器控制器,其中所述多个CI提示中的每一CI提示包括一(1)个位,且指示以下各项中的一者:对应于所述CI提示的所述存储线是否已知为经压缩或已知为未经压缩,或具有未知的压缩状态。13.根据权利要求1所述的经压缩存储器控制器,其进一步包括压缩监视器,所述压缩监视器经配置以基于经压缩数据的读取数、读取操作的总数、经压缩数据的写入数和写入操作的总数中的至少一者来跟踪压缩比;所述经压缩存储器控制器进一步经配置以基于所述压缩比来确定所述所请求的读取长度值。14.根据权利要求1所述的经压缩存储器控制器,其集成到集成电路IC中。15.根据权利要求1所述的经压缩存储器控制器,其集成到选自由以下各项组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝式电话;智能电话;平板计算机;平板手机;计算机;便携式计算机;桌上型计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;以及汽车。16.一种经压缩存储器控制器,其包括:存储器接口,其经配置以经由系统总线来存取系统存储器;以及压缩指示符CI提示目录,其包括多个CI提示目录条目,各自包含多个CI提示;所述经压缩存储器控制器经配置以:接收包括写入数据和所述系统存储器中的存储线的物理地址的存储器写入请求;为所述写入数据确定压缩模式;基于所述压缩模式为所述写入数据产生CI;将所述写入数据写入到所述系统存储器中的所述存储线;将所述所产生的CI写入到所述系统存储器中的所述存储线的一或多个错误校正码ECC位中;以及与将所述写入数据写入到所述系统存储器中的所述存储线并行地:确定所述物理地址是否对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目;以及响应于确定所述物理地址对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目,基于所述所产生的CI来更新所述CI提示目录条目的所述多个CI提示中对应于所述存储线的CI提示。17.根据权利要求16所述的经压缩存储器控制器,其进一步经配置以响应于确定所述物理地址并不对应于所述CI提示目录的所述多个CI提示目录条目中的一CI提示目录条目:收回所述CI提示目录的所述多个CI提示目录条目中的现有CI提示目录条目;安置所述多个CI提示目录条目中的新CI提示目录条目;初始化所述新CI提示目录条目的所述多个CI提示,以指示每一对应存储线的压缩状态是未知的;以及基于所述所产生的CI来更新所述新CI提示目录条目的所述多个CI提示内对应于所述存储线的所述CI提示。18.根据权利要求17所述的经压缩存储器控制器,其进一步经配置以基于所述经压缩存储器控制器所做出的概率性确定,收回所述现有CI提示目录条目,安置所述新CI提示目录条目,且初始化所述新CI提示目录条目的所述多个CI提示。19.根据权利要求16所述的经压缩存储器控制器,其集成到集成电路IC中。20.根据权利要求16所述的经压缩存储器控制器,其集成到选自由以下各项组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝式电话;智能电话;平板计算机;平板手机;计算机;便携式计算机;桌上型计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视...

【专利技术属性】
技术研发人员:C·B·韦里利M·C·A·A·黑德斯N·瓦伊德亚纳坦
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1