UFS_GEOMETRY_DESCRIPTOR Struktur (ufs.h)
UFS_GEOMETRY_DESCRIPTOR beschreibt die geometrischen Parameter eines Geräts.
Syntax
typedef struct {
UCHAR bLength;
UCHAR bDescriptorIDN;
UCHAR bMediaTechnology;
UCHAR Reserved1;
UCHAR qTotalRawDeviceCapacity[8];
UCHAR bMaxNumberLU;
UCHAR dSegmentSize[4];
UCHAR bAllocationUnitSize;
UCHAR bMinAddrBlockSize;
UCHAR bOptimalReadBlockSize;
UCHAR bOptimalWriteBlockSize;
UCHAR bMaxInBufferSize;
UCHAR bMaxOutBufferSize;
UCHAR bRPMB_ReadWriteSize;
UCHAR bDynamicCapacityResourcePolicy;
UCHAR bDataOrdering;
UCHAR bMaxContexIDNumber;
UCHAR bSysDataTagUnitSize;
UCHAR bSysDataTagResSize;
UCHAR bSupportedSecRTypes;
UCHAR wSupportedMemoryTypes[2];
UCHAR dSystemCodeMaxNAllocU[4];
UCHAR wSystemCodeCapAdjFac[2];
UCHAR dNonPersistMaxNAllocU[4];
UCHAR wNonPersistCapAdjFac[2];
UCHAR dEnhanced1MaxNAllocU[4];
UCHAR wEnhanced1CapAdjFac[2];
UCHAR dEnhanced2MaxNAllocU[4];
UCHAR wEnhanced2CapAdjFac[2];
UCHAR dEnhanced3MaxNAllocU[4];
UCHAR wEnhanced3CapAdjFac[2];
UCHAR dEnhanced4MaxNAllocU[4];
UCHAR wEnhanced4CapAdjFac[2];
UCHAR dOptimalLogicalBlockSize[4];
UCHAR bHPBRegionSize;
UCHAR bHPBNumberLU;
UCHAR bHPBSubRegionSize;
USHORT wDeviceMaxActiveHPBRegions;
UCHAR Reserved2[2];
UCHAR dWriteBoosterBufferMaxNAllocUnits[4];
UCHAR bDeviceMaxWriteBoosterLUs;
UCHAR bWriteBoosterBufferCapAdjFac;
UCHAR bSupportedWriteBoosterBufferUserSpaceReductionTypes;
UCHAR bSupportedWriteBoosterBufferTypes;
} UFS_GEOMETRY_DESCRIPTOR, *PUFS_GEOMETRY_DESCRIPTOR;
Member
bLength
Gibt die Länge des Deskriptors an.
bDescriptorIDN
Gibt den Typ des Deskriptors an. Dieser Deskriptor weist den Wert UFS_DESC_GEOMETRY_IDN auf.
bMediaTechnology
Für zukünftige Verwendung reserviert.
Reserved1
Für zukünftige Verwendung reserviert.
qTotalRawDeviceCapacity[8]
Gibt die gesamte rohe Gerätekapazität an. Ausgedrückt in Einheiten von 512 Bytes.
bMaxNumberLU
Gibt die maximale Anzahl logischer Einheiten an, die vom UFS (Universal Flash Storage) unterstützt werden. Enthält einen der folgenden Werte:
Wert | BESCHREIBUNG |
---|---|
0x00 | 8 logische Einheiten. |
0x01 | 32 logische Einheiten. |
Andere Werte | Für die zukünftige Verwendung reserviert. |
dSegmentSize[4]
Gibt die Segmentgröße des Geräts in Einheiten von 512 Bytes an.
bAllocationUnitSize
Gibt die Größe der Zuordnungseinheiten in der Anzahl der Segmente an.
bMinAddrBlockSize
Gibt die minimale adressierbare Blockgröße in Einheiten von 512 Bytes an. Die Mindestgröße beträgt 4 KB oder ein Wert von 0x08.
bOptimalReadBlockSize
Gibt die optimale Leseblockgröße in Einheiten von 512 Bytes an.
bOptimalWriteBlockSize
Gibt die optimale Schreibblockgröße in Einheiten von 512 Bytes an. bOptimalWriteBlockSize ist gleich oder größer als bMinAddrBlockSize.
bMaxInBufferSize
Gibt die maximale Größe des Datenpuffers in Einheiten von 512 Bytes an. Die Minisummengröße beträgt 4 KB oder ein Wert von 0x08.
bMaxOutBufferSize
Gibt die maximale Größe des Daten-Out-Puffers in Einheiten von 512 Bytes an. Die Minisummengröße beträgt 4 KB oder ein Wert von 0x08.
bRPMB_ReadWriteSize
Gibt die maximale Anzahl von RPMB-Frames (Replay Protected Memory Block) an, die in Security Protocol In und Security Protocol Out zulässig sind. Jeder Frame ist 256 Bytes.
bDynamicCapacityResourcePolicy
Gibt die Ressourcenverwaltungsrichtlinie für Reserveblöcke eines Geräts an. Enthält einen der folgenden Werte:
Wert | BESCHREIBUNG |
---|---|
0x00 | Die Ressourcenverwaltungsrichtlinie für Ersatzblöcke erfolgt pro logischer Einheit. |
0x01 | Die Ressourcenverwaltungsrichtlinie für Ersatzblöcke gilt pro Arbeitsspeichertyp. |
bDataOrdering
Gibt an, ob ein Gerät die Out-of-Order-Datenübertragung unterstützt. Enthält einen der folgenden Werte:
Wert | BESCHREIBUNG |
---|---|
0x00 | Die Out-of-Order-Datenübertragung wird nicht unterstützt. |
0x01 | Die Out-of-Order-Datenübertragung wird unterstützt. |
Alle anderen Werte | Für die zukünftige Verwendung reserviert. |
bMaxContexIDNumber
Gibt die maximale Anzahl von Kontexten an, die von einem Gerät unterstützt werden. Diese Zahl muss größer als 5 sein.
bSysDataTagUnitSize
Gibt die Größe der Einheit des Systemdatentags an.
bSysDataTagResSize
Gibt die maximale Größe in Bytes an, die vom Gerät für die Verarbeitung von Systemdaten zugewiesen wird.
bSupportedSecRTypes
Gibt die unterstützten Typen für sichere Entfernung an. Die ersten drei Bits der Variablen sind Flags, die verschiedene unterstützte Sichere Entfernungstypen darstellen.
bit | BESCHREIBUNG |
---|---|
0 | Informationen, die mit einer Löschung des physischen Arbeitsspeichers entfernt werden. |
1 | Informationen, die entfernt werden, indem die adressierten Speicherorte mit einem einzelnen Zeichen gefolgt von einer Löschung überschrieben werden. |
2 | Informationen, die entfernt werden, indem die adressierten Standorte mit einem Zeichen, seiner Ergänzung und dann einem zufälligen Zeichen überschrieben werden. |
3 | Informationen, die mithilfe eines vom Hersteller definierten Mechanismus entfernt werden. |
4-7 | Für die zukünftige Verwendung reserviert. |
wSupportedMemoryTypes[2]
Gibt die unterstützten Speichertypen in einer Bitmap an.
bit | BESCHREIBUNG |
---|---|
0 | Ein normaler Speichertyp wird unterstützt. |
1 | Ein Systemcodespeichertyp wird unterstützt. |
2 | Ein nicht persistenter Speichertyp wird unterstützt. |
3 | Der erweiterte Speichertyp 1 wird unterstützt. |
4 | Der erweiterte Speichertyp 2 wird unterstützt. |
5 | Der erweiterte Speichertyp 3 wird unterstützt. |
6 | Der erweiterte Speichertyp 4 wird unterstützt. |
7-14 | Für die zukünftige Verwendung reserviert. |
15 | Ein RPMB-Speichertyp wird unterstützt. |
dSystemCodeMaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für den Systemcode für ein Gerät an.
wSystemCodeCapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den Arbeitsspeichertyp Systemcode an.
dNonPersistMaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für einen nicht persistenten Speichertyp an.
wNonPersistCapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den nicht persistenten Speichertyp an.
dEnhanced1MaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für den erweiterten Speichertyp 1 an.
wEnhanced1CapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den erweiterten Speichertyp 1 an.
dEnhanced2MaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für den erweiterten Speichertyp 2 an.
wEnhanced2CapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den erweiterten Speichertyp 2 an.
dEnhanced3MaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für den erweiterten Speichertyp 3 an.
wEnhanced3CapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den erweiterten Arbeitsspeichertyp 3 an.
dEnhanced4MaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für den erweiterten Speichertyp 4 an.
wEnhanced4CapAdjFac[2]
Gibt den Kapazitätsanpassungsfaktor für den erweiterten Arbeitsspeichertyp 4 an.
dOptimalLogicalBlockSize[4]
Gibt die optimale logische Blockgröße an.
- bit [3:0]: Normaler Speichertyp
- bit [7:4]: Systemcode-Speichertyp
- Bit [11:8]: Nicht persistenter Speichertyp
- bit [15:12]: Erweiterter Speichertyp 1
- Bit [19:16]: Erweiterter Speichertyp 2
- bit [23:20]: Erweiterter Speichertyp 3
- bit [27:24]: Erweiterter Speichertyp 4
- bit [31:28]:Reserviert
bHPBRegionSize
Gibt die Größe der HPB-Region an.
bHPBNumberLU
Gibt die maximale Anzahl logischer Einheiten an, in denen HPB aktiviert werden kann.
bHPBSubRegionSize
Gibt die Größe der HPB-Unterregion an. bHPBSubRegionSize darf bHPBRegionSize nicht überschreiten.
wDeviceMaxActiveHPBRegions
Gibt die mximum-Anzahl aktiver HPB-Regionen an, die vom Gerät unterstützt werden.
Reserved2[2]
Für die zukünftige Verwendung reserviert.
dWriteBoosterBufferMaxNAllocUnits[4]
Gibt die vom Gerät unterstützte WriteBooster-Puffergröße insgesamt an. Die Summe der WriteBooster-Puffergrößen für alle LUs ist kleiner oder gleich dem Wert, der durch dWriteBoosterBufferMaxNAllocUnits angegeben wird.
bDeviceMaxWriteBoosterLUs
Gibt die maximale Anzahl unterstützter WriteBooster-Puffer an.
bWriteBoosterBufferCapAdjFac
Gibt den Kapazitätsanpassungsfaktor für den Pufferspeichertyp WriteBooster an. Dieser Wert stellt den LBA-Multiplikationsfaktor für die Speicherplatzreduzierung bereit, wenn writeBooster Buffer im Modus zur Verringerung des Benutzerraums konfiguriert ist. Daher gilt dieser Parameter nur, wenn bWriteBoosterBufferPreserveUserSpaceEn 0x00 ist.
bSupportedWriteBoosterBufferUserSpaceReductionTypes
Gibt die Unterstützung des Modus zur Reduzierung des Benutzerraums an und behält den Modus "Benutzerraum" bei.
- 0x00: Der WriteBooster-Puffer kann nur im Typ "Benutzerraumreduzierung" konfiguriert werden.
- ox01: Der WriteBooster-Puffer kann nur im Benutzerbereichstyp beibehalten konfiguriert werden.
- ox02: Das Gerät kann entweder als Typ zur Verringerung des Benutzerraums oder als Benutzerraumtyp konfiguriert werden.
- Andere : Reserviert
bSupportedWriteBoosterBufferTypes
Gibt die Unterstützung des WriteBooster-Puffertyps an.
- 00h: LU-basierte WriteBooster-Pufferkonfiguration
- 01h: Konfiguration des einzelnen freigegebenen WriteBooster-Puffers
- 02h: Unterstützung sowohl lu-basierter WriteBooster-Puffer als auch einzelner freigegebener WriteBooster-Pufferkonfiguration
- Sonstige: Reserviert
Hinweise
Wenn die Größe der übertragenen Daten die Anzahl der frames bRPMB_ReadWriteSize überschreitet, erfolgt dies in mehreren Sicherheitsbefehlen.
Der Wert des Kapazitätsanpassungsfaktors für einen normalen Speichertyp ist gleich 1.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1709 |
Unterstützte Mindestversion (Server) | Windows Server 2016 |
Kopfzeile | ufs.h |