SCSI Compliance test

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated Test

Overview

The SCSI Compliance test verifies that a block storage device (RAID adapter or disk target) that is supported by the operating system fully complies with the SCSI standards described in the SCSI-3 Primary Commands-2 (SPC-2) or later, and SCSI Block Commands (SBC) or later specifications. To obtain these specifications, see the T10 Technical Committee Web site at T10 Technical Committee. Ensuring that the block device and the operating system maintain compliance with these standards makes for a more robust and reliable system. Although some block devices might not be using a SCSI transport, the operating system communicates with them using SCSI commands (the exception is individual ATA disk drives that are not part of a RAID set).

The test uses SCSI pass-through requests (IOCTL_SCSI_PASS_THROUGH) to construct and send SCSI command descriptor blocks (CDB) to the device. The test evaluates the results of the commands to verify compliance.

Note   If you are running this test as a part of Storage RAID Hardware-based RAID (Storage Array) submission, and your storage array supports Multi-Path I/O (MPIO), you must configure your MPIO to use Fail-Over Only policy, and set the target storage disk to use the same active path for all MPIO'ed disks.

Note   If you are running this test as a part of a Storage RAID Hardware-based RAID (Storage Array) submission, please make sure that LUN0 is configured as the largest size non-boot LUN.

Details

The SCSI Compliance test consists of several phases: setup, device enumeration, execution, and results reporting. The test operates in two modes:

  • A non-destructive test run against one or more devices.

  • A destructive (allows WRITE commands) test that targets one or more specified disks.

A number of tests are performed for each command to test compliance. The program stores the test results in a matrix, indicating the results for each command on each device. When the test is completed, a summary report of the results is generated. For debugging purposes, the level of output verbosity can be increased when the test is run interactively. It is designed to provide complete information for the submitter so that they can address command issues.

Functionality Testing

The test sends the following commands to the device. The test runs a variety of tests for each command descriptor block (CDB) to ensure full and complete compliance. Commands that are indicated as optional must still perform correctly if a vendor chooses to implement the command. Each command may have many subtests.

INQUIRY

REQUEST SENSE

MODE SENSE (6)

MODE SENSE (10) [Optional, except if MODE SENSE (6) can return > 255 bytes of information]

MODE SELECT (6) [Optional]

MODE SELECT (10) [Optional]

RESERVE (6) [prior to Vista only]

RELEASE (6) [prior to Vista only]

READ CAPACITY

LONGLBA Support [Optional]

READ (6) [Optional]

READ (10)

READ (16) [Optional]

WRITE (6) [Optional]

WRITE (10)

WRITE (10) with FUA bit

WRITE (16) [Optional]

WRITE (16) with FUA bit [Optional]

REPORT LUNS [required except for PCI RAID adapters]

PERSISTENT RESERVE IN / OUT

Robustness and Reliability Testing

To validate robustness and reliability, the test completes the following tasks:

  • Checks for valid return codes for each IOCTL_SCSI_PASS_THROUGH request.

  • Checks adherence to data buffer length.

  • If the buffer size is insufficient, the test verifies that the IOCTL returns with the correct required length.

  • Verifies that non-destructive tests do not change any system configuration or data.

  • Verifies that repeated calls return the same or similar data.

Run Time: 5 minutes*

Log File:

System Restart Required: No

Test Category:

Supported operating systems for Logo or Signature testing:

  • Windows Vista

  • Windows Server 2003

  • Windows XP

Program:

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above)

  • Software components included with the device that is being tested

  • Microsoft Windows XP Professional with Service Pack 2 (SP2); Microsoft Windows Server 2003, Enterprise Edition; or Microsoft Windows Server 2003, Datacenter Edition

  • Any drivers that are not shipped with the Microsoft Windows operating system

  • The current release of the Microsoft Windows Driver Kit

  • The latest version of the Microsoft iSCSI software initiator. To download the iSCSI software initiator, search for "iSCSI software initiator" at the Microsoft Download Center. The latest version of the Microsoft iSNS server.To download the Microsoft iSNS server, search for "iSNS" at the Microsoft Download Center.

Hardware Requirements

The test tool requires the following hardware:

  • Device to be tested

  • Computer that meets the minimum software requirements

  • Windows keyboard

  • Two-button pointing device

  • Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz

  • Hard drive with a minimum of 20 GB available on partition C:

  • The system requires one or more SCSI, iSCSI, or Fibre Channel disks attached to the test system.

  • Microsoft Windows XP Professional with Service Pack 2 (SP2); Microsoft Windows Server 2003, Enterprise Edition; or Microsoft Windows Server 2003, Datacenter Edition. Any drivers that are not shipped with the Microsoft Windows operating system. The current release of the Microsoft Windows Driver Kit. The latest version of the Microsoft iSCSI software initiator. To download the iSCSI software initiator, search for "iSCSI software initiator" at the Microsoft Download Center. The latest version of the Microsoft iSNS server. To download the Microsoft iSNS server, search for "iSNS" at the Microsoft Download Center.

Processor

The test tool runs on the following processor architectures:

  • x86

  • x64

Running SCSI Compliance test

Run the test as a DTM job.

Command Syntax

Command option Description

ScsiComplianceTest.exe -hct [PhysicalDeviceObjectLink] or Drive Letter

ScsiComplianceTest [-v [level]] [-full] [-hct][-iscsi] [-mi device] [device | -alldevices]OptionDescription-v [level] Sets the logging verbosity level. Level can be specified as 0, 1, or 2. 0 = List assertions tested and results.1 = Show assertion details (default).2 = Show CDBs sent to device, data, and sense data returned.-fullSpecify that the destructive tests should also be run.-hctRun as part of an HCT test pass.-iscsiTest iSCSI compliance.-mi deviceRun the multi-initiator tests on the specified device, where the device points to the device under test by way of a second initiator.deviceThe device to test (for example: \\.\physicaldrive1, \\.\d:).-alldevicesTo test all devices.-?Show usage.

 

Troubleshooting

The test writes the results to the log files Scsicompliance.log.xml and Scsicompliance.log.txt. Use the results to determine:

  • If a device is compliant with the SCSI specification.

  • The optional SCSI commands that are supported by a device.

To pass, the SCSI device must support every mandatory command and must be fully compliant with those commands. Each command has a different threshold for pass or fail, and the expectations are specified explicitly in the test and in the log file.

Optional commands are also tested. If a device supports the optional commands and the commands are found to be non-compliant, the test fails. If the device does not support optional commands, the test passes.

Reference Documentation

SPC-2 (SCSI Primary Commands - 2) Specification, Revision 20SPC-3 (SCSI Primary Commands - 3)SCSI Block Commands - 2 (SBC-2)SCSI Architecture Model - 3 (SAM-3)

Code Tour

File Manifest

File Location

scsicompliancetest.exe

...\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk

 

Test Assertions

1.1 INQUIRY Basic Verification Test

Test Assertion GUID: 6bfd171e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks the support for a simple INQUIRY command and validates the returned data size. Apply: The test sends a simple INQUIRY command and requests 0xff bytes of INQUIRY data. Expect: The command should return GOOD status; the data size should be less than 0xff and greater than 0x0.

1.2 INQUIRY Test with ALLOCATION LENGTH Field

Test Assertion GUID: 6bfd171f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that an INQUIRY command returns the correct amount of data, given various allocation sizes. Apply: The test requests INQUIRY data in 0x10 byte increments. Expect: The device should return the amount of data that was requested.

1.3 INQUIRY Test with CMDDT and EVPD Field Set

Test Assertion GUID: 6bfd1720-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that a status of CHECK CONDITION is returned when CMDDT=1 and EVPD=1. Apply: The test sends an INQUIRY command descriptor block (CDB) with CMDDT=1 and EVPD=1. Expect: The value of ScsiStatus should be 0x2, CHECK CONDITION.

1.4 INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0

Test Assertion GUID: 6bfd1721-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the device returns an error when the PAGE CODE field is nonzero and EVPD=0. Apply: The test sets the PAGE CODE field to 0xff and the EVPD bit to 0. Expect: The value of ScsiStatus should be 0x2, CHECK CONDITION.

1.5 INQUIRY Retrieving standard inquiry data

Test Assertion GUID: 6bfd1722-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks the device's ability to retrieve standard INQUIRY data. Apply: The test sends a simple INQUIRY CDB. Expect: The value of ScsiStatus should be 0x0, GOOD.

1.6 INQUIRY Checking size of standard inquiry data

Test Assertion GUID: 6bfd1723-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that standard INQUIRY data contains at least 36 bytes. Apply: The test sends a standard INQUIRY command. Expect: The device should return a transfer length for the data that is greater than or equal to 36 bytes.

1.7 INQUIRY Testing device type field

Test Assertion GUID: 6bfd1724-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test checks the device type field to ensure the device is a direct access device. Apply: The test checks device type field. Expect: The value of the device type field should be 0x0, direct-access device.

1.8 INQUIRY Testing peripheral qualifier field

Test Assertion GUID: 6bfd1725-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test ensures that valid data is in PERIPHERAL QUALIFIER field. Apply: The test sends a standard INQUIRY command. Expect: The value in the PERIPHERAL QUALIFIER field should be zero.

1.9 INQUIRY VERSION Field Test

Test Assertion GUID: 6bfd1726-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks the VERSION field to make sure the device complies with the SPC-2 standard. Apply: The test sends a standard INQUIRY command. Expect: The value in the VERSION field should be greater than or equal to 0x3.

1.10 INQUIRY Checking RESPONSE DATA FORMAT

Test Assertion GUID: 6bfd1727-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test check that the RESPONSE DATA FORMAT field has valid data. Apply: The test sends a standard INQUIRY command. Expect: The value in the RESPONSE DATA FORMAT field should be two.

1.11 INQUIRY Checking additional length

Test Assertion GUID: 6bfd1728-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the ADDITIONAL LENGTH field is correct. Apply: The test sends a standard INQUIRY command. Expect: ADDITIONAL LENGTH field == Total Data size - 5 == 91.

1.12 INQUIRY Checking VENDOR IDENTIFICATION field

Test Assertion GUID: 6bfd1729-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the VENDOR IDENTIFICATION field contains valid ASCII data. Apply: The test sends a standard INQUIRY command. Expect: The VENDOR IDENTIFICATION field should contain valid ASCII data.

1.13 INQUIRY Checking PRODUCT IDENTIFICATION field

Test Assertion GUID: 6bfd172a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the PRODUCT IDENTIFICATION field contains valid ASCII data. Apply: The test sends a standard INQUIRY command. Expect: The PRODUCT IDENTIFICATION field should contain valid ASCII data.

1.14 INQUIRY Checking PRODUCT REVISION LEVEL field

Test Assertion GUID: 6bfd172b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the PRODUCT REVISIONLEVEL field contains valid ASCII data. Apply: The test sends a standard INQUIRY command. Expect: The PRODUCT REVISION LEVEL field should contain valid ASCII data.

1.15 INQUIRY Command Support Data Test

Test Assertion GUID: 6bfd172c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test checks if command support data is supported. Apply: The test sets CMDT = 1 and PAGE CODE = 0 to see if TEST UNIT READY is supported. Expect: The value of ScsiStatus should be 0x0.

1.16 INQUIRY Testing Command Support Data for all page codes

Test Assertion GUID: 6bfd172d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks the command support data for each page code. Apply: The test tests PAGE CODES from 0x0 to 0xff. Expect: The value of ScsiStatus should be 0 and the value of CdbSize should be DataTransferLength - 6.

1.17 INQUIRY Checking for Supported Vital Product Pages

Test Assertion GUID: 6bfd172e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that Vital Product Pages are supported. Apply: The test sets EVPD = 1 and Page Code = 0. Expect: The device should return a list of supported Vital Product Data Pages.

1.18 INQUIRY Testing access to each supported Vital Product Data Page

Test Assertion GUID: 6bfd172f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test attempts to access each supported Vital Product Data Page. Apply: The test tests each page code that is returned from supported Vital Product Data Pages. Expect: Each supported page should be accessible.

1.19 INQUIRY Attempting Unit Serial Number Page 0x80

Test Assertion GUID: 6bfd1730-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if unit serial number page 0x80 is supported and is valid ASCII data. Apply: The test sets Page Code = 0x80. Expect: The value of ScsiStatus should be 0x0 and the result should be valid ASCII data.

1.20 INQUIRY Attempting Device identification Page 0x83

Test Assertion GUID: 6bfd1731-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the device identification page 0x83 is supported. Apply: The test sets Page Code = 0x83. Expect: The value of ScsiStatus should be 0x0.

1.21 Checking Identification Descriptors in VPD page 0x83

Test Assertion GUID: 6bfd1732-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that Identification descriptors contain meaningful data. Apply: The test sets Page Code = 0x83. Expect: All descriptors should be compliant and contain meaningful data.

1.22 INQUIRY Checking Version Descriptors

Test Assertion GUID: 6bfd1733-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the values in the VERSION DESCRIPTOR fields are compliant. Apply: The test sends a standard INQUIRY command. Expect: All descriptors should be compliant and contain meaningful data.

1.23 Checking Windows Device Identifiers

Test Assertion GUID: 6bfd1734-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information:

2.1 MODE SENSE (6) Testing simple MODE SENSE command

Test Assertion GUID: 6bfd1735-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if a simple MODE SENSE command on Page 0x3f will return GOOD status. Apply: The test sends a MODE SENSE command with Page Code set to 0x3f. Expect: The value of ScsiStatus should be 0x0.

2.2 MODE SENSE (6) Checking size of returned data

Test Assertion GUID: 6bfd1736-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that a minimum amount of data (at least the MODE PARAMETER HEADER) is returned. Apply: The test sends a simple MODE SENSE command. Expect: The transfer length of the data should be greater than or equal to 4 bytes.

2.3 MODE SENSE (6) Checking MODE PARAMETER HEADER

Test Assertion GUID: 6bfd1737-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the MODE PARAMETER HEADER length information is valid. Apply: The test examines the current MODE PARAMETER HEADER. Expect: The value of ModeDataLength should be Data Transfer Length - 1 == 229 bytes.

2.4 MODE SENSE (6) Test DBD (disable block descriptors) bit

Test Assertion GUID: 6bfd1738-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test makes sure that no block descriptors are returned when a DBD bit is set. Apply: The test sets DBD = 1. Expect: The device should set Block Descriptor Length == 0.

2.5 MODE SENSE (6) Testing new data length when DBD bit is set

Test Assertion GUID: 6bfd1739-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the new data length equals the old data length minus the block descriptor length. Apply: The test examines the current data. Expect: The new data length should equal the old data length minus the block descriptor length.

2.6 MODE SENSE (6) Comparing MODE PAGE data before and after DBD bit is set

Test Assertion GUID: 6bfd173a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test makes sure that page data is the same before and after the DBD bit is set. Apply: The test compares page data before and after the DBD bit is set. Expect: The page data should match.

2.7 MODE SENSE (6) Testing Page Control Field

Test Assertion GUID: 6bfd173b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks different values of the page control field and enforces the size of the data that is returned. Apply: The test tests the page control field from 00b to 11b. Expect: The data length for each value of the page control field should be correct.

2.8 MODE SENSE (6) Scanning All Mode Pages

Test Assertion GUID: 6bfd173c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks mode page 0x3f data to examine the supported mode pages. Apply: The test examines current data. Expect: The test should find the supported mode pages.

2.9 MODE SENSE (6) Ensuring mandatory mode pages are supported

Test Assertion GUID: 6bfd173d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test checks that required mode pages are present in MODE PAGE 0x3f. Apply: The test examines current data. Expect: At a minimum, the device supports the Control and Disconnect/Reconnect pages.

2.10 MODE SENSE (6) Checking Individual Mode Pages

Test Assertion GUID: 6bfd173e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that each individual mode page can be accessed and that the parameters are correct. Apply: The test sends MODE SENSE commands for each supported mode page that is returned in 0x3f. Expect: The pages should be returned and the headers should be compliant.

2.11 MODE SENSE (6) Checking Control Mode Page.

Test Assertion GUID: 6bfd173f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the control mode page is compliant. Apply: The test sends a MODE SENSE command to retrieve the control mode page. Expect: The control mode page should be supported.

2.12 MODE SENSE (6) Checking Disconnect/Reconnect Mode Page.

Test Assertion GUID: 6bfd1740-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that the disconnect-reconnect mode page is compliant. Apply: The test sends a MODE SENSE command to retrieve the disconnect-reconnect mode page. Expect: The disconnect-reconnect mode page should be supported.

2.13 MODE SENSE (6) Checking Informational Exception Mode Page.

Test Assertion GUID: 6bfd1741-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

2.14 MODE SENSE (6) Checking Power Condition Mode Page.

Test Assertion GUID: 6bfd1742-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

2.15 MODE SENSE (6) Checking Caching Mode Page.

Test Assertion GUID: 6bfd1743-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that the caching mode page is compliant. Apply: The test sends a MODE SENSE command to retrieve the caching mode page. Expect: The caching mode page should be supported.

2.16 MODE SENSE (6) Checking Format Device Mode Page.

Test Assertion GUID: 6bfd1744-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that the format device mode page is compliant. Apply: The test sends a MODE SENSE command to retrieve the format device mode page. Expect: The format device mode page should be supported.

2.17 MODE SENSE (6) Checking Rigid Disk Geometry Mode Page.

Test Assertion GUID: 6bfd1745-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that the rigid disk geometry mode page is compliant. Apply: The test sends a MODE SENSE command to retrieve the rigid disk geometry mode page. Expect: The rigid disk geometry mode page should be supported.

2.18 MODE SENSE (6) Checking Device Specific Parameters.

Test Assertion GUID: 6bfd1746-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the device-specific parameters are supported.

3.1 MODE SENSE (10) Testing simple MODE SENSE command.

Test Assertion GUID: 6bfd1747-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if a simple MODE SENSE command on Page 0x3f will return GOOD status. Apply: The test sends a MODE SENSE command with Page Code set to 0x3f. Expect: The value of ScsiStatus should be 0x0.

3.2 MODE SENSE (10) Checking size of returned data.

Test Assertion GUID: 6bfd1748-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that a minimum amount of data (at least the MODE PARAMETER HEADER) is received. Apply: The test sends a simple MODE SENSE command. Expect: The transfer length of the data should be greater than or equal to 8 bytes.

3.3 MODE SENSE (10) Checking MODE PARAMETER HEADER.

Test Assertion GUID: 6bfd1749-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the MODE PARAMETER HEADER length information is valid. Apply: The test examines the current MODE PARAMETER HEADER. Expect: ModeDataLength == Data Transfer Length - 2 == 233 bytes.

3.4 MODE SENSE (10) Test DBD (disable block descriptors) bit.

Test Assertion GUID: 6bfd174a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test makes sure that, when the DBD bit is set, no block descriptors are returned. Apply: The test sets DBD = 1. Expect: The length of the block descriptors should be equal to zero.

3.5 MODE SENSE (10) Testing new data length when DBD bit is set.

Test Assertion GUID: 6bfd174b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that the new data length should equal the old data length minus the block descriptor length. Apply: The test examines the current data. Expect: The new data length should equal the old data length minus the block descriptor length.

3.6 MODE SENSE (10) Comparing MODE PAGE data before and after DBD bit is set.

Test Assertion GUID: 6bfd174c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test ensures that page data is the same before and after the DBD bit is set. Apply: The test compares page data before and after the DBD bit is set. Expect: The page data should match.

3.7 MODE SENSE (10) Testing Page Control Field.

Test Assertion GUID: 6bfd174d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks different values of the page control field and enforces the size of the data that is returned. Apply: The test tests values of the page control field from 00b to 11b. Expect: The data length for each value of the page control field should be correct.

4.1 MODE SELECT (6) Testing simple MODE SELECT command.

Test Assertion GUID: 6bfd174e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test check if a simple MODE SELECT command, with PF and SP == 0, passes. Apply: The test sends a MODE SELECT command with parameters set to zero. Expect: The value of ScsiStatus should be 0x0.

4.2 MODE SENSE (6) Attempting to get Caching mode page.

Test Assertion GUID: 6bfd174f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if a simple MODE SENSE command on Page 0x08 will return GOOD status. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of ScsiStatus should be 0x0.

4.3 MODE SENSE (6) Checking Parameters Savable (PS bit).

Test Assertion GUID: 6bfd1750-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test checks if the parameters savable (PS) bit for the caching mode page is set to one. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The PS bit should have a value of 1.

4.4 MODE SENSE (6) Checking Mode Parameter Header.

Test Assertion GUID: 6bfd1751-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that MediumType == 0 and BlockDescriptorLength == 0. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of MediumType should be 0x0 and the value of BlockDescriptorLength should be 0x0.

4.5 MODE SENSE (6) Checking Caching Mode Page Length.

Test Assertion GUID: 6bfd1752-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the caching mode page is 20 bytes. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of cachePageLength should be 20 bytes.

4.6 MODE SENSE (6) Getting Current Values.

Test Assertion GUID: 6bfd1753-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves away current values for caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 00b. Expect: The value of ScsiStatus should be 0x0.

4.7 MODE SENSE (6) Getting Changeable values.

Test Assertion GUID: 6bfd1754-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves away changeable values for caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 01b. Expect: The value of ScsiStatus should be 0x0.

4.8 MODE SENSE (6) Getting default values.

Test Assertion GUID: 6bfd1755-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves away default values for caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 10b. Expect: The value of ScsiStatus should be 0x0.

4.9 MODE SENSE (6) Getting Saved values.

Test Assertion GUID: 6bfd1756-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: [Deleted]

4.10 MODE SELECT (6) Changing WCE.

Test Assertion GUID: 6bfd1757-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test applies MODE SELECT on all reported changeable values for the device. Apply: The test sends a MODE SELECT command with the changeable caching mode page values set to one. Expect: The value of ScsiStatus should be 0x0.

4.11 MODE SENSE (6) Checking that WCE has been cleared.

Test Assertion GUID: 6bfd1758-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually changed the current mode parameters. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should have changed.

4.12 MODE SENSE (6) Checking that Saved Values have changed.

Test Assertion GUID: 6bfd1759-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually changed the saved mode parameters. Apply: The test sends a MODE SENSE command on the caching mode page with PS == 11b. Expect: The saved values should have changed.

4.13 MODE SELECT (6) setting WCE.

Test Assertion GUID: 6bfd175a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test applies a MODE SELECT command to clear all changeable values for the device. Apply: The test sends a MODE SELECT command with changeable caching mode page values set to zero. Expect: The value of ScsiStatus should be 0x0.

4.14 MODE SENSE (6) Checking that WCE has been set.

Test Assertion GUID: 6bfd175b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually cleared the current mode parameters. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should have been cleared.

4.15 MODE SELECT (6) Changing non-changeable parameters.

Test Assertion GUID: 6bfd175c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information:

4.16 MODE SELECT (6) Attempting to restore original values.

Test Assertion GUID: 6bfd175d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the MODE SELECT command can return the caching mode page values to their default values. Apply: The test sends a MODE SELECT command with values set to the default values of the caching mode page values. Expect: The value of ScsiStatus should be 0x0.

4.17 MODE SENSE (6) Verifying values were restored.

Test Assertion GUID: 6bfd175e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the default values were restored in the caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should equal the default values.

5.1 MODE SELECT (10) Testing simple MODE SELECT command.

Test Assertion GUID: 6bfd175f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if a simple MODE SELECT command, with PF and SP == 0, passes. Apply: The test sends a MODE SELECT command with parameters set to zero. Expect: The value of ScsiStatus should be 0x0.

5.2 MODE SENSE (10) Attempting to get Caching mode page.

Test Assertion GUID: 6bfd1760-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if a simple MODE SENSE command on page 0x08 will return GOOD status. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of ScsiStatus should be 0x0.

5.3 MODE SENSE (10) Checking Parameters Savable (PS bit).

Test Assertion GUID: 6bfd1761-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test checks if the PS bit for the caching mode page is one. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of PS should be 1.

5.4 MODE SENSE (10) Checking Mode Parameter Header.

Test Assertion GUID: 6bfd1762-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that MediumType == 0x0 and BlockDescriptorLength == 0x0. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of MediumType should be 0x0 and the value of BlockDescriptorLength should be 0x0.

5.5 MODE SENSE (10) Checking Caching Mode Page Length.

Test Assertion GUID: 6bfd1763-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the caching mode page is 20 bytes. Apply: The test sends a MODE SENSE command for the caching mode page. Expect: The value of cachePageLength should be 20 bytes.

5.6 MODE SENSE (10) Getting Current Values.

Test Assertion GUID: 6bfd1764-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves the current values for the caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 00b. Expect: The value of ScsiStatus should be 0x0.

5.7 MODE SENSE (10) Getting Changeable values.

Test Assertion GUID: 6bfd1765-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves the changeable values for the caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 01b. Expect: The value of ScsiStatus should be 0x0.

5.8 MODE SENSE (10) Getting Default values.

Test Assertion GUID: 6bfd1766-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test saves the default values for the caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page with PC == 10b. Expect: The value of ScsiStatus should be 0x0.

5.9 MODE SENSE (10) Getting Saved values.

Test Assertion GUID: 6bfd1767-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

5.10 MODE SELECT (10) Changing WCE.

Test Assertion GUID: 6bfd1768-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test applies a MODE SELECT command on all reported changeable values for the device. Apply: The test sends a MODE SELECT command with changeable caching mode page values set to one. Expect: The value of ScsiStatus should be 0x0.

5.11 MODE SENSE (10) Checking that WCE has been cleared.

Test Assertion GUID: 6bfd1769-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually changed the current mode parameters. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should have changed.

5.12 MODE SENSE (10) Checking that Saved Values have changed." )

Test Assertion GUID: 6bfd176a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually changed the saved mode parameters. Apply: The test sends a MODE SENSE commands on the caching mode page with PS == 11b. Expect: The saved values should have changed.

5.13 MODE SELECT (10) setting WCE.

Test Assertion GUID: 6bfd176b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test applies a MODE SELECT command to clear all changeable values for the device. Apply: The test sends a MODE SELECT command with the changeable caching mode page values set to zero. Expect: The value of ScsiStatus should be 0x0.

5.14 MODE SENSE (10) Checking that WCE has been set.

Test Assertion GUID: 6bfd176c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the previous MODE SELECT command actually cleared the current mode parameters. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should have been cleared.

5.15 MODE SELECT (10) Changing non-changeable parameters.

Test Assertion GUID: 6bfd176d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

5.16 MODE SELECT (10) Attempting to restore original values.

Test Assertion GUID: 6bfd176e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that a MODE SELECT command can return the caching mode page values to their default values. Apply: The test sends a MODE SELECT command with values set to their defaults. Expect: The value of ScsiStatus should be 0x0.

5.17 MODE SENSE (10) Verifying values were restored.

Test Assertion GUID: 6bfd176f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the default values were restored in the caching mode page. Apply: The test sends a MODE SENSE command on the caching mode page. Expect: The current values should equal the default values.

6.1 READ (6) Basic Verification Test

Test Assertion GUID: 6bfd1770-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads the first two blocks of data. Info: The test sends two READ commands that read two different but overlapped blocks of data. Next, it compares the overlapped data and returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Apply: The test sends a READ (6) command (0x8) to read the first two blocks of data. Expect: The value of ScsiStatus should be 0x0.

6.2 READ (6) Sequential Read Test

Test Assertion GUID: 6bfd1771-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads 1000 sequential blocks of data. The test sends the READ (6) command 1000 times, reading data sequentially starting at a random logical block address. Apply: The test sends a READ (6) command (0x8) 1000 times. Expect: All sequential READ (6) commands should succeed.

6.3 READ (6) Random Read Test

Test Assertion GUID: 6bfd1772-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the READ (6) command correctly read 1000 random blocks of data. The test sends the command 1000 times, reading data at random logical block addresses. Apply: The test sends a READ (6) command (0x8) 1000 times. Expect: All random READ (6) commands should succeed.

6.4 READ (6) Read-With-Disk-Cache-Cleared Test

Test Assertion GUID: 6bfd1773-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads 12 MB of data with disk cache cleared. Apply: The test first reads 12 MB of sequential data and then stores the data for later verification. Next, the test clears the disk cache by reading 12 MB of random data. Finally, the test reads the same 12 MB of sequential data and compares the checksum of the data by the READ commands to see if the data is identical to the data that it first read. Expect: The 12 MB of data that is read after the cache is cleared should be correct.

7.1 READ (10) Basic Functionality Test

Test Assertion GUID: 6bfd1774-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads the first two blocks of data. The test sends two READ commands that read two different but overlapped blocks of data. Next, the test compares the overlapped data and returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Apply: The test sends a simple READ (10) command (0x28) to the device. Expect: The value of ScsiStatus should be 0x0.

7.2 READ (10) Sequential Read Test

Test Assertion GUID: 6bfd1775-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads 1000 sequential blocks of data.Info: The test sends the command 1000 times, reading data sequentially starting at a random logical block address.Apply: The test sends a READ (10) command (0x28) 1000 times.Expect: All sequential READ (10) commands should succeed.

7.3 READ (10) Random Read Test

Test Assertion GUID: 6bfd1776-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads 1000 random blocks of data. Info: The test sends the command 1000 times, reading data at random logical block addresses. Apply: The test sends a READ (10) command (0x28) 1000 times. Expect: All random READ (10) commands should succeed.

7.4 READ (10) Read-With-Disk-Cache-Cleared Test

Test Assertion GUID: 6bfd1777-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly reads 12 MB of data with the disk cache cleared. Apply: The test first reads 12 MB of sequential data and stores the data for later verification. Next, the test clears the disk cache by reading 12 MB of random data. Finally, the test reads the same 12 MB of sequential data and compares the checksum of data by the READ commands to see if the data is same as the one in the first read operation. Expect: The 12 MB of data that are read after the cache is cleared should be correct.

8.1 READ (16) Support Test

Test Assertion GUID: 6bfd1778-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test verifies that the device supports the READ (16) command. If not supported, all further tests are halted. Expect: The value of ScsiStatus should be 0x0.

8.2 READ (16) Basic Functionality Test

Test Assertion GUID: 6bfd1779-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the READ command correctly reads the first two blocks of data. Info: The test sends two READ commands to read two different but overlapped blocks of data. Next, the test compares the overlapped data and returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Apply: The test sends a simple READ (16) command (0x88) to the device. Expect: The value of ScsiStatus should be 0x0.

8.3 READ (16) Sequential Read Test

Test Assertion GUID: 6bfd177a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the READ (16) command correctly reads 1000 sequential blocks of data. Apply: The test sends a READ (16) command (0x88) 1000 times, reading data sequentially starting at a random logical block address. Expect: All sequential READ (16) commands should succeed.

8.4 READ (16) Random Read Test

Test Assertion GUID: 6bfd177b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the READ (16) command correctly reads 1000 random blocks of data. Apply: The test sends a READ (16) command (0x88) 1000 times, reading data at random logical block address. Expect: All random READ (16) commands should succeed.

8.5 READ (16) Read-With-Disk-Cache-Cleared Test

Test Assertion GUID: 6bfd177c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The READ command must read 12 MB of data correctly with the disk cache cleared. Apply: The test first reads 12 MB of sequential data and stores the data for later verification. Next, the test clears the disk cache by reading 12 MB of random data. Finally, the test reads the same 12 MB of sequential data and compares the checksum of data by the READ commands to see if the data is same as the one it first read. Expect: The 12 MB of data that are read after the cache is cleared should be correct.

9.1 READ CAPACITY (10) Basic Verification Test

Test Assertion GUID: 6bfd177d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the READ CAPACITY (10) command returns correct disk capacity information. Info: The test sends the command to request for the number of logical block addresses and block length of the disk. Apply: The test sends a READ CAPACITY (10) command (0x25) to the device to request the number of logical block addresses and block length of the disk. Expect: The value of ScsiStatus should be 0x0.

9.2 READ CAPACITY (10) PMI Test

Test Assertion GUID: 6bfd177e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

9.3 READ CAPACITY (10) Negative Test

Test Assertion GUID: 6bfd177f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

10.1 REQUEST SENSE (6) Support Test

Test Assertion GUID: 6bfd1780-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the REQUEST SENSE command is supported and returns a GOOD status. Apply: The test sends a REQUEST SENSE (0x03) command to the disk device. Expect: The value of ScsiStatus should be 0x0. Response: ScsiStatus is 0x0.

10.2 REQUEST SENSE (6) RESPONSE CODE Test

Test Assertion GUID: 6bfd1781-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the RESPONSE CODE value is either 0x70 or 0x71. Apply: The test checks the RESPONSE CODE value in the sense buffer. Expect: The value of RESPONSE CODE should be 0x70 or 0x71. Response: RESPONSE CODE == 0x70.

10.3 REQUEST SENSE (6) Sense Data Length Test

Test Assertion GUID: 6bfd1782-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test verifies that the length of the sense data is correct. Apply: The test checks additional sense length to ensure that it is correct. Expect: The value of the additional sense length should be the sense data size minus eight. Response: Additional Sense Length == 10.

11.1 WRITE (6) Basic Functionality Test

Test Assertion GUID: 6bfd1783-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the command correctly writes one block of data to the device. Apply: The test verifies the WRITE command by comparing the data that is written and the data that is returned by the READ command after the write operation. If the data is the same, the WRITE command is writing the correct data on the disk. Expect: The value of ScsiStatus should be 0x0.

11.2 WRITE (6) Sequential Write Test

Test Assertion GUID: 6bfd1784-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (6) command correctly writes 1000 sequential blocks of data. Apply: The test sends a WRITE (6) command (0xA) 1000 times, writing data sequentially starting at a random logical block address. Expect: All sequential WRITE (6) commands should succeed.

11.3 WRITE (6) Random Write Test

Test Assertion GUID: 6bfd1785-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (6) command correctly writes 1000 random blocks of data. Apply: The test sends a WRITE (6) command (0xA) 1000 times, writing data at random logical block address. Expect: All random WRITE (6) commands should succeed.

11.4 WRITE (6) Write-With-Disk-Cache-Enabled Test

Test Assertion GUID: 6bfd1786-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (6) command correctly writes 12 MB of data with cache enabled.Apply: With write cache enabled, the test writes 12 MB of data to the disk for later verification. Next, the test sends a SYNCHRONIZE CACHE (10) (0x35) command to synchronize the logical block address in cache with the ones in disk. Finally, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct.Expect: The 12 MB of data should be written correctly.

11.5 WRITE (6) Write-With-Disk-Cache-Disabled Test

Test Assertion GUID: 6bfd1787-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (6) command correctly writes 12 MB of data with cache disabled. Apply: With write cache disabled, the test writes 12 MB of data to the disk for later verification. Next, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct. Expect: The 12 MB data should be written correctly.

12.1 WRITE (10) Basic Functionality Test

Test Assertion GUID: 6bfd1788-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes one block of data to the device.Apply: The test verifies the WRITE command by comparing the data to be written and the data returned by the READ command after the write operation. If the data is the same, the WRITE command wrote the correct data to the disk.Expect: The value of ScsiStatus should be 0x0.

12.2 WRITE (10) Sequential Write Test

Test Assertion GUID: 6bfd1789-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes 1000 sequential blocks of data. Apply: The test sends a WRITE (10) command (0x2A) 1000 times, writing data sequentially starting at a random logical block address. Expect: All sequential WRITE (10) commands should succeed.

12.3 WRITE (10) Random Write Test.

Test Assertion GUID: 6bfd178a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes 1000 random blocks of data. Apply: The test sends a WRITE (10) command (0x2A) 1000 times, writing data at a random logical block address. Expect: All random WRITE (10) commands should succeed.

12.4 WRITE (10) Write-With-Disk-Cache-Enabled Test.

Test Assertion GUID: 6bfd178b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes 12 MB of data with disk cache enabled. Apply: With write cache enabled, the test writes 12 MB of data to disk for later verification. Next, the test sends a SYNCHRONIZE CACHE (10) (0x35) command to synchronize the logical block address in cache with the ones on the disk. Finally, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct. Expect: The 12 MB of data should be written correctly.

12.5 WRITE (10) Write-With-Disk-Cache-Disabled Test.

Test Assertion GUID: 6bfd178c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes 12 MB of data with the cache disabled. Apply: With write cache disable, the test writes 12 MB of data to disk for later verification. Next, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct. Expect: The 12 MB of data should be written correctly.

12.6 WRITE (10) FUA Test.

Test Assertion GUID: 6bfd178d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (10) command correctly writes data with cache enabled and FUA (Force Unit Access) on. Apply: With write cache enabled, the test writes 12 MB of data sequentially to the disk. Next, the test sends a SYNCHRONIZE CACHE (10) (0x35) command. Finally, the test reads 12MB of data sequentially from the disk. Expect: The data should be written correctly to disk with FUA on.

13.1 WRITE (16) Support Test.

Test Assertion GUID: 6bfd178e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Optional: The TD-28.25 SCSI Compliance test verifies that the device supports the command. If not supported, all further tests are halted. Expect: The value of ScsiStatus should be 0x0.

13.2 WRITE (16) Basic Functionality Test.

Test Assertion GUID: 6bfd178f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (16) command correctly writes one block of data to the device. Apply: The test verifies the WRITE command by comparing the data to be written and the data returned by the READ command after the write operation. If the data is the same, the WRITE command wrote the correct data on disk. Expect: The value of ScsiStatus should be 0x0.

13.3 WRITE (16) Sequential Write Test.

Test Assertion GUID: 6bfd1790-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (16) command correctly writes 1000 sequential blocks of data. Apply: The test sends a WRITE (16) command (0x8A) 1000 times writing data sequentially starting at a random logical block address. Expect: All sequential WRITE (16) commands should succeed.

13.4 WRITE (16) Random Write Test.

Test Assertion GUID: 6bfd1791-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (16) command correctly writes 1000 random blocks of data. Apply: The test sends a WRITE (16) command (0x8A) 1000 times, writing data at a random logical block address. Expect: All random WRITE (16) commands should succeed.

13.5 WRITE (16) Write-With-Disk-Cache-Enabled Test.

Test Assertion GUID: 6bfd1792-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (16) command correctly writes 12 MB of data with cache enabled. Apply: With write cache enabled, the test writes 12 MB of data to disk for later verification. Next, the test sends a SYNCHRONIZE CACHE (10) (0x35) command to synchronize the logical block address in cache with the ones in disk. Finally, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct. Expect: The 12 MB of data should be written correctly.

13.6 WRITE (16) Write-With-Disk-Cache-Disabled Test.

Test Assertion GUID: 6bfd1793-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the WRITE (16) command correctly writes 12 MB of data with cache disabled. Apply: With write cache disabled, the test writes 12 MB of data to disk for later verification. Next, the test reads the same 12 MB of data that the WRITE command wrote to verify that the data is correct. Expect: The 12 MB of data should be written correctly.

14.1 RESERVE (6) Support Test.

Test Assertion GUID: 6bfd1794-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the RESERVE command is supported and returns GOOD status. Apply: The test sends a RESERVE (0x16) command to the disk device. Expect: The value of ScsiStatus should be 0x0.

15.1 Multi-Initiator Reserve Test By First Initiator

Test Assertion GUID: 6bfd1795-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test sends a RESERVE (6 byte) command to the logical unit that uses the first initiator. The test expects the device to return status of good. Apply: The first initiator sends the RESERVE (6) command to reserve a device that has not been reserved by any initiator. Expect: The RESERVE (6) command should return successfully.

15.1 RESERVE (10) Support Test.

Test Assertion GUID: 6bfd1796-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test sends a RESERVE (6 byte) command to the logical unit that uses the first initiator. The test expects the device to return status of good. Apply: The first initiator sends the RESERVE (6) command to reserve a device that has not been reserved by any initiator. Expect: The RESERVE (6) command should return successfully.

15.2 Multi-Initiator Reserve.

Test Assertion GUID: 6bfd1797-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks whether a second initiator receives RESERVATION CONFLICT when attempting to send RESERVE or RELEASE commands to the device that was reserved by the first initiator. Apply: The second initiator sends a RESERVE command to the device that has been reserved by the first initiator. Expect: The second initiator should receive RESERVATION CONFLICT (0x18).

15.3 Multi-Initiator Release Test By First Initiator.

Test Assertion GUID: 6bfd1798-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the device allows the first initiator to release the reservation on it. Apply: The first initiator sends the RELEASE (6) command to release a device that it has previously been reserved. Expect: The device should return GOOD status.

15.4 Multi-Initiator Reserve Test By Second Initiator.

Test Assertion GUID: 6bfd1799-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the device allows a second initiator to reserve the device if there are no other reservations. Apply: The second initiator sends a RESERVE (6) command (0x16) to reserve a device that has not been reserved by any initiator. Expect: The RESERVE (6) command should return successfully.

15.5 Multi-Initiator Reserve.

Test Assertion GUID: 6bfd179a-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the first initiator receives RESERVATION CONFLICT when attempting to send a RESERVE or RELEASE command to the device that is reserved by a second initiator. Apply: The first initiator sends a RESERVE (6) command (0x16). Expect: The status of the RESERVE command should be 0x18.

15.6 Multi-Initiator Release Test By Second Initiator.

Test Assertion GUID: 6bfd179b-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the second initiator sends the RELEASE command successfully to a device that it has reserved previously. Apply: The second initiator attempts to release the device by sending a RELEASE (6) command (0x17). Expect: The second initiator should release the device successfully.

15.7 Multi-Initiator Miscellaneous Command Test.

Test Assertion GUID: 6bfd179c-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the device supports INQUIRY commands from one initiator when it is reserved by another initiator.Apply: The second initiator sends SCSI commands other than RESERVE and RELEASE to the device that has been reserved by the first initiator.Expect: All commands except INQUIRY should return RESERVATION CONFLICT.

15.8 Multi-Initiator.

Test Assertion GUID: 6bfd179d-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the second initiator can reserve and release a device after sending the IOCTL_STORAGE_BREAK_RESERVATION command to break the reservation of the device by the first initiator. Expect: The second initiator should be able to break the reservation of the device by the first initiator.

15.9 Multi-Initiator Post.

Test Assertion GUID: 6bfd179e-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks that the second initiator can reserve and release a device after sending the IOCTL_STORAGE_BREAK_RESERVATION command to break the reservation of the device by the first initiator. Expect: The second initiator should be able to reserve and release a device after the device executes IOCTL_STORAGE_BREAK_RESERVATION.

16.1 RELEASE (6) Support Test.

Test Assertion GUID: 6bfd179f-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: The TD-28.25 SCSI Compliance test checks if the RELEASE command is supported and returns GOOD status. Apply: The test sends a RELEASE (0x17) command to the disk device. Expect: The value of SCSI Status should be 0x0.

17.1 RELEASE (10) Support Test.

Test Assertion GUID: 6bfd17a0-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information:

18.1 REPORT LUNS Basic Verification Test.

Test Assertion GUID: 6bfd17a1-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Finds the device object associated with LUN 0 (either a disk or the adapter) and sends a REPORT LUNS command for 16 bytes (required minimum).

18.2 REPORT LUNS Basic Verification Test.

Test Assertion GUID: 6bfd17a2-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Validates the data size based on the size of the data returned.

18.3 REPORT LUNS Test for correct format.

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Validates that each LUN reported is correctly formatted.

19.1 PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with service action REGISTER AND IGNORE EXISTING KEY. Apply: Establishes a new registration on the device. Expect: The command should return with GOOD status.

19.2 PERSISTENT RESERVE IN : READ KEYS Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE IN command with service action READ KEYS. Apply: Queries device for list of registered initiators. Expect: The command should return data with at least 16 bytes, in increments of 8 bytes, and GOOD status.

19.3 PERSISTENT RESERVE IN : READ KEYS Functional Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies functionality of PERSISTENT RESERVE IN command with service action READ KEYS by checking the list of registered initiators for a previously known key (from assertion 19.1). Apply: Queries device for a list of registered initiators. Expect: The device should return data of same size as before, with GOOD status, and the previously registered key should be in the list.

19.4 PERSISTENT RESERVE OUT : RESERVE Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

19.5 PERSISTENT RESERVE IN : READ RESERVATION Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Validates command PERSISTENT RESERVE IN with service action READ RESERVATION based on expected results and size of data. Apply: Queries device for information about current reservations. Expect: Command should return data with at least 16 bytes, in multiples of 8 bytes, and GOOD status.

19.6 PERSISTENT RESERVE IN : READ RESERVATION Functional Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies functionality of command PERSISTENT RESERVE IN with service action READ RESERVATION by checking the list of current reservations against the previously known reserved key (from assertion 19.4). Apply: Queries device for list of current reservations. Test: Data should be same length as before, the previously registered key should be in the list, and the command should return GOOD status.

19.7 PERSISTENT RESERVE OUT : RELEASE Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies command PERSISTENT RESERVE OUT with service action RELEASE by releasing previous reserve (from assertion 19.4). Apply: Instructs device to release the previous reserve on LUN 0, element 1, with type write exclusive (registrants only). Test: The command should return GOOD status.

19.8 PERSISTENT RESERVE IN : READ RESERVATION

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies command PERSISTENT RESERVE IN with service action READ RESERVATION by checking that the key has been removed from list of reservations (in assertion 19.7). Apply: Queries device for list of current reservations. Expect: Command should return list not containing previous key, with GOOD status.

19.9 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Checks to see if command PERSISTENT RESERVE IN with service action READ KEYS returns list with previously registered key (assertion 19.1). Apply: Requests a list of keys for registered initiators from device. Expect: The command should return list containing previously registered key.

19.10 PERSISTENT RESERVE OUT : REGISTER Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Checks to see if command PERSISTENT RESERVE OUT with service action REGISTER accepts registration of key with value 0x0. Apply: Registers an initiator with key 0. Expect: The command should return with GOOD status.

19.11 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies command PERSISTENT RESERVE IN with service action READ KEYS by checking list of keys for invalid entries resulting from assertion 19.10. Apply: Queries device for list of registered initiators. Expect: The command should return a list of keys without either the null key 0x0 or previous known key.

19.12 PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with service action REGISTER AND IGNORE EXISTING KEY, and with APTPL bit set to 1. Apply: Establishes a new registration on the device, with activate persist through power loss option turned on. Expect: The command should either return GOOD status, or CHECK CONDITION with ILLEGAL REQUEST if unsupported.

19.13 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies functionality of PERSISTENT RESERVE IN command with service action READ KEYS by checking the list of registered initiators for a previously known key (from assertion 19.12). Apply: Queries device for a list of registered initiators. Expect: The device should return data of same size as before, with GOOD status, and the previously registered key should be in the list.

19.14 PERSISTENT RESERVE OUT : RESERVE Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for command PERSISTENT RESERVE OUT with service action RESERVE, using key from assertion 19.12. Apply: Request a reserve for previously known key on LUN 0, element 1, with type write exclusive (registrants only). Expect: The command should return GOOD status.

19.15 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies correct return value for PERSISTENT RESERVE IN command with READ RESERVATION service action. Apply: Queries device for information about current reservations. Expect: List should contain the key reserved in 19.14 and the command should return GOOD status.

19.16 PERSISTENT RESERVE OUT : CLEAR Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with CLEAR service action. Apply: Instructs device to clear all reserves for LUN 0. Expect: Command should return GOOD status.

19.17 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies PERSISTENT RESERVE IN command with READ RESERVATION service action for correct return value. Apply: Queries device for list of reserves. Expect: The list should not contain the key which was cleared in assertion 19.16 and the command should return with GOOD status.

19.18 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies PERSISTENT RESERVE IN command with READ KEYS service action for correct return value. Apply: Queries device for list of registered initiators. Expect: The list should not contain the key which was cleared in assertion 19.16 and the command should return with GOOD status.

19.19 PERSISTENT RESERVE OUT : REGISTER AND IGNORE EXISTING KEY Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with service action REGISTER AND IGNORE EXISTING KEY. Apply: Establishes a new registration on the device. Expect: The command should return with GOOD status.

19.20 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies functionality of PERSISTENT RESERVE IN command with service action READ KEYS by checking the list of registered initiators for a previously known key (from assertion 19.19). Apply: Queries device for a list of registered initiators. Expect: The list should contain the previously registered key, and the command should return with GOOD status.

19.21 PERSISTENT RESERVE OUT : RESERVE Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with service action RESERVE. Apply: Request a reserve for key registered in assertion 19.19, on LUN 0, element 1, with type write exclusive (registrants only). Expect: The command should return GOOD status.

19.22 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies functionality of command PERSISTENT RESERVE IN with service action READ RESERVATION by checking the list of current reservations against the previously known reserved key. Apply: Queries device for list of current reservations. Test: The list should contain the key which was reserved in assertion 19.21, and the command should return GOOD status.

19.23 PERSISTENT RESERVE OUT : PREEMPT Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for command PERSISTENT RESERVE OUT with service action PREEMPT. Apply: Instructs device to preempt previously created peristent reservation on Lun 0, with type write exclusive (registrants only). Expect: The command should return with GOOD status.

19.24 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies command PERSISTENT RESERVE IN with service action READ RESERVATION by checking that the key has been removed from list of reservations. Apply: Queries device for list of current reservations. Expect: The list should not contain the key reserved in assertion 19.21, and the command should return with GOOD status.

19.25 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Checks to see if command PERSISTENT RESERVE IN with service action READ KEYS returns list with previously registered key. Apply: Requests a list of registered initiators from device. Expect: The list should contain the key registered in assertion 19.21, and the command should return with GOOD status.

19.26 PERSISTENT RESERVE OUT : PREEMPT AND ABORT Support Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies support for PERSISTENT RESERVE OUT command with service action PREEMPT AND ABORT. Apply: Sends command to device for LUN 0, type write exclusive (reigstrants only). Expect: Command should return GOOD status.

19.27 PERSISTENT RESERVE IN : READ RESERVATION Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies correct results for PERSISTENT RESERVE IN command with service action READ RESERVATION. Apply: Queries device for list of current reservation keys. Expect: List should contain key reserved in assertion 19.21.

19.28 PERSISTENT RESERVE IN : READ KEYS Verification Test

Test Assertion GUID: 6bfd17a3-c6a7-11da-94f5-00123f3a6b601

Windows Logo Program: STORAGE-0003 SCSI based devices meet SCSI protocol requirements

Additional Information: Test: Verifies correct result for PERSISTENT RESERVE IN command with service action READ KEYS. Apply: Queries device for list of registered initiators. Expect: The list should contain the key previously registered in assertion 19.19, and the command should return with GOOD status.

 

 

Build date: 9/14/2012