Windows Logo Kit 1.1 and Storage

Windows Logo Kit 1.1 and Storage

  • Comments 1
  • Likes

 

Introduction

 

I learning about the Windows Logo Programs and Logo Tests in the Windows Logo Kit 1.1, as I prepare to participate in the upcoming Windows Server 2008 LogoFest next week in Redmond.

This is my attempt to share my findings and help accellerate anyone trying to use the WLK, with the usual focus on Storage because of my line of work.

Most of the information in this post comes from a CHM (compiled help file) available for download from the connect site where you get the WLK 1.1 itself.

The Windows Logo Kit 1.1 is the first kit to support the Windows Server 2008 Logos. It will also support all other current logo programs.

 

Storage Logo Programs 

 

There are several Logo Programs (like Hard Disk Drive, Tape Drive, Hardware-based RAID, Network Attached Storage) and each will require you to pass a specific set of tests to get a “Designed for Windows” logo.

The process is automated using a tool called DTM (Driver Test Manager) and some programs have “variations” depending on the type of hardware (for instance, SATA HDD tests are different from SAS HDD tests).

Note that the term “variation” is listed in quotes because it is not a term officially used by the WLK but I introduced it here to group test in the same way that they are grouped in the CHM file.

 

The table below lists the Logo Programs under the Storage category and some “variations” within that Logo Program:

 

Logo program

“Variations”

Storage > Adapter or Controller

Storage bus type: ATA/ATAPI, Fibre Channel, iSCSI, SAS, SATA, SCSI
Implements RAID?

Implements VDS Provider?
Implements Non-Volatile cache?

Storage > Bridge

Storage bus type: ATA/ATAPI, Fibre Channel, IEE1394, iSCSI, SAS, SATA, SCSI, USB

Bridge Tape Support?

Bridge MC Support?

Bridge ODD Support?

Storage > Hard Disk Drive (HDD)

Storage bus type: ATA/ATAPI, Fibre Channel, IEE1394, iSCSI, SAS, SATA, SCSI, USB

Hybrid HDD Support?

Storage > Hardware based RAID (Storage Array)

Storage bus type: Fibre Channel, iSCSI, SAS, SATA, SCSI

Implements MPIO?

Implements VDS Provider?

Storage > iSCSI Boot Component

Storage > Medium Changer

Storage bus type: ATA/ATAPI, Fibre Channel, IEE1394, iSCSI, SAS, SATA, SCSI, USB

Changer drive type: Disk, Optical, Tape

Storage > Optical Disk Drive (ODD)

Storage bus type: ATA/ATAPI, Fibre Channel, IEE1394, iSCSI, SAS, SATA, SCSI, USB

Manual ejection only?

Manual injection only?

Storage > Removable Storage

Storage bus type: ATA/ATAPI, IEE1394, SATA, SCSI, USB, Other

Removable drive type: Disk, Optical

Manual ejection only?

Manual injection only?

Device accepts insertion and removal of media?

Storage is flash memory?

Storage > Tape Drive

Storage bus type: ATA/ATAPI, Fibre Channel, IEE1394, iSCSI, SAS, SATA, SCSI, USB

 

Please note that the exact list of tests that you need to run will be determined by the DTM at the time of the submission and they will depend on the capabilities of the device or system that you are testing.

 

Storage Tests

 

Here is a list of Storage-related tests including their descriptions (sorted alphabetically):

 

Test name

Test description

Anti-Virus/File System Filter Test Kit

The Installable File System (IFS) test is designed to test that installable file systems comply with the Microsoft Windows operating systems. Its intended audience includes file system developers who want to verify that their drivers comply with a standard set of expected functionality.  

Boot Test

The Boot test determines if the test client is booting from a particular device.

CardBus Bridge Power Management Register Test

The CardBus Bridge Power Management Register test searches the CardBus Bridge/Card configuration space for each of the CardBus device functions and verifies that the power management registers are correctly implemented.

CardBus Card Common Silicon Guidelines test

This test determines whether the CardBus card’s configuration space supports the Common Silicon Guidelines as described in PC Card Standard Guidelines, Volume 10.

CardBus Card Configuration Space Register test

This test determines the correct implementation of the CardBus card’s configuration space support registers.

Crashdump Support Test

The OS supports the creation of memory dump file after a system stop error through the underlying storage miniport driver.  The target component for this test utility is the storage miniport driver.  During a system crash, the storage miniport will be called by the OS crash dump components to write memory contents to the physical disk. 

 

The goal of the test is to verify that the storage miniport writes data to the disk correctly and that a valid memory dump file gets generated after a system crash.  The Windows OS allows three different types of memory dump files to be generated: full, kernel, and mini.  The test will test all three dump file types.  For further information about these dump file types, please refer to the Microsoft Kernel Debugger documentation.

Disk Stress

The Disk Stress test stresses disks on a computer by sending as much asynchronous I/O as the device can handle. The test should reach the bandwidth limit of the test device for the given test system configuration.

Disk Verification

The Disk Verification test verifies a disk by doing random raw writes and reads and comparing the results.

DMA Test

The DMA test checks the ability of a driver to set a specified DMA (Direct Memory Access) timing mode for a device.  The test checks that the driver can do so while I/O is pending without corrupting the transfer.

Dynamic Partitioning (DP) Simulator and Test

A CPU simulator with hot-add capability that tests a driver's compatibility with the hot-add CPU feature. For example, drivers should not import KeNumberProcessors and allocate per processor arrays based on that value. 
A tool tests that driver compatibility with S4 IRP processing. Typically, drivers should request a D3 IRP in response to an S4 IRP, and they should stop DMA transfers and shut off their interrupts. 

HBA API Test

The HBA API Compliance test verifies the Microsoft Windows Management Instrumentation (WMI) interfaces that are implemented by a host bus adapter (HBA) driver for support of the Storage Networking Industry Association's Common HBA API. To qualify for the “Designed for Windows” logo, Fibre Channel and SAS Storport miniport drivers and SCSI miniport drivers must support the HBA API.

The HBA API test requires a Fibre Channel switch between the HBA and the storage devices that you are testing. The Fibre Channel switch must support the GIEL and GANXT specifications. Most switches that have been made in the past 10 years support these specifications.

The topology can any kind of fabric configuration, as long as a switch is present. For example, the simplest configuration is the following: [TestMachine]<-->[FibreChannelSwitch]<-->[FibreChannelStorageArray]

Hybrid Hard Disk Drive Logo Test

The Hybrid Hard Disk Drive Logo test validates and verifies if a hybrid disk drive complies with the standards and achieves the performance and power management requirements. This test should run on a secondary drive and when the test is running there should not be any other I/O happening to the drive.

Int 13h Extensions test

The Int 13h Extensions test verifies proper implementation of the Phoenix Int 13h extensions.

iSCSI Boot

The iSCSI Boot test verifies that the host-bus adapter (HBA) properly reports the presence of a boot session to the Microsoft iSCSI initiator service.

iSCSI Boot Firmware Table Test

The iSCSI Boot Firmware Table (iBFT) is a block of information residing in memory that contains different entries that are required by the iSCSI Boot process.
iSCSI Boot Firmware Table test (iBFTest) verifies the presence of iBFT on the system. It also ensures that the various entries of the table are compliant with the iBFT specification.

iSCSI Digest - Disk (HBA)

The iSCSI Digest - Disk (HBA) test verifies that the host-bus adapter (HBA) supports header and data digests as negotiated during the log on phase.

iSCSI Digest - Disk (Target)

The iSCSI Digest - Disk (Target) test verifies that an iSCSI disk storage system supports header and data digests as negotiated during the logon phase.

iSCSI Digest - Tape (HBA)

The iSCSI Digest - Tape (HBA) test verifies that the host-bus adapter (HBA) supports header and data digests as negotiated during the logon phase.

iSCSI Digest - Tape (Target)

The iSCSI Digest - Tape (Target) test verifies that an iSCSI tape/media changer target supports header and data digests as negotiated during the logon phase.

iSCSI HBA Mutual CHAP

The iSCSI HBA Mutual CHAP test verifies that the initiator, that is, the host system that initiates the block storage transfer, can use the Challenge Handshake Authentication Protocol (CHAP) authentication mechanism. The test verifies mutual CHAP.

iSCSI HBA Oneway CHAP

The iSCSI HBA Oneway CHAP test verifies that the initiator, that is, the host system that initiates the block storage transfer, can use the Challenge Handshake Authentication Protocol (CHAP) authentication mechanism. The test verifies a one-way CHAP.

iSCSI iSNS Compliance Test

The iSCSI iSNS Compliance test verifies that target devices (for example, disk, tape, and media changer devices) can properly register with and be discovered by an Internet Storage Name Service (iSNS) server.

iSCSI Mutual CHAP (Target)

The iSCSI Mutual CHAP (Target) test verifies that the target device (disk, tape, or optical storage device) can use the Challenge Handshake Authentication Protocol (CHAP) authentication mechanism.

iSCSI Oneway CHAP (Target)

The iSCSI Oneway CHAP (Target) test verifies that the target device (disk, tape, or optical storage device) can use the Challenge Handshake Authentication Protocol (CHAP) authentication mechanism.

iSCSI Persistent Login Test

The iSCSI Persistent Login test verifies the basic functionality of persistent logons and verifies that targets are logged on every time the operating system restarts.

iSCSI Ping Test (HBA)

The iSCSI Ping (HBA) test verifies that iSCSI initiators (HBA) can send and receive ping requests.

iSCSI Ping Test (Target)

The iSCSI Ping (Target) test verifies that iSCSI targets can send and receive ping requests.

iSCSI Redirection Test

The iSCSI Redirection test verifies that a host-bus adapter (HBA) properly handles the target device’s capability to redirect the connection to a different IP address or port.

iSCSI WMI Verification

The iSCSI WMI Verification test verifies that an iSCSI host-bus adapter (HBA) driver implements the required Microsoft Windows Management Instrumentation (WMI) interfaces. To qualify for the "Designed for Windows" logo, iSCSI HBA drivers must support the WMI classes that are documented in the iSCSI Driver Development Kit (DDK) version 1.0.

Media Lock Test

The Media Lock Test is a user-mode application that tests the functionality of locking mechanisms on SCSI-removable devices of type CD-ROM and direct access (for example, a Iomega Jaz or Zip drive). This test issues SCSI passthrough Prevent/Allow medium removal commands.

Media Status Notification Test

The Media Status Notification (MSN) specification v1.03 test contains two scenarios: one to test the ejectability of a device, and one to test the media status bits.

Medium changer stress

The target component for this test utility is the medium changer device and driver and its interoperation with Removable Storage Management (RSM).  This test stresses various RSM calls and verifies that the device responds as expected.

Medium Changer Test

The Medium Changer Test verifies that a media changer meets performance standards by passing various packet commands to the media changer.

MMC Test

This test validates a device's compliance with the MMC-1, MMC-2, MMC-3 and SFF-8090i (Mt. Fuji) standards as the basis for supporting CD-ROM, DVD-ROM, CD-RW, CD-R, and DVD-RAM devices.

Multi-Path I/O Test

Customers of enterprise storage solutions rely heavily on the high-availability of its components.  In storage, high-availability is often implemented by redundancy.  Multi-path I/O is one such implementation for the fabric layer of an enterprise storage solution.  Microsoft supports multi-path I/O with inbox Multi-Path driver (mpio.sys) and Device Specific Module (msdsm.sys) on Microsoft Windows Advanced Server operating system in the Windows Vista timeframe.

The tool provides multi-path I/O testing for the compatibility of vendor's storage solution with Microsoft driver solutions.  These features include: Failover, Failback, Load balance policy

NTBackup test

The target component for this test utility is the tape drive and driver and its interoperation with the NTBackup application.  This test backs up and restores generated data and verifies that the copies match.

NTFS File Security Test

This test performs basic NTFS security variations to ensure that there are no regressions in this area.

OpticalLogoTest

The Optical Logo test validates if the optical (type 5) device complies with the MMC5 and Mt.Fuji7 specifications and also validates if the device works well with the Microsoft Windows operating system.

Relative Open Test

The Relative Open Test uses NtCreateFile to open handles to a volume, directory, stream, and reparse point. It then uses relative open to create files and alternate data streams on these handles. The test is intended for file system driver developers who want to verify that their drivers comply with a standard set of expected file system functionality.

SATA IO Sig Test

The SATA IO Sig Test is designed to collect the SATA IO Signature certification from the user.

SCSI Compliance test

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 www.t10.org). 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.

SCSI Initiator Client Server

This test verifies the functionality necessary for Microsoft Cluster Server (MSCS) to change and maintain ownership of the RAID storage disks in the cluster client node. It also verifies the functionality necessary for multi-initiator host bus adapter (HBA) implementations.

SMART test utility

Verify each S.M.A.R.T. command by issuing the commands to the drive.

Issue SMART commands in random order and random number of times.

Storage Data Verification Filter Test

The Storage Data Verification Filter test checks the hard disk drive, the storage controller, or both to ensure that no data corruption occurs.

Storage Device Stress test (SDStress)

This test stresses the hard disk drives and CD-ROM drives in a system and validates storage API commands.

Storage Imports Test

The Storage Imports test verifies that a storage adapter driver follows the proper miniport architecture for its bus type. The tool also validates that the driver does not import functions from outside the port driver.

Storage Query Property

The Storage Query Property test verifies a storage adapter driver's implementation of IOCTL_STORAGE_QUERY_PROPERTY for both the StorageDeviceProperty and StorageAdapterProperty.

Symlink Regressions

This test will run several variations containing symbolic links.  It will require the input of a source path and a target path.  The source path must be on an NTFS volume.

Tape I/O Test

The target component for the Tape I/O test utility is the tape drive and driver. This test writes to and reads from the tape to verify that the tape drive is operating properly.

UDF Formatter Tests

The UDF Formatter Tests are used to verify that a device can format all of its supported media types as a UDF volume.

VDS HCT

The VDS HCT test helps validate that the VDS H/W provider that is installed on the system is implementing the VDS interfaces according to the VDS specification.

Windows ReadyBost Assessment Test

This tool verifies that a device can be used for Microsoft Windows ReadyBoost.

 

Other Tests 

 

Additional tests might be required, depending on the specific type of device and could include:

 

If the device is connected through ATA/ATAPI, you might need the following test:

o   SMART test utility

 

If the device is connected through SATA, you might need the following test:

o   SATA IO Sig Test

 

If the device is connected through SCSI, you might need the following test:

o   SCSI Compliance test

 

If your device connects through iSCSI, you might also need the following tests:

o   iSCSI iSNS Compliance Test

o   iSCSI Mutual CHAP (Target)

o   iSCSI Oneway CHAP (Target)

o   iSCSI Ping Test (Target)

o   iSCSI Digest - Tape (Target)

 

If your device is connected through 1394, you might also need the following test:

o   1394 Configuration ROM Test

 

If your device is connected through Cardbus, you might also need the following tests:

o   CardBus Card Configuration Space Register test

o   CardBus Card Common Silicon Guidelines test

o   CardBus Bridge Power Management Register Test

 

If your device is connected through USB, you might also need the following tests:

o   USB Address Description Test

o   USB Descriptor Test

o   USB Device Control Requests Test

o   USB Device Framework (CV) Test

o   USB Enumeration Stress Test

o   USB HIDView (CV) Test

o   USB Selective Suspend

o   USB Serial Number

o   USB Specification Compliance

 

Clustering Tests are listed separately, not under storage.

 

Test name

Test description

W2K3 MSCS - Run MovN

This test verifies that the resource move operation works properly on the cluster.

W2K3 MSCS - Run Phase 1

This tests ensure that drivers, shared hard disks, and other SCSI components correctly implement SCSI reserve and release commands. The cluster service storage device arbitration relies on this test. One initiator will reserve the hard disk, and then commands issued to the hard disk from the other initiator should fail with "Reservation Conflict" status. These tests also ensure that reservations are broken with a bus reset.

W2K3 MSCS - Run Signed Driver Check

The Signed Driver Check test verifies that all drivers are signed by Windows Hardware Quality Labs (WHQL).

W2K3 MSCS - Run ValdN

The Validate N Node Cluster test ensures that all cluster operations between nodes, such as move and failover, will work. You must run this test with all the nodes joined to the cluster that you want to validate.

 

Supplemental Tests are also listed separately. I listed some that appeared to be Storage-related below:

 

Test name

Test description

BangFS Test

This test simulates numerous users as well as files being accessed by users from a single machine. Its main purpose is to test Windows multiprocessing capabilities to handle multiple requests at a given time.

RapidFile Test

This test create file with any arbitrary size using asynchronous IO. It also has the options to log statistics and to verify the created file for data corruption.

SQLIO Test

This test simulates the behavior of a SQL server by stressing the disk with file system IO requests.

Syscache Test

The Syscache test reads, writes, and verifies data with and without the Windows XP Professional buffer feature. Testing halts when the Syscache test detects data corruption.

txfs2

txf stress test suit

Usedisk2

A tool used for creating files and directories with varying attributes.

 

Links and references

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Hi, Jose

    This post is gold. This is one of the few places I could find info on WLK tests and TXFS2 specifically.

    Thanks a bunch!

    --Malu