在固态硬盘界提起"缓存"这个词的时候很容易一头雾水,存储极客简单给大家盘点下:外置DRAM缓存、SRAM缓存、SLC缓存。显然,这些名词说的并不是一回事儿,承担的作用也不相同。

有两种东西,都被叫做缓存:Cache和Buffer,前者在港台地区也被称为快取,后者则还有一个缓冲的名字。很多时候Cache和Buffer被混在一起说,也没有权威和统一的区分方式。小编简单地把Cache快取表述成为了加速应用而提前载入到快速存储区的数据,Buffer则是为了提高写入完成速度而设立的数据"暂存区"。

一旦有机会,Buffer的数据会被写入到闪存并清空。而Cache中的数据则有可能长期保存和维护。

DRAM芯片里装了些什么?

固态硬盘工作时,DRAM芯片中既有属于Cache快取的部分,也有属于Buffer缓冲的部分。

跟很多朋友想象的不同,固态硬盘的Cache快取的内容并不是电脑读写的"用户数据",而是固态硬盘为了兼容机械硬盘的工作方式而设立的FTL闪存转换层,简单来说FTL就是为了让固态硬盘能跟现有的操作系统所兼容。

固态硬盘也的确需要数据缓冲,但并不是单纯为了提高写入速度。闪存的最小写入单位是Page页,包括东芝BiCS闪存在内的当前大多数闪存页大小是16KB。在DRAM芯片中凑齐至少16KB数据然后再执行实际向闪存的写入,将零碎写入请求合并的操作使得固态硬盘更高效、更长寿。

SLC缓存是干嘛的?

SLC缓存是MLC、TLC或者QLC固态硬盘利用部分闪存空间模拟SLC的方式工作,以达到提速和延寿的效果。如果按照前文中的定义,SLC缓存的正确叫法应该是SLC缓冲。

为什么固态硬盘一定要有SLC缓冲?

我相信大多数人都认为这个问题的答案是:为了加速写入,尤其是顺序写入速度。其实这只是SLC缓冲的作用之一,毕竟固态硬盘用作移动硬盘的机会还是很低的,系统盘的读写是以随机读写为主。

引入SLC缓冲主要是为了降低闪存的写入难度。TLC闪存的一个单元拥有8种数据状态(表达3比特数据)、QLC闪存的一个单元拥有16种数据状态(表达4个比特数据)。要把数据一次性"刷"到TLC/QLC闪存单元中是比较困难的。模拟SLC可以简单快速的将写入数据先接纳下来,然后利用空闲时间释放到TLC/QLC形态。

当TLC/QLC模拟SLC方式写入时,其擦写次数也会相应提高,虽然不能达到等同SLC的水平,但也无需担心SLC缓冲机制会缩短固态硬盘的寿命。

无(DRAM)缓存的固态硬盘怎么工作?

固态硬盘的DRAM芯片主要是用来存储FTL闪存映射表的,这部分数据可以通过主控内集成小容量SRAM缓存并搭配NAND闪存交换来完成。在固件经过优化之后,无DRAM芯片的固态硬盘也可以发挥出理想的随机读写效能,譬如上图中的东芝TR200固态硬盘,在电脑配置足够的情况下,4K读取可以达到50MB/s以上。

完全没有DRAM缓存的固态硬盘:

TR200虽然没有外置DRAM芯片,但它所用的主控内集成了32MB容量的SRAM缓存。另外一种固态硬盘则是彻底消灭了DRAM芯片,比如东芝BG4就采用了NVMe协议当中的HMB特性,通过驱动程序直接向主机内存申请到一块专用空间,用来实现过去由固态硬盘板载DRAM芯片所承担的功能,可以说是一种非常巧妙的方式。

mlc tlc slc qlc_如何区分缓存和缓冲?解释固态硬盘SLC/DRAM缓存相关推荐

  1. raid配置ssd为缓存_怎么设置固态硬盘为缓存盘

    无论是固态硬盘,还是机械硬盘都有缓存,如16MB.32MB.64MB,但这个容量仅仅只能起到一定的加速作用,就类似CPU有了L1.L2.L3高速缓存后一样需要有大容量的内存一样,用固态硬盘做缓存盘就好 ...

  2. 群晖DS918创建m.2 固态硬盘SSD读写缓存

    群晖DS918创建m.2 固态硬盘SSD读写缓存 为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000 首先要有两块SSD的硬盘. 点击存储池,创建s ...

  3. [SSD固态硬盘技术 17] 缓存(DRAM)对性能的影响机制

    #[国庆活动]带上CSDN一起玩转国庆# 目录 前言 名词解释 1. SSD 缓存 1.1 DRAM SSD 1.2 无DRAM SSD 1.3 HMB SSD 1.4 有无DRAM 的 SSD 对比 ...

  4. Linux固态硬盘 设置写入缓存,固态硬盘性能的背后:浅论写入缓存设置

    前不久,笔者在进行固态硬盘性能测试的时候,发现了某品牌真实测试结果离理论值,相差甚远,甚至不如一些二线三线品牌的入门级产品. 也可能是因祸得福吧,因为测试结果的不理想,笔者不得不耽搁了相当久的时间去调 ...

  5. 查看硬盘缓存linux,Linux如何查看硬盘型号和缓存

    Linux如何查看硬盘型号和缓存?方法:hdparm  -i /dev/sda1 hdparm  -i /dev/sda1 /dev/sda1: Model=WDC WD10EACS-00ZJB0(硬 ...

  6. ssd测试软件4k 64线程是什么意思,4K随机/缓存等性能测试_固态硬盘评测-中关村在线...

    衡量固态硬盘另一个因素就是4K文件的随机读写能力,这里通过AS SSD进行详细测试. 4K随机性能:随机读取57217 iops AS SSD Benchmark是一个专门为SSD测试而设计的标准检测 ...

  7. [SSD核心技术:FTL 3] 固态硬盘SLC缓存技术详解

    声明 主页: 元存储的博客_CSDN博客 https://blog.csdn.net/vagrant0407?type=blog 本文依据公开知识及个人经验整理而成,如有错误请留言. 文章为个人辛苦整 ...

  8. mlc tlc slc qlc_QLC颗粒怎么样?固态硬盘QLC、SLC、MLC、TLC颗粒区别对比知识

    如今,固态硬盘的发展迅速,技术也逐步成熟,对于选购固态硬盘不再只是容量选择的那么简单,更多人群更在意的是性能与颗粒类型,而对于SSD颗粒类型,相信不少用户对QLC.SLC.MLC.TLC颗粒类型一无所 ...

  9. 接口做的好怎么形容_MLC和TLC的差距大吗?宏旺半导体告诉你国产固态硬盘该怎么选?...

    现在很流行给电脑升级硬件配置,固态硬盘更是电脑首选硬件升级对象,而关于固态硬盘是选择MLC还是TLC颗粒,大家也是众说纷纭,究竟固态硬盘MLC和TLC有什么区别?两者的差别大吗? 宏旺半导体之前有提过 ...

最新文章

  1. 计算机网络分为两大阶段,【多选题】计算机网络的发展分为哪些阶段?() A. 远程终端联机阶段 B. 计算机网络阶段 C. 计算机网络互联阶段 D. 信息高速公路阶段...
  2. 【杭电ACM】1097 A hard puzzle
  3. idea 关于spring boot实现自动编译
  4. UNIX--更改/输出当前工作目录
  5. weekly 2019-02-15
  6. python的心得体会200字_python_学习心得
  7. JDK1.7和JDK1.8对于异常的支持
  8. 微软Tech Summit 2017,等你来打Call
  9. jps、jstack、jmap、jhat、jstat、hprof使用详解
  10. datagrid显示mysql_WPF DataGrid显示MySQL查询信息,且可删除、修改、插入 (原发布 csdn 2018-10-13 20:07:28)...
  11. oracle分区存储过程示例,Oracle 存储过程示例
  12. Linux系统编程9:进程入门之操作系统为什么这么重要以及它是如何实现管理的
  13. Java多线程学习四十:如何写一个必然死锁的例子
  14. androidpn的学习研究(六)Androidpn-server的Mina编码和解码解析过程
  15. 想打造一款成功的移动应用?你最需要关注性能指标!
  16. Spring Data Rest如何暴露ID字段
  17. 36. 打印数组的主次对角线
  18. 阿里面试记录-程序上机
  19. 汇编语言程序设计入门
  20. web全栈工程师进阶学习线路图

热门文章

  1. 高德离线地图TMS服务教程
  2. 上海澜斌计算机有限公司,CIFX 50E-DP( )
  3. 深度学习前人精度很高了,该怎么创新?(论文发表,论文创新)
  4. 联合办公室出租,整合服务
  5. [算法]两种水果杂交出一种新水果,现在给新水果取名,要求这个名字中包含了以前两种水果名字的字母,并且这个名字要尽量短。
  6. matlab中二维杆图是什么,Matlab中二维统计分析图和三维立体图
  7. crf的Python实现代码
  8. 【IDC机房和自建机房】
  9. xp黑屏怎么办?这儿有解决办法!专治XP黑屏!
  10. 2004.11.19,Fri - 郑渊洁作品全集PDF珍藏版