Bộ nhớ flash NAND và NOR: Đánh đổi kiến trúc, hiệu suất và kỹ thuật

Bộ nhớ flash được sử dụng rộng rãi trên các hệ thống nhúng và thiết bị điện tử tiêu dùng, nhưng NAND và NOR flash phục vụ các mục đích khác nhau về cơ bản. Sự khác biệt của chúng không chỉ là về tốc độ hay dung lượng - chúng bắt nguồn từ cách các tế bào nhớ được sắp xếp và truy cập vật lý. Bài viết này có quan điểm kỹ thuật thực tế, tập trung vào cách những khác biệt này ảnh hưởng đến thiết kế hệ thống thực tế, hành vi hiệu suất và độ tin cậy lâu dài.

Mục lục

Nguyên tắc cơ bản về bộ nhớ flash

Ở mức thấp, bộ nhớ flash được xây dựng trên bóng bán dẫn cổng nổi. Các thiết bị này lưu trữ thông tin bằng cách bẫy các electron trong một cổng cách điện, làm thay đổi điện áp ngưỡng của bóng bán dẫn.

Một vài ràng buộc thực tế định hình cách sử dụng đèn flash:

  • Dữ liệu không thể bị ghi đè trực tiếp; Xóa là bắt buộc trước
  • Các thao tác xóa diễn ra ở mức độ chi tiết của khối
  • Mỗi ô có số chu kỳ chương trình/xóa giới hạn

Những hạn chế này được xử lý rất khác nhau trong thiết kế NAND và NOR.

NAND Flash: Thiết kế và Hành vi

NAND flash được xây dựng để lưu trữ một lượng lớn dữ liệu một cách hiệu quả.

Điều quan trọng trong thực tế

  • Các tế bào được kết nối trong ** chuỗi nối tiếp **
  • Các hoạt động được nhóm:
    • Trang (đọc/ghi)
    • Chặn (xóa)
  • Luôn được sử dụng với bộ điều khiển (FTL + ECC)

Cấu trúc này làm giảm diện tích silicon, đó là lý do tại sao NAND có khả năng mở rộng tốt.

Tuy nhiên, có những sự đánh đổi:

  • Truy cập ngẫu nhiên là gián tiếp
  • Tỷ lệ lỗi cao hơn
  • Yêu cầu quản lý nền (cân bằng mài mòn, xử lý khối xấu)

NOR Flash: Thiết kế và Hành vi

NOR flash có một cách tiếp cận khác, ưu tiên truy cập trực tiếp.

Đặc điểm chính

  • Các ô được kết nối song song
  • Truy cập ngẫu nhiên thực sự (địa chỉ byte)
  • CPU có thể đọc trực tiếp từ nó

Điều này cho phép thực thi tại chỗ (XIP), có nghĩa là mã chạy trực tiếp từ flash mà không cần sao chép vào RAM.

Nhược điểm là hiệu quả diện tích — mỗi ô yêu cầu nhiều hệ thống dây điện hơn, điều này hạn chế mật độ.

So sánh kiến trúc

nand_vs_nor_architecture

Cấu trúc liên kết bên trong giải thích hầu hết các hành vi có thể quan sát được:

  • NAND chia sẻ kết nối trên nhiều ô → truy cập nhỏ gọn nhưng gián tiếp
  • NOR kết nối từng ô riêng lẻ → truy cập nhanh nhưng diện tích lớn hơn

Nói một cách đơn giản: NAND tiết kiệm dung lượng, NOR tiết kiệm thời gian.


Phân tích hiệu suất

nand_nor_performance_comparison

Thay vì nhìn vào các con số thô, sẽ hữu ích hơn khi suy nghĩ về các mẫu truy cập:

  • NAND hoạt động tốt nhất với luồng dữ liệu tuần tự
  • NOR hoạt động tốt nhất với đọc nhỏ, ngẫu nhiên

Bảng so sánh hiệu suất

hoạt động Đèn flash NAND Đèn flash NOR
Đọc ngẫu nhiên Trung bình Rất nhanh
Đọc tuần tự Nhanh chóng Trung bình
Viết Nhanh (Dựa trên trang) Chậm
Xóa Nhanh (dựa trên khối) Chậm

Đây là lý do tại sao NAND thống trị các thiết bị lưu trữ, trong khi NOR vẫn được sử dụng trong các hệ thống khởi động.

Cân nhắc mật độ và chi phí

nand_vs_nor_density_scaling

Cấu trúc của NAND cho phép nhiều bit hơn trên một đơn vị diện tích:

  • Kích thước ô nhỏ hơn
  • Ít kết nối kim loại hơn
  • Xếp chồng dọc dễ dàng hơn (3D NAND)

NOR, ngược lại:

  • Yêu cầu các kết nối riêng lẻ trên mỗi ô
  • Tiêu thụ nhiều diện tích khuôn hơn
  • Trở nên đắt đỏ trên quy mô lớn

Đây là lý do chính khiến NAND được sử dụng cho gigabyte và terabyte, trong khi NOR thường nhỏ hơn nhiều.

Công suất tiêu thụ

Việc sử dụng điện năng phụ thuộc rất nhiều vào cách truy cập bộ nhớ.

  • NAND hiệu quả trong quá trình truyền tải lớn vì các hoạt động được thực hiện theo lô
  • NOR có xu hướng tiêu thụ nhiều hơn trong quá trình ghi/xóa do các thao tác nhỏ lặp đi lặp lại

Trong các hệ thống hoạt động thấp (như lưu trữ chương trình cơ sở), chi phí điện năng của NOR thường chấp nhận được. Trong các hệ thống nặng dữ liệu, NAND hiệu quả hơn nhiều.

Độ tin cậy và tính toàn vẹn dữ liệu

flash_memory_reliability_mechanisms

Cân nhắc về NAND

Khi mật độ tăng lên, độ tin cậy trở thành một vấn đề ở cấp độ hệ thống:

  • Lỗi bit tích lũy theo thời gian
  • Đọc rối loạn và nhiễu tế bào xảy ra
  • Khả năng lưu giữ dữ liệu giảm

Để bù đắp:

  • ECC là bắt buộc
  • Cân bằng mài mòn phân bổ việc sử dụng
  • Các khối xấu được vạch ra

Hành vi NOR

NOR đơn giản hơn về mặt này:

  • Tỷ lệ lỗi thô thấp hơn
  • Đặc điểm đọc ổn định
  • Chi phí hiệu chỉnh tối thiểu

Đây là lý do tại sao NOR vẫn được ưa chuộng để lưu trữ mã khởi động quan trọng.

Kịch bản ứng dụng

Đèn flash NAND

Được sử dụng khi dung lượng và thông lượng quan trọng:

  • Ổ cứng thể rắn
  • Lưu trữ di động (UFS, eMMC)
  • Thẻ nhớ

NOR Flash

Được sử dụng khi độ tin cậy và truy cập trực tiếp quan trọng:

  • Khởi động ROM / chương trình cơ sở
  • BIOS / UEFI
  • Bộ điều khiển công nghiệp

Hướng dẫn lựa chọn thiết kế

Từ góc độ thiết kế hệ thống:

NAND là lựa chọn tốt hơn nếu:

  • Bạn đang xây dựng một hệ thống con lưu trữ
  • Dữ liệu được truy cập theo khối lớn
  • Chi phí trên mỗi GB quan trọng

NOR là lựa chọn tốt hơn nếu:

  • Hệ thống phải khởi động nhanh chóng và đáng tin cậy
  • Thực thi mã phải xác định
  • Sự đơn giản được ưu tiên hơn dung lượng

Cách tiếp cận phổ biến trong thế giới thực

Nhiều hệ thống kết hợp cả hai:

  • NOR để khởi động và mã quan trọng
  • NAND để lưu trữ số lượng lớn

Thiết kế tách rời này được sử dụng rộng rãi vì nó phù hợp với thế mạnh của từng công nghệ.

Câu hỏi thường gặp

1. Tại sao NAND không được sử dụng để thực thi mã trực tiếp?

Bởi vì quyền truy cập thông qua việc đọc dựa trên trang và dịch địa chỉ, điều này làm tăng độ trễ và độ phức tạp.

2. NOR có trở nên lỗi thời không?

Không. Vai trò của nó bây giờ hẹp hơn, nhưng vẫn cần thiết cho khởi động và mã quan trọng về an toàn.

3. Mật độ NAND cao hơn có làm giảm độ tin cậy không?

Có, đặc biệt là với TLC và QLC. Đây là lý do tại sao các thuật toán điều khiển ngày càng quan trọng.

4. Một hệ thống có thể chỉ dựa vào NAND không?

Nó có thể, nhưng độ phức tạp của khởi động tăng lên và có thể yêu cầu hỗ trợ phần cứng chuyên dụng.

5. Bài học rút ra cho các kỹ sư là gì?

Hãy nghĩ về mẫu truy cập và vai trò hệ thống, không chỉ tốc độ hoặc kích thước.

Kết luận

Đèn flash NAND và NOR không thể hoán đổi cho nhau. Mỗi phần được tối ưu hóa cho một phần khác nhau của hệ thống:

  • NAND xử lý lưu trữ dữ liệu trên quy mô lớn
  • NOR xử lý truy cập mã nhanh chóng, đáng tin cậy

Hiểu được sự khác biệt về cấu trúc của chúng giúp thiết kế các hệ thống hiệu quả và đáng tin cậy dễ dàng hơn nhiều.