Tìm hiểu SSD - Flash NAND và Controller quyết định hiệu năng
QuanNDD
6 nămBình luận: 151
Tìm hiểu SSD - Flash NAND và Controller quyết định hiệu năng
Cùng với sự phát triển của công nghệ Flash NAND, SSD (solid-state drive) hay ổ thể rắn được sử dụng phổ biến hơn trong nhiều chủng loại thiết bị khác nhau do giá thành ngày càng giảm trong khi dung lượng tăng lên đáng kể.

Theo hãng nghiên cứu thị trường IHS iSuppli dự đoán đến năm 2017, SSD sẽ chiếm khoảng 36% thị phần thiết bị lưu trữ với khoảng 227 triệu sản phẩm xuất xưởng. Nếu so với con số 31 triệu của năm 2012, tương đương với 6% thị phần, thì đây quả là con số ấn tượng và cũng thể hiện rõ nhu cầu sử dụng thiết bị lưu trữ tăng mạnh trong những năm gần đây.

SSD_tinhte 1.jpg
Bài viết chia sẻ cấu tạo và cách thức hoạt động của SSD để chúng ta hiểu rõ hơn và khai thác tốt hiệu năng của chúng khi sử dụng.

Vấn đề của HDD

Quảng cáo


Về cơ bản, cấu trúc bên trong HDD gồm một hoặc nhiều phiến đĩa (platter) xếp chồng lên nhau theo trục đứng. Mỗi phiến đĩa chia thành nhiều vòng tròn đồng tâm gọi là track và tiếp đó, mỗi track cũng được chia thành nhiều đoạn nhỏ gọi là sector. Các sector trên cùng track kết hợp với nhau thành cluster và dữ liệu được lưu trên từng cluster. Khi có yêu cầu từ hệ thống hoặc một phần mềm nào đó, đầu từ sẽ di chuyển qua bề mặt đĩa theo phương ngang để đọc hoặc ghi dữ liệu trên mỗi cluster.

SSD_tinhte 2.jpg

Quá trình truy xuất dữ liệu được gọi là “seeking” (tìm kiếm) và tốc độ đầu từ di chuyển được gọi là “seek time” (thời gian tìm kiếm). Vì đầu từ luôn phải di chuyển đến vị trí cần thiết để đọc hoặc ghi dữ liệu nên luôn có độ trễ nhất định. Trường hợp dữ liệu bị phân mảnh, tức lưu rời rạc ở nhiều vị trí khác nhau, đầu từ sẽ phải di chuyển nhiều hơn cũng như phải chờ phiến đĩa quay đến vị trí phù hợp để hoàn tất câu lệnh thực thi. Thậm chí nếu ổ cứng đang ở trạng thời chờ, các phiến đĩa ngừng quay thì độ trễ sẽ cao hơn rất nhiều.

Các nhà sản xuất đã tích hợp công nghệ NCQ (Native Command Queuing) có chức năng phân tích, sắp xếp các câu lệnh cần thực thi để tối ưu việc truy xuất dữ liệu từ ổ cứng của nhiều tiện ích, ứng dụng cùng lúc trong môi trường đa nhiệm. Điều này chỉ cải thiện chứ chưa thể khắc phục hoàn toàn vấn đề độ trễ khi đọc, ghi dữ liệu. Một vấn đề nữa là khả năng chống sốc. Khi ổ cứng đang hoạt động ở tốc độ cao chỉ một tác động nhỏ lên nó là có thể gây hậu quả khôn lường.

Tốc độ truy xuất dữ liệu nhanh nhất của ổ cứng có thể đạt 200 MB/s và thời gian truy cập ngẫu nhiên từ 5 – 8 ms. Tính theo tỷ lệ giữa dung lượng và chi phí tính trên mỗi gigabyte thì ổ cứng truyền thống vẫn là lựa chọn hàng đầu.

Ưu thế của SSD

SSD_tinhte 3.jpg


Không chỉ mở rộng dung lượng lưu trữ và chi phí sản xuất ngày càng thấp hơn, SSD còn hấp dẫn người dùng do có ưu thế kích thước nhỏ gọn, tốc độ truy xuất dữ liệu vượt trội, độ tin cậy cao hơn và nhất là khả năng chống sốc tốt hơn vì không có bộ phận chuyển động.

Quảng cáo


Khác với ổ cứng truyền thống, SSD không lưu dữ liệu trên các phiến đĩa và hoàn toàn không sử dụng đầu đọc. Thay vào đó, dữ liệu sẽ được lưu trên các chip nhớ kiến trúc NAND hay còn được biết đến dưới tên gọi flash NAND. Cấu tạo của flash NAND bao gồm nhiều bóng bán dẫn (transitor) đặc biệt có tên gọi floating gate transistor, được thiết kế để có thể giữ nguyên trạng thái cả khi không cấp nguồn. Đây cũng là điểm khác biệt với chip flash dùng trong bộ nhớ DRAM, vốn cần phải làm tươi nhiều lần mỗi giây và không lưu dữ liệu khi mất nguồn.

Trong phần tiếp theo, chúng ta sẽ tìm hiểu hai thành phần quan trọng nhất quyết định hiệu suất SSD là flash NAND và vi mạch điều khiển hay còn gọi controller.

NAND SLC, MLC hay TLC

SSD_tinhte 5.jpg
Bảng so sánh thông số kỹ thuật của flash NAND SLC, MLC, TLC và RAM.

Có ba công nghệ flash NAND hiện đang sử dụng phổ biến trong SSD là SLC (single-level cell), MLC (multi-level cell) và TLC (triple-level cell). Sự khác nhau giữa các công nghệ này là mật độ bit dữ liệu chứa trong chip nhớ, độ trễ và độ bền dựa theo chu kỳ ghi xóa (P/E cycle). Và điều này ảnh hưởng trực tiếp đến hiệu năng tổng thể của SSD.

Theo bảng thông số kỹ thuật bên dưới cho thấy NAND SLC chỉ chứa 1 bit dữ liệu (0 hoặc 1) nhưng có độ trễ thấp nhất và độ bền đạt đến 100.000 chu kỳ ghi xóa. MLC chứa 2 bit dữ liệu và chu kỳ ghi xóa vào khoảng 10.000 lần. Trong khi đó, NAND TLC (triple level cell) chứa đến 3 bit dữ liệu nhưng vấn đề lớn nhất của công nghệ chip nhớ này là độ tin cậy thấp, chỉ 5.000 chu kỳ P/E và độ trễ cao hơn nhiều so với hai loại trên.
SSD_tinhte 9.jpg

Quảng cáo


Về cơ bản, SSD sử dụng chip NAND TLC có tốc độ đọc lẫn ghi thấp hơn chip MLC, mặc dù mỗi cell của TLC chứa đến 3 bit dữ liệu. Ngược lại SSD dùng NAND SLC có hiệu năng và độ bền cao nhất đồng thời chi phí sản xuất cũng cũng đắt hơn nhiều, nên chỉ ứng dụng trong các hệ thống đòi hỏi độ bền và khả năng đáp ứng cùng lúc số lượt truy xuất dữ liệu lớn.

Về cấu trúc flash NAND được chia theo mô hình lưới, cơ bản là cell (ô nhớ), page (trang) và block (khối). Nhiều cell hợp thành một page, kích thước thường từ 2 - 16KB. Tương tự nhiều page sẽ tạo thành một block, gồm 128 đến 256 page với kích thước từ 256KB - 4MB. Trong xu hướng hiện nay, nhiều nhà sản xuất thường chọn cách mở rộng kích thước page và block để tăng tốc độ ghi của SSD.

Cơ chế hoạt động của flash NAND

SSD_tinhte 6.jpg

Hình minh họa trên cho thấy trong cấu tạo floating gate transistor có một cổng động (floating gate) nằm giữa cổng điều khiển (control gate) và đế silicon bên dưới. Đây cũng là nơi lưu một trong hai trạng thái là lập trình hoặc xóa để biểu thị một hai giá trị cơ bản là 0 hoặc 1 trong hệ nhị phân. Phủ quanh floating gate là một lớp mỏng chất liệu cách điện như dioxide silicon.

Ở trạng thái bình thường, giữa cực nguồn (source line) và cực dẫn (bit line) không xuất hiện dòng điện. Khi đặt điện áp dương vào cổng điều khiển thì giữa cực dẫn và cực nguồn sẽ hình thành dòng điện và đẩy electron từ đế silicon bên dưới qua lớp cách điện đi vào cổng động. Nhờ vậy trạng thái của cổng động có thể được xác định dựa trên sự thay đổi điện áp ngưỡng.

Với NAND SLC chỉ có hai mức trạng thái là lập trình hoặc xóa trong khi MLC có đến bốn mức và TLC là tám mức trạng thái điện áp ngưỡng. Về mặt lý thuyết, để một cell biểu diễn được được n bit nhị phân thì nó phải được thiết kế đạt 2n trạng thái khác nhau. Ứng với mỗi trạng thái, floating gate sẽ có một giá trị điện áp ngưỡng.

SSD_tinhte 8.jpg

Sở dĩ NAND TLC có tốc độ chậm hơn MLC và SLC là do nó lưu trữ nhiều bit dữ liệu hơn. Đối với SLC thì chip điều khiển (controller) chỉ quan tâm đến hai mức là 0 hoặc 1 (tương ứng với lập trình hoặc xóa). NAND MLC thì mỗi cell chứa nhiều hơn, có 4 giá trị là 00, 01, 10 hoặc 11 trong khi NAND TLC lại chứa đến 8 giá trị. Việc đọc dữ liệu trong mỗi ô nhớ sẽ do bộ điều khiển quản lý thông qua mức điện áp ngưỡng.

Với NAND MLC và TLC, có ba yếu tố cần đảm bảo là:

- Electron nạp đúng vị trí. Quá trình lập trình ô nhớ đòi hỏi sự chính xác cao nên cần kiểm soát tốt từ cấp vật lý, nhất là yếu tố thời gian và mức điện áp nạp.

- Sự chính xác. Quá trình đọc dữ liệu trong công nghệ MLC và TLC thực chất là quá trình chuyển đổi giá trị từ dạng tương tự (analog) sang dạng số (digital) nên phép đọc giá trị điện áp ô nhớ cần sự chính xác cao. Nếu không, dữ liệu có thể sai lệch và gây lỗi.

- Tính ổn định trạng thái nạp. Đảm bảo tỷ lệ thất thoát trong cổng động không vượt quá 1 electron/ngày. Điều này cho thấy SSD vẫn có nguy cơ mất dữ liệu nếu bạn không sử dụng chúng trong một thời gian dài, đặc biệt là rủi ro này càng tăng trong môi trường nhiệt độ cao. Xem thêm chi tiết tại đây.

Tốc độ đọc, ghi và xóa

SSD_tinhte 7.jpg

Một trong những hạn chế của SSD là tốc độ đọc và ghi trên cell trống rất nhanh nhưng lại giảm đáng kể trong lần ghi dữ liệu kế tiếp. Nguyên nhân nằm ở cơ chế hoạt động của SSD và cấu trúc flash NAND. Khác với ổ cứng truyền thống, SSD đọc và ghi dữ liệu theo từng page nhưng chỉ có thể xóa dữ liệu theo từng block. Trong khi đó, vấn đề của flash NAND là không cho phép ghi đè dữ liệu trực tiếp lên cell cũ mà phải qua bước xóa dữ liệu trước tiên.

Khi bạn xóa dữ liệu, chip điều khiển chỉ đơn giản đánh dấu các page đó chứ không thực sự xóa chúng cho đến khi đã cần sử dụng lại. Điều này cũng giải thích tại sao SSD càng sử dụng lâu, hiệu năng càng giảm. Trong một block bộ nhớ có thể tồn tại các page đang chứa dữ liệu lẫn một số page ở trạng thái chờ xóa. Để dọn dẹp, chip điều khiển sẽ chép dữ liệu sang một block mới và xóa toàn bộ block cũ, sẵn sàng cho một chu kỳ sử dụng mới. Quá trình này được gọi là garbage collection (tạm dịch thu gom rác).

Trong bài viết tiếp theo, mình sẽ đề cập một thành phần quan trọng không kém là controller và một số chức năng hỗ trợ của SSD nhằm tối ưu tốc độ và độ bền trong quá trình sử dụng.

Nguồn tham khảo: Extremetech.com, Howstuffworks.com, Cnet.com
cv.jpg
151 bình luận
fu09fjtnhj
TÍCH CỰC
6 năm
giá đắt hơn nhiều so với hdd, mà mình sài laptop 500gb hdd cũng chả sao, chẳng đi đâu mà vội, nhiếp ảnh quay phim dựng hình ,.... mới cần dùng tới.
p/s: cho hỏi xíu, ssd có bị phân mảnh như hdd ko vậy
fu09fjtnhj
TÍCH CỰC
6 năm
@th4nhvtvn kết sf pro 4 vs macbook air lắm nhưng chưa dư dả lúa
@hachoa59 tuỳ kinh tế của chế , còn mình thì vote cho a sungsam 1 phiếu dùng rất ok
trungctc
ĐẠI BÀNG
6 năm
@hachoa59 Flexter M6s, M6p
@chàng trai cô đơn 95 SSD thay vào HDD cũ vì chuẩn ổ quang là Sata 2 thì phải, nên cho ổ HDD cũ ra ổ quang
Mấy ae thích lưu phim jav trên máy thích điều này 😁
Đang dùng. Nghe câu này có chút buồn:
"Khi bạn xóa dữ liệu, chip điều khiển chỉ đơn giản đánh dấu các page đó chứ không thực sự xóa chúng cho đến khi đã cần sử dụng lại. Điều này cũng giải thích tại sao SSD càng sử dụng lâu, hiệu năng càng giảm."
deptrai0987
ĐẠI BÀNG
6 năm
@Lekhanhhoa.HLY bác cứ yên tâm, tuổi thọ của ssd bây giờ tính theo chục năm cơ
cu_bo
ĐẠI BÀNG
6 năm
Dài quá làm biến đọc có ai kết lại được ko?
saladass
TÍCH CỰC
6 năm
@cu_bo Đơn giản là SSD nó ghi dữ liệu nhanh hơn HDD,vậy thôi.
vtsn4
CAO CẤP
6 năm
@saladass Ôi, quả là một cái kết... ko có hậu 😁
nhiều tiền thì cứ intel vs samsung mà chơi,ít tiền sài kingston 120G có 1,3 triệu,ssd bây h không còn mắc nữa 😁
fu09fjtnhj
TÍCH CỰC
6 năm
tóm lại là sau một thời gian sử dụng vẫn bị kém đi như hdd vấn đề là lâu hơn hdd thôi,mà có cái thẻ nhớ cứ cóp cóp xóa xóa là nó lại mất đi vài Mb là sao nhỉ
công phượng tỏa sáng anh yêu em 😃
slbadguy
TÍCH CỰC
6 năm
Con Samsung evo 850 dùng TLC kém vậy à, vậy mà cứ tưởng em nó ngon lắm chứ
son trang
ĐẠI BÀNG
6 năm
@shinobido ADATA SP600 thì sao bạn ? có được khg .
còn một vấn đề xin hỏi là, hdh ultimate win7 trước cài hdd nay ghost qua ssd thì có phải kich lệnh Trim hay khg? thanks
papawin
ĐẠI BÀNG
6 năm
@son trang Theo ngu kiến của e thì nên cài mới lại hay hơn. Không mất thời gian nhiều đâu, cài rất nhanh
son trang
ĐẠI BÀNG
6 năm
@papawin bạn có thể cho biết khác biệt gì ( ghost và cài mới khg) vì mình thấy cài mới mấy khoản drive lâu lám
vtsn4
CAO CẤP
6 năm
Ở VN sao không thấy SSD loại SLC mà toàn MLC không nhỉ
hachoa59
ĐẠI BÀNG
6 năm
túm váy lại là cái nào tốt đây các bác
CuongLam02
TÍCH CỰC
6 năm
@hachoa59 sài intel đi bác. em đang sài nè. ngon, mát, firmware up lên liên tục. nói chung đáng tịn cậy.
hachoa59
ĐẠI BÀNG
6 năm
@CuongLam02 bác cho e cái model ạ
CuongLam02
TÍCH CỰC
6 năm
@hachoa59 bác ra shop xem mẫu nào phù hợp túi tiền của intel thì xúc, em mua ổ 120GB 535. cài win 100GB, còn lại chứa document, soft thì em có ổ cứng ngoài rồi. ít tiền nên mua 120 thôi.😃.
PS: cầm 2tr mấy mua mấy ổ cao cấp cùng dung lượng thì em chia ra mua intel 120GB và 1 cây RAM 4GB up. sướng phải biết.
mua con V300 thấy hối hận quá 😔
pt_trieu
ĐẠI BÀNG
6 năm
Bài viết rất hay. Mình là developer, cũng đồng thời làm đủ các việc khác trên máy tính như làm nhạc dựng phim. Mình thấy việc bỏ 2tr ra để lắp thêm ổ ssd cho máy tính phải nói là một kèo "rất hời", mình lắp nó 3 năm nay cho cả máy pc và laptop (hy sinh dvd dùng caddybay để lắp ổ hdd cũ vào đó). Ổ ssd ~2tr thì cũng tầm 128gb thôi. 100gb phân vùng chứa hệ điều hành, 28gb còn lại để chứa dữ liệu quan trọng b
duaIshock
ĐẠI BÀNG
6 năm
@pt_trieu Bên chợ Voz bán Sandisk 120G mới, 900k rồi nhá bác ^^
dangkhoi17
ĐẠI BÀNG
6 năm
@pt_trieu Ổ bác mua đủ cả 128gb ạ???
pt_trieu
ĐẠI BÀNG
6 năm
@duaIshock Ôi không để ý giá hiện nay, đi làm nên cũng chả còn thời gian xem cái nọ cái kia như ngày xưa. Nếu mà giá đó thì có mà hời quá, mua 256 hay 512 thôi tiếc gì :d
pt_trieu
ĐẠI BÀNG
6 năm
@dangkhoi17 Ừ hồi trước mua Plextor M5S 128gb ở hnc giá 2tr650k lận 😔
th4nhvtvn
TÍCH CỰC
6 năm
Nó chỉ kém so với hàng đỉnh thôi, và với nhu cầu sử dụng bình thường thì không có khác biệt.
trong bài có nói đó bạn, vì chi phí sản xuất rất cao nên chỉ sử dụng cho các mục đích chuyên dụng thôi.
V300 đời đầu rất nhanh, đời sau bị Kingston đổi loại nand nên tốc độ ghi giảm, tốc độ đọc vẫn tốt, dù sao nó cũng là dòng Mlc rẻ nhất rồi
@nguyenthucbk ổ này mình dùng ngon mà,mở máy chưa đầy 5s, copy tốc độ tầm 300 MBs 😃
@nguyenthucbk mấy dòng MLC vậy thôi tiếng là bền nhưng lại thua SSD SS evo TLC
britgaga
TÍCH CỰC
6 năm
@hieupy89 MLC của mấy con đình đám bền hơn TLC trên EVO. Bọn nước ngoài nó test endurance mãi rồi.
@nguyenthucbk chuẩn pác, Read tầm ~450MB/s còn WRITE đc có hơn ~140MB/s à....haiz. Đc cái giá có 1tr3
w32
ĐẠI BÀNG
6 năm
đang dùng con Transcend 370s chip MLC. Minh dùng máy tính nhiều nên thấy cũng rất đáng để đầu tư
Giờ load ứng dụng nhanh toàn nhờ bộ nhớ NAND nhanh hay chậm.
Còn tuổi thọ không phải làm máy chủ hay dân chuyên lưu trữ thì quan tâm gì. Chả mấy người giữ nổi cái thiết bị 10 năm mà ko thay.
nmtinh
ĐẠI BÀNG
6 năm
Đang dùng con dưới, bản 128GB, chỉ tiếc main G41 lởm không tận dụng được hết tốc độ

@nmtinh Sata 2 bạn cắm con m6p này làm gì cho phí?
nmtinh
ĐẠI BÀNG
6 năm
@hienhpline Chưa có tiền nâng, giờ nâng main + chip + ram tốn kha khá. Cơ bản lúc có người bán, máu quá xúc luôn, đến giờ vẫn còn hơn 50 tháng bảo hành lận
@nmtinh Case bạn cũng thuộc hàng cụ lão, lại quất em chân dài m6p tội cho em ấy, cơ mà cụ này chạy chắc sướng lắm :v
Metallicy
TÍCH CỰC
6 năm
@hienhpline Cực ngon luôn bác ạ, lại bh chính hãng 60 tháng, nhìn cái vỏ không thôi đã thấy mức độ cao cấp của em nó rồi, tốc độ cũng khá cao, mỗi cái giá cao hơn các dòng khác khá nhiều, 128 bằng giá 256 hãng khác luôn!
Cám ơn bác chủ về bài viết này. Lang thang trên voz nhiều rồi nh ở đó toàn các thím thích thể hiện mà ko giải thích cặn kẽ ntn.
Mong có sớm bài tiếp theo về Controller.








  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2021 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019