Hiểu thêm về SSD, không sớm thay thế HDD như bạn nghĩ



- SSD nhanh nhưng có những bất cập về lâu dài
- Hạn chế về tiến trình bán dẫn là một thách thức lớn
- Những vấn đề kỹ thuật sẽ làm chậm quá trình thay thế HDD
- Lựa chọn tốt nhất cho hôm nay là dùng cả SSD và HDD


Nếu bạn hỏi tôi hoặc một ai đó rành về phần
cứng PC, rằng nên mua món gì để cải thiện hiệu năng máy tính, thì câu
trả lời thường là "hãy mua một chiếc SSD". Lời khuyên này lại cực kỳ
đúng nếu cấu hình PC của bạn đã mạnh sẵn với CPU 4 nhân, RAM từ 4 GB trở
lên và card đồ hoạ thuộc phân khúc trung cấp (mid-end) trở lên. Dĩ
nhiên với laptop có thể khác biệt một chút song nâng cấp lên SSD vẫn là
đáp án chủ đạo. Song lời khuyên này không có nghĩa bạn có thể "say
goodbye" với HDD trong hôm nay hoặc ngày mai, hoặc ít nhất là vài năm
nữa.



Tìm hiểu về ổ SSD OCZ%20Vertex%203-14908

Bản chất của SSD


Trong khuôn khổ bài này, tôi chỉ nói đến loại SSD bán phổ biến hiện
nay trên thị trường là loại dựa trên bộ nhớ flash NAND, cụ thể hơn là
các model được dùng như HDD. Trong trường hợp bạn quan tâm hơn đến SSD, một bài viết trước đây về lịch sử các loại SSD sẽ rất hữu ích.


Để cho gọn, SSD không khác USB flash drive (mà chúng ta hay gọi sai
là "cục" USB) là mấy về bản chất lưu trữ - đều là flash NAND. Flash
NAND nói riêng và bộ nhớ flash nói chung được cấu tạo từ các transistor
(trans) nên cách thức sản xuất chúng tương tự với chip nhớ DRAM hay các
loại chip xử lý khác (CPU, GPU).



Tìm hiểu về ổ SSD Clock%20frequency-14908
Minh hoạ về điện thế và giá trị của bit.

Những bạn đọc có tìm hiểu về IT hẳn sẽ biết tới hai con số "huyền
thoại": 0 và 1. Đấy là hai viên gạch cơ bản xây dựng nên thế giới số của
chúng ta hôm nay. Nhưng khoan, thực tế bit 0 hay 1 là do con người quy
định ra, các trans không hiểu 0 hay 1 là gì, chúng chỉ là các giá trị
điện áp. Và chúng ta tự quy định rằng ở điện áp cao thì đấy là bit 1
(hoặc ON), ở điện áp thấp thì đấy là bit 0 (hoặc OFF). Và đây là cơ sở
để bộ nhớ flash hoạt động.


Loại trans dùng cho bộ nhớ flash có tên FGMOS hay Floating-gate
MOSFET, dịch ra là trans hiệu ứng trường (field-effect transistor) có
cấu trúc dạng MOSFET với một cổng "trôi nổi" (floating). Khoan lần nữa,
tạm thời bạn không cần để ý MOSFET là gì, chỉ cần biết FGMOS rất giống
với loại trans "phổ thông" đang dùng trên các CPU hiện nay (không tính
trans trên chip Ivy Bridge của Intel vì nó đi theo hướng khác). Điểm
khác biệt cốt yếu là FGMOS có thêm một cổng "trôi" nằm giữa cực cổng
(gate) và kênh dẫn (channel). Phần đầu trong bài viết sau sẽ giúp bạn dễ hình dung vấn đề hơn.



Tìm hiểu về ổ SSD Basic-MOSFET_142e9
Transistor "phổ thông"...
Tìm hiểu về ổ SSD FGMOS-14908
và transitor có cổng "trôi".

Một trans "phổ thông" không có khả năng lưu trữ dữ liệu vĩnh viễn,
nó chỉ đơn thuần là một công tắc đóng / ngắt dòng điện qua mạch dẫn.
1967, hai kỹ sư điện là Kahng và Sze đã "thêm thắt" vào đấy chiếc cổng
"trôi" như chúng ta vừa nêu ở trên. Gọi là "trôi" vì chiếc cổng này
không "dẫn điện" với thành phần nào của chiếc trans, nó hoàn toàn bị cô
lập về tính dẫn điện do phía trên và dưới là hai lớp oxide cách điện
(ONO & SiO2). Bạn có thể ví von nó giống một cổng FA (forever alone)
cũng được vì nó chẳng thể "nói chuyện" với ai được nếu người khác không
muốn "nói chuyện" với nó.


Vì đặc trưng "FA" của mình, chiếc cổng "trôi" sẽ không mất điện thế
của nó ngay cả khi mạch điện bị ngắt. "FA" chính là thứ đáng giá với
các công ty sản xuất thiết bị lưu trữ dài hạn (non-volatile): bạn đặt
vào đấy một bit 0, nó vẫn là 0 cho tới nhiều năm sau và ngược lại (chung
thuỷ như FA nhỉ, đâu có "bay bướm" như tụi DRAM?). Như vậy, một trans
có khả năng "nhớ" dữ liệu đã ra đời - FGMOS nói chung và flash nói
riêng.


Vì sao SSD nhanh?


Qua phần trên, bạn vẫn chưa hiểu tại sao tốc độ SSD có thể cao như
vậy. Và chú ý hơn, bạn sẽ thấy mấy "cục" USB tốc độ đâu có cao, mặc dù
cũng là bộ nhớ flash? Câu trả lời nằm ngoài bản chất của bộ nhớ FGMOS.
Tôi có thể tóm tắt ra một số ý sau:




  • Logic hoạt động của loại chip flash (SLC, MLC, TLC...)
  • Số kênh (channel) NAND chạy cùng lúc
  • Cách thức điều phối các kênh NAND hoạt động (firmware, controller)
  • Loại giao tiếp hỗ trợ (SATA, PCIe...)
  • Hệ điều hành (Windows, Linux, Unix)



Về logic hoạt động của chip flash, tôi xin dành ở phần sau (lý do
sẽ nêu sau). Xin qua điểm khác biệt chính giữa "ổ" USB và SSD: số kênh
NAND. Hình dung như CPU 1 nhân và CPU 8 nhân. Dù bản chất là như nhau,
nhưng 1 người làm so với nhiều người làm cùng lúc, hiệu suất công việc
sẽ khác. Kênh NAND mang ý nghĩa tương tự, càng nhiều kênh hoạt động thì
tốc độ làm việc càng nhanh. Ổ flash USB thường chỉ có 1 kênh làm việc
nên tốc độ thấp.


Tương tự làm việc cá nhân và làm việc nhóm, chỉ một kênh thì cơ chế
làm việc rất đơn giản, làm tới đâu biết tới đó. Nhưng nhiều kênh thì
khác. Như một team work, cần có trưởng nhóm phân chia công việc đều tới
mọi người trong nhóm. Với SSD cũng vậy, cần có một chip điều khiển
(controller) để quản lý mọi kênh NAND làm việc cùng lúc. Thử hình dung
một file 8 MB thì mỗi kênh xử lý 1 MB (có 8 kênh), controller cần nắm rõ
từng phần của file đấy nằm ở chip flash nào (SSD thường có nhiều chip
flash).


Và đôi khi, chính sách của công ty thay đổi, trưởng nhóm cũng phải
cập nhật tình hình để cải cách lại nhóm. Các chính sách này chính là
firmware của controller. Một firmware "cùi" sẽ khiến hiệu năng của SSD
trở nên rất tệ và ngược lại. Đã có vài trường hợp mà bản update firmware
SSD khiến cho thiết bị lưu trữ hoá thành... cục gạch silicon! Lại nói, ổ
flash USB cũng có controller, nhưng vì cách thức làm việc đơn giản nên
giá thành các controller này cũng không cao và gần như không có gì để
cải thiện cách làm việc. Cho dễ hiểu thì controller của ổ flash USB khá
"cùi", controller của SSD khá "xịn".


Do có nhiều kênh làm việc cùng lúc (đa luồng, đa kênh, đa dây
chuyền... tuỳ ý bạn), hiệu năng của SSD gần như không có giới hạn về lý
thuyết vì có thể tăng lên liên tục (dĩ nhiên là lý thuyết). Khác với HDD
hiện gần như đạt tới giới hạn về tốc độ (số vòng quay của phiến đĩa),
SSD vẫn có thể tăng hiệu năng. Điều quan trọng là giao tiếp mà thiết bị
này dùng để giao tiếp với máy tính cũng phải thoả mãn được tốc độ ấy
(chúng ta thường gọi là bị "nghẽn" hay "thắt cổ chai"). Tưởng tượng như
một ngày nhà máy làm ra được 10 tấn hàng nhưng tuyến vận chuyển chỉ đáp
ứng được 7 tấn, có nghĩa giao tiếp đang là chướng ngại về mặt tốc độ.
Cần tới chuẩn SATA cao hơn hay một giao tiếp khác (PCIe chẳng hạn) là
giải pháp cho SSD.


Yếu tố sau cùng là hệ điều hành (HĐH). Điều này gần như là hiển
nhiên vì các chính sách mới tiến bộ hơn nhưng ban giám đốc bảo thủ không
chịu hỗ trợ thì mọi nỗ lực của cả nhóm cũng chả thấm vào đâu. Một trong
các thay đổi đáng kể nhất là việc hỗ trợ lệnh TRIM mà các bản HĐH mới
đây mới hỗ trợ thêm. Nếu không hỗ trợ lệnh này, hiệu năng của SSD sẽ
giảm xuống.


Nhưng không tuyệt như bạn nghĩ


SSD nói riêng và bộ nhớ flash nói chung, có một nhược điểm gần như
chứng ung thư của con người - tuổi thọ có giới hạn. Tuổi thọ này thực ra
là thời gian "sống" của chiếc cổng "FA". Không như HDD hoạt động dựa
trên sự lưu trữ từ, chip flash hoạt động dựa trên sự lưu trữ điện trường
(hiệu ứng trường). Các thay đổi về từ tính không làm hao mòn tế bào nhớ
nhưng thay đổi về điện thế dẫn tới các thay đổi hoá học lên chiếc cổng
trên. Theo thời gian hoạt động nó sẽ bị ăn mòn điện hoá dần dần và đến
một lúc, không còn khả năng lưu trữ thông tin (hẳn bạn từng nghe "cục"
USB thân yêu của mình có tuổi thọ khoảng 10.000 lần ghi xoá?)



Tìm hiểu về ổ SSD Flash%20NAND%20Life%20Cycle-14908
Tuổi thọ của từng loại transistor flash NAND tính theo số lần ghi / xoá.

Song tôi không có ý đào sâu vấn đề tuổi thọ này. Vì các kỹ sư thông
minh của chúng ta đã nghĩ ra nhiều cách nhằm tăng thời lượng sử dụng
của chúng lên. Ví dụ "hy sinh" một số chip flash để dùng làm bộ ghi đệm
(over-provisioning hay OP), các trans OP này về cơ bản sẽ "chết sớm" hơn
các trans chứa dữ liệu thực của bạn, nhưng dữ liệu của bạn vẫn an toàn.
Các thuật toán "chia đều" dữ liệu (garbage collection hay GC) nhằm đảm
bảo các trans chứa dữ liệu thực sẽ "già đều" như nhau và đến khi chiếc
SSD "chết" thì về căn bản, nó cũng phục vụ được bạn 6 - 7 năm.


Nhưng điều khiến cho SSD chưa thể thay thế hoàn toàn HDD được nằm ở phần sau.


Có thể tiến xa bao nhiêu?


Các ưu việt về tốc độ đọc / ghi lẫn truy cập (độ trễ) của SSD không
cần thiết phải bàn cãi. Không dùng motor cơ học để quay mà dùng tín
hiệu điện nên đọc dữ liệu từ SSD rất nhanh. Mỗi khi tìm một file nào đó
trong đống tài liệu từ HDD, đó là một "nỗi đau" với tôi vì độ trễ quá
cao.


Vấn đề tuổi thọ của SSD hiện nay gần như không là vấn đề lớn vì các
thuật toán quản lý trên firmware đã giúp các trans flash NAND "sống"
lâu hơn, nhất là dung lượng OP càng cao thì chiếc SSD càng "thọ". Vậy
còn gì cản trở SSD thay thế hoàn toàn HDD?


Dung lượng & giá thành. Thoạt nghe bạn có thể bật cười vì dung
lượng SSD đang tăng đều đều nếu không gọi là gần đuổi kịp HDD. Còn giá
thành thì theo thời gian, sau khi khấu hao chi phí R&D, giá thành sẽ
giảm. Song, đấy là tình hình trước mắt...


Nhờ đâu các nhà sản xuất (NSX) tăng được dung lượng SSD? Có 3 cách:




  • Tăng số lượng chip nhớ lên (1)
  • Tăng dung lượng từng chip nhớ lên (2)
  • Thay đổi logic hoạt động (3)



Cách (1) hoàn toàn khả thi vì về lâu dài, chi phí sản xuất trên dây
chuyền bán dẫn cũ sẽ giảm, song đánh đổi lại là kích thước thiết bị sẽ
không còn như trước (to hơn vì phải chứa nhiều chip hơn), lượng điện
tiêu thụ cũng cao hơn.



Tìm hiểu về ổ SSD OCZ%20Vertex%204%20PCB%20Front-14908
Tìm hiểu về ổ SSD OCZ%20Vertex%204%20PCB%20Back-14908
Dung lượng tăng theo số lượng chip.

Cách (2) lại khác. Hiện tại đa số các model SSD dùng trên thị
trường đang dùng tiến trình bán dẫn 30 - 40nm (điển hình là 34nm). Các
model "tiên tiến" hơn ở mức 20 - 30nm (ví như 25nm). Chỉ riêng Toshiba
hiện mới đạt tới 19nm (trans cho chip nhớ thường nhỏ hơn chip xử lý do
ít yêu cầu về xung nhịp hơn). Vấn đề là: còn thu nhỏ trans được tới mức
nao? Cho đến hiện nay, những hãng bán dẫn "đầu sỏ" nhất cũng chỉ mới
hoạch định node 14nm vào 2015. Còn sau đấy, gần như... vô định. Hãy giả
định rằng sau 25nm, SSD sẽ chuyển xuống 14nm và... tương lai mờ mịt.



Tìm hiểu về ổ SSD Flash%20NAND%20Process%20Scaling-14908
Dung lượng tăng lên nhờ kích thước transistor nhỏ xuống.

Chúng ta còn lại cách (3). Hãy quay trở lại với bit 0 và 1, chú ý
rằng đây là các giá trị do con người đặt ra (logic) dựa trên mức điện
thế của cổng "FA". Giả định rằng mức 0V là bit 0 và mức 1V là bit 1. Như
vậy giữa 0V và 1V vẫn còn một khoảng cách khá lớn. Sao không quy định
thêm một số mức khác để có thêm nhiều bit lưu trữ hơn? Các kỹ sư thông
minh của chúng ta đã tìm ra lời giải. Cho mức 0V là bit 00, mức 0,3V là
bit 01, mức 0,7V là bit 10 và mức 1V là bit 11. Tức chỉ với một trans
(tế bào nhớ), chúng ta chứa được 2 bit so với trước.



Tìm hiểu về ổ SSD Flash%20NAND%20Logic-14908
Dung lượng do quy định logic của chip nhớ.

Phương pháp tăng bit logic trên chính là cách mà chúng ta có bộ nhớ
flash MLC (multi level cell), so với bộ nhớ flash SLC (single level
cell).


Đã lên 2 bit rồi sao không lên 3 bit? Được thôi, chúng ta có tiếp
bộ nhớ flash TLC (triple level cell). Nhưng đây là lúc vấn đề phát sinh:
các mức điện thế quy định các bit quá gần nhau - chúng tăng theo luỹ
thừa 2 (2, 4, 9, 16, 25...) và rất khó để phân biệt giữa bit này với bit
khác. Lấy ví dụ bit 000 ứng với điện thế 0V thì bit 001 là 0,1V, bit
010 là 0,2V. Với bạn các con số này có vẻ dễ phân biệt, nhưng với hiệu
ứng trường thì không đơn giản.



Tìm hiểu về ổ SSD SLC%20VCC-14908
Tìm hiểu về ổ SSD MLC%20VCC-14908
Tìm hiểu về ổ SSD TLC%20VCC-14908
Tìm hiểu về ổ SSD Flash%20NAND%20Bits-14908
Các mức điện thế ứng với từng bit trên NAND.

Hãy lưu ý rằng các trans không giống nhau 100%, sẽ có mức 0,09;
0,10; 0,11; 0,12V. Nếu chỉ có 2 hoặc 4 mức điện thế, phân biệt chúng
không khó. Nhưng 9 mức rồi thậm chí 16 mức sẽ cực kỳ khó. Mà không đọc /
ghi chính xác được các mức điện thế, controller sẽ không cho kết quả
đúng. Thử nghĩ lúc ghi là bit 110 nhưng khi đọc lại là bit 111, sự tai
hại sẽ như thế nào?


Do sự đan xen điện thế này mà các NSX SSD không "dám" đầu tư nhiều
vào các chip flash TLC hay QLC (quad level cell). Họ có thực sự nghiên
cứu trong phòng thí nghiệm nhưng kết quả rất tệ. Ấy là chưa tính tới
việc hiệu năng bị giảm đi. Vì chip SLC chỉ có 2 mức điện thế lập trình,
nó nhanh hơn so với 4 mức lập trình (hãy nghĩ tới hình ảnh các bậc
thang), TLC có tới 9 mức lập trình và để thay đổi từ mức thấp lên cao
hoặc ngược lại đều tốn một thời lượng cố định.



Tìm hiểu về ổ SSD Flash%20NAND%20Timing-14908



Ngoài ra, kết hợp với khó khăn của cách (2): hiệu ứng trường theo
chiều ngang giữa các trans. Khi các trans đứng quá gần nhau, điện thế
lập trình của chúng có ảnh hưởng lên nhau. Tưởng tượng như bạn đang học
bài bằng cách lẩm bẩm trong mồm, nhưng đứng quá gần một người bạn cũng
đang lẩm bẩm thì bạn sẽ bị ảnh hưởng và thông tin lưu lại trong não
không được liền lạc. Trans flash cũng vậy, các bit thông tin có thể bị
xáo trộn.


HDD sẽ còn sống lâu


Tôi viết những gì trên đây không phải để chê bai SSD. Vì nâng cấp
lên SSD vẫn là câu tôi khuyên đầu tiên cho ai xài PC. Nhưng tôi không
bảo mọi người hãy bỏ HDD đi, vì dù sao HDD vẫn có ưu điểm về dung lượng
& giá thành. Công tâm mà nói, SSD tiến bộ thì HDD vẫn có tiến bộ, ít
nhất cũng về mặt dung lượng.


Đến một lúc, SSD có thể hoàn toàn thay thế được HDD, khi các khấu
hao về chi phí sản xuất giúp giá thành SSD ngang bằng với HDD. Nhưng đó
có thể là một thời điểm "xa xôi" hơn những gì bạn tưởng tượng. Riêng tôi
cho rằng phải mất 10 năm nữa, SSD mới có thể đẩy HDD vào dĩ vãng. Còn
hiện tại, một PC có SSD dùng làm ổ cài đặt HĐH và ứng dụng, bên cạnh các
HDD có dung lượng cao để lưu trữ dữ liệu, là lời khuyên tôi dành cho
những ai muốn cải thiện trải nghiệm với chiếc PC của mình.