本文公开了提供选择性存储器错误保护和存储器访问粒度的示例方法、系统和装置。示例系统包括基于请求而确定所选存储器模式的存储器控制器。所述存储器模式指示存储器页面要存储对应类型的错误保护信息并且存储用于使用对应访问粒度的检索的数据。存储器控制器将数据和错误保护信息存储在存储器页面中以用于使用错误保护信息和访问粒度的检索。
【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
计算机存储器易受错误侵害。为了缓解这样的存储器错误,可以采用鲁棒的存储器错误保护系统,其使得能够通过使用各种错误校正码(ECC)来检测和/或校正存储器错误。许多存储器错误保护系统由于针对存储器事务提取(例如过提取)的显著的(significant)数据而导致增加的带宽和功率开销。这样的存储器错误保护系统可以采用例如芯片删除ECC (chipkill-ECC),其使得能够检测两个存储器芯片故障并且能够校正一个存储器芯片故障。这样的存储器错误保护系统可能要求为每一个64字节存储器事务提取128字节数据,这导致一半数据的过提取以及带宽和/或功率开销的浪费。不同应用可能偏好在计算机存储器系统中采用不同类型的访问粒度。访问粒度是指在存储器系统处的单个存储器访问操作期间访问的数据量。多线程应用可能例如偏好提供数据局部性的较少使用的较小访问粒度而顺序或单线程应用可能偏爱提供数据局部性的较高使用的较大访问粒度。在一些示例中,较大访问粒度可以被偏好用于当具有脏数据(dirty data)的高速缓存线(cache line)被逐出(evict)时由于数据可以立即从例如应用写回而具有增加的脏数据的应用。【附图说明】图1A描绘了依照本文所公开的教导实现的示例存储器控制器。图1B是使用图1A的示例存储器控制器提供用于存储器系统的选择性粒度访问和选择性存储器保护的示例系统。图2描绘了可以结合图1A和IB的示例存储器控制器使用以提供选择性访问粒度和选择性存储器错误保护的示例装置。图3A是表示可被执行以实现图2的示例装置以确定和实现所选存储器模式的示例机器可读指令的流程图。图3B是表示可被执行以使用不同存储器模式访问存储器的示例机器可读指令的流程图。图4是表示可被执行以实现图2的示例装置以在不同存储器模式之间切换的示例机器可读指令的流程图。【具体实施方式】在存储器系统中提供强错误保护一般要求使用大访问粒度(例如针对单个存储器访问操作检索的大数据量)的宽存储器通道和因此的大高速缓存线。访问具有相对低的空间局部性的数据的一些应用在使用大访问粒度时浪费存储器功率和带宽,因为大部分所检索的数据不相关和/或不被请求操作所使用。如本文所使用的,具有低空间局部性的数据是不连续存储在物理存储器中或存储在相对接近的存储器位置内使得单个读取访问可以检索感兴趣的多个数据的数据。本文所公开的示例系统和方法可以用于实现具有选择性粒度和选择性错误保护的存储器系统。通过基于应用行为和/或系统存储器利用来选择不同的存储器错误保护技术(例如ECC技术)和不同的访问粒度,本文所公开的示例系统和方法可以用于增加存储器系统中的系统性能、功率效率、能量效率和/或可靠性。本文所公开的系统和方法可以利用对常规硬件和操作系统的相对少的修改来实现,并且因此是可缩放的并且可以利用现有服务器和/或数据中心实现。本文所公开的示例系统和方法使得能够在存储器系统中实现不同的存储器模式。用于选择性实现不同存储器模式的本文所公开的示例技术可以用于将较大存储器访问粒度与较强存储器错误保护技术组合并且将较小存储器访问粒度与不太强但是更高效的存储器错误保护技术组合。用于选择性地实现不同存储器模式的这样的所公开的技术相比于之前的存储器系统而言增加了存储器系统的性能和/或效率。本文所公开的示例存储器控制器管理存储器中的数据布局、管理存储器访问的调度并且管理存储器通道集成。本文所公开的示例系统和方法提供高速缓存以便以混合访问粒度管理数据。本文所公开的示例系统和方法使得能够在每个存储器页面基础上和/或在每个应用基础上选择不同的存储器访问粒度。本文所公开的示例还使得能够管理跨物理存储器的不同区域并发地实现的多个存储器访问粒度。提供选择性存储器错误保护和选择性存储器访问粒度的示例装置包括基于请求而确定所选存储器模式的存储器控制器。所述存储器模式指示存储器页面要存储对应类型的错误保护信息并且存储数据以用于使用对应访问粒度的检索。在一些这样的示例中,存储器控制器要在存储器页面中存储数据和错误保护信息以用于使用所述访问粒度的检索。提供选择性存储器错误保护和存储器访问粒度的本文所公开的示例系统包括基于请求而确定所选存储器模式的存储器管理器。在一些示例中,存储器模式指示存储器页面要存储对应类型的错误保护信息并且存储数据以用于使用对应访问粒度的检索。在一些示例中,系统包括在存储器页面中存储数据和错误保护信息以用于使用对应访问粒度的检索的存储器控制器。在一些示例中,系统包括包含多个高速缓存线以基于对应访问粒度存储存储器页面的数据的部分的高速缓存。提供选择性存储器错误保护和选择性存储器访问粒度的本文所公开的示例方法包括基于对访问存储器中的数据的请求而确定所选存储器模式。在一些示例中,存储器模式指示存储器页面要存储对应类型的错误保护信息并且使用对应访问粒度而被访问。在一些示例中,示例方法包括通过使用对应于对应访问粒度的通道数据宽度来将对应类型的错误保护信息和数据写入到存储器页面。联合电子设备工程会议(JEDEC)双数据速率同步动态随机存取存储器(DDRxSDRAM)是在DRAM架构中广泛使用的标准。对于JEDEC标准DRAM,存储器控制器经由一个或多个存储器通道控制物理存储器。DDRx DRAM芯片一次递送特定数目的数据位,例如4、8、16等。这可以称为DRAM芯片宽度。在一些系统中,每一个存储器通道提供具有64位宽度的数据总线(例如数据可以被一次递送64位)。对于64位存储器通道数据总线,包括x8 DRAM芯片(例如一次递送8位数据的DRAM芯片)的组块(rank)要求8个DRAM芯片一起工作以输出整个64位字。在一些系统中,使用多个双列直插存储器模块(DIMM)来实现物理存储器。每一个DIMM—般包括或者多个组块。组块是可以一起用于读取和/或写入操作的DRAM芯片的最小集合。在一些示例中,将组块在逻辑上划分成4至16个存储体,其中每一个存储体具有相同的字大小。对应于存储器通道的组块可以并发地处理存储器操作以增加存储器并行性。在一些示例中,可以并发地访问组块内的所有存储体(例如可以并行操作)并且可以在存储器通道数据总线上交织(interleave)数据以增加存储器并行性。交织是指通过跨存储器阵列的多个存储体或芯片存储数据的不同部分来以非连续的方式在存储器阵列中布置数据的方式,使得当多个存储体或芯片在存储器通道上被同时访问时可以同时从跨存储器阵列的不同存储体或芯片检索数据的不同的关联的部分以改进存储器性能和存储器错误保护。在一些示例中,与存储器控制器相关联的多个存储器通道可以以锁步方式一起工作以充当单个逻辑存储器通道以便提供用于单个读取和/或写入操作的较宽存储器数据总线(例如128位等)。在一些示例中,存储器读取和/或写入(例如由处理器发布)可以请求递送64B的整个高速缓存线。高速缓存线可以映射到组块内的不同DRAM芯片。在这样的示例中,组块中的所有DRAM芯片在读取和/或写入操作期间对整个高速缓存线做贡献。在一些示例中,以成组(burst)模式执行读取和/或写入操作以便递送整个高速缓存线。例如,对于64位存储器通道,8的成组长度可以使用单个成组操作来递送整个64B高速缓存线。关于存储器错误本文档来自技高网...
【技术保护点】
一种提供选择性存储器错误保护和存储器访问粒度的装置,包括:存储器控制器,用于: 基于请求而确定所选存储器模式,所述存储器模式指示存储器页面要存储对应类型的错误保护信息并且存储用于使用对应访问粒度的检索的数据;以及 将数据和错误保护信息存储在存储器页面中以用于使用所述访问粒度的检索。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:S李,NP朱皮,DH庸,
申请(专利权)人:惠普发展公司,有限责任合伙企业,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。