Nand Flash iPhone - những lỗi này là gì và cách khắc phục? MLC hoặc TLC - cái nào tốt hơn trong ổ SSD

NAND và NOR: chúng là gì và chúng được ăn với cái gì

Tôi nghĩ nhiều người khi đọc tin tức về bộ nhớ flash đã gặp một số từ viết tắt lạm dụng kỳ lạ như NOR và NAND. Đồng thời, theo quy định, không có cách giải mã ý nghĩa nào được đưa ra và rất có thể bạn sẽ khó tìm thấy bất kỳ lời giải thích nào cho chúng. Hãy cố gắng làm rõ ít nhất một số vấn đề này.

Vì vậy, các chữ viết tắt NOR và NAND biểu thị loại cổng logic được sử dụng trong một đơn vị bộ nhớ flash nhất định. NOR là viết tắt của cổng NOR và NAND là viết tắt của NOT AND. Tuy nhiên, vì tôi không muốn cung cấp cho bạn một khóa học về đại số Boole và những kiến ​​thức cơ bản về logic số, những thứ mà bạn không cần, nên chúng ta sẽ chỉ tập trung vào kết quả của việc sử dụng những công nghệ này.
Chức năng chính của ổ đĩa flash là lưu trữ thông tin. Và điều này dẫn đến sự khác biệt đầu tiên: mật độ ghi đạt được ngày nay đối với công nghệ NAND vượt quá mật độ ghi đạt được trong NOR và sự khác biệt được đo theo bậc độ lớn. Và yêu cầu lưu trữ khối lượng lớn và độ nén xác định rõ ràng công nghệ bộ nhớ flash được sử dụng. Tuy nhiên, đây không phải là tiêu chí duy nhất. Điều quan trọng không kém là khả năng thực thi mã chương trình được viết trong bộ nhớ, tức là. cái gọi là Khả năng XIP (XIP - eXecute In Place). Khả năng này tồn tại trong công nghệ NOR và không có trong NAND. Hóa ra mục đích chính của bộ nhớ được tạo ra bằng công nghệ NAND là để lưu trữ dữ liệu và mục đích chính của công nghệ NOR là lưu trữ mã chương trình thực thi và ở mức độ thấp hơn là dữ liệu (điều này không chỉ do dung lượng nhỏ có sẵn - chúng tôi sẽ quay lại vấn đề này sau một chút).

Thiết bị flash được chia thành các phần gọi là khối. Điều này phải được thực hiện để khắc phục những hạn chế vật lý nhất định và vì lý do chi phí. Một khối cụ thể chỉ có thể được ghi vào bất kỳ thiết bị flash nào nếu khối đó trống hoặc bị xóa. Trong hầu hết các trường hợp, thao tác ghi phải được thực hiện trước thao tác xóa. Và nếu trong thiết bị NAND, thao tác xóa một khối có thể được thực hiện ngay lập tức, thì trong thiết bị NOR trước tiên cần đặt tất cả byte của khối về 0. Cũng cần phải nói rằng kích thước khối điển hình trong các thiết bị NOR là 64 hoặc 128 KB (8-32 KB đối với NAND), kết hợp với tốc độ flash vốn đã thấp, dẫn đến thực tế là các thao tác ghi và xóa có thể chiếm nhiều thời gian. đến vài giây. Đây là yếu tố hạn chế trong việc sử dụng NOR flash làm phương tiện lưu trữ dữ liệu. Và bạn có thể sử dụng nó để lưu trữ mã thực thi nếu nó phù hợp với bạn về mặt hiệu suất - yêu cầu không nên cao. Thời gian xóa bộ nhớ NAND được tính bằng mili giây và là thứ tự đầu tiên. Và kích thước khối nhỏ trong trường hợp điều kiện bên ngoài không thuận lợi đảm bảo mất một lượng dữ liệu tối thiểu. Vì vậy, để tóm tắt đoạn này: Hoạt động đọc NOR nhanh hơn NAND một chút; ngược lại, thao tác ghi đối với NAND nhanh hơn và đáng kể hơn; Do kích thước khối nhỏ, NAND yêu cầu ít lần xóa hơn trên mỗi đơn vị thời gian (như chúng ta sẽ thấy bên dưới, cũng có thể kéo dài tuổi thọ của nó trong thiết bị), điều này thực hiện nhanh hơn khoảng ba bậc so với NOR.

NOR flash là một thiết bị bộ nhớ truy cập ngẫu nhiên. Chip NOR có giao diện cho phép đánh địa chỉ và truy cập dễ dàng vào từng byte riêng lẻ. Giao diện I/O của thiết bị bộ nhớ NAND phức tạp hơn nhiều và khác nhau tùy theo thiết bị và tùy nhà phát triển. Các chân giống nhau (thường là 8 chân) được sử dụng để truyền tín hiệu điều khiển, địa chỉ và dữ liệu. Ngoài ra, trong flash NAND, việc truy cập được thực hiện theo khối 512 byte, tức là. 512 byte được đọc hoặc ghi cho mỗi lần truy cập. Việc truy cập vào mỗi khối là ngẫu nhiên, nhưng vì không thể truy cập vào từng byte riêng lẻ nên bộ nhớ NAND không phải là bộ nhớ truy cập ngẫu nhiên theo một nghĩa nào đó. Mỗi byte từ khối 512 byte được cấp tới bus bộ nhớ một cách tuần tự, vì vậy việc nói về truy cập tuần tự là phù hợp. Đó là những gì họ làm. Hoặc về bộ nhớ với tổ chức trang. Bây giờ đã rõ hơn tại sao NOR phù hợp hơn để lưu trữ và thực thi chương trình, còn NAND phù hợp hơn để lưu trữ dữ liệu.
Mạch của ô nhớ NAND đơn giản hơn: nó có kích thước nhỏ hơn so với NOR và điều này dẫn đến mật độ ghi tăng lên, giảm mức tiêu thụ điện năng và giảm chi phí sản xuất.

Nhưng công nghệ nào cũng không thể chỉ có mặt tích cực. Theo nghĩa này, NAND cũng không ngoại lệ. Như với bất kỳ ổ đĩa nào, lỗi đọc ngẫu nhiên và hư hỏng toàn bộ ổ đĩa đều có thể xảy ra. Đối với các thiết bị bộ nhớ flash, điều quan trọng là phải nói về việc đọc không có lỗi, xử lý các khối xấu và số chu kỳ đọc/ghi. Hiện tượng trừ sai số bit (gọi là lật bit) xảy ra ở bộ nhớ NAND nhiều hơn so với NOR. Thiệt hại do một bit sai sót gây ra được xác định bởi loại dữ liệu chứa nó. Vì vậy, đối với dữ liệu đa phương tiện, điều này sẽ không đáng kể, nhưng một lỗi như vậy trong mã chương trình hoặc dữ liệu quan trọng có thể dẫn đến kết quả rất bi thảm. Như tôi đã nói, hiện tượng này ít phổ biến hơn đối với bộ nhớ NOR và bộ nhớ dựa trên công nghệ NAND yêu cầu sử dụng một số cơ chế phát hiện và sửa lỗi bổ sung.

Công nghệ sản xuất bộ nhớ NAND vẫn chưa hoàn hảo và ban đầu bộ nhớ chứa một số phần tử phi chức năng nhất định. Vì trong NAND, một nhóm ô lưu trữ được kết hợp thành một khối, nên một ô bị hỏng trong một khối sẽ dẫn đến việc toàn bộ khối không thể hoạt động, tức là. hóa ra đó là một khối xấu. Do đó, cần phải theo dõi trạng thái của các khối và chỉ sử dụng các khối đang hoạt động, điều này dễ thực hiện hơn nhiều so với việc tạo ra bộ nhớ hoàn toàn không chứa các trang xấu: việc sản xuất như vậy hóa ra rất tốn kém (tình huống tương tự đã xảy ra với Màn hình LCD cùng một lúc). Vì những lý do hiển nhiên, loại lỗi này không điển hình đối với NOR.

Tuổi thọ hoạt động của chip flash được biểu thị bằng số chu kỳ xóa tối thiểu và tối đa có thể có đối với từng khối riêng lẻ (và chúng ta đã biết rằng mỗi khối ghi nhất thiết phải đi kèm với quá trình xóa sơ bộ của nó). Đối với bộ nhớ dựa trên công nghệ NOR, lần lượt là 10.000 và 100.000 chu kỳ đối với NAND - 100.000 và 1.000.000 chu kỳ. Mọi thứ đều cực kỳ đơn giản và không có gì để bình luận.
Sử dụng bộ nhớ NOR tương đối đơn giản. Nó không yêu cầu bất kỳ trình điều khiển bổ sung nào và có thể được cài đặt và sử dụng một cách đơn giản. NAND phức tạp hơn vì các nhà sản xuất khác nhau sử dụng các giao diện khác nhau và rất có thể nó sẽ yêu cầu trình điều khiển. Tuy nhiên, mặc dù thực tế bộ nhớ NAND có nhiều ưu điểm nhưng bạn không nên nghĩ rằng NOR đã là chuyện của ngày hôm qua. Bộ nhớ NOR ngày nay được sử dụng trong nhiều thiết bị không yêu cầu dung lượng lớn và không quan trọng về hiệu năng. NAND tìm thấy ứng dụng trong những lĩnh vực mà ứng dụng phức tạp hơn được chứng minh bằng khối lượng và hiệu suất sẵn có lớn.

Dựa trên tài liệu từ các công ty sản xuất đèn flash
Hệ thống M, Samsung, v.v.

Ổ cứng thể rắn đang trở nên rẻ hơn mỗi năm, đồng thời ngày càng phổ biến hơn. Ngày càng có nhiều mẫu ổ đĩa như vậy xuất hiện trên thị trường và điều này không chỉ do các nhà sản xuất mới cung cấp dòng sản phẩm này mà còn do việc sử dụng các công nghệ mới của những “người chơi cũ”. Các công ty hiện đang tiếp thị ổ SSD với hai loại bộ nhớ chính: MLC và TLC. Trong bài viết này, chúng ta sẽ xem xét chúng khác nhau như thế nào và nên mua tùy chọn nào tốt hơn để sử dụng tại nhà.

Xin lưu ý: Bạn cũng có thể tìm thấy ổ cứng thể rắn được bán với bộ nhớ được chỉ định là V-NAND hoặc 3D NAND. Bộ nhớ này vẫn thuộc loại MLC hoặc TLC;

Mục lục: Chúng tôi khuyên bạn nên đọc:

Các loại bộ nhớ ổ SSD

Ổ đĩa thể rắn sử dụng bộ nhớ flash, là các ô nhớ được tổ chức dựa trên chất bán dẫn, được nhóm lại theo một cách đặc biệt. Bạn có thể chia tất cả bộ nhớ flash đã sử dụng thànhỔ SSD như sau:

  • Bằng phương pháp đọc và viết. SSD hiện đại sử dụng loại bộ nhớ NAND;
  • Theo phương pháp lưu trữ dữ liệu. Dựa trên phương pháp lưu trữ dữ liệu, ổ SSD có thể được chia thành SLC và MLC. Các chữ viết tắt có thể được giải mã là “ô đơn cấp” hoặc “ô đa cấp”. Trong trường hợp bộ nhớ SLC, một ô có thể chứa tối đa một bit dữ liệu, trong khi ở tình huống thứ hai, một ô có thể lưu trữ nhiều hơn một bit. SSD tiêu dùng sử dụng công nghệ lưu trữ MLC.

TLC là một kiểu con của bộ nhớ MLC. Nếu bộ nhớ MLC tiêu chuẩn lưu trữ 2 bit thông tin trong một ô, thì ở phiên bản TLC, nó có thể lưu trữ ba bit thông tin trong một ô nhớ. Tức là TLC cũng là một tế bào đa cấp.

Xin lưu ý: Một số nhà sản xuất SSD không chỉ địnhTLC và 3-chútMLC hoặcMLC-3. Về cơ bản, cả ba tùy chọn này đều có ý nghĩa giống nhau.

TLC hay MLC: cái nào tốt hơn?

Không xem xét chi tiết, chúng ta có thể nói rằng nhìn chung loại bộ nhớMLC tốt hơnTLC, đây là một số ưu điểm của nó:

  • Trí nhớ loại này sẽ tồn tại lâu hơn, trung bình khoảng 20-30%;
  • MLC nhanh hơn TLC;
  • SSD dựa trên bộ nhớ MLC cần ít năng lượng hơn để hoạt động.

Bạn phải trả tiền để có chất lượng tốt hơn và sự hiện diện của bộ nhớ MLC ảnh hưởng đến giá thành của ổ cứng thể rắn - chúng đắt hơn các tùy chọn TLC.

Nhưng nếu chúng ta đi vào chi tiết và xem xét việc sử dụng ổ SSD có loại bộ nhớ này ở cấp độ người dùng, thì điều đáng nói là sự khác biệt giữa chúng không quá lớn và không phải lúc nào việc trả quá nhiều cho bộ nhớ MLC cũng không có ý nghĩa gì. Phần lớn hoạt động của chúng phụ thuộc vào các yếu tố khác, chẳng hạn như giao diện kết nối. Chúng ta hãy xem xét một vài lựa chọn:

Tóm lại, chúng ta có thể kết luận rằng rõ ràngMLC hoặcTùy chọn TLC không thắng. Có rất nhiều yếu tố ảnh hưởng đến tốc độ của ổ đĩa thể rắn. Nếu bạn mua ổ SSD dung lượng cao dựa trên bộ nhớ TLC, nó có thể tốt hơn từ một nhà sản xuất so với mẫu MLC của nhà sản xuất khác, trong khi giá thành sẽ như nhau. Ở cấp độ người tiêu dùng, người mua không nên tập trung vào loại bộ nhớ mà tập trung vào hiệu suất của một ổ đĩa cụ thể trong các bài kiểm tra mà các nhà sản xuất luôn công bố. Hiệu suất thử nghiệm có thể khác nhau ngay cả giữa các mẫu máy của cùng một công ty được sản xuất ở các dòng khác nhau, mặc dù chúng có cùng loại bộ nhớ.

3D NAND, 3D TLC và V-NAND trong bộ nhớ SSD là gì

Một lựa chọn khác mà người mua có thể nhận thấy khi chọn ổ cứng thể rắn là 3D NAND, 3D TLC hoặc V-NAND. Tùy theo nhà sản xuất mà đặc tính này có tên gọi khác nhau nhưng bản chất thì giống nhau. Nếu có chỉ định như vậy, bạn nên biết rằng trong mô hình ổ đĩa này, các ô nhớ flash được đặt trên chip thành nhiều lớp, trong khi nếu không có chỉ định như vậy, rất có thể chúng sẽ được xếp chồng lên nhau trong một lớp.

#Chip_type #3D_MLC_(Đa_Cấp_Ô) MLC_(Đa_Cấp_Ô) #3D_TLC_(Ô_cấp_ba) #TLC_(Ô_cấp_ba)

Có ba loại chip nhớ phổ biến nhất trong SSD hiện đại: SLC, MLC và TLC.

SLC - Ô đơn cấp - một ô có một cấp. Nó có hiệu suất cao, tiêu thụ điện năng thấp, tốc độ và số lượng ghi cao nhất. Loại bộ nhớ này thường được sử dụng trong các máy chủ cao cấp vì giá thành cao.

MLC - Multi Level Cell - một ô có nhiều cấp độ. Nó có giá thành thấp hơn so với SLC nhưng độ bền kém hơn và số lượng ít hơn. Đó là một giải pháp tốt cho nền tảng thương mại và công việc - nó có tỷ lệ giá/tốc độ tốt.

EMLC - Ô đa cấp doanh nghiệp - một ô có cấu trúc tương tự MLC thông thường, nhưng có nguồn tài nguyên tăng lên. Về độ tin cậy, eMLC nằm giữa SLC và MLC, trong khi giá không cao hơn nhiều so với MLC. Các ứng dụng điển hình là máy trạm và máy chủ tầm trung.

TLC - Ô ba cấp - một ô có ba cấp độ. Nó có mật độ cao hơn nhưng độ bền thấp hơn, tốc độ đọc ghi chậm và số lượng ít hơn so với SLC và MLC. Cho đến nay, bộ nhớ TLC chủ yếu được sử dụng trong ổ đĩa flash (ổ đĩa flash), nhưng những cải tiến trong công nghệ sản xuất đã giúp nó có thể sử dụng nó trong các ổ SSD tiêu chuẩn.

Tất cả các loại ô nhớ được mô tả ở trên đều thuộc loại phẳng, tức là 2D. Nhược điểm của chúng là để tăng mật độ trong từng con chip riêng lẻ thì cần phải giảm quy trình kỹ thuật và do một số hạn chế về mặt vật lý, điều này sẽ không thể thực hiện được vô thời hạn. Để khắc phục điều này, các ô nhớ 3D đã được phát triển. Các ô như vậy được biểu diễn bằng một hình trụ:

Điều này giúp có thể đặt số lượng ô nhớ lớn hơn trên một lớp chip. Các ô như vậy được gọi là 3D V-NAND và 3D TLC. Về dung lượng và độ tin cậy, nó phù hợp với các tế bào TLC.

Số lượng trạng thái ô, tùy thuộc vào loại bộ nhớ
Về mặt vật lý, cả ba loại công nghệ bộ nhớ đều có cùng bóng bán dẫn; điểm khác biệt duy nhất là chúng lưu trữ lượng điện tích khác nhau. Cả ba đều hoạt động theo cùng một cách: khi đặt điện áp vào, tế bào sẽ chuyển từ trạng thái "tắt" sang trạng thái "bật". SLC sử dụng hai giá trị điện áp riêng biệt để biểu thị một bit thông tin trên mỗi ô và hai mức logic (0 và 1). MLC sử dụng bốn giá trị điện áp riêng biệt để biểu thị bốn trạng thái logic (00, 01, 10, 11) hoặc hai bit. TLC sử dụng tám giá trị điện áp riêng biệt để biểu thị tám trạng thái logic (000, 001, 010, 011, 100, 101, 110, 111) hoặc ba bit thông tin.

Vì SLC chỉ sử dụng hai giá trị điện áp nên chúng có thể khác nhau nhiều hơn, làm giảm khả năng hiểu sai trạng thái tế bào hiện tại và cho phép sử dụng các điều kiện sửa lỗi tiêu chuẩn. Khả năng xảy ra lỗi đọc tăng lên khi sử dụng TLC NAND, do đó loại bộ nhớ này yêu cầu nhiều ECC (Mã sửa lỗi) hơn khi tài nguyên NAND cạn kiệt, vì trong TLC cần phải sửa ba bit thông tin cùng một lúc, không giống như một bit cho SLC và hai cho MLC.

25-05-2017 Ngày sửa đổi lần cuối: 10-10-2018

Bài viết thảo luận về: Các tính năng của việc sử dụng vi mạch NAND TỐC BIẾN,phương pháp bố trí trang và quản lý khối xấu. Khuyến nghị cho việc lập trình bằng cách sử dụng lập trình viên.

NỘI DUNG:

1. LÝ THUYẾT

1.1. Sự khác biệt giữa chip NAND FLASH và chip thông thường

Nếu bạn không đi sâu vào sự phức tạp của công nghệ, sự khác biệt giữa các vi mạch NAND từ các chip nhớ khác như sau:

  • Vi mạch NAND có rất khối lượng lớn.
  • Vi mạch NAND có thể có khối xấu (xấu).
  • Kích thước trang Hồ sơ không phải là lũy thừa của 2 .
  • Ghi vào chipđã tiến hành chỉ các trang , tẩy xóa - ít nhất là theo khối .

Có một vài điểm khác biệt nữa, nhưng hai tính năng đầu tiên là then chốt. Gây ra nhiều vấn đề nhất sự hiện diện của các khối xấu.

1.2. Tổ chức chip NAND FLASH

Thêm chi tiết về tổ chức và cấu trúc của vi mạch NAND có thể được đọc trong tài liệu chuyên ngành, nhưng chúng tôi lưu ý rằng:

  • Vi mạch NAND tổ chức ở trang (trang), các trang trong khối (các anh chàng), chặn trong mô-đun logic (luân).
  • Kích thước trang NAND không phải là bội số của 2.
  • Trang này bao gồm nền tảngdự phòng (dự phòng) vùng.

Theo các nhà phát triển NAND V.vùng cốt lõi phải được đặt chính dữ liệu, MỘT trong khu vực dự phòng (dự trữ) - đánh dấu khối xấu, tổng kiểm tra khu vực chính, khu vực khác thông tin dịch vụ.

Nếu họ nói về kích thước trang chip NAND 512 byte hoặc 2K byte, vậy thì chúng ta đang nói về kích thước của khu vực chính trang, ngoại trừ dự phòng.

1.3. Cách sử dụng Diện tích dự phòng của trang

Hãy để chúng tôi nhắc bạn một lần nữa rằng theo các nhà phát triển chip NAND trong khu vực dự phòng nên xác định vị trí: đánh dấu khối xấu, tổng kiểm tra vùng dữ liệu chính, khác thông tin dịch vụ.

Hầu hết các nhà phát triển chỉ mô tả vị tríđánh dấu khối xấu trong các vi mạch được cung cấp. Đối với các khía cạnh khác của việc sử dụng diện tích dự phòng, các khuyến nghị chung và thuật toán tính toán ECC được đưa ra, thường là theo Haming. Samsung còn đi xa hơn một chút, phát triển các đề xuất mang tên " Khu vực bộ nhớ flash NAND dự phòng. Tiêu chuẩn mục đích "("Khu vực dự phòng NAND Flash. Tiêu chuẩn chỉ định", ngày 27 tháng 4 năm 2005, Bộ phận Bộ nhớ, Samsung Electronics Co., Ltd).

Vì vậy, tiêu chuẩn này đề xuất cách sử dụng diện tích dự phòng như sau:

Đối với các chip có kích thước trang là 2048+64 byte Các khu vực chính và phụ của trang được chia thành 4 đoạn (ngành), mỗi đoạn:

Vùng đấtKích thước (byte)Miếng
Chủ yếu512 Khu vực 1
512 Khu vực 2
512 Khu vực 3
512 Khu vực 4
Dự phòng16 Khu vực 1
16 Khu vực 2
16 Khu vực 3
16 Khu vực 4

Mỗi mảnh khu vực chính của họ phù hợp mảnh đất dự phòng.

Sử dụng một khu vực dự phòng (cho mỗi mảnh trong số bốn mảnh)
đối với các chip có kích thước trang là 2048+64 byte:
Thiên kiến
(byte)
Kích cỡ
(byte)
Mục đíchSự miêu tả
Điểm đánh dấu khối xấu
Kín đáo
Số khu vực logic
Dành riêng cho số ngành
Kín đáo
Mã ECC cho khu vực trang chính
Mã ECC cho số khu vực logic
Kín đáo

Nhưng đây không phải là “tiêu chuẩn” duy nhất để phân bổ bộ nhớ trang; chẳng hạn, chỉ có chúng tôi biết vài chục trong số đó:

  • "Quản lý NAND FLASH trong WinCE 5.0 ", NXP;
  • "Quản lý khối xấu cho NAND Flash bằng NX2LP ", Ngày 15 tháng 12 năm 2006, Chất bán dẫn Cypress;
  • "Quản lý khối xấu OLPC NAND ", OLPC.

1.4. Hình ảnh NAND và hình ảnh nhị phân

Bạn có thể gặp phải hai lựa chọn hình ảnh để ghi âm:

  1. Tập tin nhị phân không vỡ tới các trang và không có diện tích dự phòng.
    Tùy chọn này có thể thực hiện được nếu bạn là nhà phát triển thiết bị sử dụng NAND hoặc nhận được tệp như vậy từ nhà phát triển. Hình ảnh này phù hợp để ghi vào vi mạch với các trang có kích thước bất kỳ và bất kỳ sự phân bổ diện tích dự phòng nào, bạn chỉ cần biết diện tích dự phòng sẽ được hình thành bằng phương pháp nào.
  2. Một hình ảnh được đọc từ một vi mạch (mẫu) khác, chứa một khu vực dự phòng có đánh dấu các khối xấu, thông tin dịch vụ và mã điều khiển.
    Hình ảnh này có thể được viết chỉ một vào một con chip với kích thước hoàn toàn giống nhau trang và khối.

Những chuyên gia sửa chữa các thiết bị khác nhau thường gặp phải trường hợp thứ hai. Trong trường hợp như vậy, thường rất khó xác định phương pháp phân bổ diện tích dự phòng được sử dụng và phương pháp quản lý khối xấu được sử dụng.

1.5. Nhà máy đánh dấu các khối xấu

Điều duy nhất ít nhiều được tiêu chuẩn hóa là nhà máy đánh dấu các khối xấu.

  • Các khối xấu được đánh dấu TRÊN trang 0 hoặc trang 1đối với các chip có kích thước trang nhỏ hơn 4K.
  • trang 4K và hơn thế nữa, việc đánh dấu có thể được bật trang cuối khối.
  • Riêng tôi điểm đánh dấu khối xấu nằm trong vùng dự phòng của trang ở byte 5 đối với các trang nhỏ (512 byte) và ở byte 0 đối với các trang lớn (2K).
  • Điểm đánh dấu khối xấu có thể quan trọng 0x00 hoặc 0xF0 cho các trang nhỏ0x00 để biết thêm X.
  • khối đẹp luôn được đánh dấu 0xFF.
  • Trong mọi trường hợp ý nghĩa khác với 0xFF người lập trình cảm nhận như điểm đánh dấu khối xấu.
  • Như một quy luật, trong thời hiện đại NAND khối xấu được lấp đầy hoàn toàn với giá trị 0x00.

Có một vấn đề: một khối xấu có thể bị xóa. Bằng cách này, bạn có thể mất thông tin về các khối chip xấu.

Tuy nhiên, nếu vi mạch đã hoạt động trong thiết bị thì phương pháp đánh dấu khối xấu này không phải lúc nào cũng được sử dụng. Đôi khi ngay cả thông tin khối xấu cũng không được lưu trữ trong bộ nhớ NAND. Tuy nhiên, thường xuyên hơn không, ngay cả khi nhà phát triển phần mềm thiết bị sử dụng một sơ đồ khác để quản lý các khối xấu, anh ta vẫn không muốn xóa các dấu hiệu của nhà máy.

1.6. Quản lý khối xấu

Nhà phát triển NAND micro Circuits đề xuất sử dụng các sơ đồ điều khiển khối xấu sau đây:

  • Vượt qua khối xấu
  • Cách sử dụng dự phòng vùng đất

Ngoài ra, các phương pháp quản lý các khối xấu đôi khi bao gồm việc sử dụng sửa lỗi(ECC). Cần lưu ý rằng việc sử dụng sửa lỗi đơn lẻ không loại bỏ được nhiều lỗi và vẫn buộc bạn phải sử dụng một trong các phương án trên. Ngoài ra, phần lớn NAND chip có một khu vực được đảm bảo không có lỗi trong đó các khối xấu không xuất hiện. Vùng không bị lỗi thường nằm ở phần đầu của chip.

Các phương pháp quản lý khối xấu này được mô tả rõ ràng trong tài liệu kỹ thuật của nhà sản xuất NAND và được thảo luận rộng rãi trong các tài liệu về việc sử dụng NAND. Tuy nhiên, chúng ta hãy nhớ lại ngắn gọn bản chất của chúng:

Bỏ qua các khối xấu:
Nếu khối hiện tại bị lỗi, nó sẽ bị bỏ qua và thông tin sẽ được ghi vào khối trống tiếp theo. Sơ đồ này phổ biến, dễ thực hiện nhưng hơi khó giải quyết đối với các trường hợp các khối xấu xuất hiện trong quá trình hoạt động. Để sơ đồ này hoạt động đầy đủ, số khối logic phải được lưu trữ bên trong khối (trên thực tế, tiêu chuẩn của Samsung để chỉ định một khu vực dự phòng giả định điều này). Khi làm việc theo sơ đồ này, bộ điều khiển phải lưu trữ ở đâu đó một bảng tương ứng giữa số khối logic và số vật lý của chúng, nếu không việc truy cập bộ nhớ sẽ bị chậm lại rất nhiều.

Vì vậy, sự phát triển hợp lý là sơ đồ sử dụng diện tích dự phòng:
Theo phương pháp này, toàn bộ dung lượng bộ nhớ được chia thành hai phần: chính và dự phòng. Khi một khối xấu xuất hiện trong bộ nhớ chính, nó sẽ được thay thế bằng một khối từ bộ nhớ dự phòng và một mục tương ứng được thực hiện trong bảng gán lại khối. Bảng gán lại được lưu trữ trong một khối không an toàn được đảm bảo hoặc trong nhiều bản sao. Định dạng bảng khác nhau, nó được lưu trữ ở những nơi khác nhau. Một lần nữa, Samsung mô tả một tiêu chuẩn về định dạng và bố cục của bảng nhưng ít người tuân theo.

2. THỰC HÀNH

2.1. Quét các khối xấu của chip NAND

Lập trình viên ChipStar cho phép bạn nhanh chóng quét vi mạch NAND về sự hiện diện của các khối xấu theo dấu hiệu của các khối xấu của nhà máy.

Chọn mục menu " Chip|Tìm khối xấu ", chip sẽ được kiểm tra các khối xấu. Kết quả được hiển thị dưới dạng bảng.

Hành động này chỉ cần thiết nếu bạn chỉ muốn xem danh sách các khối xấu. Trong tất cả các trường hợp khác, việc tìm kiếm các khối xấu được thực hiện tự động khi cần thiết.

2.2. Các khối xấu trong hình ảnh NAND

Khi đọc hình ảnh của chip NAND, lập trình viên sẽ lưu trữ thêm thông tin về trang và kích thước khối của chip. Thông tin được lưu trong một tập tin riêng biệt. Vì vậy nếu bạn đếm và lưu ảnh chip vào một file <имя_файла>.nbin chương trình sẽ tạo một tập tin khác: <имя_файла>.cfs . Khi mở một tập tin <имя_файла>.nbin tài liệu <имя_файла>.cfs sẽ được đọc theo cách tương tự. Trong tập tin <имя_файла>.cfs thông tin về trang và kích thước khối của chip được ghi lại. Sau khi đọc chip hoặc mở một tập tin như .nbin , quá trình quét nền của hình ảnh được thực hiện để phát hiện sự hiện diện của các khối xấu dựa trên thông tin về trang và kích thước khối.

Tùy chọn NAND và thông tin về các khối xấu có thể được tìm thấy trong "tab" NAND"biên tập viên lập trình:

Hình ảnh nhị phân NAND có thể được xem trong "tab" Bộ nhớ chính ":

Ở chế độ soạn thảo NAND diện tích dự phòng của trang được phân bổ màu xỉn hơn, các nút để di chuyển qua các trang, khối và nhảy nhanh về đầu vùng trống của trang hiện tại cũng có sẵn. Ngoài địa chỉ con trỏ, dòng trạng thái của trình soạn thảo còn hiển thị thêm số trangchặn số nơi con trỏ nằm. Tất cả điều này cho phép bạn xem nội dung của vi mạch một cách thuận tiện hơn.

2.3.Xóa NAND

Lập trình viên mặc định không xóa khối xấu, nhưng nếu bạn tắt tùy chọn " Kiểm tra và bỏ qua các khối xấu " các khối xấu có thể bị xóa và đánh dấu khối xấu có thể bị mất. Chỉ tắt tùy chọn này nếu cần thiết.

Chỉ những khối xấu được đánh dấu phù hợp với dấu hiệu của nhà máy mới được bỏ qua. Nếu thiết bị sử dụng cách đánh dấu khác cho các khối xấu, chúng sẽ bị xóa vì phần mềm lập trình viên sẽ không nhìn thấy chúng. Để làm việc với bố cục khối xấu không chuẩn, lập trình viên có thể sử dụng các plugin bên ngoài.

2.4. Kiểm tra vi mạch để phát hiện thiếu ghi âm

Theo mặc định, lập trình viên sẽ bỏ qua tất cả các khối xấu khi kiểm tra, nhưng nếu bạn tắt tùy chọn " Quét và bỏ qua các khối xấu "Các khối xấu sẽ được kiểm tra, điều này đương nhiên sẽ dẫn đến lỗi kiểm tra.

2.5. Viết hình ảnh đã hoàn thành vào chip

Đốt một hình ảnh NAND trong vi mạch hơi khác so với vi mạch thông thường TỐC BIẾN vi mạch Trước hết chúng phải phù hợp kích thước trang chip hình ảnh và mục tiêu. Nếu điều khiển được sử dụng, các khối xấu phải khớp kích thước khối hình ảnh và vi mạch.

Phần mềm dành cho mọi lập trình viên ChipStar hỗ trợ ba phương pháp để quản lý các khối xấu các công cụ tích hợp sẵn và số lượng plugin sử dụng không giới hạn. Ngoài ra, bạn có thể đặt số lượng khối có thể ghi ở đầu chip, thực tế là thứ tư cách để quản lý các khối xấu.

Phương pháp 1: Bỏ qua các khối xấu

Sao chép đơn giản, bỏ qua các khối xấu (các khối xấu được viết giống như các khối thông thường).

Ảnh gốc Chip
(trạng thái ban đầu)
Chip
(kết quả)
Khối 0
Tốt
Khối
lau dọn
Khối 0
Tốt
Khối 1
xấu
Khối
lau dọn
Khối 1
SAI
khối 2
Tốt
Khối
lau dọn
khối 2
Tốt
Khối 3
Tốt
Khối
xấu
Khối 3
bị lỗi
Khối 4
Tốt
Khối
lau dọn
Khối 4
Tốt
Ghi lại ranh giới
Khối 5
Tốt
Khối
lau dọn
Khối
lau dọn

Phu hợp nhât để sao chép chip NAND, mà không đi sâu vào cấu trúc bên trong của nó, với điều kiện là con chip được viết không chứa các khối xấu . Nếu ở ảnh gốc có những khối xấu , cuối cùng hình thành khối xấu sai . Sự xuất hiện của các khối xấu sai sẽ không ảnh hưởng đến hoạt động của thiết bị. Tuy nhiên, nếu con chip đã chứa sẵn các khối xấu thì khi bạn cố gắng ghi vào con chip đó, các khối xấu sẽ xuất hiện với những hậu quả khó lường. Mẹo: bạn có thể thử xóa toàn bộ chip, kể cả các khối xấu, sau đó sao chép nó. Nếu việc ghi vào khối xấu được hoàn thành thành công (điều này thường xảy ra), thiết bị của bạn sẽ hoạt động chính xác; trong tương lai, phần mềm thiết bị sẽ xác định khối xấu và thay thế nó bằng khối tốt theo thuật toán vận hành của nó.

Phương pháp 2: Bỏ qua các khối xấu

Ảnh gốc Chip
(trạng thái ban đầu)
Chip
(kết quả)
Khối 0
Tốt
Khối
lau dọn
Khối 0
Tốt
Khối 1
xấu
Khối
lau dọn
Khối
lau dọn
khối 2
Tốt
Khối
lau dọn
khối 2
Tốt
Khối 3
Tốt
Khối
xấu
Khối
xấu
Khối 4
Tốt
Khối
lau dọn
Khối 4
Tốt
Ghi lại ranh giới
Khối 5
Tốt
Khối
lau dọn
Khối
lau dọn

Khi bỏ qua các khối xấu các khối xấu từ hình ảnh nguồn không được ghithông tin không được ghi vào khối chip xấu. Đây không phải là chính sách sao chép tốt nhất nhưng nó an toàn trước các khối chip xấu: không có thông tin nào bị mất về khối chip xấu và khối xấu sai không xuất hiện. Trong một số trường hợp, chính sách sao chép như vậy có thể giúp khôi phục chức năng của một thiết bị không xác định.

Phương pháp 3: Bỏ qua các khối xấu

Ảnh gốc Chip
(trạng thái ban đầu)
Chip
(kết quả)
Khối 0
Tốt
Khối
lau dọn
Khối 0
Tốt
Khối 1
xấu

Khối
lau dọn
khối 2
Tốt
khối 2
Tốt
Khối
lau dọn
Khối 3
Tốt
Khối 3
Tốt
Khối
xấu
Khối
xấu
Khối 4
Tốt
Khối
lau dọn
Khối 4
Tốt
Ghi lại ranh giới
Khối 5
Tốt
Khối
lau dọn
Khối
lau dọn

Viết bằng cách bỏ qua các khối xấu giả định rằng thiết bị sử dụng chính xác thuật toán này để quản lý các khối xấu chứ không phải bất kỳ thuật toán nào khác. Trong những điều kiện này, việc sao chép thông tin chính xác được đảm bảo.

Cách 4: Chỉ ghi vùng đảm bảo không bị lỗi

Ảnh gốc Chip
(trạng thái ban đầu)
Chip
(kết quả)
Khối 0
Tốt
Khối
lau dọn
Khối 0
Tốt
khối 2
Tốt
Khối
lau dọn
Khối 1
Tốt
Ghi lại ranh giới
Khối
xấu
Khối
lau dọn
Khối
lau dọn
Khối 3
Tốt
Khối
xấu
Khối
xấu
Khối 4
Tốt
Khối
lau dọn
Khối
lau dọn
Khối 5
Tốt

Khối
lau dọn

Khối
lau dọn

Ở hiện đại nhất NAND vi mạch, các khối đầu tiên (ít nhất một) được đảm bảo không có lỗi. Ở nhiều thiết bị, ở đầu chip có mã bootloader và hệ điều hành của thiết bị. Chỉ sao chép những khu vực này thường là đủ.

Trong hộp thoại cài đặt chế độ ghi, chỉ định kích thước ghi theo khối.

Các cách khác để quản lý các khối xấu

Phần mềm Lập trình viên ChipStar hỗ trợ mọi thuật toán quản lý khối xấu NAND bằng cách sử dụng các plugin bên ngoài. Nếu bạn đã cài đặt plugin, mô tả về các phương pháp bổ sung sẽ xuất hiện trong danh sách " Quản lý khối NAND xấu ". Bạn có thể định cấu hình các tham số của phương pháp đã chọn bằng cách nhấp vào nút " Plugin bên ngoài ".

Sử dụng Mã sửa lỗi (ECC)

Việc sử dụng mã sửa lỗi cho phép phục hồi các lỗi đơn trên trang NAND.

Các thuật toán khác nhau có thể được sử dụng để khôi phục các lỗi đơn lẻ trong ngành. Tùy thuộc vào thuật toán ECC, số lượng lỗi khác nhau trên mỗi cung (512+16 byte) có thể được phục hồi. Theo thuật ngữ “ đơn "được hiểu lỗi chỉ trong một bit dữ liệu. Đối với NAND có kích thước trang là 512+16 byte, khái niệm " lĩnh vực" Và " trang" phù hợp. Đối với NAND có kích thước trang lớn, lập trình viên ChipStar sử dụng sơ đồ bố cục trang ngành như mô tả. Trong cài đặt ghi hoặc xác minh, bạn có thể chỉ định số lượng lỗi trên mỗi khu vực mà thuật toán được sử dụng trong thiết bị của bạn có thể sửa. Theo đó, các vi mạch có số lỗi có thể chấp nhận được sẽ không bị từ chối; thông tin về số lỗi có thể sửa được sẽ hiển thị trong cửa sổ thống kê:

Thông tin về số lượng lỗi cho phép trên mỗi khu vực đối với từng chip cụ thể có thể được tìm thấy trong tài liệu mỗi chip. Tất cả các chip NAND mới được thêm vào đều được nhập vào cơ sở dữ liệu của lập trình viên, có tính đến số lỗi cho phép.

Khi thêm độc lập vi mạch:

  • Nếu như Hỗ trợ ONFI, khi đó số lỗi cho phép trên mỗi ngành đọc từ bảng thông số vi mạch và được cài đặtđến giá trị mong muốn.
  • nếu vi mạch không hỗ trợ ONFI, người dùng phải tự mình đặt giá trị, sử dụng tài liệu dành cho chip.

Đối với vi mạch mới NAND sản xuất SAMSUNG giá trị của số lỗi cho phép trên mỗi khu vực được mã hóa như một phần của mã định danh chip. Do đó, đối với các vi mạch như vậy, số lỗi cho phép trên mỗi khu vực cũng sẽ được đặt chính xác.

Khi đọc nội dung của vi mạch nhằm mục đích lưu lại hoặc sao chép nó, các lỗi đơn lẻ không thể được phát hiện một cách đáng tin cậy. Sau đó, hình ảnh thu được có thể được phân tích lỗi riêng biệt bằng cách tính toán mã kiểm tra ECC bằng một ứng dụng bên ngoài, với điều kiện là thuật toán được sử dụng và bố cục trang đã được biết .

Phần mềm lập trình ChipStar cung cấp một phương pháp thống kê gián tiếp để xác định và loại bỏ các lỗi đơn lẻ. Phương pháp này chỉ cho phép xác định không ổn định lỗi với không được bảo đảmđộ tin cậy. Để thực hiện đọc có phát hiện lỗi, bạn cần chọn " Đọc chọn lọc" và trên tab "NAND", chọn hộp " Bật chế độ sửa lỗi"

Bạn có thể định cấu hình số lần đọc lại để so sánh và tổng số lần đọc lại khi xảy ra lỗi. Cần lưu ý rằng việc sử dụng phương pháp này sẽ làm chậm quá trình đọc.

Thuật toán phát hiện lỗi thống kê hoạt động như sau:

  1. Trang NAND được đọc nhiều lần liên tiếp (ít nhất là ba lần).
  2. Dữ liệu đọc được so sánh từng byte.
  3. Nếu không phát hiện thấy lỗi so sánh nào thì trang đó được coi là không có lỗi.
  4. Nếu phát hiện thấy lỗi trong quá trình so sánh, trang sẽ được đọc thêm nhiều lần nữa.
  5. Đối với mỗi lỗi, số lần đọc được tính. các đơn vịsố không.
  6. Giá trị đúng (“0” hoặc “1”) được coi là giá trị có nhiều giá trị hơn.

Thuật toán hoạt động tốt nếu xác suất xảy ra lỗi trong một bit cụ thể của vi mạch nhỏ hơn 0,5. Khi đọc một vi mạch, các lỗi “đã sửa” và xác suất đọc đúng sẽ được tính.

2.6. Chuyển đổi hình ảnh nhị phân thành hình ảnh NAND

Mọi thứ được mô tả ở trên đều liên quan nhiều hơn đến việc sao chép NAND và các bản ghi dựa trên mô hình vi mạch, nhưng thường cần thiết ghi ảnh nhị phân gốc của chương trình vào một con chip sạch. Trước khi viết bạn cần chuyển đổi ảnh nhị phân thành ảnh NAND bằng cách thêm vào từng trang diện tích dự phòng và điền nó một cách chính xác. Để thực hiện việc này, hãy mở tệp nhị phân của bạn, chọn mục menu " ". Một hộp thoại sẽ xuất hiện:

Đặt chế độ chuyển đổi NAND: " Hình ảnh nhị phân... ", chỉ định trang và kích thước khối NAND hoặc chọn chip cần thiết. Chọn định dạng vùng dự phòng. Lập trình viên hỗ trợ điền vùng đơn giản bằng các giá trị FF ​​​​bằng các công cụ tích hợp sẵn và các phương pháp khác bằng cách sử dụng plug-in. A plug-in được cung cấp cùng với bộ lập trình để thực hiện các nhiệm vụ về vùng dự phòng được Samsung khuyến nghị.

Nếu bạn cần thực hiện bất kỳ tùy chọn phân phối khác nhau - hãy cho chúng tôi biết và chúng tôi sẽ chuẩn bị plugin thích hợp hoặc bạn có thể tự triển khai plugin cần thiết.

2.7. Tương thích với hình ảnh NAND được đọc bởi các lập trình viên khác

nếu bạn có Hình ảnh NAND, được đọc bởi một lập trình viên khác hoặc nhận được từ một nguồn khác, nó phải chuyển thành sang định dạng phù hợp để ghi Lập trình viên ChipStar.

Để làm điều này, hãy làm theo các bước sau:

  • Mở tệp của bạn, chọn mục menu " Chỉnh sửa|Chuyển đổi chế độ soạn thảo NAND ". Một hộp thoại sẽ xuất hiện như hình trên.
  • Đặt chế độ chuyển đổi thành định dạng NAND: "Hình ảnh đã là NAND... ", biểu thị kích thước trangkhối NAND hoặc chọn chip cần thiết. Nhấp chuột " Tiếp tục".
  • Một tab sẽ xuất hiện trong trình chỉnh sửa " NAND " và hình ảnh sẽ bắt đầu quét các khối xấu.
  • Tệp kết quả có thể được lưu ở định dạng NAND, tập tin sẽ nhận được phần mở rộng .nbin mặc định.

Nguồn gốc của bộ nhớ NAND dựa trên bộ nhớ flash, xuất hiện sớm hơn nhiều và được sử dụng trong các ổ đĩa thể rắn với tốc độ hoạt động, độ bền và diện tích chip lớn hơn rõ ràng so với bộ nhớ NAND. Bộ nhớ flash được Fujio Masuoka phát minh vào năm 1984 khi đang làm việc cho Toshiba. Sau khi trình bày thiết kế của Fujio Masuoka tại IEEE (Hội nghị Thiết bị Điện tử Quốc tế) năm 1984 ở San Francisco, California, Intel đã phát hành chip flash NOR thương mại đầu tiên vào năm 1988. Sự xuất hiện của bộ nhớ flash NAND được Toshiba công bố vào năm 1989 tại Hội nghị Mạch thể rắn Quốc tế.

Bộ nhớ flash, các loại bộ nhớ NAND

Sự khác biệt cơ bản giữa bộ nhớ flash là nó lưu trữ một bit thông tin trong một mảng bóng bán dẫn cổng nổi gọi là ô. Có hai loại bộ nhớ NAND được sử dụng trong ổ SSD – SLC và MLC. Sự khác biệt giữa loại bộ nhớ SLC và MLC là gì? Các thiết bị SLC có các ô một cấp chỉ lưu trữ một bit trong mỗi bóng bán dẫn, trong khi MLC đa cấp có thể lưu trữ nhiều bit thông tin trong mỗi ô. Đây là hệ quả của việc sử dụng các mức điện tích khác nhau trên cổng nổi của bóng bán dẫn. Nguyên tắc mã hóa thông tin (logic 0 hoặc 1) là giống nhau trong mọi trường hợp; nó sẽ được mô tả dưới đây. Chỉ có cấu trúc của tế bào là khác nhau. Độ sâu của các mức MLC có thể lên tới 4, tức là lưu trữ tối đa 4 bit thông tin, trong khi SLC là đơn vị đơn giản hơn và lưu trữ 1 bit.

Công nghệ MLC cho phép, bằng cách tăng cấp độ, tăng đáng kể dung lượng ổ đĩa, không thay đổi kích thước vật lý của nó, giúp giảm chi phí trên mỗi gigabyte. Đây là nơi mà những phẩm chất tích cực của công nghệ này kết thúc. Với mỗi cấp độ bổ sung, nhiệm vụ nhận biết mức tín hiệu trở nên phức tạp hơn, chưa kể tuổi thọ hoạt động của ổ SSD bị giảm, thời gian cần thiết để tìm kiếm địa chỉ ô tăng lên và khả năng xảy ra lỗi cũng tăng lên. Kiểm soát lỗi được thực hiện trong phần cứng, trong trường hợp công nghệ MLC dẫn đến tăng chi phí của thiết bị điện tử điều khiển và do đó, làm tăng chi phí cuối cùng của SSD. Ổ SSD được bán rộng rãi trên thị trường toàn cầu sử dụng công nghệ MLC với khả năng ghi bốn cấp độ. Trong trường hợp này, dữ liệu được mã hóa thành (11), (10), (01), (00). Đối với SLC, ô cấp đơn chỉ có thể lấy giá trị 0 hoặc 1.

Các giải pháp với tế bào SLC, có cùng kích thước và giá cả, rõ ràng thua kém MLC về lượng thông tin lưu trữ trên chúng, nhưng đồng thời chúng nhanh hơn và bền hơn. Do đó, các nhà sản xuất phải sử dụng nhiều chip hơn với tổng dung lượng đĩa nhỏ hơn, điều này cuối cùng làm tăng giá đĩa SLC lên hơn gấp đôi so với đĩa MLC cùng kích thước.

Cơ chế ghi và đọc ô cơ bản của bộ nhớ NAND

Chúng tôi sẽ cố gắng mô tả chi tiết hơn hoạt động của bóng bán dẫn cho bộ nhớ NAND, đây là bóng bán dẫn hiệu ứng trường cổng cách điện hoặc MOSFET.

Tính năng chính của bóng bán dẫn hiệu ứng trường, cho phép sử dụng nó để lưu trữ thông tin, là khả năng giữ điện tích trên cổng “nổi” lên đến 10 năm. Bản thân cổng “nổi” được làm bằng silicon đa tinh thể và được bao quanh hoàn toàn bởi một lớp điện môi, đảm bảo rằng nó không có tiếp xúc điện với các phần tử của bóng bán dẫn. Nó nằm giữa cổng điều khiển và bề mặt tiếp giáp p-n. Điện cực điều khiển của bóng bán dẫn hiệu ứng trường được gọi là cổng. Trong trường hợp này, độ dẫn điện của tiếp giáp p-n, do điện trở gây ra, được điều khiển bởi sự chênh lệch điện thế, tạo ra một điện trường ảnh hưởng đến trạng thái của tiếp giáp p-n.

Các yếu tố quan trọng của bóng bán dẫn cũng là cống và nguồn. Để thay đổi một chút thông tin được ghi vào ô, một điện trường được tạo ra bởi điện áp trên cổng điều khiển và xảy ra hiệu ứng đường hầm. Điều này cho phép một số electron đi qua lớp điện môi đến cổng nổi, cung cấp điện tích cho nó và do đó lấp đầy ô đơn vị với một chút thông tin.

Điện tích tích lũy trên cổng nổi ảnh hưởng đến độ dẫn nguồn thoát nước, được sử dụng để đọc.

Sự khác biệt trong cơ chế ghi và đọc ảnh hưởng rõ ràng đến mức tiêu thụ điện năng khác nhau của các chế độ này. Bộ nhớ NAND tiêu thụ khá nhiều dòng điện khi ghi, nhưng khi đọc thì ngược lại, mức tiêu thụ năng lượng lại nhỏ. Để xóa thông tin, một điện áp âm cao được đặt vào cổng điều khiển và các electron từ cổng nổi sẽ di chuyển về nguồn. Ổ đĩa thể rắn hiện đại bao gồm các ô cơ bản như vậy được kết hợp thành các trang, khối và mảng.

Tuổi thọ bộ nhớ NAND

Tính năng chính của bộ nhớ NAND cho phép sử dụng trong ổ SSD là khả năng lưu trữ dữ liệu mà không cần nguồn điện bên ngoài. Tuy nhiên, công nghệ này áp đặt các hạn chế về số lượng thay đổi đối với trạng thái logic của một ô, dẫn đến số chu kỳ ghi lại cho ô này là hữu hạn. Điều này là do lớp điện môi bị phá hủy dần dần. Hiệu ứng này xảy ra nhanh hơn nhiều trong các tế bào MLC do lượng dự trữ nhỏ để thay đổi điện tích cổng nổi do đặc điểm thiết kế. Việc đọc một ô cũng ảnh hưởng đến tuổi thọ của nó, nhưng tác động này ít đáng kể hơn nhiều so với khi ghi/xóa, điều này cho phép các chu kỳ đọc được coi là không giới hạn và tuổi thọ của ổ SSD được đo bằng số chu kỳ ghi lại có thể có.

Tất cả các ổ SSD đều chứa một bộ phận không thể tiếp cận được đối với các hoạt động ghi/đọc tiêu chuẩn. Nó cần thiết như một nguồn dự trữ trong trường hợp tế bào bị hao mòn, tương tự như ổ HDD từ tính, có nguồn dự trữ để thay thế các khối xấu. Dự trữ pin bổ sung được sử dụng một cách linh hoạt và khi các pin sơ cấp bị hao mòn về mặt vật lý, một pin dự phòng thay thế sẽ được cung cấp.

Dưới đây là bảng so sánh gần đúng về các đặc điểm chính giúp phân biệt hoạt động của ổ SSD với công nghệ SLC và ổ đĩa có tế bào MLC.

Bảng này cho thấy rõ ràng tất cả những ưu điểm và nhược điểm của các công nghệ này. Nó cho thấy tính ưu việt của giải pháp SLC so với MLC, nhưng không chỉ ra tiêu chí chính cho sự phổ biến của ổ SSD - giá của chúng. Không có ích gì khi chỉ ra điều đó do chi phí của các giải pháp như vậy đã giảm nhanh chóng. Hãy chỉ nói rằng mặc dù ổ MLC kém hơn SLC về mọi mặt nhưng chúng đắt hơn gấp đôi và có thể nhỏ gọn hơn với cùng một lượng dữ liệu được lưu trữ.

Cấu trúc ổ SSD: kích thước ô, kích thước trang, khối bộ nhớ NAND

Để sử dụng hiệu quả hơn các ô nhớ cơ bản, chúng được kết hợp thành các mảng có cấu trúc đa cấp. Một ô, lưu trữ một bit dữ liệu (đối với SLC) hoặc thường là hai (đối với thế hệ MLC hiện tại), được kết hợp thành một nhóm gọi là trang và chứa 4 KB dữ liệu.

Các thuật toán đặc biệt để làm việc với ổ SSD

Do chu kỳ ghi/xóa của các ô nhớ flash bị hạn chế, các nhà phát triển đã phải tạo ra thuật toán chính xác để vận hành ổ SSD, cho phép nó “làm hao mòn” toàn bộ không gian lưu trữ một cách đồng đều. Như chúng tôi đã lưu ý, toàn bộ ổ đĩa được chia thành các khối có kích thước 512 KB và lần lượt chúng thành các trang có dung lượng 4 KB, trên đó các thao tác đọc và ghi được thực hiện. Nhưng một khi bạn đã ghi thông tin vào một trang, nó sẽ không thể bị ghi đè cho đến khi được xóa. Vấn đề là kích thước tối thiểu của thông tin được ghi không được nhỏ hơn 4 KB và dữ liệu có thể bị xóa trong khối ít nhất 512 KB. Để làm điều này, bộ điều khiển sẽ nhóm và truyền dữ liệu (chúng tôi sẽ mô tả thuật toán này bên dưới) để giải phóng toàn bộ khối. Hoạt động này dẫn đến tăng thời gian phản hồi và giảm tài nguyên SSD, nhưng phải hy sinh một số thứ.

Hãy nói về thuật toán ghi/xóa.

Sau yêu cầu ghi từ hệ điều hành, bộ điều khiển phương tiện sẽ xác định kích thước và cấu trúc của thông tin. Nếu có đủ số lượng khối trống, một khối mới sẽ được phân bổ, trên đó dữ liệu được chuyển đến HĐH để ghi sẽ được sao chép. Tuy nhiên, khi đĩa đầy và số lượng khối trống giảm đi, thao tác này trở nên phức tạp hơn đáng kể. Bộ điều khiển ngày càng tìm kiếm khối phù hợp nhất (về số lượng trang trống), chiếm một phần và viết lại thành một khối trống, kết hợp nó với dữ liệu nhận được từ HĐH để ghi, khối này sẽ lấp đầy hoàn toàn. Khối cũ sau đó sẽ bị xóa. Với thuật toán này, chúng ta nhận được một khối được lấp đầy hoàn toàn và một khối trống, được bao gồm trong nhóm các khối trống có sẵn để ghi. Khi yêu cầu ghi được thực hiện, bộ điều khiển chỉ sử dụng các khối từ nhóm này.

Bộ điều khiển thường được trang bị 10 kênh; đặc biệt, bộ điều khiển đĩa SSD của Intel có số lượng kênh này. Toàn bộ nhóm chip được phân bổ đều cho từng kênh trao đổi dữ liệu. Ở giai đoạn phát triển của công nghệ ổ SSD, các chip bộ nhớ tương tác với kênh đầu tiên không thể giao nhau trong hoạt động với các kênh thứ hai, thứ ba và các kênh tiếp theo, nhưng vấn đề này có thể được giải quyết trong tương lai gần. Sẽ khá hợp lý nếu sử dụng các liên kết “nổi” cho tất cả bộ nhớ nằm trên đĩa. Thường có nhu cầu ghi lại một hàng dữ liệu nhỏ, sau đó bộ điều khiển sẽ tự động phân phối toàn bộ khối trên tất cả các kênh nhưng kết nối giữa các ô vẫn được giữ nguyên, bởi vì phần dữ liệu này là một đơn vị logic.

Thao tác xóa dữ liệu cũng phụ thuộc trực tiếp vào khối lượng và vị trí dữ liệu bị xóa. Nếu tất cả thông tin được ghi trong một khối hoặc trong một nhóm khối, chiếm hoàn toàn chúng, thì khối/khối đó chỉ đơn giản là bị xóa và được đánh dấu là trống và sẵn sàng cho việc ghi tiếp theo ở tốc độ cao nhất có thể. Nhưng trường hợp lý tưởng này không phải lúc nào cũng xảy ra.

Nếu cần xóa không phải toàn bộ khối mà là một số trang nằm trong đó, thì bộ điều khiển sẽ xóa dữ liệu một cách hợp lý, không xóa mà chỉ đánh dấu dữ liệu trang là đã xóa. Trong tương lai, thông tin còn lại sẽ được kết hợp với thông tin mới được ghi và ghi vào một khối trống, và khối ban đầu, như đã được mô tả trong thuật toán ghi, sẽ bị xóa hoàn toàn và được đánh dấu là trống.

Tại sao cần cắt tỉa?

Đây là một công nghệ quan trọng khác đảm bảo ổ SSD bị hao mòn đồng đều hơn và xử lý dữ liệu nhanh hơn thông qua lệnh TRIM. Nó cho phép bạn xây dựng một chuỗi và xác định mức độ ưu tiên của các khối được giải phóng. Trước đây, thao tác này được gán cho HĐH, nhưng các bộ điều khiển SSD hiện đại đã hỗ trợ chức năng này trong phần cứng trong chương trình cơ sở của ổ đĩa. Thời gian cần thiết để xóa các khối có liên quan theo cấp số nhân với dung lượng trống trên đĩa. Càng ít thông tin và càng có nhiều dung lượng trống thì việc "cắt xén" trên SSD càng nhanh. Khi đĩa đạt mức đầy 75%, chức năng dọn dẹp vẫn không được chú ý lắm so với thời gian nhàn rỗi. Nhưng ngay khi còn lại ít hơn 15% dung lượng trống, việc cắt tỉa sẽ trở nên khó khăn. Đương nhiên, một phần của sự phụ thuộc hoàn toàn được xác định bởi loại thông tin (tĩnh, tức là hiếm khi được di chuyển và chủ yếu chỉ đọc hoặc động). Theo nghiên cứu của IBM, điều kiện hoạt động lý tưởng cho ổ SSD là khi nó đầy dưới 75% và tỷ lệ thông tin tĩnh và động là 3 trên 1.

TRIM là một phần không thể thiếu của ổ đĩa trạng thái rắn hiện đại. Nó giúp tăng hiệu suất khi đĩa chứa hơn 2/3 dữ liệu, nhờ việc sắp xếp chính xác các khối và chuẩn bị chúng để ghi. Điều này cho phép bạn giảm sự khác biệt về tốc độ của một đĩa mới và đã đầy 75% xuống còn 2-3%.

Đừng quên rằng theo mặc định, hệ điều hành được cấu hình để hoạt động với đĩa HDD thông thường, có nghĩa là người dùng phải tắt các cơ chế “cũ” để tăng tốc độ của đĩa từ cũng như các thuật toán chống phân mảnh. Ngoài ra, điều quan trọng là phải lo lắng về việc không sử dụng hết dung lượng trên ổ SSD của bạn.

Bộ đệm đệm được sử dụng để làm gì trên ổ SSD?

Bộ đệm đệm trên ổ SSD không được sử dụng để tăng tốc quá trình ghi/đọc như thông lệ đối với ổ HDD. Dung lượng của nó thậm chí còn không được ghi rõ trong thông số kỹ thuật của SSD bởi phần lớn các nhà sản xuất. Nó không thể được coi là bộ nhớ đệm thông thường vì chúng ta đã quen với việc hiểu nó. Bộ nhớ đệm trên đĩa SSD được sử dụng linh hoạt để lưu trữ các bảng vị trí và mức độ chiếm dụng của các ô đĩa. Đồng thời, nó có thể lưu trữ thông tin tạm thời từ các ô bị xóa nếu không còn đủ dung lượng trống trên đĩa. Các bảng là ma trận ba chiều và là trợ lý chính cho bộ điều khiển SSD. Dựa trên dữ liệu này, đĩa đưa ra quyết định xóa các ô bổ sung. Nó cũng lưu trữ thông tin về tần suất và cường độ sử dụng của từng khối có sẵn trên đĩa. Ngoài ra, địa chỉ của những “địa điểm” không thể ghi âm do hao mòn vật lý cũng được ghi lại tại đây.

Bộ điều khiển SSD

Một yếu tố rất quan trọng và được cải tiến liên tục của ổ SSD là bộ điều khiển của nó. Nhiệm vụ chính của bộ điều khiển là cung cấp các hoạt động đọc và ghi, nhưng do ổ SSD có nhiều tính năng vật lý nên bộ điều khiển còn chịu trách nhiệm quản lý cấu trúc bố cục dữ liệu. Dựa trên ma trận vị trí khối trong đó ô nào đã được ghi vào và ô nào chưa, bộ điều khiển sẽ tối ưu hóa tốc độ ghi và đảm bảo tuổi thọ dài nhất cho ổ SSD của bạn. Do đặc điểm thiết kế của bộ nhớ NAND, không thể làm việc với từng ô riêng biệt. Như chúng tôi đã nói ở trên, chúng được kết hợp thành các trang 4 KB và thông tin chỉ có thể được ghi lại bằng cách chiếm toàn bộ trang. Bạn có thể xóa dữ liệu theo khối có kích thước bằng 512 KB. Tất cả những hạn chế này đặt ra những trách nhiệm nhất định đối với thuật toán thông minh chính xác của bộ điều khiển. Do đó, bộ điều khiển được cấu hình và tối ưu hóa đúng cách có thể thay đổi đáng kể cả hiệu suất tốc độ và độ bền của ổ SSD.

Kết quả

Hiện tại, còn quá sớm để nói về chiến thắng hoàn toàn của ổ SSD trước đĩa từ. Nếu chúng ta tính đến dung lượng và tốc độ của ổ SSD, so sánh chúng với các thông số tương tự của ổ cứng HDD truyền thống, thì yếu tố hạn chế chính khi chuyển sang ổ SSD vẫn sẽ là giá của chúng. Một phân tích trong vài năm gần đây đã cho thấy sự miễn cưỡng của các nhà sản xuất trong việc giảm giá bộ nhớ NAND. Chỉ trong sáu tháng qua, chúng ta mới có thể quan sát thấy giá SSD có xu hướng giảm nhẹ và điều này rất có thể là do nhu cầu tiêu dùng giảm, nguyên nhân là do cuộc khủng hoảng toàn cầu. Ổ đĩa thể rắn đã có mặt rộng rãi trên thị trường thế giới trong vài năm nay, nhưng ngay cả một giai đoạn quan trọng như vậy đối với công nghệ kỹ thuật số cũng không thể ảnh hưởng đến khả năng cạnh tranh của chúng về “giá trên mỗi GB thông tin được lưu trữ” so với đĩa từ. . Mật độ ghi trên mỗi đĩa từ không ngừng tăng lên, góp phần cho ra đời các model dung lượng ngày càng tăng (hiện tại, ổ cứng HDD có dung lượng 2 TB được cung cấp rộng rãi). Sự phân bổ thị trường này có thể buộc người mua chỉ ưu tiên ổ SSD trong những trường hợp cần gấp về tốc độ đọc hoặc khả năng chống rung/sốc, nhưng phần lớn thông tin sẽ vẫn được lưu trữ trên các ổ cứng cổ điển.

Ưu điểm và nhược điểm của SSD so với đĩa từ HDD:

Thuận lợi:

  • tốc độ đọc nhanh hơn nhiều;
  • hoàn toàn không có tiếng ồn;
  • độ tin cậy do không có bộ phận chuyển động;
  • sự tiêu thụ ít điện năng;
  • khả năng chống rung cao.

Sai sót:

  • chi phí cao cho mỗi GB thông tin được lưu trữ;
  • số lượng chu kỳ ghi và xóa dữ liệu hạn chế.

Bài viết được đọc 10888 lần

Đăng ký kênh của chúng tôi