Estoy trabajando en una aplicación de bajo consumo con almacenamiento de datos en una tarjeta microSD. Con el fin de minimizar el consumo de energía, planeo almacenar los datos en la memoria RAM antes de escribir, y sospecho que el tamaño óptimo del búfer sería un múltiplo entero del tamaño del bloque flash en la tarjeta SD, ya que esto minimizaría / eliminaría el alto -power / slow block borrar / reescribir. Desafortunadamente, he tenido poco o ningún éxito en encontrar información sobre tamaños de bloques flash en tarjetas SD; Lo mejor que he encontrado es que aparentemente van desde 16Kb a 2Mb. Naturalmente, al ser un producto de consumo, los detalles técnicos del fabricante son prácticamente inexistentes. ¿Hay algún comando esotérico en la especificación SD o algo que pueda usar para determinar el tamaño del bloque de flash? ¿Es este enfoque innecesario / excesivo / de otro modo inútil?
Vaya, lo encontré: SECTOR_SIZE (tamaño de sector de borrado) en el registro CSD.
Entonces, supongo que un seguimiento es si es útil o no alinear las escrituras por sectores para ahorrar energía, pero al menos probablemente podré medir eso.