Una unidad de memoria USB es obviamente una parte de EEPROM, incluido un controlador / microprocesador para almacenar / recuperar los archivos almacenados en ella. El sistema operativo normalmente se comunica con la unidad de disco USB, y todas las unidades de disco funcionan con todos los sistemas operativos (creo). Por lo tanto, debe haber un protocolo en algún lugar sobre cómo dirigir / ordenar una unidad de disco USB a través de un puerto USB. Estoy interesado en obtener los datos de una unidad de disco USB que pertenece a qué bloques de memoria están realmente ocupados por un archivo específico. ¿Alguien por ahí conoce alguna referencia que describa la administración y el protocolo de la memoria de la unidad de memoria USB?
Intenté preguntar esto en Stack Overflow y se sugirió que probara aquí.
fuente
Respuestas:
La forma en que una memoria USB organiza los datos. internamente Es transparente para un host.
Al igual que en un disco duro, los datos se escriben y leen utilizando LBA (direccionamiento de bloque lógico):
http://wiki.osdev.org/LBA
Cuando un host envía datos a un bloque LBA en un Thumb Drive, el Thumb Drive es libre de almacenar esos datos. en cualquier forma que le guste , siempre que se devuelvan los mismos datos cuando lea ese bloque. No puede saber cómo almacena los datos en EEPROM (esto puede ser muy complejo debido a la nivelación del desgaste, la corrección de errores y las tecnologías de rendimiento que se emplean).
Sospecho que lo que realmente está buscando es información sobre qué LBA está usando un archivo en particular. Esa es una función del sistema de archivos en uso, y dicha información se obtiene del sistema operativo, no del dispositivo USB. Esto se debe a que es el sistema operativo el que administra los archivos y la asignación de datos de archivos a sectores y, a su vez, la asignación de sectores a LBA en la unidad Thumb.
Esta es una excelente lectura sobre el tema:
http://www.wd-3.com/archive/luserland.htm
fuente
desde el WikiPedia page .
aquí es un PDF aburrido y técnico titulado "Comandos de bloques reducidos, propuesta de borrador".
Y aquí es una página más amigable para los humanos con un montón de enlaces que te ayudarán a comenzar.
¡Suena como un proyecto divertido!
fuente