|
你是否感觉固态硬盘越用越慢?这是咋回事呢?
# O: f4 v) u' f9 j$ x; O+ E4 J, }& e# X
* S" D. e# [1 T6 F江湖上关于固态硬盘传说那么多,哪些是真的呢? ! A& ^9 O' L7 [+ l4 F0 ^7 J
) g; o* l: G6 g/ u* n" q
( ^# D0 m# B) z
01 固态硬盘为啥越用越慢?
' Q5 e: N# e; g+ M6 M
0 R8 L# X, X5 f9 _2 N, k0 Q3 o9 u要想回答这个问题,就不得不提到固态硬盘的擦写过程(P / E)。 为了便于理解,我们用这些小格子代表闪存的单位存储空间,其中白色的格子表示空白的存储空间,蓝色的格子表示已存有数据的存储空间。用小格子组成的灰色区域表示一块储存区域。 当你删除了某个文件,硬盘并不会立刻擦除对应位置的数据,而是会给它打上一个标记:“空”。
# I, S, p. J4 _$ ]/ q/ k9 ~
8 a) u3 |4 q( s8 M. Q
: j! k2 ~; g& y* P. R* h, w当你要存储某个文件时,硬盘也不会在标记的位置写入新的数据,而是会把数据存进空白的区域,利用更多的存储空间。( w1 z8 K# Z4 q! ?
: x5 ` ^/ R- i; F: ~* K9 r% c q3 e* X1 M) e9 q
# o/ u( c7 k, B, g# i' o随着读写次数的增加,硬盘里的空白区域很快就被用的差不多了,此时如果还要写入新的数据,就需要把这些带有标记的位置腾出来,也就是擦除带标记的数据。 / g6 [1 s6 v9 I9 }! C b5 u' w! h
- }6 l7 H4 v2 d$ I
# S. Q1 |9 O/ i! v% y但要擦除数据,不能只清除对应的格子,而是必须把一整块区域清空,才能写入新的数据。 这个过程被称作写入放大(WAF),它意味着更复杂的步骤、更长的耗时、以及更多的擦写次数。
, {' ~9 m6 d1 M5 ]7 G; O, R6 K$ w# n# h1 P9 O
我们举一个具体的例子:
1 i( ?0 L; [5 T' x; L. B7 p" Y
3 M, \% d: T- k& {7 h( t+ Q! G当要写入一个的数据“7”时,最坏的情况是一个块里已经没有干净的格子了,但是其中无效的数据(标记为“空”)能够擦除,所以要把全部的数据都读到缓存,擦除区域内里的所有数据,再把新数据写进去。 # u, g! p! g+ D6 s
9 l2 E& Y% E' G* ]* V E9 g5 h 那么这个操作带来的写入放大就是:原本只需要写入一个格子,实际上却造成了整个块的写入操作。
3 c+ \( x4 O3 q6 M
. U) @9 B; s; Z/ H$ ?3 t
* o2 H) c3 B, z
9 ?9 M9 R6 {, j同一时间还造成原本仅仅需要简单一步写入数据的操作变成了:
7 D0 x$ n! Z4 f6 E: ]9 `& O+ a; v6 N9 N
缓存读取整个区域-缓存修改数据-擦除清空整个区域-写入所有数据,共四步操作,与直接写入相比延迟将大大增加。
2 |* M. M' Y, a" B) C# u
" \3 Y4 W; F" U% f2 G5 \; h所以说:固态硬盘越用越慢?还不怪你塞的太满~
& t3 W# K4 b F/ o K0 N5 k
; g4 }/ s" E; g- n# ~8 f* n# o
3 o* L1 T8 A [: t: j$ n. {+ t$ U5 p. A$ Y# U
知识丰富的小伙伴都知道,对于计算机领域来说 256 和 512 这样的数才是“整数”,为什么市面上的固态硬盘经常是 240G 或者 480G 呢?这是通过预留空间,强行阻止大家把硬盘塞满,从而延长硬盘的使用时间。
% P; `9 Z9 v' Z5 Q# g9 s5 K& F8 R X6 V) r& u0 [/ m
5 n; @5 @& \. h, u把磁盘塞得太满虽说会影响固态硬盘的性能,但是真正影响寿命的其实是擦写次数,当擦写次数到极限时,固态硬盘就会损坏,里面的数据也会丢失,那么该如何判断固态硬盘可以“活”多久呢? / K5 N0 Q, G& I3 R
r( D, n& H: b1 `5 {- v# i
- s: B: \$ W( f4 g! ?) j4 N02 如何计算固态硬盘寿命 ) R1 y7 a6 D) d( G. t! J
# V) Z# Z0 Y' f$ G6 X/ ^, V0 L固态硬盘寿命计算非常简单: % R% _ E. W' G
8 ~4 l9 f0 B. d" q
举例说明一下: 2 m- B3 n3 ?3 }4 x
4 r% Q2 o0 e* K0 F B$ p# | ?
如果土豪的你买了一块 2TB 的固态硬盘,总擦写次数为 1000,假设每天向这块固态硬盘写入 100GB 的大容量数据,那么根据计算,可以得到:
. x6 r- V6 m" y, i# d! b7 z1 U* @7 x& q
使用寿命:(2048*1000)/(100*365)=56 年。
7 ^7 j; M9 H7 o. D2 l* x4 {% f j3 U
$ t: H5 r5 B: l; ^4 W. ^; w0 ^- `3 @) T/ E% t5 M. e$ W
- l* z, E/ t1 B& H一块好的固态硬盘,好好使用它,它可以一直陪着你到退休~~
9 A4 [8 f# v# L `' l3 j6 `3 |' ~8 }6 k0 p1 p) j
8 g4 y! r6 k0 ^
03 如何保养固态硬盘?江湖传言都是真的吗?6 ?2 t+ C+ u1 K0 j0 N1 _
' ]# U4 f0 F! E" V读到这里,其实你已经知道不要把硬盘塞得太满,但是江湖上流传着很多固态硬盘保养的经验!那些都是真的吗?让小编悄悄告诉你~1 L9 f% L0 l; |: G
分区会影响固态硬盘使用性能 — 假!
% K( q7 ]3 u, Z& o
% l. U5 Y7 O0 z' B固态硬盘分区基本不会影响硬盘性能。
7 w' @) C" @; k% G
1 |, N2 K0 a$ E" X& d有人可能会说“数据存储在 C 盘,读取速度最快”,“每分一个区,系统都会预留一定的缓存,造成一定的容量浪费。”“擦写次数是有限制的,长期对系统 C 盘读写,可能会导致缩短寿命。”其实对于固态硬盘来说,这些担心都是多余的!
' S3 {: D0 ?5 n
: h ]- U( y% m# p6 ^, R J1 u- z, P! X2 o
(机械硬盘)
5 e4 K# [/ u) r6 m ]' H; R# e2 n; o* f
% m9 O: b* l* d& S6 \(固态硬盘)$ |1 Q; b8 Q8 |* x6 [
! K; l2 J1 X" |
机械硬盘主轴是以恒定的角速度转动,这样扫过的磁盘扇区面积,靠外圈的永远大于靠内圈的,C 盘位于外圈,单位时间内,磁头扫过的扇区面积最大,所以系统装进 C 盘速度最快,之后的 D、E、F 盘速度则递减。
5 `7 j, a* @8 w% {! d
7 \" T, d" Q1 q9 L/ K0 `5 d而固态硬盘主要由主控和闪存颗粒等部件组成,没有机械盘的机械结构。数据无论存在固态的哪一块,速度都一样。* h" I0 G& W& N: ^+ |8 i$ r
9 F. S, E9 n4 M- T( L( q/ j
而且随着固态硬盘的不断发展,目前市面上的固态硬盘主控也在不断升级,在垃圾回收、预留 OP 空间、自动分配、擦写均衡等功能方面日益成熟。不用担心分区会造成容量浪费或者某一位置的过度擦写。
" m, u5 Z& U: @
3 a) a, V: O' P$ x# @* R所以,小编建议固态硬盘按需要分区就好,如果经费有限,配的是 256G 以下的固态硬盘,小编建议就不要分区了。
. l' W8 ^7 H' |& B- l# n+ @/ \: ~% b( d) Z) V6 ~3 ]/ s! V% m1 g- s
磁盘碎片整理功能可以优化性能 — 假!
" Z5 Q9 p- \( G8 K: v6 v3 Z, `0 b" g3 \# @& s! V
6 ]; J t' {$ X
0 Z8 [6 p! U, ^/ K. ?7 n在机械硬盘中,文件不是连续地保存在磁盘连续的簇中,而是哪有空存在哪里,由于文件被分散保存到整个磁盘的不同地方,就产生了磁盘碎片。在存新删旧的过程中,磁盘碎片就变得散乱不堪。在这种情况下,读取就增加了硬盘寻道时间,也增加了能耗。
3 o" Y3 `; p: X& ?) r' R# t* F+ h8 _% ]/ `4 e) E* K
因此磁盘碎片整理功能就是通过整理磁盘碎片文件,让碎片文件合成一体,加速了磁盘的寻道时间,从而整体上加快了速度。4 S) M: d' j) Y( C( E) G) I' l N
* r3 H& ]$ k5 y/ P3 S) W3 H: W" D那么为什么固态硬盘不需要磁盘整理呢?
1 T, X: ^5 a) }) x3 ]; Y; v! ]3 |/ ~- B4 b7 c( n; _; ]
固态硬盘寻道时间几乎为零:固态硬盘的存储单元,是基于闪存颗粒的电子存储,因而在寻道时间上理论上是永恒不变的,其性能则主要取决于主控芯片的性能和闪存颗粒的工艺。
# R' S/ Y. p, @7 \* m6 t/ W' W0 e
7 [* T, W% n7 |$ m固态硬盘有读写次数限制:一次磁盘碎片整理就相当于一次全盘读写,相当于擦写次数减 1,可见磁盘整理多么损耗固态硬盘寿命。9 @ H9 v5 ~: K7 T* I, g$ R. ?
% O3 C8 s: Y+ q5 n- N, G
其实,系统识别到安装的是固态硬盘后,都会默认关闭这个功能。所以我们不要因为看起来可以“节约硬盘空间”,在使用固态硬盘时把它打开。
2 h, v" V$ a' X) R8 G1 ]9 J
3 y% L! O, K" b& Y& [要更新固态硬盘固件 — 真!
/ H: t/ N+ L+ N; ]8 j! l! ^5 T. l A2 f& c( N4 [
如果我们把固态硬盘比作一台小型的电脑,那么固件可以理解为其操作系统。固件控制固态硬盘一切的内部操作,可以直接影响固态硬盘的性能、稳定性以及寿命。* D# @) h9 m+ @+ m) X- y+ }
' y* q3 Q4 {8 I: r# \' h m
% _, D( y% Y" O
, w0 N$ n) f) x: V0 r
优秀的固件能减少固态硬盘不必要的写入,从而在提升固态硬盘性能的同时延长固态硬盘的寿命。所以我们要及时更新官方发布的最新固件。
: Z; v# z: H: O% u5 q5 A0 M4 s* v; z* D! u2 G5 s( n2 y
开启 Trim 可以提升硬盘性能?— 真!
! Q% {, \. w% u7 \4 @1 b; D4 A8 e6 k1 {; k) o7 M
Trim 指令也叫做 disable delete notify(禁用删除通知)。之前我们说过,固态硬盘删除一个数据是先给数据打上标记,等到系统要求在标记的地方写入数据的时候才会把不用的数据擦除,这样其实无法在最适当的时机做出最好的优化。
5 r0 G$ L d8 A2 z# e" L" N' h7 E( d; B7 Y5 f8 L- x$ Z* p
Trim 就可以很好的解决这个问题,开启 Trim 之后,固态硬盘可以立即将需要删除的内容删除,而避免了等到要写入数据时候才删除数据的尴尬。
) L" {# M" J f4 q& } A1 N, y$ K2 d! Q* Q
$ b! g; F3 ^, M& U0 E4 O% |
1 J" e8 v' j2 U$ D) C6 OTrim 没有改变原本要做的事情,只是提前做完了。所以在大家使用的时候,速度就上去了~Trim 可以有效地降低写入放大,从而获得更高的吞吐量,增加固态硬盘的耐久度。
N |, I! h0 ^) P# i. v/ Y1 M$ B3 e3 ]# ]
但是!!开启 Trim 后,对于误删的数据,想要恢复,基本就不可能了……$ J+ K* E& c* x+ Y) a6 j+ j. Y
/ d! _4 X* P3 [ v1 N, x0 t) m
2 t6 V7 D1 \3 ]/ S6 ~
0 {/ R. A6 |) ]7 N0 [" a
总结来说,固态硬盘越用越慢的原因是由于固态硬盘机制基于写入放大原理。所以为了保证固态硬盘可以一直高速运行,我们要:
# i) x" A8 ~( b9 Z
$ e2 F; Z. `* a- {+ O8 F4 ~→ 合理使用固态硬盘容量. ~* B$ d9 ^5 Z) c; }
3 q( x6 _4 H3 T→ 及时更新固件
' v8 E1 \7 @# M
/ p2 u; t1 y. ?" K→ 开启 Trim 模式
& Q* {' {6 C4 V- v6 x# R( T# _8 U2 j0 Q0 L3 f/ ]- v) B
→ 不要开启磁盘碎片整理功能+ f+ [1 z2 J% M' H
3 ~7 D: `7 @- v, d8 a% D8 W
最后,希望各位小伙伴的固态硬盘都可以“健康长寿,运行如飞”~~~" F2 N0 @6 P6 F6 ]% A$ W
0 O; L/ y* X# {
本文来自微信公众号:中兴文档 (ID:ztedoc)
% \. V* i3 U* P+ z6 o' \- h原文链接:https://m.ithome.com/html/645727.htm |
|