迅维网

查看: 1137|回复: 8
打印 上一主题 下一主题

如果固态硬盘 (SSD) 比内存 (RAM) 更快更便宜,会带来什么影响?

[复制链接]
跳转到指定楼层
1#
发表于 2017-11-7 12:41:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: LAN 来自 LAN

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
请不要着眼于固态硬盘,它代表的只是一种高速,不断电丢失,便宜的存储设备。 想讨论下如果有这种东西的存在,那么对操作系统,程序设计,以及日常设备使用等等方面都会带来哪些影响?

2#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
影响不会很大。这实际上是一个策略问题,而不是资源的问题。

问题的本质,在于计算机所使用的分层存储结构。这里有张图(源自WIKI):


每个框是一个级别的存储设备。你可以看到内存和硬盘属于两种不同的存储级别上。CPU可以直接访问第一层存储结构内的存储器,包括内存,寄存器和高速缓存。但要访问第二级别的存储器则需要通过内存中转。

简单地说,就是你家开个小店卖东西,每种货品前台的货架上总要摆上几个,以便客户来的时候你可以直接拿给他们。你也会有个库房,放着更多的货物。客户来了可以直接拿架子上的东西,但你不会让他们去你的库房。如果货架没货了了,你再把东西从库房搬到前台的货架上。这就是一种分层的存储结构。

你有了更快,更大容量的存储设备,就相当于你有了一间更宽敞的屋子和更多的员工。你不会想要让屋子当库房或者这么多员工去当库管,这样成本太高,而且对销售提升不大,更合适的办法是拿来做门店和售货员。而库房和库管也会使用更廉价的房子和更少的人员,这样才能节约成本,同时提升效率。哪怕你有一种更快而廉价的技术,也会用来当内存,而使用一种更便宜,但速度差点的去当硬盘。

你也可以专门雇个人来负责从库房往门店里搬货,你自己就专门负责销售,当货架上没货了喊他搬货就行了。计算机里干这活的叫DMA控制器,它专门负责帮CPU把数据从一个地方搬到另一个地方。

人脑也是这样,有更快,但记不了多少东西的短期记忆和更慢,但记忆量大的长期记忆。



回复 支持 反对

使用道具 举报

3#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
不会对内存的地位产生冲击
因为SATA接口的限制,不能做到随机访问,不能EIP(片上运行)
所以SSD必须依赖内存

回复 支持 反对

使用道具 举报

4#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
参考一下这个回答:如果未来,硬盘能达到现在内存那样的速度,那时的操作系统会据此发生怎样的变化?

首先,这种事情是真实发生过的,举个例子:

把时间倒退20年(至少)

硬盘:读写速度只有几MB/秒,比现在的U盘还慢(没见过,但听说过)。我见过实体的是几十MB的硬盘。

内存:66MHz左右,比现在的SSD要慢一些。(应该说,这已经很快的,可能还有更慢的,但我是没见过)

CPU:主频见过66MHz的,(有更快的或者更慢的,但这个我见过)

对比现在的情况,现在普通SATA硬盘,访问速度能到70MB/s,SSD能翻倍,CPU早就进入G时代了,内存主频也至少是1333Mhz的水平了。

现在的硬盘,比过去的内存快,现在的内存,比过去的CPU快。内存容量都上G了,比过去的硬盘大不知道多少。
技术的发展是不断进行的,有更快的设备就会有更复杂的软件。把20年前的系统装到现在的电脑上,可以做到1秒钟进入系统,但是有什么用呢?人们不会去用它。

所以,变化肯定是有的,操作系统更华丽,软件更好用(如果有机会题主试试用一下Windows3.2就知道是什么感觉了),但也不代表有什么太特别的地方,因为技术在一直发展。

回复 支持 反对

使用道具 举报

5#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
寿命啥的就不说了……
在操作系统层面无非是虚拟内存代替物理内存,没什么大不了的。仍然会划定一个程序运行的临时存储区,以避免破坏硬盘里的数据。

回复 支持 反对

使用道具 举报

6#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
从速度上说,意义不是很大。现今L1缓存几乎与CPU同速; L2和L3在10倍量级。且对cache的容量需求差不多饱和了,特别是L1.  内存的访问速度大概在100量级左右。所以,这种新型的存储设备在速度上基本没有插针的机会。

但是如果同时具有非易失性,与内存媲美的速度,容量又比内存大的多,最好还支持随机访问。那就可以替换掉现在的内存的角色了。

胡思乱想,可能会有下边的变化。

不用区分待机和休眠,加电即可用。可能会更省电吧。不用的时候连核直接关掉。

为了兼容、平滑过渡,普通应用程序开发不会有大的影响。

操作系统必须要上64位的了。

由于替代了现在的内存,所以我们要in-memory filesystem,全盘检索优化什么的。好像Linux上挂个几十G的RAM filesystem已经不少见了。

许多空间换时间的算法会更受重视。

因为cache line的大小基本不会变,所以还是要注意locality,不能疯了一样乱开空间。

在分页机制外,操作系统可能还会允许映射一片连续的物理区域作为某些进程的地址空间,以减少多级查表的损耗。反正就是要快速映射。

因为“内存”变得很大,类似numa结构的多核系统会因为更高的空间利用率而广泛使用。

研究者们开始写各种号称优化N倍前途无量的新算法新机制新仿真结果。


说了这么多,感觉意义真不是很大的样子。早先,存储系统最要紧的是怎么和CPU的速度差距缩小。现在,虽然差距依然大,但这个问题其实因为cache的作用已经处理的很好了。既要速度达到cache,容量还要大,那时候操作系统实现里的很多顾虑和折中都会没有了吧。

刚刚发现有一个知乎已经有类似的提问:如果硬盘速度足够快,内存这东西是不是就可以取消了?

回复 支持 反对

使用道具 举报

7#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
Intel和美光联合发布的3D XPoint也许会把硬盘和内存整合到一起,不过估计2020之后才可能。

回复 支持 反对

使用道具 举报

8#
发表于 2017-11-7 12:41:16 | 只看该作者 来自: LAN 来自 LAN
SSD是按块存储的,RAM是随机存储的,就这点来说,只是速度快并没有什么卵用

回复 支持 反对

使用道具 举报

9#
发表于 2017-11-12 23:15:00 | 只看该作者 来自: 广西北海 来自 广西北海
SSD再快也不会取代内存,它们的特性不一样所扮演的角色不一样

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复