用于混合存储器中的写入和刷新支持的系统和方法技术方案

技术编号:19543486 阅读:27 留言:0更新日期:2018-11-24 20:34
提供用于混合存储器中的写入和刷新支持的系统和方法。一种存储器模块包括:存储器控制器,包括:主机层;介质层,被连接到非易失性存储器;逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:接收包括高速缓存行地址和写入组标识符的持久写入命令;接收与所述持久写入命令相关联的数据;将所述数据写入到易失性存储器的所述高速缓存行地址;将所述高速缓存行地址存储在第二写入组表的多个缓冲器中的被选择的缓冲器中,其中,所述被选择的缓冲器与所述写入组标识符相应;更新第一写入组表的行以标识所述被选择的缓冲器的包括有效条目的位置,其中,所述行与所述写入组标识符相应。

System and method for write and refresh support in hybrid memory

A system and method for providing write and refresh support in hybrid memory are provided. A memory module includes: a memory controller, including: a host layer; a medium layer, connected to a non-volatile memory; a logic core, connected to a host layer, a medium layer and a volatile memory, where the logical core storage includes a first write group table of multiple rows, and the logical core is configured to receive a high write group table including a high read rate. A persistent write command for caching line address and writing group identifier; receives data associated with the persistent write command; writes the data to the cache line address of the volatile memory; and stores the cache line address in selected buffers in multiple buffers of the second write group table. The selected buffer corresponds to the written group identifier, and the row first written to the group table is updated to identify the location of the selected buffer including valid entries, where the row corresponds to the written group identifier.

【技术实现步骤摘要】
用于混合存储器中的写入和刷新支持的系统和方法本申请要求于2017年5月9日在美国专利商标局提交的序列号为62/503,835的美国临时专利申请的权益,该申请的全部公开通过引用合并于此。
本专利技术的实施例的各方面涉及用于混合计算机存储器的存储器控制器及其操作方法,其中,混合计算机存储器包括易失性和非易失性组件。
技术介绍
具有持久存储器的非易失性双列直插式存储器模块(NVDIMM-P)是一种用于计算机系统的随机存取存储器,其中,该存储器可包括在断电时丢失其内容的易失性部分和即使在断电时(例如,意外断电、系统崩溃或标准关机)也保留其内容的非易失性部分。在一些示例中,NVDIMM-P可包括作为非易失性存储器的存储器映射闪存存储器(例如,NAND闪存或ZNAND闪存)和作为易失性存储器的动态随机存取存储器(DRAM)。在一些示例中,静态随机存取存储器(SRAM)可用作易失性部分,并且/或者相变存储器(PCM)可用作非易失性部分。NVDIMM-P模块中存储的数据可作为“持久DRAM”(例如,字节可寻址)被访问,或可通过面向块访问被访问,其中,面向块访问与计算机系统访问旋转介质(诸如,硬盘驱动器和光学驱动器)上的数据以及持久存储装置(诸如固态驱动器(SSD))上的数据的方式类似。针对NVDIMM-P装置的标准由JEDEC固态技术协会(或JEDEC)定义。这些标准包括用于访问NVDIMM-P兼容装置的一些命令。
技术实现思路
本专利技术的实施例的各方面涉及针对具有持久存储器的非易失性双列直插式存储器模块(NVDIMM-P)的存储器控制器,其中,NVDIMM-P包括易失性部分和非易失性部分。具体地,本专利技术的实施例的各方面涉及用于管理响应于从主机处理器接收到的命令而被写入到NVDIMM-P的易失性部分和非易失性部分的数据的系统和方法。根据本专利技术的一个实施例,一种存储器模块包括:易失性存储器;非易失性存储器;以及存储器控制器,其中,存储器控制器包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收持久写入命令,其中,所述持久写入命令包括高速缓存行地址和写入组标识符;通过主机层接收与所述持久写入命令相关联的数据;响应于所述持久写入命令进行以下操作:将所述数据写入到易失性存储器的所述高速缓存行地址;在第二写入组表中的多个缓冲器中的被选择的缓冲器中存储所述高速缓存行地址,其中,所述被选择的缓冲器与所述写入组标识符相应;更新第一写入组表的多个行中的行以标识所述被选择的缓冲器的包括有效条目的位置,其中,所述行与所述写入组标识符相应。逻辑核还可存储包括多个行的第0写入组表,其中,第0写入组表的行中的每一行可与相应的写入组相关联,其中,第0写入组表的行中的每一行包可括行位图,其中,所述行位图标识第一写入组表和第二写入组表的与所述相应的写入组相关联的行。逻辑核还可被配置为:在第0写入组表中查找与所述写入组标识符相应的相应行位图,其中,所述相应行位图标识第二写入组表的与所述写入组标识符相关联的缓冲器;基于所述相应行位图确定与所述写入组标识符相关联的缓冲器中的缓冲器是否具有可用空间;响应于确定与所述写入组标识符相关联的缓冲器中的缓冲器具有可用空间,将具有可用空间的缓冲器选为所述被选择的缓冲器;响应于确定与所述写入组标识符相关联的缓冲器中没有缓冲器具有可用空间,确定在第二写入组表中是否存在可用的缓冲器;响应于确定在第二写入组表中存在可用的缓冲器,进行以下操作:更新所述相应行位图,以将所述可用的缓冲器与所述写入组标识符相关联;将所述可用的缓冲器选为所述被选择的缓冲器。所述持久写入命令还可包括持久标志,并且逻辑核还可被配置为确定所述持久标志是否被设置,并且响应于确定所述持久标志被设置,进行以下操作:在第二写入组表中查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,将易失性存储器的所述每个高速缓存行地址处的数据写入到非易失性存储器。存储器模块还可包括:高速缓存元数据存储器,其中,逻辑核可被配置为在高速缓存元数据存储器中存储针对第二写入组表中存储的每个高速缓存行地址的持久状态。所述持久写入命令还可包括持久标志,其中,逻辑核还可被配置为确定所述持久标志是否被设置,并且响应于确定所述持久标志被设置,进行以下操作:查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,进行以下操作:确定与高速缓存行地址相应的持久状态是否被设置;响应于确定与高速缓存行地址相应的持久状态被设置,将易失性存储器的被设置了持久状态的所述高速缓存行地址处的数据写入到非易失性存储器;响应于确定与高速缓存行地址相应的持久状态未被设置,避免将易失性存储器的未被设置持久状态的高速缓存行地址处的数据写入到非易失性存储器。存储器模块可以是非易失性双列直插式存储器模块。根据本专利技术的一个实施例,一种存储器模块包括:易失性存储器;非易失性存储器;以及存储器控制器,其中,存储器控制器包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收包括写入组标识符的刷新命令;查找第一写入组表的与所述写入组标识符相应的一个或更多个行,其中,所述一个或更多个行中的每一行包括标识第二写入组表的相应缓冲器中的有效条目的头部指针和尾部指针;在第二写入组表中查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器在由第一写入组表的相应行的头部指针和尾部指针标识的有效条目处存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,将易失性存储器的所述每个高速缓存行地址处的数据写入到非易失性存储器。逻辑核还可被配置为将第一写入组表的与所述写入组标识符相应的行的头部指针和尾部指针更新为相同的值以将所述相应缓冲器清空。根据本专利技术的一个实施例,一种存储器模块包括:易失性存储器;非易失性存储器;以及存储器控制器,其中,存储器控制器包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和非易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收刷新命令;针对第一写入组表的每一行进行以下操作:在第二写入组表中查找相应缓冲器,其中,第一写入组表中的每一行包括标识第二写入组表的所述相应缓冲器中的有效条目的头部指针和尾部指针;针对所述相应缓冲器的有效条目中的每个有效条目,取回相应的高速缓存行地址并将易失性存储器的所述高速缓存行地址处的数据写入到非易失性存储器;将第一写入组表的所述每一行本文档来自技高网...

【技术保护点】
1.一种存储器模块,包括:易失性存储器;非易失性存储器;以及存储器控制器,包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收持久写入命令,其中,所述持久写入命令包括高速缓存行地址和写入组标识符;通过主机层接收与所述持久写入命令相关联的数据;响应于所述持久写入命令进行以下操作:将所述数据写入到易失性存储器的所述高速缓存行地址;在第二写入组表中的多个缓冲器中的被选择的缓冲器中存储所述高速缓存行地址,其中,所述被选择的缓冲器与所述写入组标识符相应;更新第一写入组表的行以标识所述被选择的缓冲器的包括有效条目的位置,其中,第一写入组表的所述行与所述写入组标识符相应。

【技术特征摘要】
2017.05.09 US 62/503,835;2017.08.04 US 15/669,8511.一种存储器模块,包括:易失性存储器;非易失性存储器;以及存储器控制器,包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收持久写入命令,其中,所述持久写入命令包括高速缓存行地址和写入组标识符;通过主机层接收与所述持久写入命令相关联的数据;响应于所述持久写入命令进行以下操作:将所述数据写入到易失性存储器的所述高速缓存行地址;在第二写入组表中的多个缓冲器中的被选择的缓冲器中存储所述高速缓存行地址,其中,所述被选择的缓冲器与所述写入组标识符相应;更新第一写入组表的行以标识所述被选择的缓冲器的包括有效条目的位置,其中,第一写入组表的所述行与所述写入组标识符相应。2.如权利要求1所述的存储器模块,其中,逻辑核还存储包括多个行的第0写入组表,其中,第0写入组表的行中的每一行与相应的写入组相关联,其中,第0写入组表的行中的每一行包括行位图,其中,所述行位图标识第一写入组表和第二写入组表的与所述相应的写入组相关联的行。3.如权利要求2所述的存储器模块,其中,逻辑核还被配置为:在第0写入组表中查找与所述写入组标识符相应的相应行位图,其中,所述相应行位图标识第二写入组表的与所述写入组标识符相关联的缓冲器;基于所述相应行位图确定与所述写入组标识符相关联的缓冲器中的缓冲器是否具有可用空间;响应于确定与所述写入组标识符相关联的缓冲器中的缓冲器具有可用空间,将具有可用空间的缓冲器选为所述被选择的缓冲器;响应于确定与所述写入组标识符相关联的缓冲器中没有缓冲器具有可用空间,进行以下操作:确定第二写入组表中是否存在可用的缓冲器;响应于确定第二写入组表中存在可用的缓冲器,进行以下操作:更新所述相应行位图,以将所述可用的缓冲器与所述写入组标识符相关联;将所述可用的缓冲器选为所述被选择的缓冲器。4.如权利要求1所述的存储器模块,其中,所述持久写入命令还包括持久标志,其中,逻辑核还被配置为确定所述持久标志是否被设置,并且响应于确定所述持久标志被设置,进行以下操作:在第二写入组表中查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,将易失性存储器的所述每个高速缓存行地址处的数据写入到非易失性存储器。5.如权利要求1所述的存储器模块,还包括:高速缓存元数据存储器,其中,逻辑核被配置为在高速缓存元数据存储器中存储针对第二写入组表中存储的每个高速缓存行地址的持久状态。6.如权利要求5所述的存储器模块,其中,所述持久写入命令还包括持久标志,其中,逻辑核还被配置为确定所述持久标志是否被设置,并且响应于确定所述持久标志被设置,进行以下操作:查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,进行以下操作:确定与高速缓存行地址相应的持久状态是否被设置;响应于确定与高速缓存行地址相应的持久状态被设置,将易失性存储器的被设置了持久状态的高速缓存行地址处的数据写入到非易失性存储器;响应于确定与高速缓存行地址相应的持久状态未被设置,避免将易失性存储器的未被设置持久状态的高速缓存行地址处的数据写入到非易失性存储器。7.如权利要求1所述的存储器模块,其中,存储器模块是非易失性双列直插式存储器模块。8.一种存储器模块,包括:易失性存储器;非易失性存储器;以及存储器控制器,包括:主机层;介质层,被连接到非易失性存储器;以及逻辑核,被连接到主机层、介质层和易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收包括写入组标识符的刷新命令;查找第一写入组表的与所述写入组标识符相应的一个或更多个行,其中,所述一个或更多个行中的每一行包括标识第二写入组表的相应缓冲器中的有效条目的头部指针和尾部指针;在第二写入组表中查找与所述写入组标识符相关联的一个或更多个缓冲器,其中,所述一个或更多个缓冲器中的每个缓冲器在由第一写入组表的相应行的头部指针和尾部指针标识的有效条目处存储一个或更多个高速缓存行地址;针对与所述写入组标识符相关联的所述一个或更多个缓冲器的所述一个或更多个高速缓存行地址中的每个高速缓存行地址,将易失性存储器的所述每个高速缓存行地址处的数据写入到非易失性存储器。9.如权利要求8所述的存储器模块,其中,逻辑核还被配置为将第一写入组表的与所述写入组标识符相应的行的头部指针和尾部指针更新为相同的值以将所述相应缓冲器清空。10.一种存储器模块,包括:易失性存储器;非易失性存储器;以及存储器控制器,包括:主机层;介质层,被连接到非易失性存储器;逻辑核,被连接到主机层、介质层和非易失性存储器,其中,逻辑核存储包括多个行的第一写入组表,并且逻辑核被配置为:通过主机层接收刷新命令;针对第一写入组表的每一行进行以下操作:在第二写入组表中查找相应缓冲器,其中,第一写入组表的每一行包括标识第二写入组表的所述相应缓冲器中的有效条目的头部指针和尾部指针;针对所述相应缓冲器的有效条目中的每个有效条目,取回相应的高速缓存行地址并将易失性存储器的所述高速缓存行地址处的数据写入到非易失性存储器;将第一写入组表的所述每一行的头部指针和尾部指针更新为相同的值以将所述相应缓冲器清空。11.一种用...

【专利技术属性】
技术研发人员:张牧天牛迪民郑宏忠南喜铉赵永进林璇渶
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1