包括记忆电阻器的内存模块的制作方法

文档序号:8531871阅读:438来源:国知局
包括记忆电阻器的内存模块的制作方法
【专利说明】
【背景技术】
[0001]当计算设备通电时,操作系统可以被启动并且被用于管理该计算设备的组件,诸如该计算设备的随机存取存储器和存储组件。所述操作系统可以从该计算设备的应用程序和/或组件接收用以读或写的命令和/或请求,并且将该命令和/或请求引至主内存和存储组件。
【附图说明】
[0002]在附图中,相似的附图标记表示相似的组件或方框。下面的详细描述参考附图,其中:
[0003]图1图示根据一示例的具有包括记忆电阻器的内存模块、虚拟化模块和应用程序的计算设备。
[0004]图2图示根据一示例管理去往包括记忆电阻器的内存模块的通信和来自包括记忆电阻器的内存模块的通信的虚拟化模块。
[0005]图3图示根据一示例管理内存模块和管理通信的虚拟化模块。
[0006]图4是图示根据一示例的用于管理内存的方法的流程图。
[0007]图5是图示根据另一示例的管理内存的方法的流程图。
【具体实施方式】
[0008]一种计算设备包括具有记忆电阻器的内存模块。对于本申请的目的来说,该内存模块是该计算设备的硬件内存组件,该硬件内存组件包括用于接收和存储数据和/或信息的记忆电阻器。记忆电阻器是一种非易失性随机存取存储器(NVRAM),其在通电(诸如电压和/或电流)和掉电时保持其电阻状态。在该内存模块通电或者不通电的情况下,被加载到记忆电阻器上的信息、指令和/或数据保持在该记忆电阻器上。
[0009]响应于该计算设备通电,可以启动虚拟化模块。所述虚拟化模块管理去往具有记忆电阻器的内存模块的通信和来自具有记忆电阻器的内存模块的通信。对于本申请的目的来说,该虚拟化模块是由该计算设备的处理器、控制器和/或由该计算设备的基本输入/输出系统(B1S)启动的虚拟机。该虚拟化模块作为计算设备的应用程序和具有记忆电阻器的内存模块之间的层操作,以管理应用程序和内存模块之间的通信。在一个示例中,所述虚拟化模块是由处理器和/或控制器执行的“I类管理程序”。
[0010]该应用程序可以是尝试与计算设备的内存组件通信的计算设备的操作系统。该内存组件可以是计算设备的主内存(诸如随机存取存储器)和/或存储组件(诸如硬盘驱动器)。在一种实施方式中,该内存组件可以是计算设备上包含的硬件组件。在另一种实施方式中,该内存组件是对操作系统来说被识别为主内存和/或存储组件的虚拟化内存组件。
[0011]该虚拟化模块对于从应用程序至内存组件的通信进行检测。如果检测到来自应用程序的通信,则虚拟化模块拦截该通信并且将该通信引至具有记忆电阻器的内存模块。对于本申请的目的来说,该通信包括用于加载和/或读取数据的命令和/或请求。虚拟化模块还接收来自具有记忆电阻器的内存模块的通信并且将该通信引至应用程序。
[0012]通过使用虚拟化模块作为应用程序和内存模块之间的层,应用程序可以尝试与内存组件通信,而不知道该通信正被引至包括记忆电阻器的内存模块以及来自包括记忆电阻器的内存模块。因此,具有记忆电阻器的内存模块可以在不修改应用程序的体系结构和/或代码的情况下作为计算设备的主内存和/或存储组件操作。此外,具有记忆电阻器的内存模块可以在通电或不通电的情况下保持所接收到的数据。进一步,通过使用虚拟化模块,由于应用程序与包括记忆电阻器的内存模块通信,该计算设备的固件和/或组件的驱动程序不被修改。
[0013]图1图示根据一示例的具有内存模块140、虚拟化模块110和应用程序150的计算设备100。计算设备100可以是台式机、工作站、服务器和/或一体式系统。在另一实施方式中,计算设备100可以是笔记本、上网本、平板电脑、平板、智能电话、E(电子)阅读器和/或具有包括记忆电阻器145的内存模块140的任何其它计算设备。计算设备100包括内存模块140、虚拟化模块110、应用程序140和用于虚拟化模块110和/或计算设备100的组件彼此通信的通信信道150。
[0014]内存模块140包括用以接收和存储数据的记忆电阻器(忆阻器)145。该数据可以包括能够被加载和/或读取到记忆电阻器145上的文件、指令、命令和/或其它类型的信息。对于本申请的目的来说,记忆电阻器145是一种非易失性随机存取存储器(NVRAM),其在通电(诸如电压和/或电流)和掉电时保持其电阻状态。因此,在内存模块140通电或者不通电的情况下,被加载到记忆电阻器145上的信息和/或数据可以保持在记忆电阻器145上。在一种实施方式中,内存模块140是包括记忆电阻器145在内的平面内存组件。
[0015]内存模块140由计算设备100的虚拟化模块110管理。对于本申请的目的来说,虚拟化模块110是由计算设备100的处理器、控制器和/或由计算设备100的基本输入/输出系统(B1S)启动的虚拟机。虚拟化模块110作为计算设备100的应用程序150和内存模块140之间的层操作,并且管理应用程序150和内存模块140之间的通信。在一种实施方式中,虚拟化模块110是响应于计算设备100通电而在处理器和/或控制器上执行的“I类管理程序”。
[0016]应用程序150可以是与计算设备100的内存组件通信的计算设备的操作系统。在另一实施方式中,应用程序150可以是由操作系统启动的应用程序,或者应用程序150可以是计算设备100的固件和/或B1S。对于本申请的目的来说,内存组件包括主内存(诸如随机存取存储器)和/或非易失性存储组件(诸如计算设备100的硬盘驱动器)。在一种实施方式中,内存组件是包括主内存和/或存储组件的硬件内存组件。在另一实施方式中,内存组件是被识别为包括虚拟主内存和/或虚拟存储组件的虚拟内存组件。
[0017]当管理应用程序150和内存模块140之间的通信时,虚拟化模块110首先对于应用程序150发出至计算设备100的内存组件的通信进行检测。该通信包括针对内存组件的读取或写入数据请求和/或用于管理内存组件上的数据的命令。如果虚拟化模块110检测到来自应用程序150的通信,则虚拟化模块110拦截该通信并且将该通信引至内存模块140。
[0018]在一种实施方式中,虚拟化模块110拦截对于主内存(诸如随机存取存储器)的通信,并且将该通信引至内存模块140。对于存储组件的通信不被虚拟化模块110拦截并且被存储组件接收。在另一实施方式中,虚拟化模块110拦截对于存储组件(诸如硬盘驱动器)的通信,并且将该通信引至内存模块140。对于主内存的通信不被拦截并且被传递给主内存。在其它一些实施方式中,虚拟化模块110拦截对于主内存和存储组件两者的通信,并且将该通信引至内存模块140。
[0019]通过将该通信引至内存模块140,虚拟化模块110利用内存模块140作为计算设备100的主内存和/或存储组件。包括记忆电阻器145的内存模块140还可以在返回数据时提供通信响应。当内存模块140提供该通信时,虚拟化模块110接收来自内存模块140的通信并且将该通信引至应用程序150。
[0020]如果内存模块140被用作主内存,则虚拟化模块110将该通信作为主内存通信提供给应用程序150。在另一实施方式中,如果内存模块140被用作存储组件,则虚拟化模块110将该通信作为存储组件通信提供给应用程序150。在其它一些实施方式中,如果
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1