2009-03-18 32 views
9

Tôi đang làm việc trên một ứng dụng nhúng có sử dụng flash NAND để lưu trữ. Hiện tại, chúng tôi sẽ không sử dụng Linux hoặc bất kỳ RTOS nào khác. Ứng dụng phải xử lý các lần giảm nguồn đột ngột.Hệ thống tập tin tốt cho ổ đĩa NAND được nhúng là gì?

Chúng tôi đã tìm kiếm các giải pháp hệ thống tệp khác nhau, bao gồm YAFFS2, JFFS2, FAT + FTL cũng như các giải pháp từ HCC Embedded.

Tôi đã nghe FAT + FTL là lựa chọn bình thường, nhưng tôi lo lắng về việc mất dữ liệu trong trường hợp mất điện đột ngột cũng như hiệu suất. Sẽ biết ơn nếu có ai có thể chia sẻ thông tin chi tiết và trải nghiệm về điều này

+1

Cập nhật: Chúng tôi đã đi với YAFFS2, nó hoạt động tốt cho chúng tôi. Tài liệu không tồn tại, nhưng không phải là một vấn đề lớn - mã này khá rõ ràng để đọc. Ngoài ra còn có sự hỗ trợ tốt từ Charles Manning. –

Trả lời

8

FAT-FTL là "lựa chọn bình thường", nhưng không nhất thiết là lựa chọn tốt. YAFFS2 mới hơn JFFS2 và có vẻ nhanh hơn và có khả năng mở rộng hơn cho các NAND lớn. This presentation of the "Embedded Linux Conference Europe" so sánh hai hệ thống tệp flash này.

Một giải pháp khác là LogFS (lưu ý: nhật ký đứng ở đây cho logorit, không dành cho cấu trúc nhật ký). Nó cũng nên có khả năng mở rộng hơn, nhưng tôi không có ý tưởng làm thế nào nó là nó.

+0

Cảm ơn, đó là một bài thuyết trình thú vị. Từ những gì tôi đã đọc LogFS dường như không sẵn sàng cho sản xuất. –

2

Có một nhà cung cấp thương mại được gọi là DataLight cung cấp hệ thống tệp flash mạnh mẽ, nhưng tất nhiên nó không miễn phí.

Họ có một thú vị white paper (PDF) (chụp chung với một hạt muối) về buổi biểu diễn.

6

Có UBIFS. Việc thực hiện duy nhất tôi biết là trong hạt nhân Linux, và nó phụ thuộc vào giao diện UBI của hạt nhân Linux. Tuy nhiên, các thuật toán cơ bản nên được thực hiện mà không có quá nhiều rắc rối trong bất kỳ môi trường nào bạn đang sử dụng. Đối với sản phẩm sẵn sàng, Nokia sử dụng UBIFS trong điện thoại thông minh N900 của họ, và cắm máy tính dựa trên SheevaPlug có hỗ trợ cho nó, quá. Tôi đã tìm thấy việc triển khai Linux là đáng tin cậy, ngay cả trên phần cứng không ổn định thích đặt lại chính nó một cách ngẫu nhiên. Không giống như JFFS2, UBIFS không cần phải đọc toàn bộ hệ thống tập tin lúc khởi động.

Bạn có thể cân nhắc lại quyết định "không có Linux" của mình, vì việc sử dụng Linux sẽ giúp việc sử dụng UBIFS trở nên dễ dàng hơn rất nhiều.

Các vấn đề liên quan