在计算机日常使用中,若要追求更高的使用流畅度及舒适度,在经济条件允许的情况下,添置固态是非常有必要的。
: e. l0 @5 f- w2 q4 u
% s! y" n0 B9 p9 [3 }如何选购?
' E$ Z* S6 i+ U6 ~' C% U( W: v+ u' ]% L ~; }
1、先看预算,预算充足但是不想花冤枉钱追求性价比就继续看;预算不够就自己取舍吧;预算拉满,快关了这贴买最贵的就好了。什么?接口错了,接口错了就再买块新主板。
1 l) L% w0 |# m$ ]8 k# g
7 [) H# U- {8 l2、主板接口:看自己主板上有什么接口。有无M.2接口?有的话是哪种类型?是否支持NVME?PCIe通道?然后再去找相匹配的固态。如果主板太拉胯就换个主板吧兄弟,固态能带来一定提升但是用了3年以上的电脑性能瓶颈通常不止一个~
" S# `: i7 P8 |! Q1 ~) l
" K+ ?' z& M: ~( Q3 z3、品牌:选择正规购物平台、选择大品牌的产品。这里不得不说国产颗粒真香,长江存储yyds,虽然会有点bug,但是性价比超高,要求可靠性非常高、接受不了可能会发生蓝屏等bug的,就多花点钱买三星之类的~
4 k6 H0 v0 E. s
2 `. \4 a6 ~& j t4、关于PCIe:目前(20230902)推荐PCIe4.0及以上版本,PCIe3.0就算了,速度慢很多。
) W8 Z Z, W: X- |8 f
* n5 i, Q4 w) o T5 H7 s
5、关于缓存,推荐买DRAM,且1T的存储容量要配1G的DRAM缓存(SLC Cache也是缓存,所以要问清楚是不是DRAM缓存)。如果觉得DRAM缓存的方案太贵了,可以选择SLC Cache缓存,但是在使用过程中注意固态中的数据不要太多,不然使用起来不仅和无缓存是一样的,而且对固态的使用寿命降低的更快。
, t( y5 B7 V# G( [& i. a% I( G% [4 y" j b0 y7 H
ps: 如果要购买移动固态,注意自己计算机以及移动固态的接口,通常移动固态的传输速度被接口的速度所限制。如非必要,不推荐这样做,性价比不高,不过嫌弃移动硬盘速度太慢想要更高的传输速度,这也是一个方案。
6 R& C) L: U5 f) }# m5 Z% D) e, |
8 b% p- ^$ ~3 D, y* A
为什么买固态?
, D8 v5 T b. }. D& ^
. Z& L5 Q* \6 Y+ M V( _: ^
在固态进入消费级市场之前,TB级数据存储通常采用机械硬盘。而随着人们对于数据传输性能的要求不断提高,机械硬盘的传输速度已经不能满足人们的需求了。尤其是在随机读写(随机读写不同存储位置的数据)方面,由于机械硬盘需要花费大量的时间移动磁头寻址,因此表现不佳。
1 ]+ O/ s; a( [% n8 A) D
! m0 o* L4 E6 b; L
为了说明固态和机械硬盘的差异,对笔者购买的固态和机械硬盘进行读写性能测试。在计算机正在使用过程中,顺序对固态和机械硬盘使用CrystalDiskMark8.0.4进行读写性能测试。机械键盘于2022年9月539元购入,型号及相关参数为:希捷 4TB 5400转 256MB SATA,固态于2023年4月719元购入,型号及相关参数为:梵想2TB M.2接口PCIe 4.0 x4长江存储国产颗粒2G独立缓存S770 。以下是读写测试结果。
* O- ?! R" a+ J0 s- c4 q% {3 b
5 |9 p9 D* W n) z9 W0 I8 B读写测试参数解读:采用总量为1G的数据,使用单线程分别对上述固态和机械硬盘进行顺序读写和随机读写性能测试。其中顺序读写单个文件大小为1M,分别基于1队列和8队列进行测试,而随机读写单个文件大小为4K,分别基于1队列和32队列进行测试。
+ _3 |. B; ~% y# c: m5 E$ y: N" B9 \: b! U3 ~# U- b
顺序读写测试结果解读:在顺序读写的测试中,固态的顺序写速度是移动硬盘的17.17倍和15.80倍,固态的顺序读速度表现更加优秀,尤其是在顺序读速度上,分别是机械硬盘速度的43.22倍和25.28倍,速率达到了7129.21MB/s和4139.07MB/s,大部分人正常使用过程中,这个速度可以让人们感受不到硬盘的存在。
. ~# Z/ ~. y& [
# [9 l5 P% B' @4 V4 [. j在随机读写测试上,总体上表现均不如顺序读写速度,但从横向来看,固态的随机写速度是机械硬盘的1692.17倍和845.00倍,固态的随机读速度是机械硬盘的442.42倍和127.68倍。
( ~4 Y7 f9 s' a7 u+ [
) X- Y# ~( ]" p7 ?单线程测试中,固态相比于机械硬盘只是减少了寻址的时间表现都如此出色,多线程就更不用说了。何况固态使用NVME协议,而该协议对多线程进行过针对性的优化,机械硬盘由于结构原因,本身只能进行单线程操作。笔者使用AS SSD Benchmark对固态进行了读写测试,其中单线程4K读写和64线程随机4K读写差距悬殊,由下图不难看出,固态在多线程读写上表现非常出色。
: W; w5 p2 ` b, f6 Y/ Y: n/ b Z2 |1 v5 b9 V& f/ a2 I \9 W
实际使用过程中,系统装在固态上,在屏幕闪过logo之后,我感受不到加载的时间就开机了,有时候需要进入BIOS修改设置,但是竟然会因为开机速度太快而进不去。打开安装在固态上的大型软件或大型游戏同安装在机械硬盘上相比,打开过程的等待时长和卡顿有明显优化,使用更加顺畅,尤其是涉及到一些IO比较多的操作。
+ b0 i6 }* F) T$ j( D
V9 a: f- g' G2 G# v当然机械硬盘也有其优势,同等容量相比于固态价格更加便宜,更加适合用作备份读写频率比较低的数据,比如说一些见证生活的美好回忆的照片和视频(数据无价,请及时备份)。
! [9 i( Q/ C) L/ a. c1 b/ S2 F
/ _) Z0 i) e/ g$ L2 T5 V在计算机日常使用中,若要追求更高的使用流畅度及舒适度,在经济条件允许的情况下,添置固态是非常有必要的。
^* A; x% i2 i/ F
; z2 c T3 P! R4 W& F- f
什么是硬盘?
! n0 `8 b( w+ ~- U: v6 }! i
( o: W# M$ n- S1 e: p! T- V7 l7 v& K
软盘(Floppy disk) ,利用盘片上的磁性物质的磁性状态存储数据,盘片的材料是塑料片等柔性材料。易损坏,已远离消费级市场。
" I0 H7 F# r! m7 n8 {# d# y% ]! ^
& d: y- L$ ?2 a- }: Y5 v: {(机械)硬盘(Hard disk) 也是利用磁性状态存储数据,但是盘片材料相对更硬。
* y4 h6 ]5 T$ t9 G+ d" r4 A6 H" x4 {+ g
由于内部主要是机械结构,也称为机械硬盘(盘片旋转、磁头移动都依靠马达)。
# i; p" Z1 B- `1 n1 p/ f) @9 N
: b2 t% O* d- `$ ]光盘(Optical disc),通过激光扫描或写入不同长度的痕迹读写数据。
- M5 y/ s" G- b4 u
6 u. Y% o1 i I4 m! q& d3 d8 ~4 A什么是固态 ?
1 k, R7 H! u& X3 b0 m5 w$ f" y, e" y2 L6 l% ]
用固态电子存储芯片阵列而制成的硬盘,通过浮栅(Floating Gate)晶体管(最小存储单元)中存储电子的状态来表示数据。
$ _6 k7 P+ G1 u* P% f
& J0 \ a9 |" G
浮栅晶体管堆叠构成NAND Flash Memory(也可以堆叠构成NOR Flash Memory,主要有这两种Flash Memory,区别在于内部结构一个像NAND门,一个像NOR门,数电基础知识)
( n% d5 e- z" u0 ^! @; D: p( e
/ n3 i+ Z. w0 a! _9 K/ P
固态存储数据则是由Flash Memory实现的,NAND类型较为常见。
T* n! u0 A" V, R. Y1 C# N/ A, A0 M( c% |, x$ a
固态存储策略
! i% l( P9 [6 y% l% o4 n
0 s( P8 h+ m2 I4 @( }根据最小存储单元内电子存放策略的不同,NANA闪存主要又可以分为SLC,MLC以及TLC等。
( x3 o/ q. ? N c- a7 h, u8 E7 T
- G2 }/ d6 R8 ^2 o; tSLC,最小存储单元只表示逻辑0和逻辑1,此时一个最小存储单元仅能携带1bit数据。操作时由于状态简单,读取代价和擦除代价较小,但是存储数据的成本更高,存储1byte的数据需要3个最小存储单元。
. R: B2 Z8 S3 l1 b+ ^
) ~' X# S/ w# |* Y! @% b- e, w, \1 j0 N
MLC,最小存储单元表示四种状态:00,01,10,11。此时一个最小存储单元能携带2bit数据。由于状态较精细,读取和擦除的代价较大,但是单位数据存储的成本降低了,存储1byte的数据需要2个最小存储单元。
# h2 S9 f$ X% m! J3 X( M1 E5 q! |$ n) ^) a0 X0 T. @, D% U' s
TLC,最小存储单元表示八种状态,0-7。此时一个最小存储单元能够携带3bit数据。由于状态更加精细,读取和擦除的代价更大,但是单位数据存储的成本更低,存储1byte的数据只需要1个最小存储单元。
$ Y, F/ T; i2 x+ Q; Q
4 j0 E. ]- w; ~' c8 I4 V1 A
固态缓存
I( z; r2 W) S" B% `1 g/ q& E$ d/ D
2 X7 f' Y) l5 X9 o# m固态在实际运行过程中,主控通常不会直接和存储单元进行交互,往往是先同缓存进行交互,在实际使用中,缓存会极大提高使用体验和性能,缓存中找不到或缓存写满了再和存储单元进行交互,这时候固态的性能会下降很多。
- X: y6 k( j# N9 t5 W2 n# H1 z
6 i) l7 c% c9 ^% F缓存也分为DRAM、HMB以及SLC Cache,其中DRAM为外置缓存,由于DRAM成本较高,因此市面上有许多固态不会配置DRAM。而HMB则是借用一部分内存作为固态的缓存。而SLC Cache在存储数据时采用MLC甚至TLC策略,但是留出一部分容量采用SLC方式存储数据用来模拟缓存,由于SLC读写数据较快,因此在未超出SLC Cache容量之前,速度是采用SLC策略的固态的速度,相比于直接操作MLC或TLC更快,待空闲时再将该部分数据以MLC或TLC方式写入固态中。但是如果缓存满了,主控直接操作采用MLC或TLC策略的存储单元,这时固态的性能就会下降非常多。一开始的速度称之为缓内速度,缓存满了之后的速度称之为缓外速度。
# |8 o5 x: n% Q* z
; n7 G4 q5 @* i* C( p5 Y
因此如果购买了采用SLC Cache方案的固态,需要注意固态容量不要长时间太高,需要留一部分空间以模拟SLC Cache。不过这种做法也会造成写放大,假设固态存储数据采用TLC策略,则存储1byte数据需要操作3个模拟SLC Cache的存储单元,待空闲后还需要操作1个TLC策略的存储单元。采用SLC Cache策略将速度提高了,但是同样的,存储1byte的数据需要操作4个存储单元,而固态的擦写次数是有限的,因此采用SCL Cache也会降低固态硬盘的使用寿命。
1 B$ N7 P2 T% G" l4 ?
- a( O0 C( D9 D6 p
该部分参考【硬件科普】固态硬盘的缓存是干什么的?有缓存和无缓存有什么区别?
, S" i9 l" _! M6 |+ } e0 I( B& k( \5 B/ O- K2 N
固态选购接口等参数
: r. W. p' z2 J1 }* G+ V# i# d5 z
R( z+ |+ R* X“通道”参数介绍
9 O$ r0 y0 u! A- h
7 g7 L) a5 X3 B) V+ l2 ?. t6 HSATA 和PCIe 均为总线标准 ,数据传输逻辑意义上的“通道”的标准。
2 u# c0 @* ?7 `
( @/ q/ c, D# h! e2 z5 G
类比说明:SATA和PCIe的关系如同高速公路与一级公路的关系,高速公路和一级公路连接各个地域以便输送车流,而SATA和PCIe用来在计算机各个模块之间传输数据,高速公路和一级公路的规格(设计时速等)不同,SATA和PCIe的规格(设计时速等)也不同。
# ^4 ?3 `4 U! i( T1 U3 n. W
" h3 l% k: G6 [% T6 V: b! w3 p
[color=rgba(0, 0, 0, 0.9)]SATA各版本接口数据传输速度
[color=rgba(0, 0, 0, 0.9)]注:其中Gb/s表示G bps(1 000 000 000 bit/s),MB/s表示Million Bytes/s(1 000 000 Bytes/s,即8 000 000 bit/s)。
版本 | 带宽 | 编码 | 理论数据传输速率 |
SATA Express | 16Gb/s | 128b/130b | 1969MB/s |
SATA 3.0 | 6Gb/s | 8b/10b | 600MB/s |
SATA 2.0 | 3Gb/s | 8b/10b | 300MB/s |
SATA 1.0 | 1.5Gb/s | 8b/10b | 150MB/s |
[color=rgba(0, 0, 0, 0.9)]PCIe各版本接口数据传输速度
[color=rgba(0, 0, 0, 0.9)]注:GT/s即Gbit/s(1 000 000 000 bit/s)
版本 | 推出时间 | 调制及编码 | 全双工单通道传输速率 |
6.0 | 2021 | PAM-4 1b/1b | 64.0GT/s |
5.0 | 2019 | NRZ 128b/130b | 32.0GT/s |
4.0 | 2017 | NRZ 128b/130b | 16.0GT/s |
3.0 | 2010 | NRZ 128b/130b | 8.0GT/s |
2.0 | 2007 | NRZ 8b/10b | 5.0GT/s |
1.0 | 2003 | NRZ 8b/10b | 2.5GT/s |
9 `: a4 U% W5 P0 a7 @( X, i
如果有选购经历的读者应该会见到PCIe 4.0 * 4,这样的介绍或规格,其中4.0代表PCIe的版本,而后面的4代表通道数,实际数据传输过程中,计算数据传输速率需要乘以通道数 。
/ g1 D6 f: T5 Q9 e/ Y( f. i
$ P$ ^" I6 t1 y6 l“出入口”,接口参数介绍
& x: `9 W; c& W/ x
; E" Q! c7 r- e" F' s7 A3 g0 @
SATA接口:作为总线标准的SATA包含了SATA接口和SATA协议,接口速率参考“SATA各版本接口数据传输速度”。
8 m$ ^& U! k6 P0 c- ^1 s% y5 j0 K* u ?2 Q+ q
M.2接口:支持SATA及PCIe通信。
1 M5 {: X' F3 C3 s: \+ B3 I8 l* f G. W6 X
M.2有三种类型,Socket 1、2、3。Socket 1用于Wi-Fi,蓝牙,NFC等这里不介绍;Socket 2也称为B key,支持SATA以及PCIe * 2,固态上该接口被淘汰了;Socket 3也称为M key,支持PCIe *4。
9 F3 }5 ?, z4 W$ ?" k5 `+ C6 i
2 X/ {% d6 i- _' u: a
也有的厂商将Socket 2、3兼容了,称为B&M key。
j5 s$ E S- C/ H D. D0 g
! A. l {( D! S4 g( F
购买时要注意是否支持NVME。
u. e! a& C2 R# Q" |: F" p, M' s- e$ a/ E
需要注意的是,如果传输数据使用的协议是ACHI,那使用M.2接口和使用SATA没啥区别。购买M.2接口固态的时候,会把支持NVME标出来(如果不支持NVME那M.2接口和SATA接口没区别),这也是为什么购买时NVME经常见到而ACHI不怎么见到。
X% D* [% y5 U9 ~
; Y9 k) O1 [4 l. X4 ?2 g3 J9 Y
4 D F# S2 G% A% c, y1 P3 m
M.2 不同接口类型示意图
9 ]+ }8 S- C+ P7 Y( Y! A+ c9 |5 A/ Y
# z7 @% A0 Y. _( Q2 l% X. V* `
U.2:略,消费市场多一些再考虑写。
; r/ N# Z3 O2 {& [. t, N; u
1 V. C( ]9 s1 e
“通行规则”,数据传输协议介绍
' V) K$ [( `! N6 N4 l& K! f5 {9 _
5 P% R# j4 i( a: o2 G3 w
AHCI 是为机械硬盘传输数据设计的协议,早期固态使用的也是AHCI接口,但是随着固态性能提高,AHCI已经成为限制固态的一大瓶颈。AHCI在实际通行时是单线程的,这在机械硬盘上没有什么问题,因为机械硬盘只有一个磁头能够读写数据,不能同时进行多处的读写操作,但是固态则没有这个限制,为此专门为固态传输数据设计了新的协议,即NVME 。
' i" |) L4 M. v
& b1 l$ `" d/ z9 A: I1 A! A" v+ m