转自微信公众号:存储随笔

当你买了一块SSD,有没有发现其实你得到的容量并不是SSD标称的容量。比如你买的是128GB的SSD,你的得到的可使用容量肯定小于128GB,一般在120GB,甚至更小。
到底是谁“偷”走了本应该属于你的容量呢?

经过不懈努力,警察蜀黍已经找到“真凶”,就是OP,全称Over-Provisioning,中文名字叫做“预留空间”。

1. 预留空间OP是什么?
当一块SSD的数据写满时,需要额外的空间在启动垃圾回收之前接受新写入的数据,这块额外的空间,我们就称为预留空间。
当然,这块预留空间是对用户不可见的。

预留空间主要分为两个部分:

(1)由于标称容量与NAND闪存计算差异造成的本征预留空间OP1。

市场上SSD标称的容量是按照千进制(1000)来计算的,但是NAND闪存的容量是按照1024计算的。
我们简单列个式子计算一下: 市场SSD标称 1GB(GigaByte)= 1000MB= 1000*1000KB= 1000*1000*1000Byte= 10^9Byte  (1,000,000,000Byte). NAND闪存 1GB(GibiByte)= 1024MB= 1024*1024KB =1024*1024*1024Byte =2^30Byte  (1,073,741,824Byte).
这两个计算方式之间正好相差7.37%。所以说SSD本征的预留空间就有7.37%。
(2)SSD由于性能要求而预留空间OP2,这部分也是标称OP。
这个部分预留空间主要用于垃圾回收GC,存储SSD主控的固件(Firmware),备用数据块(Spare Blocks)等。

标称预留空间OP=(SSD物理总容量-用户数据空间)/用户数据空间

从上面这个表格中我们看到标称预留空间(Marketed OP)为0%的时候,其实这时的内部仍然有7%的本征预留空间。

2. 预留空间OP有什么好处?
预留空间牺牲了用户数据空间,那TA要是再没有什么好处,用户就真的要崩溃咯。
其实预留空间OP的好处有很多:
(1)提高写入性能
由于有预留空间的存在,写入数据时并不需要经常做垃圾回收,加快了写入速度。
(2)降低写放大(WA, Write Amplification)写放大WA这个名词最早是Intel和SiliconSystems在2008年提出。
写放大的计算方法:WA=最终写入闪存的数据量/Host写入的数据量
举个简单的例子:当Host要写入4KB数据时,最坏的状况就是一个数据块中没有可用空间,但是呢,这个数据块中有一些无效数据内容能够被擦除,这时主控的做法就是,把这个数据块中全部的数据搬到缓存,然后擦除这个块,在缓存里update整个数据块的内容,更新完成后,把最新的数据搬回数据块,整个操作造成的写放大: Host只需写4K数据,却带来了整个数据块(假设1024KB)的写操作,写放大就等于1024/4=256倍。
(3)增加闪存使用寿命减少数据的搬迁,就是减少NAND闪存的读写次数,增加使用寿命。
(4)数据保护主要提供ECC之外的数据保护,比如R.A.I.S.E.(Redundant Array of Independent Silicon Elements),由于用的少,这里就不详细介绍了。
     
3. 数据说话
用真实的测试数据来看看预留空间对SSD性能的影响。

(1)128KB持续写与预留空间OP的关系

从图中红色线结果看出,预留空间对持续写的影响不大。

(2)4KB随机写与预留空间OP的关系

从图中红色线结果看出,预留空间对随机写的影响是线性增加的。

SSD的预留空间OP介绍相关推荐

  1. [SSD核心技术:FTL 1] 谁“偷“走了固态硬盘的容量? 预留空间 (OP )图文全解

    声明 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载. 内容摘要 前言 1. 预留空间OP是什么? 2. 预留空间OP有什么好处? 3. O ...

  2. 目标检测—SSD系列算法原理介绍

    一.SSD系列算法原理介绍 1.1 SSD算法介绍: ➢Single Shot MultiBox Detector (one-stage方法)                  ●Wei Liu在EC ...

  3. SSD和HDD的介绍

    SSD和HDD的介绍 1 硬盘的性能指标 2 HDD(机械硬盘) 2.1 HDD的介绍 2.2 HDD的接口 2.2.1 并 行接口(LPT接口) 2.2.2 串行接口(COM接口) 2.2.3 FC ...

  4. 固态硬盘(SSD)原理及相关介绍

    1. 什么是SSD 固态硬盘(Solid State Drives),用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片.DRAM芯片)组成.固态硬盘在接口的规范和定义.功能及使 ...

  5. SSD系列算法原理讲解----(1)SSD系列算法介绍(主干网络、多尺度Feature Map预测)(笔记)

    SSD系列算法原理介绍 SSD算法介绍: Single Shot MultiBox Detector(One-stage方法) - Wei Liu在ECCV 2016提出 - 直接回归目标类别和位置 ...

  6. 有关EMMC、Nandflash、SSD、HDD的科普类说明

    带着疑问,查了一些资料,梳理了一下思路. 闪存的更新换代速度特别快,电脑端从机械硬盘HDD到固态硬盘SSD,手机端从eMMC到UFS3.0,同步存在的苹果的nvme,一直在完善协议,各大厂家都在追求更 ...

  7. [SSD固态硬盘技术 0] SSD的结构和原理导论

    版权声明: 本文禁止转载 机械硬盘的存储系统由于内部结构,其IO访问性能无法进一步提高,CPU与存储器之间的性能差距逐渐扩大.以Nand Flash为存储介质的固态硬盘技术的发展,性能瓶颈得到缓解. ...

  8. 【转】花开正当时,十四款120/128GB SSD横向评测

    原文地址:http://www.expreview.com/19604-all.html SSD横评是最具消费指导意义的评测文章,也是各类热门SSD固态硬盘的决斗疆场.SSD评测在行业内已经有不少网站 ...

  9. 【读书笔记】深入浅出SSD

    本篇文章大部分都是转载,少部分内容为个人补充,作为存储行业SSD部分入门很有帮助. 转载自 https://www.cnblogs.com/lmhyhblog/p/12508849.html ,辛苦作 ...

最新文章

  1. Java四大知识点讲解,初学者必看
  2. Https的握手协议
  3. 北斗三号b1c频点带宽_【导航论坛】北斗三号卫星导航信号及接收策略
  4. 关于Java序列化你应该知道的一切
  5. 【python】Macbook的Anaconda查看、创建和管理python环境
  6. Bootstrap 媒体列表
  7. 【hdu6588】2019多校第一场K题function,反演
  8. Centos7下安装python3
  9. 我想给小舅子投资个普通的洗车行,我出钱,他出力,五五分利润,可以吗?
  10. 第二季-专题16-LCD亮起来
  11. 将Excel表格数据转换成XML格式文件
  12. vscode中文乱码
  13. Android Studio中AndroidManifest.xml文件中application标签
  14. 北京仁源欣生获200万美元天使轮融资,和玉资本领投...
  15. oracle重启rac2监听,RAC监听服务
  16. 程序员的双肩包,大概能装下整个宇宙!
  17. 万能Markdown数学公式
  18. 深入理解Python中的if语句
  19. 浅析电子合同之效率篇:电子合同如何提高效率
  20. 【技术科普】区块链世界也存在多元宇宙

热门文章

  1. 优秀课程案例:使用Scratch制作坦克大战增强版!
  2. 520被女朋友三番两次拉黑后,我用 Python 写了个“舔狗”必备神器
  3. 网站域名服务器加密,网站实现全站https加密可以防止DNS劫持吗?
  4. 愿所有程序都有接口,愿所有接口说明都通俗易懂,更新及时
  5. EXCEL将网段地址分解成明细地址
  6. “黎明号”(Dawn)深空航天器与高效离子引擎
  7. 非凡十年,且看临工重机的“数智化”之变!
  8. ____ To All Girls  Boys
  9. 目标跟踪方法--基于区域跟踪
  10. TYPE-C接口安卓手机直播快充领夹式无线麦克风方案