다음을 통해 공유


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

하이브리드 디스크 캐시의 상태. 여기에는 다음 값 중 하나가 포함됩니다.

의미
NvCacheStatusUnknown
미니포트 드라이버는 캐시 상태 보고할 수 없습니다.
NvCacheStatusDisabling
캐시는 현재 NvCacheStatusDisabled 상태 변경됩니다.
NvCacheStatusDisabled
하이브리드 디스크의 캐시를 사용할 수 없습니다.
NvCacheStatusEnabled
하이브리드 디스크의 캐시를 사용할 수 있습니다.

CacheTypeEffective

현재 하이브리드 디스크에 대해 설정된 비휘발성 캐싱 유형입니다. 유효 캐시 유형은 다음 값 중 하나입니다.

의미
NvCacheTypeUnknown
미니포트 드라이버가 캐시 유형을 보고할 수 없습니다.
NvCacheNone
디스크는 비휘발성 캐시를 지원하지 않습니다.
NvCacheTypeWriteBack
쓰기 저장 캐싱은 하이브리드 디스크에서 지원됩니다.
NvCacheTypeWriteThrough
쓰기 통과 캐싱은 하이브리드 디스크에서 지원됩니다.

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 포함)

추가 정보

IOCTL_SCSI_MINIPORT_HYBRID