谁“偷”走了SSD的容量?

简介: 当你买了一块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的关系

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



相关文章
|
23天前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
159 8
|
6月前
|
算法
重磅!2025年中科院预警期刊名单正式发布!
中国科学院文献情报中心发布的《国际期刊预警名单》旨在防范学术不端与不当出版行为,保护科研生态良性发展。2025年版本聚焦两大问题:学术不端(如引用操纵、论文工厂)和不利于中国学术成果国际化传播的行为(如中国作者占比过高或APC费用不合理)。预警名单动态调整,发布时点从年底改为年初,便于科研人员及时调整投稿策略。被列入预警名单的期刊可能影响职称评审及科研经费认可,建议优先选择中科院分区表推荐期刊,警惕“快速代发”陷阱,并关注期刊官网声明。未来科研生态将更注重规范化与原创性,推动高质量学术发表。维护健康的学术环境对提升中国科研全球影响力至关重要。
918 0
|
8月前
|
机器学习/深度学习 存储 人工智能
《脉动阵列:AI硬件加速的“秘密武器”》
脉动阵列(Systolic Array)是一种高效的并行计算架构,灵感源自人体血液循环系统。它通过网格排列的处理单元(PE),以同步并行方式处理数据,尤其在矩阵乘法和卷积运算中表现出色,极大提升了AI计算效率。其优势包括降低内存带宽需求、高运算吞吐率和设计简洁,但也面临灵活性有限、全局同步难等挑战。尽管如此,脉动阵列仍为AI硬件加速提供了重要支持,推动了人工智能技术的发展。
671 14
|
网络虚拟化 网络架构 内存技术
vlan的作用及配置命令
vlan的作用及配置命令
|
安全 Android开发 数据安全/隐私保护
Android中的动态权限请求与最佳实践
【4月更文挑战第14天】 在现代安卓应用开发中,用户隐私和安全被赋予了前所未有的重要性。随着Android 6.0(API级别23)引入的运行时权限模型,开发者必须更加细致地处理权限请求,以确保应用功能的完整性同时不侵犯用户的隐私。本文将深入探讨如何在Android应用中实现动态权限请求,分析常见问题,并提供一系列最佳实践,以帮助开发者优雅地处理这一挑战。
630 5
|
Prometheus Kubernetes 网络协议
[kubernetes]集群中部署CoreDNS服务
[kubernetes]集群中部署CoreDNS服务
404 0
|
人工智能 自然语言处理 搜索推荐
AIGC在商业银行中的应用现状
【1月更文挑战第11天】AIGC在商业银行中的应用现状
437 3
AIGC在商业银行中的应用现状
|
存储 Linux 芯片
OpenSBI三种固件的区别
OpenSBI三种固件的区别
|
机器学习/深度学习 人工智能 自然语言处理
未来数据观|从大模型到AIGC:人工智能新范式
人工智能经历70余年的探索和发展,如今到了大模型时代并出现现象级AI产品。这不仅是人类研究积累的厚积薄发,也是数字时代下大数据、大模型、大算力发展到了一定阶段的必然结果。在大模型的加持下,AIGC(AI Generated Content,人工智能生成内容)有望助力内容生成跨越新时代,并开启人工智能应用的新浪潮。
1452 1
|
Java 应用服务中间件 Linux
Linux下Tomcat指定JDK和设置内存大小
Linux下Tomcat指定JDK和设置内存大小
766 0