SCSI 규정 준수 테스트 2.0(LOGO)
이 자동화된 테스트는 운영 체제에서 지원하는 블록 스토리지 디바이스(RAID 어댑터 또는 디스크 대상)가 SPC-3(SCSI-3 Primary Commands-3) 이상 및 SBC-2(SCSI Block Commands-2) 이상 사양에 설명된 SCSI(Small Computer System Interface) 표준을 완전히 준수하는지 확인합니다. 이러한 사양을 보려면 Technical Committee T10 SCSI Storage Interfaces로 이동하세요.
블록 디바이스와 운영 체제가 이러한 표준을 준수하게 되면 보다 강력하고 신뢰할 수 있는 시스템이 됩니다. 일부 블록 디바이스가 SCSI 전송을 사용하지 않을 수도 있지만 운영 체제는 SCSI 명령을 사용하여 통신합니다(RAID 집합에 속하지 않는 개별 ATA 디스크 드라이브 제외).
이 테스트는 SCSI 통과 요청(IOCTL_SCSI_PASS_THROUGH)을 사용하여 SCSI CDB(명령 설명자 블록)를 구성하고 디바이스로 보냅니다. 테스트는 명령의 결과를 평가하여 규정 준수를 확인합니다.
참고
스토리지 RAID 하드웨어 기반 RAID(스토리지 배열) 제출의 일부로 이 테스트를 실행하며, 스토리지 배열이 MPIO(다중 경로 I/O)를 지원하는 경우 장애 조치(Fail-Over) 전용 정책을 사용하도록 MPIO를 구성하고 모든 MPIO 지원 디스크에 대해 동일한 활성 경로를 사용하도록 대상 스토리지 디스크를 설정해야 합니다.
스토리지 RAID 하드웨어 기반 RAID(스토리지 배열) 제출의 일부로 이 테스트를 실행하는 경우 LUN0이 가장 큰 비부팅 LUN으로 구성되어 있는지 확인합니다.
테스트 세부 정보
사양 |
|
플랫폼 |
|
지원되는 릴리스 |
|
예상 실행 시간(분) | 5 |
범주 | 호환성 |
시간 제한(분) | 300 |
다시 부팅 필요 | false |
특별한 구성 필요 | false |
형식 | automatic |
추가 설명서
이 기능 영역의 테스트에는 다음 항목에서 찾을 수 있는 필수 조건, 설정, 문제 해결 정보를 포함한 추가 설명서가 있을 수 있습니다.
테스트 실행
테스트를 실행하기 전에 테스트 중인 스토리지 컨트롤러 유형에 대한 테스트 요구 사항에 설명된 대로 테스트 설정을 완료합니다. 자세한 내용은 하드 디스크 드라이브 테스트 필수 구성 요소를 참조하세요.
문제 해결
HLK 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.
일반적인 문제 해결 정보는 Device.Storage 테스트 문제 해결을 참조하세요.
또한 테스트는 결과를 Scsicompliance.wtl 및 Scsicompliance.wtl.txt 로그 파일에 기록합니다. 결과를 사용하여 다음을 판단할 수 있습니다.
디바이스가 SCSI 사양과 호환되는지 여부
디바이스에서 지원하는 선택적 SCSI 명령
통과하려면 SCSI 디바이스가 모든 필수 명령을 지원하고 해당 명령을 완전히 준수해야 합니다. 각 명령은 통과 또는 실패에 대한 임계값이 다르며 예상 결과는 테스트 및 로그 파일에 명시적으로 지정됩니다.
선택적 명령도 테스트됩니다. 디바이스가 선택적 명령을 지원하고 명령이 규격을 준수하지 않는 것으로 확인되면 테스트가 실패합니다. 디바이스가 선택적 명령을 지원하지 않는 경우 테스트를 통과합니다.
참고
이 테스트의 오류는 로그 파일에서 식별된 문제와 테스트 중인 드라이버에 스트레스를 주어 생성된 중지 오류를 통해 발생합니다.
테스트 중에 실패하는 LUN을 제거하는 데 문제가 있거나 스토리지 컨트롤러에서 LUN을 만들 수 없는 경우 다음 단계를 따릅니다.
이 테스트를 실행하기 전에 스토리지 디바이스가 제대로 작동하는지 확인합니다. diskmgmt.msc를 열고 디스크를 선택한 다음, 디바이스를 온라인 및 초기화됨으로 둘 수 있는지 확인합니다.
Windows HLK 테스트 컴퓨터를 다시 시작합니다.
SCSI 준수 테스트 2.0을 선택하고 다시 실행합니다. 그 전에 테스트를 실행하지 마세요.
동일한 테스트 클라이언트 및 동일한 테스트 스토리지 디바이스에서 SCSI 준수 테스트(SCSI 준수 테스트 2.0(LOGO)이 아님)를 실행합니다. 테스트가 다시 실패하면 스토리지 디바이스가 제대로 작동하는지 확인합니다. 3, 4단계 동안 테스트가 실패하면 로깅 상세 수준을 4(가장 높은 테스트 로깅 수준)로 설정하여 실패한 개별 명령 데이터 블록(cdbs)을 한 번에 하나씩 실행합니다. 이는 어떤 데이터가 전송되었고 어떤 데이터가 반환되었는지 보여 줍니다. 테스트는 여러 cdb가 완료된 후에 실패해도 독립 실행형으로는 통과할 수 있습니다. 이런 경우 펌웨어나 테스트에 문제가 있는 것입니다.
디바이스 초기화의 결과로 디바이스가 버스에서 떨어지고 후속 명령이 실패하는 경우 다음 단계를 수행합니다.
Windows HLK 컨트롤러에서 테스트 이진(Scsicompliance.exe)을 복사합니다. 이 파일은 \\controllername\tests\[클라이언트의 프로세서 아키텍처]\NTTEST\DriversTest\storage\wdk\에 있습니다.
Windows HLK 컨트롤러에서 wttlog.dll 파일을 복사합니다. 이 파일은 \\<controllername>\Tests\<클라이언트의 프로세서 아키텍처 >\wtt에 있습니다.
이 두 파일을 테스트 컴퓨터의 서로 다른 폴더에 배치합니다.
명령 프롬프트의 테스트 이진이 포함된 디렉터리에서 다음 명령을 입력합니다. Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failingcdbname>
참고
DeviceID 및 시나리오 값은 테스트 로그 내 repro 줄을 확인하여 찾을 수 있습니다. /? 옵션(scsicompliance.exe /?)을 사용하여 테스트 이진을 실행해 failingcdbname을 찾을 수 있습니다.
동일한 디렉터리로 돌아가서 결과를 검토하여 테스트 실패의 원인을 판별할 수 있는지 확인합니다.
추가 도움이 필요하면 txt 및 wtl 로그를 수집하고 로그를 Microsoft 고객 지원과 공유합니다.
Windows Server 2003에 대해 이 테스트를 실행하는 경우 디스크 또는 LUN이 MPIO 의사 LUN이 아닌지 확인합니다. Windows Server 2003의 MPIO는 지원되지 않습니다.
추가 정보
다음 명령의 유효성이 검사됩니다.
참고
참조에 대한 자세한 내용은 Technical Committee T10 SCSI Storage Interfaces 웹 사이트를 참조하세요.
명령: Test Unit Ready
제목: TEST UNIT READY 기본 확인 테스트
설명: TEST UNIT READY 명령은 논리 단위가 준비되었는지 확인하는 수단을 제공합니다. 자체 테스트에 대한 요청이 아닙니다. 논리 단위가 CHECK CONDITION 상태를 반환하지 않고 적절한 매체 액세스 명령을 수락할 수 있는 경우 이 명령은 GOOD 상태를 반환합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.33
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 필수 SPC-3/SPC-4 명령입니다.
명령: Request Sense
제목:REQUEST SENSE (6) 지원 테스트
설명: Request Sense 명령이 지원되고 GOOD 상태를 반환하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.27
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 이 명령은 SPC-3/SPC-4에서 필수이며 초기자가 실패한 명령에 대한 오류 감지 데이터를 검색하는 데 사용합니다.
제목: REQUEST SENSE (6) RESPONSE CODE 테스트
설명: RESPONSE CODE가 0x70, 0x71, 0x72 또는 0x73입니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.27
예상 결과: RESPONSE CODE == 0x70, RESPONSE CODE == 0x71, RESPONSE CODE == 0x72 또는 RESPONSE CODE == 0x73
제목: REQUEST SENSE (6) 센스 데이터 길이 테스트
설명: SENSE 데이터의 길이가 올바른지 확인합니다(전송된 데이터가 명령 응답에서 보고한 데이터 길이와 일치).
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.27
예상 결과: 추가 센스 길이 <= 센스 데이터 크기 - 8
명령: Read 6
제목: READ (6) 기본 확인 테스트
설명: 디바이스는 GOOD(0x0) SCSI 상태와 처음 두 데이터 블록을 올바르게 반환해야 합니다. 이 테스트는 서로 다르지만 겹치는 두 개의 데이터 블록을 읽는 두 개의 READ 명령을 보냅니다. 그런 다음, 겹치는 데이터를 비교합니다. 겹치는 데이터가 읽기 작업 간에 동일하면(두 명령이 동일한 데이터를 올바르게 읽음) true를 반환합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.5
예상 결과: ScsiStatus == 0x0.
근거: 일부 애플리케이션은 여전히 Read 6을 사용하며 Read 10으로 전환되지 않았습니다. 따라서 이 명령이 구현되었는지 확인하고 테스트를 계속 진행합니다.
제목: READ (6) 순차적 읽기 테스트
설명: 디바이스는 1000개의 순차적 데이터 블록을 올바르게 읽어야 합니다. 이 테스트는 이 명령을 1000번 전송하여 임의 블록 주소에서 순차적으로 시작하는 1024바이트의 데이터를 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.5
예상 결과: 모든 READ (6) 명령이 성공합니다.
제목: READ (6) 임의 읽기 테스트
설명: 디바이스는 1000개의 임의 데이터 블록을 올바르게 읽어야 합니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 데이터를 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.5
예상 결과: 모든 READ (6) 명령이 성공합니다.
제목: READ (6) Read-With-Disk-Cache-Cleared 테스트
설명: 디바이스는 12MB 디스크 캐시를 지운 후 데이터를 올바르게 반환해야 합니다. 이 테스트는 나중에 확인하기 위해 12MB 순차적 데이터를 먼저 읽습니다. 그런 다음, 12MB 임의 데이터를 읽어 디스크 캐시를 지웁니다. 마지막으로 동일한 12MB 순차적 데이터를 읽어 데이터가 처음 읽은 데이터와 같은지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.5
예상 결과: 캐시를 지운 후 읽은 12MB 데이터가 올바릅니다.
명령: Write 6
제목: WRITE (6) 기본 기능 테스트
설명: 이 명령은 한 블록의 데이터를 디바이스에 올바르게 씁니다. 이 테스트는 작성하려는 데이터와 쓰기 작업 후 READ에서 반환한 데이터를 비교합니다. 데이터가 동일하면 WRITE 명령이 데이터를 디스크에 올바르게 쓰는 것입니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.24
예상 결과: ScsiStatus == 0x0.
근거: 일부 애플리케이션은 여전히 Write 6을 사용하며 Write 10으로 전환되지 않았습니다. 따라서 이 명령이 구현되었는지 확인하고 테스트를 계속 진행합니다.
제목: WRITE (6) 순차적 쓰기 테스트
설명: 이 명령은 1000개의 순차적 데이터 블록을 올바르게 씁니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 시작하는 데이터를 순차적으로 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.24
예상 결과: 모든 WRITE (6) 명령이 성공합니다.
제목: WRITE (6) 임의 쓰기 테스트
설명: 이 명령은 1000개의 임의 데이터 블록을 올바르게 씁니다. 이 테스트는 WRITE 명령을 1000번 전송하여 임의 논리 블록 주소에 데이터를 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.24
예상 결과: 모든 WRITE (6) 명령이 성공합니다.
제목: WRITE (6) Write-With-Disk-Cache-Disabled 테스트
설명: 이 명령은 캐시를 사용하지 않도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.24
예상 결과: 12MB 데이터가 올바르게 작성됩니다.
제목: WRITE (6) Write-With-Disk-Cache-Enabled 테스트
설명: 이 명령은 캐시를 사용하도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, SYNCHRONIZE CACHE (10) 명령을 전송하여 캐시의 논리 블록 주소를 디스크의 논리 블록 주소와 동기화합니다. 마지막으로 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.24
예상 결과: 12MB 데이터가 올바르게 작성됩니다.
명령: Inquiry
제목: INQUIRY 기본 확인 테스트
설명: 디바이스는 ALLOCATION LENGTH 필드가 255(0xFF)바이트로 설정된 INQUIRY 명령에 대한 응답으로 GOOD(0x0) SCSI 상태와 크기가 255바이트보다 작거나 같은 데이터를 반환해야 합니다. ALLOCATION LENGTH 필드는 애플리케이션 클라이언트가 반환된 데이터에 대해 할당한 최대 바이트 수를 지정합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 디바이스는 GOOD(0x0) SCSI 상태와 크기가 255바이트보다 작거나 같은 데이터를 반환해야 합니다.
제목: INQUIRY PAGE CODE 필드가 0이 아니고 EVPD=0인 경우 발생하는 오류 테스트
설명: PAGE CODE 필드가 0이 아니고 EVPD=0일 때 오류가 반환되는지 확인합니다. PAGE CODE 필드가 0이 아니고 EVPD=0일 때 오류가 반환되는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: ScsiStatus == 0x2, CHECK CONDITION. ScsiStatus == 0x2, CHECK CONDITION.
제목: INQUIRY 표준 조회 데이터 검색
설명: 표준 조회 데이터를 검색할 수 있는지 여부를 확인합니다. 표준 조회 데이터를 검색할 수 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: ScsiStatus == 0x0, GOOD.
제목: INQUIRY 표준 조회 데이터의 크기 확인
설명: 표준 INQUIRY 데이터는 36바이트 이상을 포함해야 합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 데이터 전송 길이 >= 36바이트
제목: INQUIRY 디바이스 유형 필드 테스트
설명: 디바이스 유형 필드를 확인하여 직접 액세스 디바이스인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 디바이스 유형 == 0x0, 직접 액세스 디바이스
제목: INQUIRY 주변 장치 한정자 필드 테스트
설명: 주변 장치 한정자 필드를 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 주변 장치 한정자 필드 == 0
제목: INQUIRY VERSION 필드 테스트
설명: 디바이스는 유효한 VERSION 필드 0x4, 0x5 또는 0x6을 반환해야 합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: VERSION은 비 SCSI 버스 유형에 대해 0x4(SPC-2) 이상이고, SCSI 버스 유형에 대해 0x3(SPC) 이상입니다.
제목: INQUIRY RESPONSE DATA FORMAT 확인
설명: RESPONSE DATA FORMAT == 2인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: RESPONSE DATA FORMAT == 2.
제목: INQUIRY 추가 길이 확인
설명: 추가 길이 필드가 올바른지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 추가 길이 필드 == 총 데이터 크기 - 5
제목: INQUIRY VENDOR IDENTIFICATION 필드 확인
설명: VENDOR IDENTIFICATION 필드에 유효한 ASCII가 포함되어 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: VENDOR IDENTIFICATION 필드에 유효한 ASCII가 포함되어 있습니다.
제목: INQUIRY PRODUCT IDENTIFICATION 필드 확인
설명: PRODUCT IDENTIFICATION 필드에 유효한 ASCII가 포함되어 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: PRODUCT IDENTIFICATION 필드에 유효한 ASCII가 포함되어 있습니다.
제목: INQUIRY PRODUCT REVISION LEVEL 필드 확인
설명: PRODUCT REVISION LEVEL 필드에 유효한 ASCII가 포함되어 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: PRODUCT REVISION LEVEL 필드에 유효한 ASCII가 포함되어 있습니다.
제목: INQUIRY 명령 지원 데이터 테스트
설명: 디바이스는 표준 조회 데이터에서 HiSup 비트를 설정해야 합니다.
참조: SAM-3(SCSI Architecture 모델 - 3) 수정 버전 14 이상 사양 섹션 4.9.2
예상 결과: HiSup 비트가 표준 조회 데이터에 설정됩니다.
제목: 지원되는 중요 제품 페이지를 확인하는 INQUIRY
설명: 중요 제품 페이지가 지원되는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4.4
예상 결과: 지원되는 중요 제품 데이터 페이지 목록이 반환됩니다.
제목: 지원되는 각 중요 제품 데이터 페이지에 대한 액세스를 테스트하는 INQUIRY
설명: 지원되는 각 중요 제품 데이터 페이지에 액세스하려고 시도합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4.4
예상 결과: 지원되는 각 페이지에 액세스할 수 있습니다(최대 255바이트).
제목: INQUIRY단위 일련 번호 페이지 0x80 시도
설명: 단위 일련 번호 페이지 0x80이 지원되고 유효한 ASCII인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 7.6.10
예상 결과: ScsiStatus == 0x0, 결과는 유효한 ASCII입니다.
제목: INQUIRY 디바이스 식별 페이지 0x83 시도
설명: 디바이스 식별 페이지 0x83이 지원되는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 7.6.3
예상 결과: ScsiStatus == 0x0.
제목: INQUIRY VPD 페이지 0x83의 식별 설명자 확인
설명: 식별 설명자에 의미 있는 데이터가 포함되어 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 7.6.3
예상 결과: 모든 설명자는 규정을 준수하며 의미 있는 데이터를 포함합니다.
제목: INQUIRY 버전 설명자 확인
설명: 버전 설명자가 규정을 준수하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.4
예상 결과: 버전 설명자가 있습니다.
명령: Mode Select 6
제목: MODE SELECT (6) 기본 테스트
설명: PF 및 SP == 0인 간단한 MODE SELECT 명령이 통과하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 스토리지 스택은 캐싱 모드 페이지를 사용하여 디바이스 캐싱을 설정/해제합니다. 따라서 Mode Select 명령을 사용하여 모드 페이지에 쓰는 기능이 필요합니다.
제목: MODE SELECT 6: MODE SENSE (6) 캐싱 모드 페이지 가져오기 시도
설명: 페이지 0x08에 대한 간단한 MODE SENSE 명령이 GOOD 상태를 반환하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 6: MODE SENSE (6) 매개 변수가 저장 가능한지(PS비트) 확인
설명: 캐싱 모드 페이지의 매개 변수 저장 가능 비트가 1인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: PS == 1.
제목: MODE SELECT 6: MODE SENSE (6) 모드 매개 변수 헤더 확인
설명: MediumType == 0이고 BlockDescriptorLength == 0인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: MediumType == 0x0 및 BlockDescriptorLength == 0x0
제목: MODE SELECT 6: MODE SENSE (6) 캐싱 모드 페이지 길이 확인
설명: 캐싱 모드 페이지가 20바이트인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: cachePageLength == 20바이트
제목: MODE SELECT 6: MODE SENSE (6) 변경 가능한 값을가져오기
설명: 캐싱 모드 페이지에 대한 변경 가능한 값을 저장합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 6: MODE SENSE (6) 기본값 가져오기
설명: 캐싱 모드 페이지에 대한 기본값을 저장합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT (6) WCE 변경
설명: 디바이스에 대해 WCE=0로 MODE SELECT를 적용합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 6: MODE SENSE (6) WCE가 지워졌는지 확인
설명: 이전 MODE SELECT 명령이 실제로 현재 모드 매개 변수를 변경했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: WCE가 지워졌습니다.
제목: MODE SELECT 6: MODE SENSE (6) 저장된 값이 변경되었는지 확인
설명: 이전 MODE SELECT 명령이 실제로 저장된 모드 매개 변수를 변경했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 저장된 값이 변경되었습니다.
제목: MODE SELECT (6) WCE 설정
설명: MODE SELECT를 적용하여 WCE를 설정합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 6: MODE SENSE (6) WCE가 설정되었는지 확인
설명: 이전 MODE SELECT 명령이 실제로 WCE를 설정했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 현재 값이 설정되었습니다.
제목: MODE SELECT (6) 원래 값 복원 시도
설명: MODE SELECT 테스트를 수행하면 캐싱 모드 페이지 값이 원래 값으로 되돌아갈 수 있습니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 6: MODE SENSE (6) 값이 복원되었는지 확인
설명: 캐싱 모드 페이지에서 값이 복원되었는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.7
예상 결과: 현재 값은 기본값과 같습니다.
명령: Mode Sense 6
제목: MODE SENSE (6) 기본 테스트
설명: 페이지 0x3f에 대한 간단한 MODE SENSE 명령이 GOOD 상태를 반환하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 스토리지 스택은 캐싱 모드 페이지를 사용하여 디바이스 캐싱을 설정/해제합니다. 따라서 Mode Sense 명령을 사용하여 모드 페이지를 읽는 기능이 필요합니다.
제목: MODE SENSE (6) 반환된 데이터의 크기 확인
설명: 최소 데이터 양(즉, 적어도 MODE PARAMETER HEADER)을 수신하고 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 데이터 전송 길이 >= 4바이트
제목: MODE SENSE (6) MODE PARAMETER HEADER 확인
설명: MODE PARAMETER HEADER 길이 정보가 유효한지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: ModeDataLength = 데이터 전송 길이 - 1 = -1바이트.
제목: MODE SENSE (6) DBD(블록 설명자 사용 안 함) 비트 테스트
설명: DBD 비트가 설정되면 블록 설명자가 반환되지 않는지 테스트합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 블록 설명자 길이 = 0
제목: MODE SENSE (6) DBD 비트가 설정될 때의 새 데이터 길이 테스트
설명: 새 데이터 길이가 이전 데이터 길이에서 블록 설명자 길이를 뺀 값인지 테스트합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 새 데이터 길이 = 이전 데이터 길이
제목: MODE SENSE (6) DBD 비트 설정 전/후에 MODE PAGE 데이터 비교
설명: DBD 비트 설정 전/후에 해당 페이지 데이터가 동일한지 테스트합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 페이지 데이터가 일치합니다.
제목: MODE SENSE (6) 페이지 컨트롤 필드 테스트
설명: 페이지 컨트롤 필드의 다른 값을 테스트하고 반환된 데이터의 크기를 적용합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: PC의 각 값에 대한 데이터 길이가 올바릅니다.
제목: MODE SENSE (6) 모든 모드 페이지 검색
설명: 모드 페이지 0x3f 데이터를 확인하여 지원되는 모드 페이지를 검사합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 지원되는 모드 페이지인 정보 예외 제어 모드 페이지 및 캐싱 모드 페이지를 찾을 수 있습니다.
제목: MODE SENSE (6) 필수 모드 페이지가 지원되는지 확인
설명: 필수 모드 페이지가 MODE PAGE 0x3f에 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 적어도 캐싱 및 정보 예외 페이지가 지원됩니다.
제목: MODE SENSE (6) 개별 모드 페이지 확인
설명: 각 개별 모드 페이지에 액세스할 수 있고 매개 변수가 올바른지 확인하기 위한 테스트입니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 페이지가 반환되고 헤더가 규격이어야 합니다.
제목: MODE SENSE (6) 정보 예외 모드 페이지 확인
설명: 정보 예외 모드 페이지가 규정을 준수하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 전원 조건 모드 페이지가 지원됩니다.
제목: MODE SENSE (6) 정보 예외 모드 페이지 확인
설명: 정보 예외 모드 페이지가 규정을 준수하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 전원 조건 모드 페이지가 지원됩니다.
제목: MODE SENSE (6) 전원 조건 모드 페이지 확인
설명: 전원 조건 모드 페이지가 규격인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 정보 예외 모드 페이지가 지원됩니다.
제목: MODE SENSE (6) 캐싱 모드 페이지 확인
설명: 캐싱 모드 페이지가 규정을 준수하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 캐싱 모드 페이지가 지원됩니다.
제목: MODE SENSE (6) 디바이스별 매개 변수 확인
설명: 이 테스트는 디바이스 특정 매개 변수가 지원되는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.9
예상 결과: 없습니다.
명령: Read Capacity 10
제목: READ CAPACITY (10) 기본 확인 테스트
설명: 디바이스는 블록 디바이스의 용량 및 매체 형식을 설명하는 GOOD(0x0) SCSI 상태와 8바이트 매개 변수 데이터를 데이터 입력 버퍼에 반환해야 합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.10
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 이 명령은 서식 지정 작업 및 초기화에 필요합니다.
명령: Read 10
제목: READ (10) 기본 기능 테스트
설명: 이 명령은 처음 두 개의 데이터 블록을 올바르게 읽습니다. 이 테스트는 서로 다르지만 겹치는 두 개의 데이터 블록을 읽는 두 개의 READ 명령을 보냅니다. 그런 다음, 겹치는 데이터를 비교합니다. 겹치는 데이터가 읽기 작업 간에 동일하면(두 명령이 동일한 데이터를 올바르게 읽음) true를 반환합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.6
예상 결과: Scsi 상태 == 0x0.
근거: 디바이스에서 데이터를 읽는 데 사용됩니다.
제목: READ (10) 순차적 읽기 테스트
설명: 이 명령은 1000개의 순차적 데이터 블록을 올바르게 읽습니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 시작하는 데이터를 순차적으로 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.6
예상 결과: 모든 READ (10) 명령이 성공합니다.
제목: READ (10) 임의 읽기 테스트
설명: 이 명령은 1000개의 임의 데이터 블록을 올바르게 읽습니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소의 데이터를 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.6
예상 결과: 모든 READ (10) 명령이 성공합니다.
제목: READ (10) Read-With-Disk-Cache-Cleared 테스트
설명: 이 명령은 디스크 캐시가 지워진 상태에서 12MB의 데이터를 올바르게 읽습니다. 이 테스트는 나중에 확인하기 위해 12MB 순차 데이터를 먼저 읽습니다. 그런 다음, 12MB 임의 데이터를 읽어 디스크 캐시를 지웁니다. 마지막으로 동일한 12MB 순차적 데이터를 읽어 데이터가 처음 읽은 데이터와 같은지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.6
예상 결과: 캐시를 지운 후 읽은 12MB 데이터가 올바릅니다.
명령: Write 10
제목: WRITE (10) 기본 기능 테스트
설명: 이 명령은 한 블록의 데이터를 디바이스에 올바르게 씁니다. 이 테스트는 작성하려는 데이터와 쓰기 작업 후 READ에서 반환한 데이터를 비교합니다. 데이터가 동일하면 WRITE 명령이 데이터를 디스크에 올바르게 쓰는 것입니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: ScsiStatus == 0x0.
근거: 디바이스에 데이터를 쓰는 데 사용됩니다.
제목: WRITE (10) 순차적 쓰기 테스트
설명: 이 명령은 1000개의 순차적 데이터 블록을 올바르게 씁니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 시작하는 데이터를 순차적으로 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: 모든 WRITE (10) 명령이 성공합니다.
제목: WRITE (10) 임의 쓰기 테스트
설명: 이 명령은 1000개의 임의 데이터 블록을 올바르게 씁니다. 이 테스트는 WRITE 명령을 1000번 전송하여 임의 논리 블록 주소에 데이터를 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: 모든 WRITE (10) 명령이 성공합니다.
제목: WRITE (10) Write-With-Disk-Cache-Disabled 테스트
설명: 이 명령은 캐시를 사용하지 않도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: 12MB 데이터가 올바르게 작성됩니다.
제목: WRITE (10) Write-With-Disk-Cache-Enabled 테스트
설명: 이 명령은 캐시를 사용하도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, SYNCHRONIZE CACHE (10) 명령을 전송하여 캐시의 논리 블록 주소를 디스크의 논리 블록 주소와 동기화합니다. 마지막으로 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: 12MB 데이터가 올바르게 작성됩니다.
제목: WRITE (10) FUA 테스트
설명: 이 명령은 캐시 및 FUA(Force Unit Access)를 사용하여 디스크에 데이터를 올바르게 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.25
예상 결과: 데이터가 FUA가 켜진 디스크에 올바르게 기록됩니다. 모든 WRITE(10)의 체크섬이 올바릅니다.
제목: VERIFY (10) 지원 테스트
설명: 디바이스가 VERIFY (10) 명령을 지원하는지 확인합니다. 이 테스트는 간단한 VERIFY (10) 명령을 실행하고 반환 코드가 0x2(지원되지 않음을 의미)인지 확인합니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.28
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (10) 0길이 테스트
설명: 이 테스트는 LOGICAL BLOCK ADDRESS와 VERIFICATION LENGTH를 모두 0으로 설정하여 VERIFY (10) 명령을 보냅니다. 사양에 따라 0으로 설정된 VERIFICATION LENGTH 필드는 논리 블록을 확인하지 않음을 지정합니다. 이 조건은 오류로 간주되지 않습니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.28
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (10) 임의 LBA 테스트
설명: 이 테스트는 VERIFICATION LENGTH = 1 및 LOGICAL BLOCK ADDRESS(0부터 마지막 LBA 사이의 임의 값)를 사용하여 VERIFY (10) 명령을 보냅니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.28
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (10) 용량 초과 테스트
설명: 이 테스트는 VERIFICATION LENGTH = 2 및 마지막 LBA로 설정한 LOGICAL BLOCK ADDRESS를 사용하여 VEIRFY (10) 명령을 보냅니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.28
예상 결과: Scsi 상태가 0x2(조건 확인)입니다.
명령: Mode Select 10
제목: MODE SELECT (10) 기본 테스트
설명: PF 및 SP == 0인 간단한 MODE SELECT 명령이 통과하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: Mode Select 6은 필수이고 Mode Select 10은 선택 사항이며 if-implemented로 테스트됩니다.
제목: MODE SELECT 10: MODE SENSE (10) 캐싱 모드 페이지 가져오기 시도
설명: 페이지 0x08에 대한 간단한 MODE SENSE 명령이 GOOD 상태를 반환하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 10: MODE SENSE (10) 매개 변수가 저장 가능한지(PS비트) 확인
설명: 캐싱 모드 페이지의 매개 변수 저장 가능 비트가 1인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: PS == 1.
제목: MODE SELECT 10: MODE SENSE (10) 모드 매개 변수 헤더 확인
설명: MediumType == 0이고 BlockDescriptorLength == 0인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: MediumType == 0x0 및 BlockDescriptorLength == 0x0
제목: MODE SELECT 10: MODE SENSE (10) 캐싱 모드 페이지 길이 확인
설명: 캐싱 모드 페이지가 20바이트인지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: cachePageLength == 20바이트
제목: MODE SELECT 10: MODE SENSE (10) 변경 가능한 값을가져오기
설명: 캐싱 모드 페이지에 대한 변경 가능한 값을 저장합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 10: MODE SENSE (10) 기본값 가져오기
설명: 캐싱 모드 페이지에 대한 기본값을 저장합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT (10) WCE 변경
설명: 디바이스에 대해 WCE=0로 MODE SELECT를 적용합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 10: MODE SENSE (10) WCE가 지워졌는지 확인
설명: 이전 MODE SELECT 명령이 실제로 현재 모드 매개 변수를 변경했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: WCE가 지워졌습니다.
제목: MODE SELECT 10: MODE SENSE (10) 저장된 값이 변경되었는지 확인
설명: 이전 MODE SELECT 명령이 실제로 저장된 모드 매개 변수를 변경했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 저장된 값이 변경되었습니다.
제목: MODE SELECT (10) WCE 설정
설명: MODE SELECT를 적용하여 WCE를 설정합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 10: MODE SENSE (10) WCE가 설정되었는지 확인
설명: 이전 MODE SELECT 명령이 실제로 WCE를 설정했는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 현재 값이 설정되었습니다.
제목: MODE SELECT (10) 원래 값 복원 시도
설명: MODE SELECT 테스트를 수행하면 캐싱 모드 페이지 값이 원래 값으로 되돌아갈 수 있습니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: MODE SELECT 10: MODE SENSE (10) 값이 복원되었는지 확인
설명: 캐싱 모드 페이지에서 값이 복원되었는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.8
예상 결과: 현재 값은 기본값과 같습니다.
명령: Mode Sense 10
제목: MODE SENSE (10) 기본 테스트
설명: 페이지 0x3f에 대한 간단한 MODE SENSE10 명령이 GOOD 상태를 반환하는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: Mode Sense 6은 필수이고 Mode Sense 10은 선택 사항이며 if-implemented로 테스트됩니다.
제목: MODE SENSE (10) 반환된 데이터의 크기 확인
설명: 최소 데이터 양(즉, 적어도 MODE PARAMETER HEADER)을 수신하고 있는지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: 데이터 전송 길이 >= 8바이트
제목: MODE SENSE (10) MODE PARAMETER HEADER 확인
설명: MODE PARAMETER HEADER 길이 정보가 유효한지 확인합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: ModeDataLength = 데이터 전송 길이 - 2 = -2바이트.
제목: MODE SENSE (10) DBD(블록 설명자 사용 안 함) 비트 테스트
설명: DBD 비트가 설정되면 블록 설명자가 반환되지 않는지 테스트합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: 블록 설명자 길이 = 0
제목: MODE SENSE (10) DBD 비트 설정 전/후에 MODE PAGE 데이터 비교
설명: DBD 비트 설정 전/후에 해당 페이지 데이터가 동일한지 테스트합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: 페이지 데이터가 일치합니다.
제목: MODE SENSE (10) 페이지 컨트롤 필드 테스트
설명: 페이지 컨트롤 필드의 다른 값을 테스트하고 반환된 데이터의 크기를 적용합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.10
예상 결과: PC의 각 값에 대한 데이터 길이가 올바르고 PC=0 및 PC=2가 양호한 상태를 반환합니다.
명령: Read 16
제목: READ (16) 지원 테스트
설명: 디바이스가 READ (16) 명령을 지원하는지 확인합니다. 이 테스트는 간단한 READ (16) 명령을 실행하고 반환 코드가 0x2(지원되지 않음을 의미)인지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.8
예상 결과: Scsi 상태가 0x0입니다.
제목: READ (16) 기본 기능 테스트
설명: 이 명령은 처음 두 개의 데이터 블록을 올바르게 읽습니다. 이 테스트는 서로 다르지만 겹치는 두 개의 데이터 블록을 읽는 두 개의 READ 명령을 보냅니다. 그런 다음, 겹치는 데이터를 비교합니다. 겹치는 데이터가 읽기 작업 간에 동일하면(두 명령이 동일한 데이터를 올바르게 읽음) true를 반환합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.8
예상 결과: Scsi 상태가 0x0입니다.
근거: 디바이스가 64비트 LBA인 경우 Read 16은 전체 디스크를 읽기 위해 필수입니다. 그렇지 않으면 if-implemented입니다.
제목: READ (16) 순차적 읽기 테스트
설명: 디바이스는 1000개의 순차적 데이터 블록을 올바르게 읽어야 합니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 순차적으로 시작하는 데이터를 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.8
예상 결과: 모든 READ (16) 명령이 성공합니다.
제목: READ (16) 임의 읽기 테스트
설명: 이 명령은 1000개의 임의 데이터 블록을 올바르게 읽습니다. 이 테스트는 READ (16) 명령을 1000번 전송하여 임의 논리 블록 주소의 데이터를 읽습니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.8
예상 결과: 모든 READ (16) 명령이 성공합니다.
제목: READ (16) Read-With-Disk-Cache-Cleared 테스트
설명: 이 명령은 디스크 캐시가 지워진 상태에서 12MB의 데이터를 올바르게 읽습니다. 이 테스트는 나중에 확인하기 위해 12MB 순차 데이터를 먼저 읽습니다. 그런 다음, 12MB 임의 데이터를 읽어 디스크 캐시를 지웁니다. 마지막으로 동일한 12MB 순차적 데이터를 읽어 데이터가 처음 읽은 데이터와 같은지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.8
예상 결과: 캐시를 지운 후 읽은 12MB 데이터가 올바릅니다.
명령: Write 16
제목: WRITE (16) 지원 테스트
설명: 디바이스가 이 명령을 지원하는지 확인합니다. 이 테스트는 간단한 WRITE (16) 명령을 실행하고 반환 코드가 0x2(조건 확인)인지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: ScsiStatus == 0x0.
제목: WRITE (16) 기본 기능 테스트
설명: 이 명령은 한 블록의 데이터를 디바이스에 올바르게 씁니다. 이 테스트는 작성하려는 데이터와 쓰기 작업 후 READ에서 반환한 데이터를 비교합니다. 데이터가 동일하면 WRITE 명령이 데이터를 디스크에 올바르게 쓰는 것입니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: ScsiStatus == 0x0.
근거: 디바이스가 64비트 LBA인 경우 Write 16은 전체 디스크를 쓰기 위해 필수입니다. 그렇지 않으면 if-implemented입니다.
제목: WRITE (16) 순차적 쓰기 테스트
설명: 이 명령은 1000개의 순차적 데이터 블록을 올바르게 씁니다. 이 테스트는 이 명령을 1000번 전송하여 임의 논리 블록 주소에서 시작하는 데이터를 순차적으로 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: 모든 WRITE (16) 명령이 성공합니다.
제목: WRITE (16) 임의 쓰기 테스트
설명: 이 명령은 1000개의 임의 데이터 블록을 올바르게 씁니다. 이 테스트는 WRITE 명령을 1000번 전송하여 임의 논리 블록 주소에 데이터를 씁니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: 모든 WRITE (16) 명령이 성공합니다.
제목: WRITE (16) Write-With-Disk-Cache-Disabled 테스트
설명: 이 명령은 캐시를 사용하지 않도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: 12MB 데이터가 올바르게 작성됩니다.
제목: WRITE (16) Write-With-Disk-Cache-Enabled 테스트
설명: 이 명령은 캐시를 사용하도록 설정한 상태로 12MB의 데이터를 올바르게 씁니다. 이 테스트는 디스크에 12MB의 데이터를 씁니다. 그런 다음, SYNCHRONIZE CACHE (10) 명령을 전송하여 캐시의 논리 블록 주소를 디스크의 논리 블록 주소와 동기화합니다. 마지막으로 방금 작성한 것과 동일한 12MB 데이터를 읽어 방금 작성한 데이터가 올바른지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.27
예상 결과: WRITE에 의해 반환된 12MB 데이터가 올바릅니다.
제목: VERIFY (16) 지원 테스트
설명: 디바이스가 VERIFY (16) 명령을 지원하는지 확인합니다. 이 테스트는 간단한 VERIFY (16) 명령을 실행하고 반환 코드가 0x2(지원되지 않음을 의미)인지 확인합니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.30
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (16) 0길이 테스트
설명: 이 테스트는 LOGICAL BLOCK ADDRESS와 VERIFICATION LENGTH를 모두 0으로 설정하여 VERIFY (16) 명령을 보냅니다. 사양에 따라 0으로 설정된 VERIFICATION LENGTH 필드는 논리 블록을 확인하지 않음을 지정합니다. 이 조건은 오류로 간주되지 않습니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.30
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (16) 임의 LBA 테스트
설명: 이 테스트는 VERIFICATION LENGTH = 1 및 LOGICAL BLOCK ADDRESS(0부터 마지막 LBA 사이의 임의 값)를 사용하여 VERIFY (16) 명령을 보냅니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.30
예상 결과: Scsi 상태가 0x0(GOOD)입니다.
제목: VERIFY (16) 용량 초과 테스트
설명: 이 테스트는 VERIFICATION LENGTH = 2 및 마지막 LBA로 설정한 LOGICAL BLOCK ADDRESS를 사용하여 VEIRFY (16) 명령을 보냅니다.
참조: SBC-3(SCSI Block Commands - 3) 수정 버전 27(또는 게시된) 사양 섹션 5.30
예상 결과: Scsi 상태가 0x2(조건 확인)입니다.
명령: Report LUNS
제목: REPORT LUNS 기본 확인 테스트
설명: D.U.T.에 해당하는 LUN 0을 찾은 후 REPORT LUNS 명령을 실행합니다. 이 테스트는 SAM-3에 따른 현재 대상 주소에서 LUN 0에만 REPORT LUNS를 보냅니다. 이 테스트는 SPC-3에 따라 SELECT REPORT가 0으로 설정된 요청만 실행합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.21
예상 결과: 디바이스는 GOOD(0x0) SCSI 상태와 크기가 255바이트보다 작거나 같은 데이터를 반환해야 합니다.
근거: 보고서 LUNS는 디바이스에 있는 LUN을 검색하는 데 사용됩니다. UAS의 경우 필수입니다. BOT은 대신 GetMaxLun USB 클래스별 명령을 사용합니다. 따라서 BOT 디바이스의 경우 선택 사항입니다. 이 CDB의 구현을 확인하고 구현된 경우 이 명령을 테스트합니다.
제목: REPORT LUNS LUN0 테스트
설명 이 테스트는 SAM-3에 따른 현재 대상 주소에서 LUN 0에만 REPORT LUNS를 보냅니다. 이 테스트는 SPC-3에 따라 SELECT REPORT가 0으로 설정된 요청만 실행합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.21
예상 결과: 디바이스는 GOOD(0x0) SCSI 상태와 크기가 255바이트보다 작거나 같은 데이터를 반환해야 합니다.
제목: REPORT LUNS 데이터 유효 테스트
설명 이 테스트는 SAM-3에 따른 현재 대상 주소에서 LUN 0에만 REPORT LUNS를 보냅니다. 이 테스트는 SPC-3에 따라 SELECT REPORT가 0으로 설정된 요청만 실행합니다.
참조: SPC-3(SCSI Primary Commands - 3) 수정 버전 23(또는 게시된) 사양 섹션 6.21
예상 결과: 보고된 각 LUN은 <= 255로 제한된 단일 수준 숫자를 사용합니다.
명령: Read Capacity 16
제목: READ CAPACITY (16) 할당 길이 테스트
설명: 할당 길이가 0 값으로 설정되어 있더라도 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.11
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 이 명령은 서식 지정 작업 및 초기화에 필요합니다.
제목: READ CAPACITY (16) 기본 확인 테스트
설명: 디바이스는 블록 디바이스의 용량 및 매체 형식을 설명하는 GOOD(0x0) SCSI 상태와 8바이트 매개 변수 데이터를 데이터 입력 버퍼에 반환해야 합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.11
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: READ CAPACITY (16) 용량 테스트
설명: READ CAPACITY 명령을 전송하여 보고된 블록 주소를 확인합니다. 블록 주소가 READ CAPACITY 10 제한보다 큰 경우 READ CAPACITY 10 블록 주소가 0xFFFF_FFFF로 설정되었는지 확인합니다.
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.11
예상 결과: READ CAPACITY 10으로 설명할 수 있는 것보다 큰 블록 주소의 경우 READ CAPACITY 10 블록 주소는 0xFFFF_FFFF로 설정됩니다.
명령: Start Stop Unit
제목: START STOP UNIT 기본 테스트 1
설명: IMMED=0, LOEJ=0, START=0, 스핀 다운 드라이브로 StartStopUnit 보내기
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.17
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
근거: 이 명령은 버스의 전원 상태 변경 및 연결 끊김 시 데이터 무결성을 보장하는 데 필요합니다.
제목: START STOP UNIT 기본 테스트 2
설명: IMMED=0, LOEJ=0, START=1, 스핀 업 드라이브로 StartStopUnit 보내기
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.17
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: START STOP UNIT 기본 테스트 3
설명: IMMED=1, LOEJ=0, START=0, 스핀 다운 드라이브로 StartStopUnit 보내기
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.17
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
제목: START STOP UNIT 기본 테스트 4
설명: IMMED=1, LOEJ=0, START=1, 스핀 업 드라이브로 StartStopUnit 보내기
참조: SBC-2(SCSI Block Commands - 2) 수정 버전 16(또는 게시된) 사양 섹션 5.17
예상 결과: 디바이스가 GOOD(0x0) SCSI 상태를 반환해야 합니다.
명령 구문
명령 | Description |
---|---|
Scsicompliance.exe |
테스트 옵션은 아래에 나와 있습니다. |
/device |
테스트를 실행할 디바이스입니다. 예: /Device <물리적 디바이스 경로> |
/operation |
실행할 작업입니다. 예: /Operation Test |
/scenario |
테스트할 기능입니다. 예: /Scenario Common |
/verbosity |
로깅의 세부 정보 표시 수준입니다. 값이 클수록 더 자세한 출력이 발생합니다. 예: /Verbosity 4 |
참고
이 테스트 이진에 대한 명령줄 도움말을 보려면 /?를 입력합니다.
파일 목록
파일 | 위치 |
---|---|
Scsicompliance.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\ |
매개 변수
매개 변수 이름 | 매개 변수 설명 |
---|---|
DiskDeviceObjLink | 테스트할 디스크의 디바이스 경로(예: \\.\disk0)입니다. |
WDKDeviceID | 테스트할 디바이스의 인스턴스 경로입니다. |
LoggingVerbosity | LoggingVerbosity: 로깅의 세부 정보입니다. 수준은 누적됩니다. 0 = 어설션 및 결과 1 = 세부 정보(기본값) 2 = CDB, 데이터 및 감지 정보 3 = 디버그 및 자세한 모드 페이지 정보 4 = 메모리 사용량 |
ScenarioId | 시나리오 테스트 이름입니다. |
LLU_NetAccessOnly | 테스트 파일 공유에 액세스하기 위한 사용자 계정입니다. |
LLU_LclAdminUsr | 테스트를 실행하기 위한 사용자 계정입니다. |
OperationId | |
Destructive | (0,1) 0=패시브, 1=파괴적 |