- 主题:2T NVMe SSD,1800,如何?
实际就是西数换皮
早就被收购了
【 在 syr 的大作中提到: 】
: SanDisk现在算主流SSD厂商吗?
--
FROM 118.115.233.*
没有dram缓存
有slc缓存
日常用没有什么问题
【 在 Vedie 的大作中提到: 】
: sn550?
: 据说没有缓存
: 发自「今日水木 on Mate」
--
FROM 118.115.233.*
被收购了好几年了
市面上都是西数的产品为主要品牌了
在消费者那里已经形成固定印象了
【 在 hgoldfish 的大作中提到: 】
: 应该西数是闪迪换皮才对吧。
:
--
修改:zyd FROM 171.88.28.*
FROM 171.88.28.*
这个主要用于是某些频繁读写的小数据的速度提升吧
就是一般测试软件里的4k读写测的,在部分系统场景里能体验到的。只不过一般情况要读写的文件量不会很大,所以重要性相对没那么大。
【 在 hgoldfish 的大作中提到: 】
: 按说 ssd 是不需要 dram 缓存的,,因为数据到达 dram,没有写入 slc 之前,如果掉电就会丢失数据。
: 这个 dram 应该只是主控使用的临时数据,不是那么重要。
:
--
修改:zyd FROM 171.88.28.*
FROM 171.88.28.*
你没搞清楚吧?
这是电脑运行的时候
哪有什么不靠谱的?
内存,缓存,显存都是这么运行的
这又不是冷备份数据,而是程序运行期间的体验
【 在 hgoldfish 的大作中提到: 】
: 写入 DRAM 的数据不保险啊。
: 如果真的有 SSD 是通过把数据写入 DRAM 来提高写入性能的,恐怕很不靠谱。就算有电池,我也觉得不靠谱。
:
--
FROM 171.88.28.*
你想想看整个电脑里
cpu,一级缓存,二级缓存,三级缓存,内存,都是这么工作的。掉电了就重启而已,之前白做了而已。
ssd一样,数据写入中间dram的时候,如果掉电,不过和电脑非正常关电源一样,没有成功写入而已
【 在 hgoldfish 的大作中提到: 】
: 文件系统有个 barrier 的概念。。比如 btrfs 文件系统,最后修改那个b树指针是一定要成功的,不然一丢丢一大片数据。如果这个写入操作被 SSD 放到 DRAM 上面缓冲,然后掉电了岂不是很惨。。
: 当然,多半是我自己没理解 SSD 工作的原理。不过没解释清楚,我不敢用这种 SSD
:
--
FROM 171.88.28.*
硬盘缓存是个几十兆临时交换空间而已
写进去的数据其实在很短时间内就真正写入mlc的结构了。没真正写入mlc之前,又不会返回写入结束的信号。
cpu也是用缓存的呀,速度越快价格越高,所以一级缓存几百k,三级缓存几兆。掉电的话这些缓存和内存里的数据不一样没有了?
想想看,cpu计算出的数据要存盘的话,就要经过一级二级三级缓存到内存,再经过硬盘缓存,最后再存入长期存储的地方。掉电的话,哪个步骤掉了,数据都没了. 硬盘缓存这一步没有比前面的步骤更特殊。
另外硬盘又不是现在才有缓存的,机械硬盘缓存结构有了几十年了。
【 在 hgoldfish 的大作中提到: 】
: 不懂别乱讲啊。。
:
--
修改:zyd FROM 171.88.28.*
FROM 171.88.28.*
主控当然不能坑呀,然而几十年机械硬盘都这么过来了,缓存的机理已经成熟不能再成熟了。断电报错的机理早就在那里。
这个目的是提升系统反应和游戏之类的体验呀,主要是大量的临时的小文件,tlc写入会较慢,某些时候零点几秒的差异,会给用户带来很大的感受差别。反过来说即使很小概率断电出错,不过重启下游戏什么的就能解决。总之就是用小概率的无关紧要的风险,来换取流畅的用户操作感知。
在连续大量数据写入的时候,缓存当然就没用了。
【 在 hgoldfish 的大作中提到: 】
: 所以要确定没写入 TLC 芯片中的话,是否会返回写入结束?如果主控比较坑的话,会不会出事啊?
: 其实操作系统已经在内部进行多队列排队,这个 DRAM 我觉得没有太大必要。
:
--
修改:zyd FROM 171.88.28.*
FROM 171.88.28.*
你还是没有理解这个的应用场景。
比如4k读写最常见就是游戏
那么数据写入dram比写入tlc快的多
写入dram后,还没有写入tlc,游戏里就可以进行下一步了,给玩家更少的等待时间和更流畅的游戏体验。
缓存到tlc出错是小概率事件,而且即使小概率发生了,也不是什么大事,游戏而已,一次没存上盘也无所谓,而且考虑可能百万次才有那么一次失误。
在硬盘里4k读写这项,就是和缓存相关的,测硬盘性能的都会测这个
【 在 hgoldfish 的大作中提到: 】
: 临时小文件多的时候,操作系统会给 m2 固态硬盘喂多个队列的数据啊。。对应用程序来说,无论在 SSD 还是操作系统做缓存(队列),看到的响应时间都是一样的。
: 感觉是负优化。因为 nvme 协议本身是异步的。DRAM 缓存因为易失,只能选择 write-through 和 write-around 两种模式,它们都是为了提高写入后读的性能,而不能提高写性能。既不能降低延迟,也不能提高吞吐。
: SLC 缓存和 DRAM 缓存就不一样了。写入到 SLC 缓存的数据已经持久化,主控可以返回写入完成的回应给操作系统。所谓的 wirte-back 缓存,极大提升写性能。
: ...................
--
修改:zyd FROM 171.88.28.*
FROM 171.88.28.*
目的是要存盘呀
目的就是解放高速的内存呀
硬盘从缓存往tlc搬运的时候,玩家可以继续往后游戏
而不是等存盘完成以后,这就是缓存的目的,提前释放高速的内存资源去干其他事。
【 在 Apache9 的大作中提到: 】
: 那我直接放内存里不就行了?
: 你不调用fsync,操作系统都不一定给你往盘上刷的,刷盘自然就是了持久化,你还给我放DRAM里不落盘,掉电不就丢数据了?哪个硬盘敢做成这样。。。
--
FROM 171.88.28.*