HYBRID_INFORMATION 구조체(ntddscsi.h)
HYBRID_INFORMATION 구조에는 하이브리드 디스크 기능 정보가 포함되어 있습니다. 구조체는 HBA 미니포트 드라이버로 전송된 IOCTL_SCSI_MINIPORT_HYBRID 요청에서 HYBRID_FUNCTION_GET_INFO 함수를 선택하면 반환됩니다.
구문
typedef struct _HYBRID_INFORMATION {
ULONG Version;
ULONG Size;
BOOLEAN HybridSupported;
NVCACHE_STATUS Status;
NVCACHE_TYPE CacheTypeEffective;
NVCACHE_TYPE CacheTypeDefault;
ULONG FractionBase;
ULONGLONG CacheSize;
struct {
ULONG WriteCacheChangeable : 1;
ULONG WriteThroughIoSupported : 1;
ULONG FlushCacheSupported : 1;
ULONG Removable : 1;
ULONG ReservedBits : 28;
} Attributes;
struct {
UCHAR PriorityLevelCount;
BOOLEAN MaxPriorityBehavior;
UCHAR OptimalWriteGranularity;
UCHAR Reserved;
ULONG DirtyThresholdLow;
ULONG DirtyThresholdHigh;
struct {
ULONG CacheDisable : 1;
ULONG SetDirtyThreshold : 1;
ULONG PriorityDemoteBySize : 1;
ULONG PriorityChangeByLbaRange : 1;
ULONG Evict : 1;
ULONG ReservedBits : 27;
ULONG MaxEvictCommands;
ULONG MaxLbaRangeCountForEvict;
ULONG MaxLbaRangeCountForChangeLba;
} SupportedCommands;
NVCACHE_PRIORITY_LEVEL_DESCRIPTOR Priority[0];
} Priorities;
} HYBRID_INFORMATION, *PHYBRID_INFORMATION;
멤버
Version
이 구조체의 버전입니다. 를 HYBRID_REQUEST_INFO_STRUCTURE_VERSION.
Size
이 구조체의 크기입니다. sizeof(HYBRID_INFORMATION)로 설정합니다.
HybridSupported
미니포트는 하이브리드 디스크를 지원합니다. 하이브리드 디스크가 지원되는 경우 TRUE 로 설정합니다. 그렇지 않으면 FALSE입니다.
Status
하이브리드 디스크 캐시의 상태. 여기에는 다음 값 중 하나가 포함됩니다.
CacheTypeEffective
현재 하이브리드 디스크에 대해 설정된 비휘발성 캐싱 유형입니다. 유효 캐시 유형은 다음 값 중 하나입니다.
값 | 의미 |
---|---|
|
미니포트 드라이버가 캐시 유형을 보고할 수 없습니다. |
|
디스크는 비휘발성 캐시를 지원하지 않습니다. |
|
쓰기 저장 캐싱은 하이브리드 디스크에서 지원됩니다. |
|
쓰기 통과 캐싱은 하이브리드 디스크에서 지원됩니다. |
CacheTypeDefault
하이브리드 디스크에서 사용하는 기본 캐싱 유형입니다. 가능한 값은 CacheTypeEffective의 값과 동일합니다.
FractionBase
이 구조체의 소수 필드의 기본 값입니다. 이 값은 255로 설정됩니다.
CacheSize
하이브리드 디스크의 비휘발성 크기(BBA)입니다.
Attributes
하이브리드 디스크 특성입니다.
Attributes.WriteCacheChangeable
쓰기 캐싱 정책의 변경에 대한 지원. 값은 1 정책 변경이 허용됩니다. 그렇지 않으면 변경 내용이 무시됩니다.
Attributes.WriteThroughIoSupported
쓰기-통과 캐싱을 사용하는 경우 개별 쓰기 작업을 지원합니다. 개별 쓰기가 지원되는 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Attributes.FlushCacheSupported
비휘발성 캐시 플러시에 대한 지원. 플러시를 지원하는 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Attributes.Removable
디스크에서 비휘발성 캐시 제거 지원. 캐시가 이동식인 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Attributes.ReservedBits
예약되어 있습니다.
Priorities
하이브리드 디스크에 대한 우선 순위 설정입니다.
Priorities.PriorityLevelCount
캐시에서 지원하는 우선 순위 수준의 수입니다. 현재 0이 아닌 값은 모든 우선 순위에 대한 지원을 나타냅니다.
Priorities.MaxPriorityBehavior
TRUE이면 캐시가 가득 차면 디스크 I/O가 최대 우선 순위에서 실패할 수 있습니다. 그렇지 않으면 FALSE이면 작업이 디스크에 완료됩니다.
Priorities.OptimalWriteGranularity
Priorities.Reserved
Priorities.DirtyThresholdLow
캐시 플러시에 대한 낮은 임계값입니다. 이 값은 FractionBase 범위의 비율입니다.
Priorities.DirtyThresholdHigh
캐시 플러시에 대한 낮은 임계값입니다. 이 값은 FractionBase 범위의 비율입니다.
Priorities.SupportedCommands
하이브리드 디스크에 대한 비휘발성 캐시 특정 명령을 지원합니다.
Priorities.SupportedCommands.CacheDisable
쓰기 캐싱 정책의 변경에 대한 지원. 값은 1 정책 변경이 허용됩니다. 그렇지 않으면 변경 내용이 무시됩니다.
Priorities.SupportedCommands.SetDirtyThreshold
쓰기-통과 캐싱을 사용하는 경우 개별 쓰기 작업을 지원합니다. 개별 쓰기가 지원되는 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Priorities.SupportedCommands.PriorityDemoteBySize
비휘발성 캐시 플러시에 대한 지원. 플러시를 지원하는 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Priorities.SupportedCommands.PriorityChangeByLbaRange
LBA 범위 우선 순위 변경에 대한 지원. 우선 순위 변경이 지원되는 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Priorities.SupportedCommands.Evict
디스크에서 비휘발성 캐시 제거 지원. 캐시가 이동식인 경우 값은 1입니다. 그렇지 않으면 값이 0입니다.
Priorities.SupportedCommands.ReservedBits
예약되어 있습니다.
Priorities.SupportedCommands.MaxEvictCommands
미해결에 허용되는 최대 동시 제거 명령입니다. 이 값은 제거 가 1로 설정된 경우에 유효합니다.
Priorities.SupportedCommands.MaxLbaRangeCountForEvict
제거 명령과 연결할 수 있는 최대 LBA 범위 수입니다. 이 값은 제거 가 1로 설정된 경우에 유효합니다.
Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba
우선 순위 변경 명령과 연결할 수 있는 최대 LBA 범위 수입니다. 이 값은 PriorityChangeByLbaRange 가 1로 설정된 경우에 유효합니다.
Priorities.Priority[0]
우선 순위 수준 설명자의 배열입니다. 배열에 있는 설명자의 수는 PriorityLevelCount에 설정됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 시작해서 사용할 수 있습니다. |
머리글 | ntddscsi.h(Ntddscsi.h 포함) |