SSD – Bộ nhớ flash và đôi điều cần biết (P.2) !!!
Trong phần trước chúng ta đã nói về cấu tạo cơ bản của ổ SSD hoặc ổ flash USB. Dựa trên các transistor với floating gate (FG), bộ nhớ flash được xem là ứng cử viên nặng ký để thay thế phương pháp lưu trữ HDD truyền thống, với tốc độ đọc/ghi và thông lượng nhập xuất (IOPS) vượt trội. Song điều đó có xảy ra, ít nhất là trong một tương lai gần ? Phần tiếp theo này sẽ nói về những chuyện “thầm kín” đằng sau những lời hoa mỹ dành cho SSD.
Mục lục bài viết
Phần 1
•Nhắc lại kiến trúc máy tính
•Người cũ của hôm nay
•Người mới của … hôm nay
•Lại là bán dẫn !
•Hoạt động
•SSD nhanh vì đâu ?
Phần 2
•Gót chân Achilles
•Khi Achilles tử vong …
•Thêm cái nhìn khác về SSD
•Nhiều liều thuốc cho con ‘bệnh’
•Những thuật ngữ về SSD
•Những thuật ngữ về SSD (tiếp)
•Những thuật ngữ về SSD (tiếp)
•Bệnh khó chữa …
•TRIM, thuốc đắng dã tật
•Đầu tư vào SSD, nên hay không ?
Gót chân Achilles
Thần thoại Hy Lạp kể rằng Achilles, một anh hùng có mình đồng da sắt, nhưng gót chân là … da thịt (!) nên sau cùng bỏ mạng nơi chiến trận chỉ vì điểm yếu chết người ấy. Bộ nhớ flash mà chúng ta đang bàn ở đây, cũng có một đặc tính tương tự. Và chính nó là nguồn cơn của mọi “yếu huyệt” sau này.
Khác với bề mặt từ tính của HDD, các transistor trong bộ nhớ flash bị giới hạn về số chu kỳ lập trình (ghi/xoá) đồng nghĩ với việc khả năng thay đổi điện thế của FG sẽ bị “chai” và không thể lưu trữ thông tin được nữa. Đây là một nhược điểm cố hữu không thể khắc phục hoàn toàn được mà chỉ có thể cải thiện bằng cách nâng cao kỹ thuật bán dẫn để tăng cường số chu kỳ kia lên. Theo tiêu chuẩn của JEDEC, một chip nhớ/transistor MLC phải có số chu kỳ lập trình tối thiểu là 10.000 lần, con số tương đương với SLC là 100.000 lần. Những con số này có ý nghĩa gì với bạn ?
Hãy nói về một thiết bị hết sức “thân thương” với các độc giả ở đây – ổ flash USB. Chip nhớ dùng trên thiết bị này không khác với trên ổ SSD. Vì mục đích muốn giữ giá thành thấp nên không nghi ngờ gì khi chúng chính là các chip nhớ flash MLC, tức số lần lập trình lại cho phép là 10.000 lần. Hàng ngày chúng ta dùng thiết bị này để trao đổi dữ liệu, thay cho đĩa mềm và đĩa quang. Đặc tính sử dụng ổ flash USB rất khác giữa những người dùng: bạn có thể liên tục ghi dữ liệu mới lên đó vài chục lần/ngày, nhưng cũng có thể vài ngày mới ghi mới 1 lần. Nên ở đây tôi lấy giá trị ước lượng trung bình là ghi/xoá 1 lần/ngày. Con số này tương đương với 365,25 lần/năm. Vậy vị chi, với 10.000 lần ghi/xoá cho phép, sau hơn 27 năm thì chiếc USB flash drive của chúng ta mới “vào sọt rác”.
Trong những năm gần đây, theo ước tính của tôi dựa vào bạn bè và những người xung quanh thì trung bình 1 năm, 1 người dùng lại mua 1 ổ flash USB mới 1 lần. Có thể là vì chiếc ổ cũ dung lượng quá bé, có thể vì họ muốn có nhiều ổ dùng cho nhiều mục đích khác nhau, cũng có thể vì họ “hơi” dư tiền chưa biết để làm gì (giả định thế). Nhưng nhìn chung, tôi ghi nhận rất ít trường hợp dùng 1 ổ flash USB trên 5 năm. Do vậy 1 con chip flash MLC với 10.000 lần cho phép ghi/xoá có thể xem “dư xài” cho nhu cầu lưu trữ di động.
Còn SSD, đó là một câu chuyện khác, rất khác …
Khi Achilles tử vong …
Ổ flash USB/thẻ nhớ flash ra đời thay cho đĩa mềm/đĩa quang, số lần ghi/xoá mới trong ngày với các thiết bị này không hề cao, vì mục đích lưu trữ của chúng là phục vụ cho nhu cầu di động. Với HDD, chúng được dùng để cài đặt hệ điều hành (HĐH) và các ứng dụng khác. Xét 1 người dùng phổ thông bất kỳ hiện nay, mỗi khi lên mạng hoặc làm việc, thứ đương nhiên mà do vô tình hoặc cố ý họ tạo ra, chính là dữ liệu. Dữ liệu đó có thể là các file web, file media, file text … hoặc là những tấm hình họ vừa xuất ra từ thẻ nhớ máy ảnh hay những đoạn phim … Nói cách khác, trong 1 ngày, luôn có thao tác ghi/xoá dữ liệu mới xảy ra trên thiết bị lưu trữ “cứng” (không di động) như ổ HDD của bạn. Trừ phi bạn không sử dụng máy tính thì không có thao tác ghi/xoá nào xảy ra. Bản thân việc HĐH nạp dữ liệu vào bộ nhớ ảo (virtual memory hoặc pagefile) cũng là một quá trình ghi/xoá.
Hãy nhìn kỹ hơn vào vấn đề một chút: ổ SSD được ra đời nhằm thay thế HDD, như ổ flash USB thay thế đĩa mềm. Vì thế những gì xảy ra với HDD đương nhiên sẽ xảy ra với SSD, tức luôn có quá trình ghi/xoá mới được thực hiện với SSD nếu bạn đem vào sử dụng thay HDD. Vấn đề bắt đầu trở nên “căng thẳng” khi bạn biết, sau một số lần ghi/xoá nhất định, chiếc ổ SSD của bạn sẽ thành cục chặn giấy đắt tiền! 10.000 lần cho ổ SSD MLC và 100.000 lần cho ổ SSD SLC.
Vậy làm sao để kéo dài tuổi thọ của ổ SSD? Hẳn bạn không mong muốn trước hết là số tiền của mình bỏ ra (cao hơn khoảng 10 lần so với ổ HDD cùng dung lượng) sẽ “tan thành khói”, và sau đó là dữ liệu của bạn (giá trị không tính được) cũng mập mờ như sương ?
Không chỉ có bạn mới trăn trở điều này, các nhà sản xuất ổ SSD cũng “vò đầu, bứt tóc” không kém. Rồi họ đã nghĩ ra cả tá phương pháp ghi/xoá để làm sao “người anh hùng Achilles” sống lâu nhất ở mức có thể mà vẫn hoàn thành xuất sắc nhiệm vụ.
Thêm cái nhìn khác về SSD
Ở phần trước tôi đã đề cập đến SSD có cấu tạo CƠ BẢN như thế nào, song tôi chưa nói đến các thành phần của SSD làm việc CÙNG VỚI NHAU như thế nào. Nó giống như tôi bảo sinh vật được cấu tạo từ tế bào nhưng các tế bào liên kết với nhau ra sao để tạo thành cơ thể thì tôi chưa nêu. Oh, sorry!
Transistor là đơn vị cơ bản nhất của SSD, nhưng không được xem là đơn vị lập trình dữ liệu nhỏ nhất. Lấy ví dụ với transistor SLC chứa được 1 bit dữ liệu. Trong khi đó 1 byte lại gồm 8 bit. Nên đơn vị lập trình dữ liệu nhỏ nhất của SSD là một dòng (line) hay chuỗi liên tiếp các transistor gắn nối tiếp nhau (ví dụ 8 transistor SLC cho 1 byte dữ liệu). Các dòng này trên thực tế vẫn chưa hữu ích vì chỉ chứa được 1 byte dữ liệu. Chúng ta lại nối nhiều dòng với nhau lại thành trang (page) – bạn hãy liên tưởng đến 1 trang giấy với các dòng liên tiếp, và đây mới thực sự là đơn vị lập trình dữ liệu nhỏ nhất của SSD – 1 trang. Kích thước thông thường của 1 trang là 4 KB, nhưng có thể khác tuỳ theo nhà sản xuất.
4 KB vẫn còn quá nhỏ, chúng ta lại “đóng” tiếp nhiều trang với nhau để tạo thành 1 khối (block) lớn hơn – hay “quyển” nếu bạn thích hình ảnh của trang giấy và quyển sách. Mỗi khối có kích thước trung bình 512 KB. Và đây là chi tiết bạn cần chú ý: trình điều khiển SSD sẽ ghi dữ liệu mới theo trang (page) và xoá theo khối (block). Tôi không chắc lý do cụ thể đằng sau việc ghi/xoá bất đối xứng này là gì, song tôi cam đoan với bạn là thao tác xoá dữ liệu sẽ tốn kém thời gian cũng như tuổi thọ của các transistor hơn thao tác ghi. Trong tình huống này, hình ảnh “quyển tập – trang giấy” có vẻ hợp lý : bạn không ghi hết toàn bộ 1 quyển tập nhưng cần hẳn 1 quyển tập mới cho môn học nào đó. Hẳn nhiên, mọi so sánh đều khập khiễng ở đôi chỗ.
Song quyển tập và bộ nhớ flash giống nhau ở chỗ: chúng có số lần cho phép ghi / xoá nhất định – bạn không thể tẩy mãi những dòng bút chì trên trang giấy, đến lúc nào đó nó sẽ bị rách và bạn sẽ mất khả năng ghi đè lên đó.
>>> Các bạn xem tiếp Nội dung này ở đây nhé!!!
Theo Voz