Có thẻ SD nào được tối ưu hóa cho việc đọc / ghi khối đơn không?


7

Tôi đã sử dụng thẻ SD cho một số ứng dụng nhúng trong nhiều năm. Tuy nhiên, khi thẻ đã lớn hơn, tốc độ đọc và ghi khối đơn đã giảm. Tôi nghi ngờ điều này phần lớn là do kích thước trang lớn hơn và lớn hơn. Hầu hết các ngăn xếp SD không thực hiện nhiều lần đọc / ghi khối và do đó, trong các ứng dụng nhúng, chúng tôi không bao giờ có thể nhận được megabyte mỗi giây như bạn có thể sử dụng PC. Một phần của điều này là do tốc độ xung nhịp mà chúng ta có thể sử dụng, nhưng phần lớn là do thời gian cần thiết để đọc và ghi khối đơn. Có ai biết bất kỳ thẻ SD nào được 'tối ưu hóa' để làm điều này không? Nếu có bất kỳ đề xuất nào khác để vượt qua giới hạn này, tôi sẽ nghe thấy. Tuy nhiên, ứng dụng của tôi sẽ rất khó khăn để thực hiện nhiều yêu cầu chặn vì nhiều lý do.


Chắc chắn là giới hạn mà bộ sạc cột / bộ điều khiển IO trên thẻ có chế độ phát trực tuyến cho các khối liền kề và được sắp đặt sẵn, và bằng cách nào đó bạn sẽ nhận được thẻ để thực hiện công cụ tương thích SD v0.90.1 hoặc thích thời gian thực sự thích kỳ vọng của nó? Giá như tôi biết loạt Atmel bạn có chính xác 1 pin để đọc thẻ SDHC! Chúng tôi có phải nói với ứng dụng của bạn về cách I / O của thẻ SD được thực hiện không?
Thrangalucchian

Câu trả lời:


2

Thẻ SD dung lượng nhỏ hơn thường sẽ hoạt động tốt hơn đối với ghi đơn khối, vì kích thước trang xóa của chúng nhỏ hơn. Khi bạn ghi vào thẻ, ngay cả khi bạn chỉ viết một byte đơn, bộ điều khiển bên trong của thẻ có thể phải đọc toàn bộ trang (thường là 4K) vào bộ đệm, sửa đổi một byte của bạn, xóa trang Flash, sau đó viết toàn bộ trang trở lại bộ nhớ Flash. Vì vậy, thẻ có kích thước trang xóa nhỏ hơn sẽ có ít hình phạt hơn đối với việc ghi nhỏ tại các địa chỉ ngẫu nhiên.

Bạn đang sử dụng vi điều khiển nào? SdFatLab hoạt động trên các AVR và không hỗ trợ nhiều thao tác đọc / ghi khối. Các tệp của bạn phải nằm trong các khối liền kề trên thẻ SD để tận dụng lợi thế của nó.

Kiểm tra một số cuộc thảo luận và điểm chuẩn tại http://elm-chan.org/docs/mmc/mmc_e.html


Một bộ điều khiển đèn flash thông thường sẽ phải đối phó với khối xóa được nhiều lớn hơn một trang logic; khi một trang được viết, dữ liệu cũ sẽ không bị xóa ngay lập tức mà được đánh dấu để khai hoang. Khi đủ các trang trong một khối xóa được đánh dấu để cải tạo, nội dung của khối sẽ được chuyển sang một khối trống, trong đó khối cũ có thể bị xóa. Kích thước khối xóa càng lớn, quá trình đó sẽ càng kéo dài nhưng càng ít xảy ra . Tôi hy vọng thiết kế phần sụn trong bộ điều khiển flash sẽ tạo ra sự khác biệt hiệu năng lớn hơn nhiều so với ...
supercat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.