다음을 통해 공유


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(유니버설 플래시 스토리지)에서 지원하는 최대 논리 단위 수를 지정합니다. 다음 값 중 하나를 포함합니다.

Description
0x00 논리 단위 8개.
0x01 32 논리 단위입니다.
다른 값 다음에 사용하도록 예약됩니다.

dSegmentSize[4]

디바이스의 세그먼트 크기를 512바이트 단위로 지정합니다.

bAllocationUnitSize

할당 단위 크기를 세그먼트 수로 지정합니다.

bMinAddrBlockSize

주소 지정 가능한 최소 블록 크기를 512바이트 단위로 지정합니다. 최소 크기는 4KB 또는 0x08 값입니다.

bOptimalReadBlockSize

최적의 읽기 블록 크기를 512바이트 단위로 지정합니다.

bOptimalWriteBlockSize

최적 쓰기 블록 크기를 512바이트 단위로 지정합니다. bOptimalWriteBlockSizebMinAddrBlockSize와 같거나 큽니다.

bMaxInBufferSize

데이터 입력 버퍼의 최대 크기를 512바이트 단위로 지정합니다. 미니엄 크기는 4KB 또는 0x08 값입니다.

bMaxOutBufferSize

데이터 출력 버퍼의 최대 크기를 512바이트 단위로 지정합니다. 미니엄 크기는 4KB 또는 0x08 값입니다.

bRPMB_ReadWriteSize

보안 프로토콜 In 및 Security Protocol Out에서 허용되는 최대 RPMB(재생 보호 메모리 블록) 프레임 수를 지정합니다. 각 프레임은 256바이트입니다.

bDynamicCapacityResourcePolicy

디바이스의 예비 블록 리소스 관리 정책을 지정합니다. 다음 값 중 하나를 포함합니다.

Description
0x00 예비 블록 리소스 관리 정책은 논리 단위별로 적용됩니다.
0x01 예비 블록 리소스 관리 정책은 메모리 유형별로 적용됩니다.

bDataOrdering

디바이스가 순서가 다른 데이터 전송을 지원하는지 지정합니다. 다음 값 중 하나를 포함합니다.

Description
0x00 순서가 지난 데이터 전송은 지원되지 않습니다.
0x01 순서가 지난 데이터 전송이 지원됩니다.
기타 모든 값 다음에 사용하도록 예약됩니다.

bMaxContexIDNumber

디바이스에서 지원하는 최대 컨텍스트 수를 지정합니다. 이 숫자는 5보다 커야 합니다.

bSysDataTagUnitSize

시스템 데이터 태그 단위 크기를 지정합니다.

bSysDataTagResSize

시스템 데이터를 처리하기 위해 디바이스에서 할당한 최대 크기(바이트)를 지정합니다.

bSupportedSecRTypes

지원되는 보안 제거 유형을 지정합니다. 변수의 처음 3비트 는 지원되는 다른 보안 제거 유형을 나타내는 플래그입니다.

bit Description
0 실제 메모리를 지우고 제거된 정보입니다.
1 주소가 지정된 위치를 단일 문자로 덮어쓰고 지우기를 수행하여 제거된 정보입니다.
2 주소가 지정된 위치를 문자, 해당 보수 문자, 임의의 문자로 덮어쓰면 제거된 정보입니다.
3 공급업체 정의 메커니즘을 사용하여 제거된 정보입니다.
4-7 다음에 사용하도록 예약됩니다.

wSupportedMemoryTypes[2]

비트맵에서 지원되는 메모리 형식을 지정합니다.

bit Description
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]:Reserved

bHPBRegionSize

HPB 지역의 크기를 지정합니다.

bHPBNumberLU

HPB를 사용하도록 설정할 수 있는 최대 논리 단위 수를 지정합니다.

bHPBSubRegionSize

HPB 하위 리소스의 크기를 지정합니다. bHPBSubRegionSizebHPBRegionSize를 초과할 수 없습니다.

wDeviceMaxActiveHPBRegions

디바이스에서 지원하는 활성 HPB 지역의 mximum 수를 지정합니다.

Reserved2[2]

다음에 사용하도록 예약됩니다.

dWriteBoosterBufferMaxNAllocUnits[4]

디바이스에서 지원하는 총 WriteBooster 버퍼 크기를 지정합니다. 모든 RU에 대한 WriteBooster 버퍼 크기의 합계는 dWriteBoosterBufferMaxNAllocUnits로 표시된 값보다 작거나 같습니다.

bDeviceMaxWriteBoosterLUs

지원되는 WriteBooster 버퍼의 최대 수를 지정합니다.

bWriteBoosterBufferCapAdjFac

WriteBooster 버퍼 메모리 형식의 용량 조정 인수를 지정합니다. 이 값은 WriteBooster 버퍼가 사용자 공간 감소 모드로 구성된 경우 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
머리글 ufs.h