读密集型大数据处理的内存刷新方法和系统技术方案

技术编号:19062300 阅读:17 留言:0更新日期:2018-09-29 13:17
一种读密集型大数据处理的内存刷新方法和系统,其包含一种内存模块,包括:设置于内存模块内的接口、异或操作单元、芯片选择器以及与芯片选择器相连的若干个DRAM芯片,其中:内存控制器通过总线与内存模块相连并传输数据信息、地址信息和控制信息,内存模块接口与异或操作单元相连并传输恢复后数据信息,异或操作单元与芯片选择器相连并在刷新周期下的读取操作时传输恢复前数据信息,芯片选择器与DRAM芯片相连并传输芯片内存储的数据信息。本发明专利技术用以配合DBR刷新和数据恢复机制,对于提升DRAM数据吞吐量有较为显著的帮助。

【技术实现步骤摘要】
读密集型大数据处理的内存刷新方法和系统
本专利技术涉及的是一种计算机领域的技术,具体是一种在内存模块层次上并行DRAM刷新和读取的技术,简称为DBR。
技术介绍
大数据时代,许多网络边缘的计算设施需要数据预处理,这类处理往往对内存读带宽提出了更高要求。另外,一些特殊的智能算法也强调读数据的吞吐量。相比内存写入,这些应用产生更多的内存读取。现有的解决方案通过:内存中处理(Process-in-memory)或是设计专用的加速器得以解决。关于内存刷新,国内外有广泛研究,主要出发点有以下三点:1)与软件应用层需求结合调控刷新。2)从内存控制器出发,优化内存命令及刷新命令调度。3)从内存芯片的微体系结构出发,优化芯片的整体效能。
技术实现思路
针对上述现有技术的缺陷,本专利技术提出一种读密集型大数据处理的内存刷新方法和系统,可以在刷新周期内读取内存数据。其技术要点主要包括两个部分,内存芯片级刷新(DeviceRefresh)和数据恢复(Recovery)。进而刷新操作不会对内存读带宽和内存读延迟产生影响,专利技术借鉴了磁盘条带化RAID3的特性,通过异或校验操作恢复出不能访问的数据。其特点有以下:①以内存芯片为单位刷新。②通过增加额外的内存芯片来存储校验段。③当有内存芯片进行刷新时,再读取过程中进行奇偶校验恢复出不能访问的数据段。所述的以内存芯片为单位的刷新,是相对于传统的Bank或Rank刷新而言。内存模块上的芯片不再统一接受刷新指令来刷新指定的内存行,而是选定指定的芯片来执行刷新操作。且在任何时间,最多有一个芯片处于刷新状态。本专利技术提出用于支撑DBR技术的内存模块、对应内存模块的读写方法以及内存协议。这些技术共同支撑DBR刷新机制和数据恢复机制,对于提升DRAM数据吞吐量有较为显著的帮助,在云计算、大数据领域具有较为重要的意义。尤其是对新兴的边缘计算和人工智能相关领域,有广阔应用潜力。本专利技术具体通过以下技术方案实现的:本专利技术涉及一种面向DBR技术的内存模块,包括:设置于内存模块内的接口、异或操作单元、芯片选择器以及与芯片选择器相连的若干个DRAM芯片,其中:内存控制器通过总线与内存模块相连并传输数据信息、地址信息和控制信息,内存模块接口与异或操作单元相连并传输恢复后数据信息,异或操作单元与芯片选择器相连并在刷新周期下的读取操作时传输恢复前数据信息,芯片选择器与DRAM芯片相连并传输芯片内存储的数据信息。所述的芯片选择器仅在列读取时起作用,在列写入时不起作用。所述的芯片选择器为一个N到N-1的路径选择器,用于剔除Bank状态为刷新状态下的内存芯片,并将可以访问的内存芯片链接到异或操作单元。所述的芯片选择器为5到4的路径选择器,是一种平移的路径选择器而并非全相连。输入的控制位为Bank的状态,若为刷新状态,则对应的输入为1,若不处于刷新状态,则对应的输入为0。输入的数据段为每个内存芯片对应的数据段。控制位控制路径选择器,输入数据通过正确的片选路径进行输出。所述的芯片选择器对于刷新周期外的读操作仅选择存储数据段的内存芯片,不选择存储校验段的内存芯片。所述的异或操作单元在刷新周期外的列读取操作时不工作,而是直接将输入数据连通到输出端口。所述的异或操作单元包括:异或子模块和位置选择子模块。异或子模块仅用来恢复缺失的数据段。位置选择子模块将所有数据段重新排列,得到完整的读取数据。同样,位置选择子模块也是根据内存芯片的刷新控制位进行路径选择的。所述的位置选择子模块在列写入时异或操作单元用来产生校验段。所述的内存控制器中优选设有面向于内存写入事务的高速缓存。所述的内存控制器中优选设有用于存储校验段的额外芯片。本专利技术涉及一种基于上述内存模块的读写方法,包括列写入和列读取。其中:列写入在刷新周期外将数据段和校验段全部写入,列读取包括①在内存模块处于刷新周期内的列读取和②在内存模块处于刷新周期外的列读取,进而实现了读取与刷新并行。所述的两种列读取方法,主要区别在于是否处于刷新周期,它们是在传统内存访问协议的列读取操作(columnread)基础上扩展的。所述的列写入,仅在刷新周期外进行,是在传统内存访问协议的列写入操作(columnwrite)基础上扩展的。其具体步骤包括:步骤1:待写入的数据段通过内存模块接口输入异或操作单元。步骤2:异或操作单元在所有数据段之间进行异或运算,得到校验段。步骤3:芯片选择器连通内存模块上的所述DRAM芯片,校验段写入用于存储校验段的额外芯片中,非校验的数据段写入存储数据段的内存芯片中。所述的在内存模块处于刷新周期内的列读取,其具体步骤包括:步骤1:芯片选择器连接未刷新的内存芯片。步骤2:内存控制器发送列读取命令,未刷新的芯片通过芯片选择器将各自的数据传输到异或操作单元中。步骤3:异或操作单元运算出缺失的数据段。并将数据段按正确的顺序排列,进而得到完整的恢复后数据。恢复后数据输出至内存模块接口。所述的在内存模块处于刷新周期外的列读取,需要关闭异或操作单元和芯片选择器并直连存储数据段的内存芯片,从而读取完整的数据。本专利技术涉及一种基于上述内存模块的内存协议,内存控制器通过新协议访问内存模块,该新协议的扩展包括:所述的刷新周期外,代表此时不处于刷新周期,此时对应Bank的所有芯片处于相同状态。刷新周期外状态目录包括:全部-行激活状态、全部-预充电状态和全部-空闲状态,其对应Bank中的所有芯片处于相同的状态,即对应所有芯片处于传统内存协议的行激活(RowActivate)状态、预充电(Precharge)状态和空闲(Idle)状态。所述的刷新周期内,代表此时处于刷新周期。此时对应Bank中,有一个芯片处于刷新状态,其余芯片处于另外的状态且保持一致。刷新周期外状态目录包括:刷新-行激活状态、刷新-预充电状态和刷新-空闲状态,其代表存在一个处于刷新(Refreshing)状态的芯片,对应其他芯片处于传统内存协议的行激活(RowActivate)状态、预充电(Precharge)状态和空闲(Idle)状态。所述的刷新周期外与刷新周期内之间的状态转化通过刷新周期开始及刷新周期结束来转换。所述的刷新,第一种实现方法是在各个Bank间进行DBR同步刷新,即每个刷新命令控制单一内存芯片上所有的Bank刷新指定的行。所述的刷新,第二种实现方法是在各个Bank之间进行DBR异步刷新。异步刷新的优势在于刷新命令不会造成刷新前Bank之间相互等待的情况发生。适用于需要频繁刷新的应用情景。所述的刷新,第三种实现方法是DBR非分布式的突发(Burst)刷新,采用突发刷新模式,每次刷新芯片内的所有单元,这样可以减少发送刷新命令的次数,提高控制效率。所述DBR技术的具体方案,包含内存模块和内存模块读写方法,造成了更频繁的刷新周期数,损害了列写入性能。本专利技术针对内存写入性能造成损失设计了两种机制:①读取打断机制和②写事务缓存调度机制来优化列写入。所述的读取打断机制是指:内存控制器打断当前的读取操作并直接进入刷新周期的方式,具体是:通过控制刷新命令的发送时序来优化,当目前待刷新的Bank因为行读取的原因不能马上输入刷新状态,则该优化直接打断目标内存芯片的读取,直接输入刷新周期而不影响Bank整体的数据读取;该方式进而减少了刷新周期占用时本文档来自技高网...

【技术保护点】
1.一种面向DBR技术的内存模块,其特征在于,包括:设置于内存模块内的接口、异或操作单元、芯片选择器以及与芯片选择器相连的若干个DRAM芯片,其中:内存控制器通过数据总线与内存模块相连并传输数据信息、地址信息和控制信息,内存模块接口与异或操作单元相连并传输恢复后数据信息,异或操作单元与芯片选择器相连并在刷新周期下的读取操作时传输恢复前数据信息,芯片选择器与DRAM芯片相连并传输芯片内存储的信息。

【技术特征摘要】
1.一种面向DBR技术的内存模块,其特征在于,包括:设置于内存模块内的接口、异或操作单元、芯片选择器以及与芯片选择器相连的若干个DRAM芯片,其中:内存控制器通过数据总线与内存模块相连并传输数据信息、地址信息和控制信息,内存模块接口与异或操作单元相连并传输恢复后数据信息,异或操作单元与芯片选择器相连并在刷新周期下的读取操作时传输恢复前数据信息,芯片选择器与DRAM芯片相连并传输芯片内存储的信息。2.根据权利要求1所述的面向DBR技术的内存模块,其特征是,所述的芯片选择器为一个用于剔除出Bank状态为刷新状态下的内存芯片,并将可以访问的芯片链接到异或操作单元的N到N-1的路径选择器。3.根据权利要求1或2所述的面向DBR技术的内存模块,其特征是,所述的芯片选择器对于刷新周期外的读操作仅选择存储数据段的内存芯片。4.根据权利要求1所述的面向DBR技术的内存模块,其特征是,所述的异或操作单元包括:用来恢复数据段的异或模块和用于将数据段重新排列成完整的读取数据的位置选择模块;该异或操作单元在刷新周期外的列读取操作时不工作,而是直接将输入数据连通到输出端口。5.根据权利要求1所述的面向DBR技术的内存模块,其特征是,所述的内存控制器中设有面向于内存写入事务的高速缓存。6.根据权利要求1所述的面向DBR技术的内存模块,其特征是,所述的内存控制器中设有用于存储校验段的额外芯片。7.一种根据上述任一权利要求所述的内存模块的读写方法,其特征在于,包括列写入和列读取,其中:列写入在刷新周期外将数据位和校验段写入,列读取包括①在内存模块处于刷新周期内读取和②在内存模块处于刷新周期外读取,进而实现了读取与刷新并行。8.根据权利要求7所述的方法,其特征是,所述的列写入,其具体步骤包括:步骤1:待写入的数据段通过内存模块接口输入异或操作单元;步骤2:异或操作单元在所有数据段之间进行异或运算,得到校验段;步骤3:芯片选择器连通内存模块上的所述DRAM芯片,校验段写入用于存储校验段的额外芯片中,非校验的数据段写入存储数据段的内存芯片中。9.根据权利要求7所述的方法,其特征是,所述的在内存模块处于刷新周期内读取,其具体步骤包括:步骤1:芯片选择器连接未刷新的内存芯片;步骤2:内存控制器发送列读取命令,未刷新的芯片通过芯片选择器将各自的数据传输到异或操作单元中;步骤3:异或操作单元运算出缺失的数据段,并将数据段按正确的顺序排列,进而得到恢复后的数据,恢复后的数据输出至内存模块接口。10.根据权利要求7所述的方法,其特征是,所述的在内存模块处于刷新周期外读取,其具体步骤包括:...

【专利技术属性】
技术研发人员:李超曹育海陈全姚斌过敏意
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1