可字节寻址的非易失性存储器热插拔方法及装置的制造方法

文档序号:9506145阅读:523来源:国知局
可字节寻址的非易失性存储器热插拔方法及装置的制造方法
【技术领域】
[0001]本发明涉及Persistent Memory的热插拔,具体涉及Persistent Memory热添加和热移除的方法并提供一种热插拔的装置,属于计算机系统结构领域。
【背景技术】
[0002]NV_register:非易失性寄存器
[0003]STTRAM:Spin Torque Transfer Random Access Memory,旋转转矩传递随机存取存储器
[0004]PCM:Phase Change Memory 相变存储器
[0005]Persistent Memory:非易失性存储器
[0006]RRAM:Resistive Random Access Memory,阻变式存储器
[0007]DRAM:Dynamic Random Access Memory,动态随机存储器,即现阶段广泛使用的内存,其特点是断电电后?目息丢失,理论上读与寿命不受限制。
[0008]DIMM:Dual inline Memory Module,双列直插式内存模块,是DRAM在主板上的插槽。
[0009]PM:Persistent Memory,非易失性内存或持久性内存,STTRAM, PCM, RRAM都属于PM,其特点是断电后信息不丢失,可字节寻找;但读写次数受限制,并且读写不均衡,根据材料的不同,PM写耗费时间大概是其读耗费时间的4到10倍,PM读的时间比DRAM慢I到4倍。
[0010]sys文件系统:用于查看和设定基于某种体系结构计算机系统的操作系统内核的参数,并且能够作为统一驱动模型的管理文件系统。
[0011]ACPI:Advanced configurat1n and Power Interface Specificat1n,高级配置与电源接口规范
[0012]B1S:Basic Input Output System,基本输入输出系统
[0013]SRAT:System Resource Affinity Table,是 ACPI 规范中的一种描述内存资源属性的表。
[0014]热插拔技术是计算机系统结构领域系统软件技术方向的热点课题,热插拔技术在不断电的情况下对计算机系统的各种器件进行插拔,现有技术已经实现了中央处理器的热插拔,内存的热插拔以及绝大部分输入输出设备的热插拔。当前,热插拔技术为调整数据中心服务器的资源利用率,虚拟机迀移,节约能耗等诸多方面提供了技术支撑,所以说,高效的热插拔技术对于数据中心的服务器系统的容灾性,扩展性和灵活性有重要价值。
[0015]Persistent Memory在近期发展迅速,因其可字节寻找,非易失,能耗低,密度高的优点逐渐成为DRAM的重要补充或替代,但其也存在读写不对称、读写速度较DRAM慢、寿命有限、一致性等问题制约着其发展,随着技术的进步,所述一些问题取得了一些进展。但是,如何对Persistent Memory进行热插拔的问题还没有完备可靠的方案,本发明主要针对Persistent Memory的热插拔问题,提出了热添加和热移除的方法,并提供了一种热插拔的装置,进一步对热插拔问题进行了阐述。

【发明内容】

[0016]本发明的目的在于针对现有技术中的不足,提供一种易于使用的PesistentMemory的热插拔方法及装置,,以解决上述问题。
[0017]本发明所解决的技术问题可以采用以下技术方案来实现:
[0018]—种可字节寻址的非易失性存储器的热插拔方法,包括可字节寻址的非易失性存储器的热添加和热移除;所述存储器的热添加包括物理添加和逻辑添加,所述存储器的热移除包括逻辑移除和物理移除;总体步骤如下:
[0019]I)物理添加,其用于将可字节寻址的非易失性存储器由不带电的裸设备转化为操作系统可管理的块设备;
[0020]2)逻辑添加,其用于将可字节寻址的非易失性存储器从操作系统可管理的块设备转换为可映射虚拟地址的内存设备;
[0021]3)逻辑移除,其用于将可映射虚拟地址的内存设备转换为操作系统可管理的块设备;
[0022]4)物理移除,其用于将可字节寻址的非易失性存储器从操作系统可管理的块设备转化为不带电的裸设备。
[0023]进一步的,所述步骤I)中物理添加的具体步骤如下:
[0024]步骤Al:在基于某种体系架构的计算机系统固件中完成对可字节寻址的非易失性存储器可热插拔属性及地址范围的描述;
[0025]步骤A2:B10S对PM上电检测,使其置为可读写状态;
[0026]步骤A3:将标志“5aa5a55a”写入地址为PM_address的空间,所述PM_address的值由某个非易失性寄存器NV_register传递,PM_address的更新方式为:
[0027](PM_address+8)mod 1M —NV_register,NV_register 一 PM_address ;符号一表不传递,符号mod表不取模运算,符号IM表不地址空间的大小,符号一、符号mod、符号IM是本领域专业技术人员的通用符号;
[0028]步骤A4:将PM置于D3off状态,延时与PM物理属性相适应的时间后重新将PM置于DO状态,即刻检测步骤A3中PM_address处的标识“5aa5a55a”是否存在,若存在,继续步骤A5,否则,宕机;所述的D3ofT最主要的特点是PM设备完全断电的状态,所述的DO最主要的特点是PM设备正常供电工作的状态,所述的D3off和DO是本领域的专业技术人员都熟悉的对设备电源状态的描述符;
[0029]步骤A5:在在基于某种体系架构的计算机系统的操作系统中,增加探测PM的功能,在所述PM上增加内存节点PM_node,并将所述的PM_node划分为三个管理区,三个管理区的大小按照用户预先设定的阈值定制;若用户定制为首次添加PM,则第一管理区和第二管理区采用buddy方式管理物理空间,第三管理区使用双端队列管理物理空间,若用户定制为非首次添加PM,则将所添加的PM全部空间在第三管理区的双端队列管理;
[0030]步骤A6:从步骤A5所述的PM_node的第三管理区的队列头分配空间,同时锁定所述空间,并将其按照块设备的管理方法纳入到某种体系架构计算机系统的操作系统管理中;
[0031]步骤A7:在基于某种体系架构的计算机系统的操作系统的用户层更新PM块设备添加的信息,并将所述的添加信息按照更新系统文件的方式显式的呈现给用户。
[0032]进一步的,所述步骤2)中逻辑添加的具体步骤如下:
[0033]步骤AS:将步骤A6中按照块设备管理的PM的部分空间或全部空间从某种体系架构的计算机系统的操作系统的块设备管理中分离,所述操作系统的第三管理区将所述PM的部分空间或全部空间纳入到自己的管理体系中;
[0034]步骤A9:按照步骤A8的结果和预先设定的阈值调整所述PM_node中三个管理区的大小,使其保持合理的比例;
[0035]步骤AlO:在基于某种体系架构计算机系统的操作系统的用户层更新PM内存空间添加的信息,并将所述的添加信息按照更新系统文件的方式显式的呈现给用户。
[0036]进一步的,所述步骤3)中逻辑移除的具体步骤如下:
[0037]步骤B1:在基于某种体系架构计算机系统的操作系统的内核层,在所述PM_node上映射页表的每个进程产生一个PM_page_forbid消息,进而内核层分配新页给所述进程,将数据从老页拷贝到新页,直到所有进程迀移完成;
[0038]步骤B2:隔离并锁定步骤BI所述的老页占用的空间,并将这些空间移除到步骤A5所述的某种体系架构计算机系统的操作系统的第三管理区队列的末端;
[0039]步骤B3:在基于某种体系架构的计算机系统的操作系统的用户层更新PM内存空间移除的信息,并将所述的移除信息按照更新系统文件的方式显式的呈现给用户;
[0040]步骤B4:将步骤B2中移除到某种体系架构计算机系统的操作系统的第三管理区队列的末端的PM空间按照块设备的方式管理;
[0041]步骤B5:在基于某种体系架构的计算机系统的操作系统的用户层更新PM块设备添加的信息,并将所述的添加信息按照更新系统文件的方式显式的呈现给用户。
[0042]进一步的,所述步骤4)中物理移除的具体步骤如下:
[0043]步骤B6:当产生PM物理移除的事件PM_remove后,在基于某种体系架构的计算机系统的操作系统内核层解除以块设备方式管理的PM空间;
[0044]步骤B7:在基于某种体系架构的计算机系统的操作系统的用户层更新PM块设备移除的信息,并将所述的移除信息按照更新系统文件的方式显式的呈现给用户;
[0045]步骤B8:将步骤B7中移除块设备管理信息的PM置于D30ff状态。
[0046]—种非易失性存储器的热插拔装置,包括
[0047]PM页迀移模块,用于PM逻辑移除时,用于控制进程从请求移除的PM页面上迀移;
[0048]PM资源属性描述模块,用于向基于某种体系架构的计算机提供关于内存模式的PM三种主要信息,一种是PM节点与其临近
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1