1. SSD的IOPS还远远赶不上内存。
一般民用的SSD的IOPS(每秒处理的IO个数)都不高,企业级一般在几十万左右,到百万的很少,最高据说有人造出过900万IOPS的SSD,但是估计民用困难,写比读IOPS要低的多。
内存的IOPS不好算,跟时序有关,但内存的不同bank理论上是可以并发的,多通道速度也可以叠加,算下来内存的IOPS上百万很轻松,千万次估计也不难(看总线设计),搞好的情况下没准可以上亿次(但可能无实际使用价值)。
2. SSD寻址单位太大。
内存可以单字节寻址,SSD一般是一个扇区或者一个数据块(Page,4K-256K不等,看具体芯片),而内存可以单字节寻址,差距太大了,除非给SSD再装上一层缓存,但这样SSD的意义就不大了,缓存可能要很大。
3. SSD读写速度与内存有数量级上差别
顶级的SSD读写速度能上G,但普通内存就可以轻松上G
基本就这几个原因,其中1、2条很致命。
-------------------------------------
补充一点,嵌入式领域有直接拿flash当内存的,准确的说是可执行代码不读进内存,直接在flash上跑,但堆栈之类的动态数据还是用内存的。SSD不当内存用的主要原因还是成本太高,能达到内存读写速度的SSD不是没有,但太贵了,整套方案实现起来不现实。
不排除未来会有技术的进步,但如果内存能被SSD替代,那么肯定也会有更快的东西出现。