【请教】SSD 的 over provisioning
本帖最后由 luoht 于 2018-4-25 10:56 编辑有没有从事 SSD 行业的大神,来解惑一下over provisioning(OP)?
所谓 SSD over provisioning,就是在 SSD 上预留一部分空间,据厂家的说法,好处是提高性能(主要指写入性能)、延长寿命。当然坏处就是可用空间减少了。
关于 OP,最详细的解释应该是希捷的这篇:https://www.seagate.com/tech-insights/ssd-over-provisioning-benefits-master-ti/
根据以上文章,OP 其实分三类:
一、7.37% 的“先天OP”(Inherent OP)。这个是硬件层面的,用户不可见,不可调。
二、出厂 OP(Factory-set OP)。在下图中的例子是 28% 的出厂 OP。
三、动态 OP(Dynamic OP)。这个就是我们通常用 SSD 随机软件设置的(未分区空间)。
那么问题来了:
1) 针对“出厂OP(Factory-set OP)”,到底用户可见还是不可见呢?看原文好像是用户不可见。那么怎样可以查到某个型号的 SSD 有多大的出厂OP呢?
2) 针对“动态OP”(用户设定的未分区空间),SSD 控制器又怎知道哪个空间已经分区,那个空间未分区呢?按我的理解,控制器是物理层面的,应该不懂得读分区表(如有误解,敬请指正)。
3) 某些厂家的文档(https://www.micron.com/~/media/d ... e_windows_brief.pdf)提到:“如果将近满容,SSD 性能就会下降(因为只能用先天OP来做 garbage collection 和 wear levelling)。在 Windows 操作系统上,可以通过删除无用文件来解决,保持最少10%-15%的可用空间”。楼主对这个论点很疑惑:
a) 控制器怎样懂得文件系统?从而能使用文件系统的可用空间?
b) 如果控制器真的懂文件系统,而且能利用文件系统中的可用空间来做 OP,那根本就不需要用“未分区空间”来做动态 OP 了。用文件系统的可用空间来做 OP 可谓两全其美——空间可以灵活运用,不像“未分区空间”那样,只能给控制器用而不能给用户用。
诚心请教!
我比较倾向于赞同你的观点。所谓的动态OP,就是给极端恶劣的工况,类似于监控或者数据服务器那种经常写满的场景,预留一些空间而已。个人用户很少会写满全盘,偶尔临时拷贝东西,容量也更加重要。
分区不分区本身毫无意义,分区表对于ssd来说就是FTL层里面模拟出来的东西,数据来了该往哪写入,还是由主控的算法决定的,只要nand颗粒还有剩余空间,就能有op的效果。 luoht 发表于 2018-4-25 09:48
有没有从事 SSD 行业的大神,来解惑一下over provisioning(OP)?
所谓 SSD over provisioning,就是在...
文件系统可以通过TRIM/UNMAP命令通知控制器那些sector可以回收了,主流操作系统和文件系统都支持这个功能。控制器是不可能去读懂文件系统的,只能是文件系统告诉它怎样做。 本帖最后由 luoht 于 2018-4-25 11:39 编辑
ganboing 发表于 2018-4-25 11:23
文件系统可以通过TRIM/UNMAP命令通知控制器那些sector可以回收了,主流操作系统和文件系统都支持这个功能 ...
TRIM 好理解。但操作系统是不是通过 TRIM/UNMAP 命令通知控制器哪块是未分区空间?
对了,在顶楼的链接中找到答案了。原文是这样说的:“In most notebook/desktop applications, even 10 percent OP is probably not necessary because having 10 percent of empty space in the active partition has the same effect.”
翻译一下:
“在大多数的笔记本/台式机应用中,根本不需要预留10%(未分区空间)做OP,因为在分区中有10% 可用空间,效果是完全一样的”。
这就解答了我的疑问。我觉得留个10%未分区空间做OP有点浪费,2TB 的 SSD 就有足足 200GB 空间浪费了。把那 200GB 放到分区内(文件系统中)。偶然需要拷贝大文件的时候,用得着。平时不用的时候,可以让控制器做回收整理操作。这样可谓两全其美。 感觉预留10%op空间没错,很好,可以不用考虑磁盘剩余空间了,要不然在磁盘快满时还要考虑不能存储满了,如果满了会造成磁盘性能下降很多。 本帖最后由 94724000 于 2018-4-25 19:43 编辑
民用级的OP太低了,现在使用intel企业级ssd ,本来就预留了OP空间,不用担心盘满掉速 我用的一个所谓工业级的 SSD
512G 的颗粒 112G 的 OP
实际可以用的容量只有400g洋垃圾 , 竟然被用了几年了也没坏. zhangyongtao 发表于 2018-4-25 21:19
我用的一个所谓工业级的 SSD
512G 的颗粒 112G 的 OP
实际可以用的容量只有400g洋垃圾 , 竟然 ...
哈哈,如果 512GB 的盘,256GB 的 OP,也许再用十年也不坏。只是可惜了空间。
其实 OP,就是针对大量写操作的。所谓“工业级”、“企业级”,一般指服务器应用,假定应用场景是大量写操作,自然要预留大量 OP,价格就上去了。
一般的笔记本用户,没有那么多写操作。再用 RAM 做个缓存,应该足够了。 担心这个还不如把休眠和fast boot 赶紧关了
页:
[1]