UFS_GEOMETRY_DESCRIPTOR構造体 (ufs.h)

UFS_GEOMETRY_DESCRIPTOR では、デバイスの幾何学的パラメーターについて説明します。

構文

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  bHPBNumberLU;
  UCHAR  bHPBSubRegionSize;
  UCHAR  bHPBRegionSize;
  USHORT wDeviceMaxActiveHPBRegions;
  UCHAR  Reserved2[2];
  ULONG  dWriteBoosterBufferMaxNAllocUnits;
  UCHAR  bDeviceMaxWriteBoosterLUs;
  UCHAR  bWriteBoosterBufferCapAdjFac;
  UCHAR  bSupportedWriteBoosterBufferUserSpaceReductionTypes;
  UCHAR  bSupportedWriteBoosterBufferTypes;
} UFS_GEOMETRY_DESCRIPTOR, *PUFS_GEOMETRY_DESCRIPTOR;

メンバー

bLength

記述子の長さを指定します。

bDescriptorIDN

記述子の型を指定します。 この記述子の値は UFS_DESC_GEOMETRY_IDN になります。

bMediaTechnology

将来使用するために予約されています。

Reserved1

将来使用するために予約されています。

qTotalRawDeviceCapacity[8]

生のデバイス容量の合計を指定します。 512 バイト単位で表されます。

bMaxNumberLU

UFS (ユニバーサル フラッシュ ストレージ) でサポートされる論理ユニットの最大数を指定します。 次のいずれかの値が含まれます。

説明
0x00 8 つの論理ユニット。
0x01 32 論理ユニット。
その他の値 将来利用するために予約されています。

dSegmentSize[4]

デバイスのセグメント サイズを 512 バイト単位で指定します。

bAllocationUnitSize

割り当て単位のサイズをセグメント数で指定します。

bMinAddrBlockSize

アドレス指定可能な最小ブロック サイズを 512 バイト単位で指定します。 最小サイズは 4 KB または 0x08 の値です。

bOptimalReadBlockSize

最適な読み取りブロック サイズを 512 バイト単位で指定します。

bOptimalWriteBlockSize

最適な書き込みブロック サイズを 512 バイト単位で指定します。 bOptimalWriteBlockSizebMinAddrBlockSize 以上です。

bMaxInBufferSize

データイン バッファーの最大サイズを 512 バイト単位で指定します。 最小サイズは 4 KB または 0x08 の値です。

bMaxOutBufferSize

データ出力バッファーの最大サイズを 512 バイト単位で指定します。 最小サイズは 4 KB または 0x08 の値です。

bRPMB_ReadWriteSize

[セキュリティ プロトコルイン] および [セキュリティ プロトコル出力] で許可される再生保護メモリ ブロック (RPMB) フレームの最大数を指定します。各フレームは 256 バイトです。

bDynamicCapacityResourcePolicy

デバイスの予備ブロック リソース管理ポリシーを指定します。 次のいずれかの値が含まれます。

説明
0x00 リソース管理ポリシーの予備ブロックは論理ユニットごとです。
0x01 予備ブロック リソース管理ポリシーは、メモリの種類ごとに設定されます。

bDataOrdering

デバイスが順序外のデータ転送をサポートするかどうかを指定します。 次のいずれかの値が含まれます。

説明
0x00 順序外のデータ転送はサポートされていません。
0x01 順序が指定されていないデータ転送がサポートされています。
その他のすべての値 将来利用するために予約されています。

bMaxContexIDNumber

デバイスでサポートされるコンテキストの最大数を指定します。 この数値は 5 より大きくする必要があります。

bSysDataTagUnitSize

システム データ タグの単位サイズを指定します。

bSysDataTagResSize

システム データを処理するためにデバイスによって割り当てられる最大サイズ (バイト単位) を指定します。

bSupportedSecRTypes

サポートされているセキュリティで保護された削除の種類を指定します。 変数の最初の 3 ビットは、サポートされているさまざまなセキュリティで保護された削除の種類を表すフラグです。

ビット 説明
0 物理メモリを消去して削除された情報。
1 アドレス指定された場所を 1 文字で上書きし、消去することで削除された情報。
2 アドレス指定された場所を文字、その補数、次にランダムな文字で上書きすることによって削除された情報。
3 ベンダー定義のメカニズムを使用して削除された情報。
4-7 将来利用するために予約されています。

wSupportedMemoryTypes[2]

ビットマップでサポートされているメモリの種類を指定します。

ビット 説明
0 通常のメモリの種類がサポートされています。
1 システム コードのメモリの種類がサポートされています。
2 非永続的なメモリの種類がサポートされています。
3 拡張メモリの種類 1 がサポートされています。
4 拡張メモリの種類 2 がサポートされています。
5 拡張メモリの種類 3 がサポートされています。
6 拡張メモリの種類 4 がサポートされています。
7-14 将来利用するために予約されています。
15 RPMB メモリの種類がサポートされています。

dSystemCodeMaxNAllocU[4]

デバイスのシステム コードの割り当て単位の最大数を指定します。

wSystemCodeCapAdjFac[2]

システム コードのメモリの種類の容量調整係数を指定します。

dNonPersistMaxNAllocU[4]

非永続メモリ型の割り当てユニットの最大数を指定します。

wNonPersistCapAdjFac[2]

非永続メモリの種類の容量調整係数を指定します。

dEnhanced1MaxNAllocU[4]

は、拡張メモリ タイプ 1 の割り当てユニットの最大数を指定します。

wEnhanced1CapAdjFac[2]

は、拡張メモリの種類 1 の容量調整係数を指定します。

dEnhanced2MaxNAllocU[4]

は、拡張メモリの種類 2 の割り当てユニットの最大数を指定します。

wEnhanced2CapAdjFac[2]

は、拡張メモリの種類 2 の容量調整係数を指定します。

dEnhanced3MaxNAllocU[4]

は、拡張メモリ タイプ 3 の割り当てユニットの最大数を指定します。

wEnhanced3CapAdjFac[2]

は、拡張メモリの種類 3 の容量調整係数を指定します。

dEnhanced4MaxNAllocU[4]

は、拡張メモリの種類 4 の割り当て単位の最大数を指定します。

wEnhanced4CapAdjFac[2]

は、拡張メモリの種類 4 の容量調整係数を指定します。

dOptimalLogicalBlockSize[4]

最適な論理ブロック サイズを指定します。

bHPBNumberLU

bHPBSubRegionSize

bHPBRegionSize

wDeviceMaxActiveHPBRegions

Reserved2[2]

dWriteBoosterBufferMaxNAllocUnits

bDeviceMaxWriteBoosterLUs

bWriteBoosterBufferCapAdjFac

bSupportedWriteBoosterBufferUserSpaceReductionTypes

bSupportedWriteBoosterBufferTypes

注釈

転送されるデータのサイズが bRPMB_ReadWriteSizeフレーム数を超える場合は、複数のセキュリティ コマンドで実行されます。

通常のメモリの種類の容量調整係数の値は 1 です。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1709
サポートされている最小のサーバー Windows Server 2016
Header ufs.h