Hỗ trợ trực tuyến

Gmark.vn
Gmark.vn

Tìm hiểu SSD - Flash NAND và Controller quyết định hiệu năng

Cập nhật 30/03/2016 11:30 - Lượt xem: 437

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.
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

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.

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


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.

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


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.


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.

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.


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.

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


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.comHowstuffworks.comCnet.com

Ý kiến bạn đọcGửi bình luận

Gửi bình luận

reset captcha

Gửi bình luậnNhập lại