SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等。
OP一般分三层(见下图)。第一层容量固定为SSD标称容量的7.37%,这是因为标称容量采用千进制为单位,而NAND颗粒容量单位为1024进制,两者正好相差约7.37%。这部分空间被默认用于作OP。第二层OP是否存在及容量大小取决于厂商设置。第三层OP是用户在日常使用中可以分配的,像Fusion-IO公司还给其用户提供工具让他们自行调节大小以满足不同的耐用度及性能要求,一般用户也可以自己在初次分区的时候,不把所有的SSD容量都分满来达到相同目的,此处有一点要注意,若非首次分区就留出空间,必须要先进行全盘擦除(Secure Erase),否则没有效果。
虽然OP会减少SSD的可用容量,但有减少WA、提高寿命、性能的正面作用。请看下图:两个相同的64G SSD,左边的分区50G,右边的全部容量分区。格式化后容量分别为:46G和59G左右。
我们知道在操作系统下,要写入共59G的数据时,左边的盘必须删除13G的'无效'数据才行。右边的盘不需擦除就能写入所有59G数据,由SSD映射表的操作方式可知,删除后继续写入的数据在物理上会继续写入整个盘(写入OP1和OP2),在LBA上会覆盖被删除数据的地址。也就是说,同样写入59G数据,左边的盘已经包含了13G"无效"数据了。(那些被重映射到预留空间的数据,原地址数据就是"无效"、"过期"的)。所以说图中SSD里LBA上数据"有效"的机会比右边要少,因为LBA容量小(分区小),所以在做垃圾回收处理时,需要复制的"有效"数据也少了,自然效率就提高了。
一般来说,建议在不支持Trim或对SSD的性能有较高要求的时候,如数据库等类的应用,增加一定比例的第三层OP容量(此空间需要先做HDD ERASE,保证没有被使用过),可以很好的起到保持速度,提高寿命的作用。(如必须用SSD组建RAID时,强烈建议留部分OP容量以弥补没有Trim产生的影响。)
 

While solid-state drives (SSDs) are often similar to mechanical Hard Disk Drives (HDDs) in physical dimensions (e.g., height, width and length) and external interface (e.g., SATA or SAS interface), the internal low level operation and components of an SSD differ vastly from the spinning magnetic platter design of an HDD.

After an SSD is assembled, the SSD manufacturer can reserve an additional percentage of the total drive capacity for Over-Provisioning (OP) during firmware programming. Over-provisioning improves performance and often increases the endurance of the SSD, helping the drive last longer due to the SSD Controller having more Flash NAND storage available to alleviate NAND Flash wear over its useful life.

To calculate the over-provisioned (OP) percentage of an SSD, the formula in Figure 1 can be used.

Percentage Over-provisioning =

Physical Capacity - User Capacity


User Capacity

Figure 1. Over-provisioning percentage formula.

It is common to see 7 percent overprovisioning present in many SSDs. See Figure 2 for a breakdown of physical capacity present in an SSD versus available user capacity after overprovisioning.

Physical capacity User capacity % Over-Provisioning Application Class
64 GB 60 GB 7% Read Intensive
96 GB 90 GB 7% Read Intensive
128 GB 120 GB 7% Read Intensive
128 GB 100 GB 28% More Write Intensive
256 GB 240 GB 7% Read Intensive
256 GB 200 GB 28% More Write Intensive
512 GB 480 GB 7% Read Intensive
512 GB 400GB 28% More Write Intensive
1024GB 960GB 7% Read Intensive
1024GB 800GB 28% More Write Intensive
2048GB 1800GB 14% Read Intensive
2048GB 1600GB 28% More Write Intensive

Figure 2 Over-provisioning based on capacity and application class

转自:

https://www.kingston.com/us/ssd/overprovisioning

http://blog.csdn.net/guojing3625/article/details/10136551

[硬件知识]OP(Over-provisioning)预留空间的更多相关文章

  1. 硬件知识整理part4--0欧电阻在电路中的应用

    逝者如斯夫,不舍昼夜. --<论语子罕篇> 说起0欧电阻,必须先铺垫一下电路中的各种地. 先说一下,地是什么??地是参考0电位,所有电压都是参考地得出的,地的标准要一致,故各种地应短接在一 ...

  2. 硬件知识整理part2--电阻在反馈网络中的应用

    学而不厌,诲人不倦,不知老之将至.--孔子 电阻作为电路中基本的元器件之一.在电路设计中,我们有时会使用欧姆定律来大致估计一下电阻值的大小,但是大多时候我们是不用去过多考虑电阻值的大小,像我这样大方的 ...

  3. Cisco的互联网络操作系统IOS和安全设备管理器SDM__路由器软、硬件知识

    路由器软.硬件知识 1.路由器的组件: 组件 解释 Bootstrap 存储在ROM中的微代码,bootstrap用于在初始化阶段启动路由器.它将启动路由器然后装入IOS POST(开机自检) 存储在 ...

  4. 硬件知识整理part3--电阻在单片机系统中的应用

    邦有道,如矢:邦无道,如矢.  --孔子 电阻在电路中主要功能是限流和分压等等.在单片机系统中自然也是. 电阻作为限流应该是最常用的应用之一,对于单片机外围设计来说,电阻的应用非常重要,在很多时候,我 ...

  5. 电脑的基本硬件知识以及unix图解

    1.DELL R720 R610 2.电源: 人体心脏3.硬盘: 存数据的地方.机械的性能不高,3.5英寸 性能 SATA 借口<SAS <SSD 价格:SSD> SAS>SA ...

  6. python_基础硬件知识

    通过学习这一篇章的内容,回顾了<数字逻辑><计算机组成原理><操作系统> 这几门课的相关知识 有时候,总是要了解一些基本,才能更容易理解程序 以下是我的一些听课记录 ...

  7. STM32 -- 硬件知识

    一.网站资源 1.http://www.stmcu.com.cn/   二.硬件 1.BOOT0 和 BOOT1  1)一般BOOT0和BOOT1跳线都跳到0(地): 只是在ISP下载的情况下,BOO ...

  8. 迅为4412开发板Linux驱动教程/硬件知识及原理图的使用

    视频教程下载地址:http://pan.baidu.com/s/1pJwxUfL 嵌入式研发流程介绍 • PCB研发流程介绍 – 方案,原理图(网表) – layoutproject师(gerber文 ...

  9. ARM-Linux S5PV210 UART驱动(1)----用户手册中的硬件知识

    一.概述 The Universal Asynchronous Receiver and Transmitter (UART) in S5PV210 provide four independent ...

随机推荐

  1. 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下)

    在使用百度编辑器ueditor的时候,怎么将图片保存到另一个服务器,或者上传到ftp服务器?这个问题,估计很多使用UE的人会遇到.而且我百度过,没有找到这个问题的解决方案.那么:本篇文章就很适合你了. ...

  2. .netcore与vue的学习笔记001

    1.dnc的js引用 需要引用的js文件要放在解决方案下的wwwroot目录下.否则将无法获取到指定js文件,出现404错误 2.vue的相关运用 0)通过new Vue并传入object来实例化一个 ...

  3. MVVM Light 新手入门(2) :ViewModel / Model 中定义“属性” ,并在View中调用

    今天学习MVVM架构中“属性”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华的利刃 MVVMLight系列. 一个窗口的基本模型如下: View(视图) -> ViewModel ...

  4. JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice

    JEECG系列教程二 如何在JEECG框架下使用webservice 本文所使用的webservice是c#开发的 其实无论是什么语言开发的webservice用法都一样 java springmvc ...

  5. ES6躬行记(22)——Promise

    在JavaScript中,回调函数是处理异步编程的常用解决方案,但层层嵌套的回调金字塔(如下代码所示)一直受人诟病,因为不仅在视觉上更加混乱,而且在管理上也更为复杂. setTimeout(() =& ...

  6. webpack快速入门——CSS分离与图片路径处理

    1.在终端安装extract-text-webpack-plugin 2.引入插件 const extractTextPlugin = require("extract-text-webpa ...

  7. python基础知识input到while循环

    j周笔记 输入与输出 1.输入 input ('请输入内容')= 字符串 2.输出 print(输出到控制台) 变量vairable               变量就是相当于我们人的名字 1.名字 ...

  8. Jmeter之Bean shell使用

    转载地址:http://www.cnblogs.com/puresoul/p/4915350.html 一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且 ...

  9. System Trace in Depth

    原理 使用 system trace 时,会记录最近 5s 的 kernel trace,然后分析下面的操作: Scheduling activity System calls Virtual mem ...

  10. Codeforces Round #556 (Div. 2)

    比赛链接 A 贪心 #include <cstdlib> #include <cstdio> #include <algorithm> #include <c ...