Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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;
Angehörige
bLength
Gibt die Länge des Deskriptors an.
bDescriptorIDN
Gibt den Typ des Deskriptors an. Dieser Deskriptor hat den Wert UFS_DESC_GEOMETRY_IDN.
bMediaTechnology
Reserviert für die zukünftige Verwendung.
Reserved1
Reserviert für die zukünftige Verwendung.
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 | Reserviert für die zukünftige Verwendung. |
dSegmentSize[4]
Gibt die Segmentgröße des Geräts in Einheiten von 512 Bytes an.
bAllocationUnitSize
Gibt die Zuordnungseinheitsgröße in der Anzahl der Segmente an.
bMinAddrBlockSize
Gibt die mindestgröße des adressierbaren Blocks in Einheiten von 512 Byte 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 Datenausgangspuffers 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 replay Protected Memory Block (RPMB)-Frames an, die in Security Protocol In und Security Protocol Out zulässig sind. Jeder Frame beträgt 256 Byte.
bDynamicCapacityResourcePolicy
Gibt die Ressourcenverwaltungsrichtlinie eines Geräts an. Enthält einen der folgenden Werte:
Wert | Beschreibung |
---|---|
0x00 | Die Ressourcenverwaltungsrichtlinie für Ersatzteile ist pro logische Einheit. |
0x01 | Die Ressourcenverwaltungsrichtlinie für Spare blocks ist pro Speichertyp. |
bDataOrdering
Gibt an, ob ein Gerät out-of-order-Datenübertragung unterstützt. Enthält einen der folgenden Werte:
Wert | Beschreibung |
---|---|
0x00 | Out-of-Order-Datenübertragung wird nicht unterstützt. |
0x01 | Out-of-Order-Datenübertragung wird unterstützt. |
Alle anderen Werte | Reserviert für die zukünftige Verwendung. |
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 Systemdatentageinheit an.
bSysDataTagResSize
Gibt die maximale Größe in Byte an, die vom Gerät zugewiesen werden, um Systemdaten zu verarbeiten.
bSupportedSecRTypes
Gibt die unterstützten Typen für sichere Entfernung an. Die ersten drei Bits der Variablen sind Flags, die unterschiedliche unterstützte Sichere Entfernungstypen darstellen.
Bit | Beschreibung |
---|---|
0 | Informationen, die mit einem Löschen des physischen Speichers entfernt wurden. |
1 | Informationen, die entfernt werden, indem die adressierten Speicherorte mit einem einzelnen Zeichen, gefolgt von einem Radierer, überschrieben werden. |
2 | Informationen, die entfernt werden, indem die adressierten Speicherorte mit einem Zeichen, dessen Ergänzung und dann ein zufälliges Zeichen überschrieben werden. |
3 | Informationen, die mithilfe eines vom Anbieter definierten Mechanismus entfernt wurden. |
4-7 | Reserviert für die zukünftige Verwendung. |
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 | Erweiterter Arbeitsspeichertyp 1 wird unterstützt. |
4 | Erweiterter Arbeitsspeichertyp 2 wird unterstützt. |
5 | Erweiterter Arbeitsspeichertyp 3 wird unterstützt. |
6 | Erweiterter Speichertyp 4 wird unterstützt. |
7-14 | Reserviert für die zukünftige Verwendung. |
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 Systemcodespeichertyp ab.
dNonPersistMaxNAllocU[4]
Gibt die maximale Anzahl von Zuordnungseinheiten für einen nicht persistenten Speichertyp ab.
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 Speichertyp 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 Speichertyp 4 an.
dOptimalLogicalBlockSize[4]
Gibt die optimale logische Blockgröße an.
- bit [3:0]: Normaler Speichertyp
- bit [7:4]: Systemcodespeichertyp
- bit [11:8]: Nicht persistenter Speichertyp
- Bit [15:12]: Erweiterter Arbeitsspeichertyp 1
- Bit [19:16]: Erweiterter Arbeitsspeichertyp 2
- bit [23:20]: Erweiterter Arbeitsspeichertyp 3
- bit [27:24]: Erweiterter Arbeitsspeichertyp 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 des HPB-Unterbereichs an. Die bHPBSubRegionSize darf bHPBRegionSizenicht überschreiten.
wDeviceMaxActiveHPBRegions
Gibt die Mximum-Anzahl aktiver HPB-Regionen an, die vom Gerät unterstützt werden.
Reserved2[2]
Reserviert für die zukünftige Verwendung.
dWriteBoosterBufferMaxNAllocUnits[4]
Gibt die Gesamtgröße des WriteBooster-Puffers an, die vom Gerät unterstützt wird. Die Summe der WriteBooster-Puffergrößen für alle LUs ist kleiner oder gleich dem Wert, der durch dWriteBoosterBufferMaxNAllocUnitsangegeben wird.
bDeviceMaxWriteBoosterLUs
Gibt die maximale Anzahl der unterstützten WriteBooster-Puffer an.
bWriteBoosterBufferCapAdjFac
Gibt den Kapazitätsanpassungsfaktor für den WriteBooster-Pufferspeichertyp an. Dieser Wert stellt den Multiplikationsfaktor für die LBA-Raumreduzierung bereit, wenn der WriteBooster-Puffer im Modus zur Reduzierung des Benutzerraums konfiguriert ist. Daher gilt dieser Parameter nur, wenn bWriteBoosterBufferPreserveUserSpaceEn 0x00 ist.
bSupportedWriteBoosterBufferUserSpaceReductionTypes
Gibt die Unterstützung des Benutzerraumreduzierungsmodus an und behält den Benutzerraummodus bei.
- 0x00: WriteBooster-Puffer kann nur im Benutzerraumreduzierungstyp konfiguriert werden.
- ox01: WriteBooster-Puffer kann nur im beibehaltenen Benutzerbereichstyp konfiguriert werden.
- ox02: Das Gerät kann entweder im Benutzerraumreduzierungstyp konfiguriert oder den Benutzerraumtyp beibehalten.
- 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ützen der LU-basierten WriteBooster-Pufferkonfiguration und der konfiguration einzelner gemeinsam genutzter WriteBooster-Puffer
- Andere: Reserviert
Bemerkungen
Wenn die Größe der übertragenen Daten die Anzahl der Frames bRPMB_ReadWriteSizeüberschreitet, erfolgt dies in mehreren Sicherheitsbefehlen.
Der Wert für den Kapazitätsanpassungsfaktor für einen normalen Speichertyp ist gleich einem Wert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1709 |
mindestens unterstützte Server- | Windows Server 2016 |
Header- | ufs.h |