Cấu trúc của SSD

SSD là gì? : SSD (olid-state drive or solid-state disk) là một thiết bị lưu trữ dữ liệu liên tục trên bộ nhớ flash trạng thái rắn.

Bên trong SSD là gì?

SSD (ổ đĩa trạng thái rắn) là một mạch tích hợp được sử dụng để lưu trữ dữ liệu. Giao diện điện tử của chúng tương thích với giao diện đầu vào / đầu ra khối được sử dụng bởi HDD. SSD không có bộ phận chuyển động, chúng nhanh hơn và có khả năng xử lý các cú sốc do nhiều nguyên nhân. Chúng ta sẽ không bận tâm ngay cả khi không may bị rớt nhẹ.

Sơ đồ khối SSD

Memory

Các phiên bản đầu tiên của SSD dựa trên bộ nhớ DRAM cung cấp khả năng truy cập nhanh hơn và độ trễ thấp, nhưng vấn đề duy nhất là dữ liệu không thể được giữ lại trong bộ nhớ trong trường hợp không có nguồn điện. Đó là vào năm 2009 khi SSD dựa trên bộ nhớ flash NAND không bị mất dữ liêệu ngay cả khi tắt điện. Mặc dù, chúng chậm hơn so với các ổ cứng dựa trên DRAM, chúng vẫn có thể vượt qua ổ cứng thông thường. Và lợi thế lớn nhất là dữ liệu vẫn còn nguyên vẹn ngay cả khi bạn cắt nguồn điệ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.

NAND Flash là single level Cell (SLC) chỉ lưu trữ một bit nhị phân và Tế bào đa cấp (MLC) lưu trữ hai bit. Rõ ràng, MLC có dung lượng lưu trữ nhiều hơn nhưng nó đi kèm với một mức giá,  hao mòn nhanh hơn. Bộ nhớ flash NAND loại MLC rẻ hơn SLC và được sử dụng trong các ổ đĩa trạng thái rắn cấp công nghiệp (sau khi thực hiện một số sửa đổi) đòi hỏi dung lượng lưu trữ nhiều hơn, nhưng nó xuống cấp nhanh hơn.

Controller

Nó chịu trách nhiệm về cách dữ liệu được lưu trữ trong bộ nhớ flash. Bộ điều khiển Flash hoạt động như người trung gian giữa phương tiện lưu trữ và máy tính. Nó là một bộ xử lý nhúng chịu trách nhiệm cho hiệu suất của SSD. Mỗi khi máy tính muốn truy cập bộ nhớ flash để thực hiện thao tác đọc / ghi, bộ điều khiển flash sẽ hoạt động.

Bộ điều khiển cũng quản lý các tế bào bộ nhớ flash. Xử lý hiệu quả các ô lưu trữ phải vì SSD hỗ trợ một số chu kỳ đọc / ghi hạn chế, khoảng 10 nghìn. Bộ điều khiển cũng đảm bảo rằng tất cả các tế bào được sử dụng như nhau để bảo tồn tuổi thọ của phương tiện flash.

Cache

Đây là một dạng DRAM hoạt động như một bộ nhớ cache để lưu trữ dữ liệu  để duy trì một thư mục vị trí khối. Nó cải thiện hiệu suất của SSD, nhưng đồng thời, nó làm tăng mức tiêu thụ điện năng.

SSD hoạt động như thế nào

SSD – Các ổ đĩa trạng thái rắn được gọi là cụ thể vì chúng không dựa vào các bộ phận chuyển động hoặc đĩa quay. Thay vào đó, dữ liệu được lưu vào một nhóm đèn flash NAND. Bản thân NAND được tạo thành từ những bóng bán dẫn cổng nổi. Không giống như các thiết kế bóng bán dẫn được sử dụng trong DRAM, phải được làm mới nhiều lần mỗi giây,  flash NAND được thiết kế để giữ trạng thái sạc ngay cả khi không được bật nguồn. Điều này làm cho NAND trở thành một loại bộ nhớ không mất dữ liệu khi không có điện.

Sơ đồ trên cho thấy một thiết kế ô flash đơn giản. Các electron được lưu trữ trong Float gate, sau đó đọc là tích điện “0” hoặc không tích điện “1”. Trong flash NAND, 0 có nghĩa là dữ liệu được lưu trữ trong một ô – nó trái ngược với cách chúng ta thường nghĩ về 0 hoặc 1. Flash NAND được tổ chức trong một mạng lưới. Toàn bộ bố trí lưới được gọi là một khối, trong khi các hàng riêng lẻ tạo nên lưới được gọi là trang. Kích thước trang phổ biến là 2K, 4K, 8K hoặc 16K, với 128 đến 256 trang mỗi khối. Do đó, kích thước khối thường thay đổi từ 256KB đến 4MB.

Một lợi thế của hệ thống này phải rõ ràng ngay lập tức. Bởi vì SSD không có bộ phận chuyển động, chúng có thể hoạt động ở tốc độ cao hơn nhiều so với ổ cứng thông thường.

Các vấn đề về tuổi thọ SSD

Người ta thường biết rằng sau khi viết và xóa quá nhiều hoạt động, các tế bào NAND sẽ ‘hao mòn’, nhưng điều này thực sự có nghĩa là gì?

Với đủ các hoạt động đọc và ghi (điện tích và xả của Cổng nổi – Floating Gate), oxit điện môi ngăn cách Cổng nổi và Kênh trở nên suy yếu, có nghĩa là các electron sẽ không còn bị mắc kẹt trong Cổng nổi và tế bào NAND không còn có thể được viết, điều này được gọi là ‘rò rỉ gây căng thẳng’. Bằng cách tránh các thao tác ghi và xóa không cần thiết vào SSD, chúng ta có thể kéo dài tuổi thọ của các tế bào NAND.

Một cách khác, lớp oxit điện môi bị suy yếu là thông qua ‘bẫy điện tích’. Khi điện tích đường hầm vào Cổng nổi, các electron có thể bị mắc kẹt trong oxit điện môi. Nếu một số lượng điện tích đủ lớn bị mắc kẹt trong oxit điện môi, thì sẽ không còn có thể đọc lại một cách đáng tin cậy từ tế bào này. Mọi sự cố và hoạt động ghi / xóa được thực hiện trên tế bào NAND làm tăng nguy cơ bẫy điện tích xảy ra. Một số nghiên cứu đã chỉ ra rằng, trong điều kiện thích hợp, có thể ‘gỡ bỏ’ một số điện tích này từ lớp oxit điện môi. Các nghiên cứu đã gợi ý rằng việc cho phép thời gian không hoạt động đối với SSD nơi nhiệt độ bên ngoài cao hơn, sẽ dẫn đến ‘detrapping – tách ra’ hiệu quả hơn. Điều này cho thấy rằng việc tắt hệ thống để cho phép thời gian không hoạt động cho SSD có thể có tác dụng có lợi đến tuổi thọ của nó, đặc biệt là khi được lưu trữ ở nhiệt độ thấp hơn.

Hai cách ‘hao mòn’ một tế bào NAND này được kết hợp thêm bởi Khuếch đại write. Đây là một hiện tượng không mong muốn dẫn đến một số lượng lớn các bài viết vật lý diễn ra cho đĩa, so với ghi logic từ máy chủ. Các ô NAND được nhóm thành các trang, các trang này sau đó được nhóm thành các khối. Các tế bào bộ nhớ NAND chỉ có thể được viết trực tiếp khi chúng trống rỗng. Nếu ô NAND chứa dữ liệu, nó phải được xóa trước khi dữ liệu mới có thể được ghi vào đó. Do những hạn chế của SSD, lệnh xóa sẽ luôn ảnh hưởng đến toàn bộ khối và không một trang nào, kết quả là khi một trang của khối được chỉnh sửa, toàn bộ khối phải bị xóa. Điều này dẫn đến một quá trình gọi là chu kỳ đọc-xóa-sửa đổi-ghi. Nội dung của khối sẽ được lưu trữ trong bộ nhớ cache, khối sau đó bị xóa, trang đã chỉnh sửa sau đó được ghi vào khối được lưu trữ trong bộ nhớ cache, và sau đó khối đã chỉnh sửa được lưu trữ trong bộ nhớ cache có thể được ghi lại vào khối trống. Quá trình này dẫn đến số lượng ghi vật lý tăng lên làm tăng cơ hội các tế bào bị mòn do ‘rò rỉ do căng thẳng’ và ‘bẫy điện tích’.

Tuổi thọ của SSD và cách kéo dài nó

Một câu hỏi quan trọng đặt ra là: tuổi thọ dự kiến của SSD là gì? Tuổi thọ của SSD của bạn trước tiên sẽ phụ thuộc vào loại tế bào mà nó đang sử dụng. Như một hướng dẫn sơ bộ, chúng ta có thể mong đợi tuổi thọ SLC vào khoảng 90.000 đến 100.000 chu kỳ đọc / ghi. Tuổi thọ này sẽ giảm với nhiều bit đang được lưu trữ trong tế bào, chúng ta có thể mong đợi tuổi thọ của MLC là khoảng 10.000 chu kỳ đọc / ghi và tuổi thọ của TLC là khoảng 5000 chu kỳ đọc / ghi. Những giá trị này có thể nghe có vẻ thấp lúc đầu, tuy nhiên, chúng dành cho các khối chứ không phải chính thiết bị. Tuổi thọ của thiết bị của bạn sẽ được kéo dài hơn nữa bởi các tính năng SSD như độ mòn và cung cấp quá mức, cũng như ghi bộ nhớ đệm từ hệ điều hành.

Wear levelling đề cập đến khả năng của bộ điều khiển SSD / firmware để phân phối đều các hoạt động ghi trên các khối trên SSD, để đảm bảo rằng một lượng hao mòn không cân xứng không xảy ra với một số khối nhất định, dẫn đến các khối này ‘hao mòn’ nhanh hơn. Hai phương pháp san lấp mặt bằng mặc là san lấp mặt bằng mặc năng động và san lấp mặt bằng mài mòn tĩnh. Độ mòn động xảy ra khi dữ liệu được ghi trực tiếp đến các khối có số lượng hao mòn thấp hơn các ô khác trên ổ đĩa. Điều này được thực hiện bằng cách lấy tất cả các khối ở trạng thái bị xóa và so sánh số lượng xóa cho mỗi khối. Khối có số lượng tẩy thấp nhất được ghi vào đầu tiên, sau đó là khối có số lượng xóa thấp thứ hai, v.v. San lấp mặt bằng mài mòn tĩnh tương tự như san lấp mặt bằng mài mòn động, với việc bổ sung các khối dữ liệu tĩnh không được sửa đổi, cũng được di chuyển từ các ô có số lượng xóa thấp. Điều này cho phép các khối này được viết bằng các dữ liệu khác. Mặc san lấp mặt bằng hiệu quả hơn khi một lượng không gian không sử dụng được duy trì trên ổ đĩa, vì có một nhóm các khối không sử dụng có thể có số lượng xóa của chúng so sánh, và sau đó được viết để.

Cung cấp quá mức phân bổ không gian trên thiết bị cho các hoạt động điều khiển, không gian này không thể được truy cập bởi người dùng. Không gian này được bộ điều khiển sử dụng để quản lý lưu lượng truy cập và hoạt động SSD (ví dụ: TRIM và mài mòn san lấp mặt bằng). Bằng cách đảm bảo rằng có một không gian vĩnh viễn có thể được sử dụng để thực hiện quản lý khối xấu, thu gom rác và san lấp mặt bằng, không cần phải tìm thấy và sử dụng ‘trên bay’ để thực hiện các nhiệm vụ này. Điều này dẫn đến tăng hiệu suất và tuổi thọ của ổ đĩa. Khi các khối trên SSD bị hao mòn, chúng được thay thế bằng các khối từ hồ bơi được cung cấp quá mức. Một phần trăm nhất định của bộ nhớ của ổ đĩa sẽ được chỉ định là cung cấp quá mức từ nhà máy; nhiều hơn có thể được chỉ định thủ công để tăng những lợi ích này.

Các công cụ S.M.A.R.T được bao gồm như một phần của firmware của SSD chứa số liệu thống kê và công cụ quản lý cho SSD. Những tĩnh này giúp bạn theo dõi tuổi thọ dự kiến của ổ đĩa của bạn, bao gồm số lượng khối dự phòng trong hồ bơi được cung cấp quá mức, nhiệt độ của ổ đĩa và số lượng xóa của các khối. Những công cụ này sẽ khác nhau tùy thuộc vào nhà sản xuất ổ đĩa của bạn. Do các thuật toán san lấp mặt bằng hao mòn, khi các khối trên ổ đĩa của bạn bắt đầu thất bại, chúng sẽ làm như vậy gần như cùng một lúc. SSD được thiết kế để thất bại trong lần xóa / chương trình tiếp theo và không phải hoạt động xóa giữa, để giảm mất dữ liệu tiềm ẩn. Khi ổ hết các tế bào dự phòng, nó sẽ trở nên chỉ đọc và các hoạt động ghi tiếp theo sẽ bị ngăn chặn.

Kéo dài tuổi thọ SSD

  • Sử dụng SSD SLC để giảm số lần ghi diễn ra cho mỗi ô, chúng sẽ có số chu kỳ đọc / ghi cao hơn.
  • Gán một lượng lưu trữ của ổ đĩa cao hơn để cung cấp quá mức, điều này có nghĩa là có nhiều khối hơn để thay thế các khối bị mòn.
  • Quản lý nhiệt độ ổ đĩa của bạn, lưu giữ dữ liệu sẽ giảm đáng kể khi thiết bị càng nóng. Bộ điều khiển SSD sau đó sẽ sửa chữa điều này bằng cách viết lại bit, tăng áp lực lên lớp oxit của các tế bào được viết lại.
  • Có thời gian không hoạt động cho ổ đĩa của bạn ở nhiệt độ thấp, điều này đã được chứng minh là ‘detrap’ điện tích bị mắc kẹt từ lớp oxit, có khả năng làm cho các tế bào đang gặp phải bẫy điện tích có thể đọc được một lần nữa.
  • Để lại không gian trống trên ổ đĩa để hỗ trợ san lấp mặt bằng mặc.
  • Tránh các thao tác ghi không cần thiết vào SSD (ví dụ: Chống phân mảnh SSD).