Freigeben über


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