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. 国内云计算的缺失环节: GPU并行计算(转)

    [IT时代周刊编者按]云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一.当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑.但本文作者祁海江结合自身的 ...

  2. 浅析JS模块规范:AMD,CMD,CommonJS

    from:https://www.jianshu.com/p/09ffac7a3b2c 随着JS模块化编程的发展,处理模块之间的依赖关系成为了维护的关键.   模块化 AMD,CMD,CommonJS ...

  3. elk部署心得

    一.ElasticSearch 部署 1.配置文件里node.name 要不一致. vim /etc/elasticsearch cluster.name: aubin-cluster # 集群名称 ...

  4. flask源码解析之session

    内容回顾 cookie与session的区别: 1. session 是保存在服务端的键值对 2. cookie 只能保存4096个字节的数据,但是session不受限制 3. cookie保存在浏览 ...

  5. Math-645. Set Mismatch

    The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of ...

  6. react.js 点击事件传递参数的方法

    <button onClick={this.handleClick.bind(this, props0, props1, ...}></button> handleClick( ...

  7. cms的使用与总结

    1,把cms中的basecms复制进Wamp里面的www文件夹, 2,打开Wamp,打开网址http://localhost/basecms/core/admin/admin.php(该网址默认端口为 ...

  8. 如何在Mac OS中安装 wget

    首先从Apple Store下载Xcode,然后安装Xcode,接着安装Homebrew包管理,类似于Ubuntu下的apt-get: 终端下输入ruby -e "$(curl -fsSL ...

  9. Sington单例模式(创建型模式)

    一.使用Sington单例模式的动机(Motivation) 在软件系统中,经常有一些特殊的类,必须保证它们只有一个实例,才能保证它的逻辑正确性.以及良好的效率. 大多数类用的是常规的构造器,所以往往 ...

  10. django第二课 网页继承

    第一步 创建项目(有问题可以看我的第一个博客) C:\Python36\Scripts\django-admin.py startproject *** (我的写法,仅供参考) 第二步 创建文件夹,同 ...