All messages posted to this blog are provided "AS IS" with no warranties, and confer no rights.
Information on unreleased products are subject to change without notice.
Dates related to unreleased products are estimates and are subject to change without notice.
The content of this site are personal opinions and might not represent the Microsoft Corporation view.
The information contained in this blog represents my view on the issues discussed as of the date of publication.
You should not consider older, out-of-date posts to reflect my current thoughts and opinions.
© Copyright 2004-2012 by Jose Barreto. All rights reserved.
Follow @josebarreto on Twitter for updates on new blog posts.
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, SCSIImplements 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)
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
Changer drive type: Disk, Optical, Tape
Storage > Optical Disk Drive (ODD)
Manual ejection only?
Manual injection only?
Storage > Removable Storage
Storage bus type: ATA/ATAPI, IEE1394, SATA, SCSI, USB, Other
Removable drive type: Disk, Optical
Device accepts insertion and removal of media?
Storage is flash memory?
Storage > Tape Drive
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.
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:
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
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