• Storport 7 Synchronous I/O Functioning 8
  • Hierarchical Resets 12 Improved Clustering by Using Hierarchical Resets 12
  • Measuring Storport Performance 15
  • Introduction 1 Windows Storage Drivers 2




    Download 229 Kb.
    bet2/6
    Sana26.12.2019
    Hajmi229 Kb.
    #5288
    1   2   3   4   5   6

    Introduction 1

    Windows Storage Drivers 2

    SCSIport Driver 3

    Adapter I/O Limit 3

    Sequential I/O Functioning 4

    Increased Miniport Load at Elevated IRQLs 4

    Data Buffer Processing Overhead 5

    I/O Queue Limitations 5

    Impact on SCSI Performance 6

    Storport 7

    Synchronous I/O Functioning 8

    Effective Miniport Functioning 9

    Offloaded Build at Low IRQL 9

    Single Pass Scatter/Gather List Creation 9

    Flexible Map Buffer Settings 11

    Queue Management 11

    Improved Error and Reset Handling 12

    Hierarchical Resets 12

    Improved Clustering by Using Hierarchical Resets 12

    Fibre Channel Link Handling 13

    Ability to Run Deferred Procedure Calls (DPCs) 13

    Registry Access 13

    Fibre Channel Management 14

    Easy Migration to Storport 14

    Performance Comparisons 14

    Measuring Storport Performance 15

    Host-Based RAID Adapter 15

    Summary 16

    Related Resources 16



    Introduction


    Storage adapters and storage subsystems are not all created equal. In environments where information transfers between the computer, and storage must be maximized for speed, efficiency, and reliability—such as in banking or trading businesses—high performance interconnects that maximize I/O throughput are critical. Such organizations use storage area networks (SANs), usually with Fibre Channel cabling and interconnects (links) in redundant configurations, and storage arrays with hardware based RAID (redundant array of independent disks) for high availability and high performance.

    Having the highest performing equipment helps to ensure that high performance needs can be met, but it doesn’t guarantee them. The functioning of the storage network is also dependent on the capabilities of the host operating system, specifically the host operating system drivers that interface with the storage hardware to pass I/O requests to and from the storage devices. This is especially important in Fibre Channel SANs, where a complex system of switches and links between servers and storage requires an effective means of detecting link problems and eliciting the appropriate response from the operating system

    In the Microsoft® Windows® operating system, the SCSIport driver, in conjunction with vendor-written adapter-specific miniport drivers, was for many years, the only driver delivering SCSI commands to the storage targets. The SCSIport driver, however, was designed to work optimally with the parallel SCSI interconnects used with direct attached storage. It was neither designed to meet the high performance standards of Fibre Channel SAN configurations, nor to work well with hardware RAID.

    As a consequence, organizations running mission critical Windows applications on their servers do not realize the maximum performance benefits or manageability of their Fibre Channel SANs or hardware RAID adapters (on both the host and storage arrays) when I/O passes between the host and storage target.



    These limitations have been overcome with the development of Storport, the new device driver designed to supplement SCSIport on Windows Server 2003 and beyond. Storport is a new port driver that delivers higher I/O throughput performance, enhanced manageability, and an improved miniport interface. Together, these changes help hardware vendors realize their high performance interconnect goals.

    Windows Storage Drivers


    Applications send read/write (I/O) requests through the Windows storage stack (see Figure 1). The first layer of the stack, the I/O subsystem or manager, controls execution of all the device driver routines, including adding or removing a device, I/O requests, start I/O (initiating data transfer to or from a storage device), device interrupts (a diversion to device code in response to an external event unrelated to what a processor is currently working on), and various I/O completion routines.



    Figure 1. The I/O Request Path Through the Storage Stack.

    The I/O manager processes and/or passes the I/O request packet (IRP) on to each lower driver layer, which successively routes the I/O to the:



    • Correct device class driver

    • Correct I/O port driver (such as SCSI or USB)

    • Adapter-specific miniport driver

    Class drivers manage a specific class of devices, such as disk or tape, ensuring that I/O requests are sent to the appropriate device type in correct fashion. I/O requests are then passed on to a protocol-specific port driver. Windows provides drivers for a number of transport types, including SCSI, IDE and 1394. The port driver can do one of the following: 1) complete the request without passing the request on to lower layers (if no data transfer is necessary), 2) queue the request on behalf of the storage device controller if the hardware is busy; or 3) pass the requests on to a hardware-specific miniport driver (written by an adapter vendor), which directly controls access to the hardware. The miniport driver, the lowest layer in the storage stack, is the actual device driver that acts to translate the I/O request into a physical location on the vendor’s hardware. Once the I/O request has been carried out in the hardware, several I/O completion routines complete the I/O path.


    Download 229 Kb.
    1   2   3   4   5   6




    Download 229 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Introduction 1 Windows Storage Drivers 2

    Download 229 Kb.