打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一种新型内存SCM(Storage Class Memory)的简单介绍
userphoto

2022.06.01 辽宁

关注
置顶Meditator_hkx
于 2016-07-10 11:12:41 发布
15208
 收藏 9
分类专栏: 科研生活 文章标签: NVM SCM 混合内存 计算机 体系架构
版权
科研生活专栏收录该内容
19 篇文章1 订阅
订阅专栏
1.写在前面
众所周知,在传统的计算机体系结构中,内存架构是层级制的。
从片上的寄存器内存-高速缓存(cache),到片外的主存(DRAM),以及磁盘(disk)。不同的计算机*硬件厂商可能在具体的等级划分数目上有所不同,但大体结构并无二致。*
比如,有的cache做成三层,有的做成两层。再比如,有些会在内盘与磁盘之间加一个SSD cache,作为磁盘缓存。
缓存技术是计算机内存技术中非常关键的一个技术概念,它利用的是程序执行的局部性原理。局部性原理又分为空间局部性和时间局部性。
更具体地,所谓空间局部性,是指当某一个数据或程序段被调用执行(会调入cache页)后,在不远的将来。它在内存中的位置地址附近的数据或程序段也很有可能被执行;所谓时间局部性,是指当某一个数据或程序段被调用执行后,在不远的将来,它会被再次执行。
2.为什么要引入新型内存
我们知道,根据 寄存器内存-高速缓存-主存-硬盘存储器 这样的从上到下的层级结构,一个简单的事实是越往下存储容量越大,价格更低,但是存取速度也越慢。无论是学术界还是工业界,在存储器体系上所一直不懈努力的目标就是用相对较低的价格,获得存储容量大并且速度快的内存。
由于CPU芯片大小的固有限制,寄存器内存不能太大,一般只有几十KB到几百KB的存储容量。所以,一个更好地改造目标是DRAM,近年来随着技术的进步和成熟,DRAM已经从从2GB发展到如今的8GB,16GB甚至更高,且速度性能也在不断提升。
但是,随着近些年内存计算技术的兴起,越来越多的应用需要将更多数据放入内存中进行操作,内存空间就成为了一个不可忽视的瓶颈。如何能够在保证访问速度的情况下,提升内存存储空间成为了一个极具挑战力的课题。
目前业界一个备受关注并且极具创新力的解决方案是NVM(Non-volatile Memory)的设计。所谓NVM,即是非易失性内存。比如我们目前广泛使用的DRAM内存,它是易失的(volatile),具体来说,就是当掉电之后,所有存储在DRAM中的数据将全部丢失。而像大容量的磁盘存储设备,则属于非易失性的,具有持久存储的能力。
要注意的是,NVM并不是指某种特定的硬件介质内存,而是针对具有非易失特性的内存的统称。
而我们将要介绍的SCM,也就是存储级内存。它不仅具有大容量的突出优点,而且还兼具非易失的存储特性,这就为内存技术革命提供了良好的基础。
3.SCM的特点
作为新型内存的SCM,具有如下几个突出特点:
1、非易失
2、极短的存取时间(DRAM-like)
3、每比特价格低廉(Disk-like)
4、固态,无移动区(SSD-like)
基于以上特点,SCM势必成为大数据时代炙手可热的重要内存产品。
4.SCM与DRAM的关系
既然SCM有这么多优点,是否意味着传统的DRAM内存将被它取而代之呢?
答案是暂时不会。
虽然我们强调SCM具有快速的存取特性,这很像DRAM,但实际上它仅仅读速度与DRAM相当(但是还是会慢一些,约为一个数量级),写速度则相差10倍到100倍以上。并且SCM还具有一个作为NVM设备的致命缺陷,即写次数有限,写几百万次时会写穿造成永久失效的问题。因此,对于写次数大的应用而言,SCM未必是一个好的选择。
因此,DRAM在现阶段是不可能也不应该被淘汰的。一个良好的思路是,是否可以设计一种混合架构内存,使得DRAM和SCM强强联手,达成一个更好的优化目标呢?
这一点是可行的,目前在硬件设备上,如华为、浪潮这样的硬件设备厂商已经基本生产出了符合技术目标的NVM原型,尤其值得一提的是这些硬件在机器上运行时,内存堆上层用户的操作是透明的。也就是说,用户在使用内存时,本身是不知道它是DRAM还是SCM的,这既为用户提供了便利,也使得应用程序开发人员能够更好地关注软件本身的架构及程序运行的合理性,而无需关心内存与操作系统之间的交互细节。
DRAM/SCM混合内存架构是一种崭新的内存架构,目前学术界和工业界都不遗余力地在这一架构上寻求突破口和创新点。
5.混合内存架构的机遇与挑战
关于基于SCM的应用变化及创新,更具体地将在后续博文中结合我近期阅读过的论文(相关研究)
来详细地介绍,在这里就先只做一些概要的讲述。
针对传统的DRAM数据存储掉电易失的问题,计算机从业人员构思出了备份、冗余码、transaction、logging等技术机制来保证数据一致性。而在使用SCM之后,事情也许可以发生一些变化,比如,备份机制就没有必要了。因为数据存储在SCM中是持久存储的,在掉电重启之后只要重新访问数据存储区域就可以继续原来的工作了,当然,这需要transaction和logging技术的支持,以及其他的可能需要提出的新技术(为优化性能使用)。
针对内存中计算的应用,比如in-memory database,in-memory KV-Store,使用SCM来存储如数据库、KV-Store这样的结构,既可以结合传统的技术,又能减轻容错方面需要考虑的问题复杂性,这就使得进一步优化其他性能指标如load balancing和流量成为了可能。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
英特尔大谈未来的存储:未来已来!
未来十年,存储技术将迎来一场革命
未来的内存将由HBM DRAM SCM组成
未来的存储技术会是什么样子?
Intel 3D XPoint闪存来了,显微镜看内部技术终于真相大白!
一触即发!当浪潮服务器遇上傲腾持久内存引发的计算力革命
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服