Cómo guardar archivos en un disco USB
1. Principio de funcionamiento básico del disco U
El bus serie universal es una interfaz rápida y flexible.
Cuando se inserta un dispositivo USB al usar el host, Debido al hardware del dispositivo USB en sí, el nivel de la línea de señal de datos del bus USB cambiará y el host escaneará el bus USB con frecuencia. Sabe que un dispositivo está enchufado cuando detecta un cambio de nivel.
Cuando el dispositivo USB se conecta por primera vez al host, el dispositivo USB se inicializará y pensará que la dirección es 0. Es decir, no hay una dirección asignada, lo cual es un poco como un estudiante universitario que acaba de ingresar a la escuela sin un número de identificación de estudiante.
Así como preguntamos "¿Quién eres?" cuando un extraño irrumpe, cuando se conecta un dispositivo USB al host, también preguntará: "¿Qué dispositivo eres?" Y luego le preguntará qué protocolo de comunicación utiliza, etc. Cuando el host conoce toda esta información, el host y el dispositivo USB pueden comunicarse según el acuerdo entre ellos.
Esta información de USB se implementa a través de descriptores. Los descriptores de USB incluyen principalmente: descriptores de dispositivo, descriptores de configuración,
descriptores de interfaz, descriptores de punto final, etc. Cuando se incluye un disco U en el host, inmediatamente encontrará que hay un disco extraíble adicional en su administrador de recursos. En Win2000, podrá saber más desde el host si es Patriot o Netac. Aquí surgen dos preguntas: en primer lugar, ¿por qué el host sabe que se ha insertado un disco extraíble en lugar de un teclado o una impresora, etc.? Además, en Win2000, ¿por qué todavía sabemos qué empresa lo produjo? De hecho, esto es muy simple cuando se conecta un dispositivo USB al host, el host primero le pedirá a la otra parte que envíe su descriptor de dispositivo. Estos descriptores de dispositivo contienen información sobre el tipo de dispositivo y el fabricante. Otro ejemplo es que el protocolo utilizado para la transmisión está determinado por el descriptor de interfaz y el método de transmisión está incluido en el descriptor del punto final.
Los dispositivos USB se dividen en muchas categorías: categoría de visualización, categoría de dispositivo de comunicación, categoría de dispositivo de audio, categoría de interfaz hombre-computadora y categoría de almacenamiento masivo. Las categorías específicas de dispositivos se pueden dividir en varias subcategorías, y cada una de ellas. El dispositivo puede tener una o más configuraciones que definen la funcionalidad del dispositivo. Una configuración es una colección de interfaces, que se refiere a qué hardware del dispositivo intercambia información con el USB. Cada pieza de hardware que intercambia información con USB es un punto final. Por tanto, una interfaz es una colección de puntos finales.
El disco U debe pertenecer a la categoría de almacenamiento masivo.
Los dispositivos de almacenamiento masivo USB también incluyen subcategorías de almacenamiento masivo general, CDROM, cinta, etc. El disco U en realidad pertenece a la subcategoría de almacenamiento masivo general de la categoría de almacenamiento masivo. La implementación de dispositivos de almacenamiento masivo de uso general se basa en dispositivos de almacenamiento de bloques/sectores.
La organización USB define la especificación para la clase de dispositivo de almacenamiento masivo, que incluye cuatro especificaciones de subclase independientes. Se refiere principalmente al método de transmisión en el bus USB y a los comandos de operación del medio de almacenamiento.
Los dispositivos de almacenamiento masivo solo admiten una interfaz, es decir, la interfaz de datos. Esta interfaz tiene tres puntos finales: entrada masiva, salida masiva y punto final de interrupción.
La interfaz de este dispositivo utiliza. Protocolo de dispositivo de acceso directo SCSI-2, los medios en el dispositivo USB utilizan el mismo direccionamiento de bloque lógico que SCSI-2
2. Protocolo de transmisión solo en bloque
Cuando se utiliza un disco USB. insertado en el host Más tarde, el host pedirá a los dispositivos USB que devuelvan sus descriptores. Cuando el host obtenga estos descriptores, se completará la configuración del dispositivo. El dispositivo USB se identifica como un dispositivo de almacenamiento masivo que admite el protocolo de transferencia Bulk-Only. En este momento, la transmisión masiva debería ser posible. En este modo, la transmisión de datos entre USB y el dispositivo se logra mediante Bulk-In y Bulk-Out.
En este método de transmisión, hay tres tipos de datos transmitidos entre el USB y los dispositivos, que son paquetes de bloques de comandos (CBW), paquetes de estado de ejecución de comandos (CSW) y paquetes de datos ordinarios. CBW es un comando enviado por el host al dispositivo.
El formato es el siguiente:
El valor de dCBWSignature es 43425355h, lo que significa que actualmente se está enviando un CBW.
Etiqueta DCBW: Más adelante.
DCBWDataTransferLength: Indica la longitud de los datos que CBW transferirá esta vez.
BmCBWFlags: Indica si este CBW lee datos o escribe datos
BBWCBLength: Indica la longitud del comando.
CBWCB: Indica el contenido de este comando. Es decir, comandos SCSI.
Cuando el dispositivo recibe el bloque CBW del host, separará el comando SCSI del CBW y luego lo ejecutará de acuerdo con los requisitos. El resultado de la ejecución se enviará al host en forma de CSW. .
El formato de CSW es el siguiente:
El valor de dCSWSignature es 53425355h, lo que significa que actualmente se está enviando un CSW.
DCSWTag: debe ser igual que dCBWTag en CBW.
DCSWDataResidue: Datos que aún deben transmitirse.
BCSWStatue: Estado de ejecución del comando Cuando el comando se ejecuta correctamente, es 0.
3. Conjunto de comandos SCSI
En el paquete de bloques de comandos solo masivo (CBW), hay una parte del contenido CBECB, que es el descriptor del bloque de comandos SCSI. El contenido es el siguiente
Código de operación: Es el código de operación del comando SCSI.
Dirección de bloque lógico: dirección de bloque lógico, que deben ser sectores para discos U. Como se mencionó anteriormente: el dispositivo de almacenamiento masivo universal es un dispositivo de almacenamiento de bloque/sector, por lo que es obvio proporcionar este parámetro en SCSI.
Longitud de transferencia: es el número de sectores a transferir
Existen muchos comandos de transferencia para medios de almacenamiento de acceso directo en SCSI, como por ejemplo:
CONSULTA: Su código de operación es 12H
Unidad de prueba lista: Su código de operación es 00H
Unidad de formato: Su código de operación es 04H
..... p>
Aquí está el comando INQUIRY como ejemplo:
El descriptor del comando INQUIRY es el siguiente:
El resultado de INQUIRY es
En cuanto a Para otros comandos SCSI, consulte la documentación correspondiente.