- 主题:2T NVMe SSD,1800,如何?
【 在 zyd 的大作中提到: 】
: 你没搞清楚吧?
: 这是电脑运行的时候
: 哪有什么不靠谱的?
: ...................
操作系统自己在主内存hold有缓冲区,用不着把频繁读写的东西放在不可控的外存上的DRAM里
测性能的时候测试软件绕开了系统缓冲才有较大区别,否则频繁读写小体积数据的实际性能区别很小(外存上有无DRAM)
--
FROM 125.70.50.*
【 在 zyd 的大作中提到: 】
: 目的是要存盘呀
: 目的就是解放高速的内存呀
: 硬盘从缓存往tlc搬运的时候,玩家可以继续往后游戏
: ...................
操作系统把要写盘的数据放进自己的读写缓冲区以后就可以反馈给应用程序“写完了”,用不着放进不可控的外存自带DRAM
而如果是带有强制写入永久存储的指令的数据,那也得写进闪存部分才反馈完成结果,仅仅放进外存自带DRAM里无效,依然要等。
所以你说的只有一个用处——省点主内存。然而主内存动辄十几个GB,盘上DRAM才几百MB,省这么一点有啥意义?按单价算还贵,不如多买点主内存了。
--
FROM 125.70.50.*
没这回事,只有OS告诉程序存好了,和OS告诉程序写进非易失区(永久存储)了这两种反馈,前一种OS可以hold在主内存,后一种放进盘上DRAM里也无用
【 在 zyd 的大作中提到: 】
: 这些东西是确定要存入硬盘的呀
: 打个比方,游戏即时存盘,存入硬盘tlc要0.3秒。
: 有缓存的话,0.1秒就存入硬盘缓存,硬盘再花0.3秒存入tlc,这个时候cpu和内存已经把省下的0.2秒去运行游戏了,给用户带来了更流程的体验
: ...................
--
FROM 125.70.50.*
【 在 zyd 的大作中提到: 】
: 为啥要等?
: 玩家必须要等存盘完成才能继续游戏吗
: 目的就是让人不去等存盘呀
: ...................
你还是先去了解下OS的读写缓冲区调度策略吧,OS定时flush缓冲区知道啥意思吗,看起来你是一点都不懂,没什么好说的
--
FROM 125.70.50.*
OS要干的事情就是给应用程序提供统一的运行时环境,管你读写的是快的SSD还是慢的HDD,都用系统缓冲区来掩盖差异,反馈一个“快速写完”的结果。至于是不是真的写完了,这是OS和硬盘之间的事情不用应用程序来操心,DMA就是让外存直接读写主系统内存中数据的协议和接口,没写完的东西外存可以慢慢取慢慢写,谁还等你真的“存盘”?
【 在 zyd 的大作中提到: 】
: os为啥要跨设备这么做?系统的模块化还有什么意义?
: os告诉cpu的是硬盘接手完了
: 然后硬盘自己去从缓存存入tlc是硬盘自己的事
: ...................
--
FROM 125.70.50.*
你居然能把CPU cache和系统在主内存的buffer搞混?真是叹为观止,回去找本计算机系统原理本科教材好好入入门吧
【 在 zyd 的大作中提到: 】
: cpu用的缓冲和我们说的硬盘缓冲你都能搞混吗?
: 硬盘是个独立原件,os并不会连接cpu与硬盘的最终存储位置。
: 你就想想吧,ssd的缓存和原来hdd的缓存本质是完全一样的。cpu会去管磁头写到位没有吗?
--
FROM 125.70.50.*
【 在 zyd 的大作中提到: 】
: 你既然知道基本原理,那为啥不知道最后的结果?
: 电脑里各个部件是模块化的,
: 硬盘发展几十年了
: ...................
你先把我上上个回帖里的科普好好读懂再说,机械硬盘时代从来都是盘上DRAM不够大就拿主内存的DRAM凑,DOS时代就有专门的缓冲区管理工具了,你以为管理的是盘上DRAM?
--
修改:marion FROM 125.70.50.*
FROM 125.70.50.*
【 在 zyd 的大作中提到: 】
: 不是搞混,而是原理一样
: 目的就是越高速越贵
: 越大越慢越便宜,所以才有这么一级级的结构
: ...................
这么说你以为盘上的DRAM比主内存DRAM速度快还是慢?贵还是便宜?按单价算。
--
修改:marion FROM 125.70.50.*
FROM 125.70.50.*
实际上单价更贵,比较的是同时发布的有DRAM版和无DRAM版差价
【 在 zyd 的大作中提到: 】
: 一般来说是慢和便宜呀
: 既然硬盘都能接受slc来做缓存
: 自然上dram也不会上电脑那种高频内存
: ...................
--
FROM 125.70.50.*