UFS_DEVICE_DESCRIPTOR struttura (ufs.h)
UFS_DEVICE_DESCRIPTOR è il descrittore principale per i dispositivi UFS (Universal Flash Storage) e deve essere il primo descrittore recuperato come specifica la classe del dispositivo e la sottoclasse e il protocollo (set di comandi) da usare per accedere a questo dispositivo e al numero massimo di unità logiche contenute nel dispositivo.
Sintassi
typedef struct {
UCHAR bLength;
UCHAR bDescriptorIDN;
UCHAR bDevice;
UCHAR bDeviceClass;
UCHAR bDeviceSubClass;
UCHAR bProtocol;
UCHAR bNumberLU;
UCHAR bNumberWLU;
UCHAR bBootEnable;
UCHAR bDescrAccessEn;
UCHAR bInitPowerMode;
UCHAR bHighPriorityLUN;
UCHAR bSecureRemovalType;
UCHAR bSecurityLU;
UCHAR bBackgroundOpsTermLat;
UCHAR bInitActiveICCLevel;
UCHAR wSpecVersion[2];
UCHAR wManufactureDate[2];
UCHAR iManufacturerName;
UCHAR iProductName;
UCHAR iSerialNumberID;
UCHAR iOemID;
UCHAR wManufacturerID[2];
UCHAR bUD0BaseOffset;
UCHAR bUDConfigPLength;
UCHAR bDeviceRTTCap;
UCHAR wPeriodicRTCUpdate[2];
UCHAR bUFSFeaturesSupport;
UCHAR bFFUTimeout;
UCHAR bQueueDepth;
UCHAR wDeviceVersion[2];
UCHAR bNumSecureWPArea;
UCHAR dPSAMaxDataSize[4];
UCHAR dPSAStateTimeout;
UCHAR iProductRevisionLevel;
UCHAR Reserved[5];
UCHAR Reserved2[16];
USHORT wHPBVersion;
UCHAR bHPBControl;
UCHAR Reserved3[12];
UCHAR dExtendedUFSFeaturesSupport[4];
UCHAR bWriteBoosterBufferPreserveUserSpaceEn;
UCHAR bWriteBoosterBufferType;
UCHAR dNumSharedWriteBoosterBufferAllocUnits[4];
} UFS_DEVICE_DESCRIPTOR, *PUFS_DEVICE_DESCRIPTOR;
Members
bLength
Specifica la lunghezza, in byte, di questo descrittore.
bDescriptorIDN
Specifica il tipo del descrittore. Questo descrittore avrà un valore di UFS_DESC_DEVICE_IDN.
bDevice
Specifica il tipo di dispositivo.
Valore | Descrizione |
---|---|
0x00 | Dispositivo |
Tutti gli altri valori | Riservate per utilizzo futuro |
bDeviceClass
Specifica la classe del dispositivo.
Valore | Descrizione |
---|---|
0x00 | Archiviazione di massa |
Tutti gli altri valori | Riservate per utilizzo futuro |
bDeviceSubClass
Specifica le sottoclassi di archiviazione di massa UFS in una mappa a bit come indicato di seguito:
bit | Valore |
---|---|
0 | Avvio o non avviabile |
1 | Incorporato o rimovibile |
2 | Riservato per JESD220-1 (UME) |
Tutti gli altri valori | Riservate per utilizzo futuro |
bProtocol
Specifica il supporto del protocollo dal dispositivo UFS.
Valore | Descrizione |
---|---|
0x00 | SCSI |
Tutti gli altri valori | Riservate per utilizzo futuro |
bNumberLU
Specifica il numero di unità logiche. Ciò non include il numero di unità logiche note.
bNumberWLU
Specifica il numero di unità logiche note.
bBootEnable
Specifica se la funzionalità di avvio di un dispositivo è abilitata.
Valore | Descrizione |
---|---|
0x00 | Funzionalità di avvio disabilitata |
0x01 | Funzionalità di avvio abilitata |
Tutti gli altri valori | Riservate per utilizzo futuro |
bDescrAccessEn
Indica se il descrittore del dispositivo può essere letto dopo la fase di inizializzazione parziale della sequenza di avvio.
Valore | Descrizione |
---|---|
0x00 | Accesso descrittore dispositivo disabilitato |
0x01 | Accesso descrittore dispositivo abilitato |
Tutti gli altri valori | Riservate per utilizzo futuro |
bInitPowerMode
bInitPowerMode definisce la modalità di alimentazione dopo l'inizializzazione del dispositivo o la reimpostazione hardware.
Valore | Descrizione |
---|---|
0x00 | UFS-Sleep modalità |
0x01 | Modalità attiva |
Tutti gli altri valori | Riservate per utilizzo futuro |
bHighPriorityLUN
bHighPriorityLUN definisce l'unità logica con priorità elevata.
bSecureRemovalType
Specifica il tipo di rimozione sicura.
Valore | Descrizione |
---|---|
0x00 | Informazioni rimosse da una cancellazione della memoria fisica |
0x01 | Informazioni rimosse sovrascrivendo le posizioni indirizzate con un singolo carattere seguito da una cancellazione |
0x02 | Informazioni rimosse sovrascrivendo le posizioni indirizzate con un carattere, il relativo complemento, quindi un carattere casuale |
0x03 | Informazioni rimosse usando un meccanismo definito dal fornitore. |
Tutti gli altri valori | Riservate per utilizzo futuro |
bSecurityLU
Specifica se è disponibile il supporto per le unità logiche di sicurezza.
Valore | Descrizione |
---|---|
0x00 | Non supportato |
0x01 | Riprodurre il blocco di memoria protetto (RPMB) |
Tutti gli altri valori | Riservate per utilizzo futuro |
bBackgroundOpsTermLat
bBackgroundOpsTermLat definisce la latenza massima per avviare la trasmissione dei dati quando le operazioni in background sono in corso. Il limite di latenza di terminazione si applica a due casi:
- Quando il dispositivo riceve un'unità di informazione del protocollo UFS COMMAND (UPIU) con una richiesta di trasferimento. Il dispositivo avvia il trasferimento dei dati e invia un'UPIU DATA IN UPIU o un UPIU RTT entro il limite di latenza.
- Quando il dispositivo riceve L'UPIU QUERY REQUEST per cancellare il flag fBackgroundOpsEn . Il dispositivo deve terminare le operazioni in background entro il limite di latenza.
bInitActiveICCLevel
bInitActiveICCLevel definisce il valore bActiveICCLevel dopo l'alimentazione o la reimpostazione. L'intervallo del valore è compreso tra 0x00 e 0x0F.
wSpecVersion[2]
Indica la versione della specifica nel formato decimale codificato binario (BCD).
wManufactureDate[2]
Specifica la data di produzione in formato BCD come 0xMMYYY.
iManufacturerName
Contiene un valore di indice alla stringa contenente il nome del produttore.
iProductName
Contiene un valore di indice nella stringa contenente il nome del prodotto.
iSerialNumberID
Contiene un valore di indice nella stringa contenente il numero di serie.
iOemID
Contiene un valore di indice alla stringa contenente l'ID OEM.
wManufacturerID[2]
Specifica l'ID produttore del dispositivo.
bUD0BaseOffset
Specifica l'offset dei parametri configurabili dell'unità 0 all'interno del descrittore di configurazione UFS_CONFIG_DESCRIPTOR.
bUDConfigPLength
Dimensioni totali dei parametri di un UFS_UNIT_CONFIG_DESCRIPTOR.
bDeviceRTTCap
Specifica il numero massimo di READY TO TRANSFER UPIU supportati dal dispositivo. Il valore minimo è 2.
wPeriodicRTCUpdate[2]
Specifica la frequenza e il metodo degli aggiornamenti in tempo reale. I bit da 10 a 15 sono riservati.
bUFSFeaturesSupport
Specifica le funzionalità supportate in questo dispositivo. Una funzionalità è supportata se il bit correlato è impostato su 1.
bit | Valore |
---|---|
0 | Aggiornamento del firmware del campo (FFU) |
1 | Consapevolezza dello stato di produzione (PSA) |
2 | Intervallo di vita del dispositivo |
Tutti gli altri valori | Riservate per utilizzo futuro |
bFFUTimeout
Il tempo massimo, in secondi, a cui l'accesso al dispositivo è limitato o non è possibile tramite le porte associate a causa dell'esecuzione di un comando WRITE BUFFER.
bQueueDepth
Specifica la profondità della coda. Se questo membro è uguale a 0, il dispositivo implementa l'architettura di accodamento per lu.
wDeviceVersion[2]
Specifica la versione del dispositivo.
bNumSecureWPArea
Specifica il numero totale di aree protette di scrittura protette supportate dal dispositivo. Il valore di questo membro è compreso tra bNumberLU e 32.
dPSAMaxDataSize[4]
Specifica la quantità massima di dati che possono essere scritti durante la fase di pre-vendita del flusso PSA.
dPSAStateTimeout
Questo membro corrisponde a bPSAStateTimeout (29h) nella specifica JEDEC .
iProductRevisionLevel
Specifica l'indice alla stringa contenente il livello di revisione del prodotto.
Reserved[5]
Riservato per usi futuri.
Reserved2[16]
Riservato per usi futuri.
wHPBVersion
Specifica la versione del booster delle prestazioni host.
bHPBControl
Reserved3[12]
Riservato per utilizzi futuri.
dExtendedUFSFeaturesSupport[4]
dExtendedUFSFeaturesSupport è una maschera bit che indica quali funzionalità estese sono supportate.
bWriteBoosterBufferPreserveUserSpaceEn
L'impostazione di bWriteBoosterBufferPreserveUserSpaceEn su 0x01 evita la riduzione dello spazio utente totale che può essere configurato durante il provisioning, ma potrebbe comportare prestazioni inferiori. Se bWriteBoosterBufferPreserveUserSpaceEn è impostato su 0x00, il buffer del booster di scrittura riduce lo spazio utente totale che può essere configurato durante il provisioning.
bWriteBoosterBufferType
bWriteBoosterBufferType configura il tipo di buffer del booster di scrittura. Un valore di 0x00 specifica la modalità buffer dedicato all'unità logica. Un valore di 0x01 specifica la modalità buffer condiviso.
dNumSharedWriteBoosterBufferAllocUnits[4]
dNumSharedWriteBoosterBufferAllocUnits specifica le dimensioni del buffer del booster di scrittura per una configurazione del buffer del booster di scrittura condivisa.
Commenti
Se bBootEnable nella UFS_DEVICE_DESCRIPTOR è impostato su zero o se l'unità logica nota di avvio non viene mappata a un'unità logica abilitata, l'unità logica di avvio nota verrà terminata.
UFS_DEVICE_DESCRIPTOR è in sola lettura, alcuni dei relativi parametri possono essere modificati modificando il parametro corrispondente in UFS_UNIT_CONFIG_DESCRIPTOR.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1709 |
Server minimo supportato | Windows Server 2016 |
Intestazione | ufs.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per