次の方法で共有


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  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;

メンバー

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 ビットは、サポートされているさまざまな Secure Removal 型を表すフラグです。

ビット 説明
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]

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

  • bit [3:0]: 通常のメモリの種類
  • bit [7:4]: システム コード メモリの種類
  • bit [11:8]: 非永続メモリの種類
  • bit [15:12]: 拡張メモリの種類 1
  • bit [19:16]: 拡張メモリの種類 2
  • bit [23:20]: 拡張メモリの種類 3
  • bit [27:24]: 拡張メモリの種類 4
  • bit [31:28]:予約済み

bHPBRegionSize

HPB 領域のサイズを指定します。

bHPBNumberLU

HPB を有効にできる論理ユニットの最大数を指定します。

bHPBSubRegionSize

HPB サブ領域のサイズを指定します。 bHPBSubRegionSizebHPBRegionSize を超えることはできません。

wDeviceMaxActiveHPBRegions

デバイスでサポートされているアクティブな HPB リージョンの mximum 数を指定します。

Reserved2[2]

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

dWriteBoosterBufferMaxNAllocUnits[4]

デバイスでサポートされる WriteBooster バッファー サイズの合計を指定します。 すべての LU の WriteBooster バッファー サイズの合計は、 dWriteBoosterBufferMaxNAllocUnits によって示される値以下です。

bDeviceMaxWriteBoosterLUs

サポートされている WriteBooster バッファーの最大数を指定します。

bWriteBoosterBufferCapAdjFac

WriteBooster バッファー メモリの種類の容量調整係数を指定します。 この値は、WriteBooster Buffer がユーザー空間縮小モードで構成されている場合の LBA スペース削減乗算係数を提供します。 したがって、このパラメーターは 、bWriteBoosterBufferPreserveUserSpaceEn が0x00場合にのみ適用されます。

bSupportedWriteBoosterBufferUserSpaceReductionTypes

ユーザー空間縮小モードのサポート可能性を指定し、ユーザー空間モードを保持します。

  • 0x00: WriteBooster バッファーは、ユーザースペース削減タイプでのみ構成できます。
  • ox01: WriteBooster バッファーは、ユーザー空間の種類を保持するでのみ構成できます。
  • ox02: デバイスは、ユーザースペースの削減タイプで構成することも、ユーザー・スペース・タイプを保持することもできます。
  • その他 : 予約済み

bSupportedWriteBoosterBufferTypes

WriteBooster バッファー型のサポート可能性を指定します。

  • 00h: LU ベースの WriteBooster バッファー構成
  • 01h: 単一の共有 WriteBooster バッファー構成
  • 02h: LU ベースの WriteBooster バッファーと単一の共有 WriteBooster バッファー構成の両方をサポート
  • その他: 予約済み

注釈

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

通常のメモリの種類の容量調整係数の値は 1 と等しくなります。

要件

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