¿Hay tarjetas SD optimizadas para lectura / escritura de bloque único?

7

A lo largo de los años he usado tarjetas SD para varias aplicaciones integradas. Sin embargo, a medida que las tarjetas se hicieron más grandes, la velocidad de lectura y escritura del bloque único se redujo. Sospecho que esto se debe en gran parte a que los tamaños de página son cada vez más grandes. La mayoría de las pilas SD no realizan múltiples bloqueos de lectura / escritura y, por lo tanto, en aplicaciones integradas nunca podemos obtener megabytes por segundo, como usted puede usar una PC. Parte de esto se debe a las velocidades de reloj que podemos usar, pero la mayor parte se debe al tiempo que toma leer y escribir un solo bloque. ¿Alguien sabe de alguna tarjeta SD que esté 'optimizada' para hacer esto? Si hay alguna otra sugerencia para superar este límite, soy todo oídos. Sin embargo, sería MUY difícil en mi aplicación implementar múltiples solicitudes de bloque por varias razones.

    
pregunta Seidleroni

1 respuesta

2

Las tarjetas SD de menor capacidad a menudo funcionarán mejor para escrituras de un solo bloque, porque su tamaño de página de borrado es menor. Cuando escribe en la tarjeta, incluso si solo escribe un byte, el controlador interno de la tarjeta puede tener que leer una página completa (a menudo 4K) en un búfer, modificar su byte, borrar la página Flash y luego escribir todo De vuelta a la memoria flash. Por lo tanto, las tarjetas con un tamaño de página de borrado más pequeño tendrán menos penalización por escrituras pequeñas en direcciones aleatorias.

¿Qué microcontrolador estás usando? SdFatLab funciona en AVR y admite múltiples operaciones de lectura / escritura de bloques. Sus archivos deben estar en bloques contiguos en la tarjeta SD para aprovecharla.

Consulte algunas de las discusiones y puntos de referencia en enlace

    
respondido por el Steve Chamberlin

Lea otras preguntas en las etiquetas