Aristos WinHECwhitepaper2003

download Aristos WinHECwhitepaper2003

of 13

Transcript of Aristos WinHECwhitepaper2003

  • 8/14/2019 Aristos WinHECwhitepaper2003

    1/13

    Intelligent Storage Processors

    Abstract

    This paper provides information about storage processors for the MicrosoftWindows family of operating systems. It provides guidelines for designers to buildnext generation storage systems which provide a level of performance which isunattainable using general purpose processors and more importantly provide ahardware platform which is manageable through storage services embedded inMicrosoft operating systems.

    ContentsIntroduction .................. .................. .................. .................. .................. ................... .................. ......... ...... ...3

    Overview ................ .................. .................. .................. ................... .................. .................. ................. ....3History of Network Processors ................. .................. .................. .................. .................. ............. ...... ....4

    Whats Different About Storage? ................ .................. .................. ................... .................. ........ ...... ......5A Closer Look at Virtualization .................. .................. .................. .................. .................. .......................7

    Variations and Combinations ................. .................. .................. .................. ............................ ...... ....8Why Storage Processors? .................. ................... .................. .................. .................. .................. ........ ..9

    Logical Targets ................ .................. .................. .................. ................... .................. ............ ...... ....10Embedded Initiators ................ .................. .................. ................... .................. ..................... ...... .....10Advanced Storage Functions ................ ................... .................. .................. .................. ............... ...10Summary of Benefits ................. .................. .................. .................. .................. ....................... ...... ..11

    Intelligent Storage Processor Architecture ................. .................. .................. ........................... ...... ......11FibreSlice and Windows NT Storage Architecture ................ .................. ................... .................. ......12Conclusion ................. .................. .................. .................. ................... .................. .................. ........ .......13

  • 8/14/2019 Aristos WinHECwhitepaper2003

    2/13

    Intelligent Storage Processors - 2

    Windows Hardware Engineering Conference

    WinHEC Sponsors Disclaimer: The contents of this document have not been authored or confirmed byMicrosoft or the WinHEC conference co-sponsors (hereinafter WinHEC Sponsors). Accordingly, theinformation contained in this document does not necessarily represent the views of the WinHECSponsors and the WinHEC Sponsors cannot make any representation concerning its accuracy. THEWinHEC SPONSORS MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH RESPECT TO THIS

    INFORMATION.

    Microsoft, Windows, Windows Server, and Windows NT are trademarks or registered trademarks ofMicrosoft Corporation in the United States and/or other countries. Other product and company namesmentioned herein may be the trademarks of their respective owners.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    3/13

    Intelligent Storage Processors - 3

    IntroductionThis paper provides information about storage processors, a new class of silicondevice dedicated to accelerating storage commands and providing managementcapabilities which are not possible with general purpose processors. It compares

    and contrasts storage processors with network processors, and further illustrateshow not all storage processors are equal. It also explores the concepts of storagevirtualization with respect to storage processors, and how they are a key componentfor designing RAID and Virtualization frameworks. Finally, it delves into how storageprocessor technology can be leveraged with Microsoft Enterprise Storage featuresto differentiate and add value to products designed with both.

    OverviewUntil recently, designing storage frameworks included the use of discreetcomponents such as off-the-shelf generic processors and firmware to meetcompetitive standards of performance and manageability. With the advent of newdrive design, packaging and management software, this traditional approach isbeing supplanted with a new class of storage processor to meet the new demands

    of a network centric storage model.

    Many new storage processor devices are now becoming available on the market,but not all storage processors are created equal. Most of these emerging productshave a traditional networkcentric view of storage and tend to look at storagenetworks as a symmetric network. In reality, storage networks are asymmetric.Hosts and disks are not peers, as their behavior is very different. To meet theevolving demands of storage and the adoption of storage virtualization, a new classof Intelligent Storage Processor (ISP) has appeared as a fundamental buildingblock. Unlike their cousins in Local Area Network switches and routers, however,these devices are optimized for dealing with the complexities of a Storage AreaNetwork (SAN) environment. To achieve maximum benefits in a storage network, astorage processor must be able to do much more than lookup destinations, forwardframes, probe packets, manipulate data and gather statistics.

    In a traditional sense, storage controllers accept read and write commands sent to alogicalvolume, then handle the details of mapping those requests tophysicalstorage devices. This RAID functionality is in essence the simplest form ofvirtualization.

    When we talk about storage virtualization today, we're extending the RAIDfunctionality and LUN management functionality found in storage controllers tooperate within network environments. Storage virtualization is a powerful tool forexploiting the storage architectures of the future. Storage or server assets can beadded, moved, changed and modified without affecting the entire system. Storageresources can then behave more like a true utility. By representing resourceslogically, they can be pooled, provisioned, and deployed with greater flexibility.Mirroring, Snapshots, and replication can be used to eliminate single points offailure.

    This paper highlights the unique requirements of storage virtualization, exploressome of the various applications that can benefit from virtualization technology, andoutlines how the Aristos Logic FibreSlice architecture can be uniquely leveraged bythe Window NT storage architecture to provide enhanced functionality such as:

    Hardware acceleration of storage applications

    Real time data collection

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    4/13

    Intelligent Storage Processors - 4

    Real time eventing

    Exceptional performance

    Exceptional manageability

    History of Network ProcessorsNetwork processors first appeared in high-end Local Area Network (LAN) switches,where their greater performance and lower cost made them the clear successor todedicated microprocessors running custom firmware, or proprietary Application-Specific Integrated Circuits (ASICs). In fact, it was the ability of network processorsto combine the speed and performance of ASICs with the programming flexibility ofmicroprocessors that made them so successful.

    Network processors were able to achieve this desirable balance because thecomputational tasks required of switch ports in a LAN environment are wellunderstood. LAN network processors usually have microengines dedicated to thecore LAN switching functions Classification, Lookup, Data Manipulation, QueueManagement, Filter/Forward, and Control/Management. These basic operationsare performed on each arriving packet, using pipelined architectures to achieve

    desired performance. In Figure 1, network processors and a fast switching fabricare all that is necessary to construct a high performance layer1/2/3/4 LAN switch.The network processors are programmed to provide hardware assists, andsometimes complete offloads, for functions such as IP Security (IPSec), VirtualLocal Area Networks (VLAN), Differentiated Services (DiffServ), Multi-Protocol LabelSwitching (MLPS), and many others.

    Figure 1: Typical Network processor Based LAN Switch Architecture

    Figure 2 shows the inner structure of a LAN Network processor, including thestreaming packet and memory interfaces.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    5/13

    Intelligent Storage Processors - 5

    Figure 2: Functional Blocks and Interfaces in a LAN Network processor

    As you can see from Figure 2, a LAN network processor is optimized for supportingthe high-overhead LAN services associated with security, classification, filtering,and routing at wire-speed frame forwarding rates.

    Whats Different About Storage?It is tempting to imagine that all of the sophistication and advantages that have goneinto LAN network processors can be directly applied to storage area networks. Atfirst glance, it certainly seems possible. Both networks use PHYs running at roughlythe same speeds, both use switches, both require destination lookup and frameforwarding, both have requirements for packet probing, manipulation, and thegathering of statistical data. In fact, many of the functions are transferable, howevera LAN network processor is simply not equipped to deal efficiently with the uniquerequirements of the storage data path. This requires something new: an IntelligentStorage Processor (ISP). An Intelligent Storage Processor offloads a generic CPUfrom processing performance critical read/write commands, accelerates storageapplications and provides manageability features. The FibreSliceTM from AristosLogic is the first Intelligent Storage Processor in the industry.

    To appreciate how storage imposes new requirements on the functional blocksinvolved in data transfer, compare the component-level diagram of typicalnetworked storage architecture in Figure 3 with the LAN equivalent in Figure 1. Inthe LAN network processor, it was possible to identify classifier, lookup andscheduler functions because a LAN switch performs these functions on every port.It is completely symmetrical, and from the perspective of the LAN switch, its role is

    to optimize the efficiency of the frame forwarding function between ports ofequivalent peers.

    In the storage architecture, ports support either servers (shown as Host BusAdapters, or HBAs) or storage (shown as the combination of a storage controllerand associated physical disk drives). The servers and storage are not peers. In facttheir relationship is an asymmetricalrelationship of initiators (the HBAs) and targets(the Storage), where behaviors and system roles vary widely.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    6/13

    Intelligent Storage Processors - 6

    Figure 3: Typical Networked Storage (SAN) Architecture

    When projecting the requirements of a storage processor on this model, it becomesapparent that the features and optimizations necessary to provide analogousbenefits to the LAN architectures will vary depending on (1) where in the data paththe ISP is placed, and (2) what storage-specific roles the ISP will be called on tooffload and assist.

    In modern RAID architectures, for example, the storage controller is responsible fora high degree of storage-specific intelligence called command termination andredirection. Command termination means the storage controller acts as a virtualtarget, literally intercepting read and write commands as though it were a disk drive.The storage controller then creates one or more new commands based on the "real"commands it has terminated. When the storage controller redirects the new

    commands (sends them to a physical device), it is acting as a virtual initiator.

    Command termination is necessary to support virtualization functions where theperformance, protection, and redundancy provided through striping and mirroring isdesired. Once a storage controller capable of RAID functionality terminates acommand, it must then apply the appropriate RAID algorithm, based on the type ofcommand and RAID architecture in effect. For example, a write command to a RAID1 (mirrored) LUN will result in the termination of the write command, followed by theredirection of two newwrite commands, each targeted at one of the volumes in themirrored set. The original write command will then be acknowledged by the storagecontroller, but only after each physical drive in the mirrored set has acknowledgedtheir "logical initiators" in the storage controller.

    In addition to command termination and RAID functionality, the storage controller

    often provides enhanced performance through intelligent cache management. Acache is implemented in fast memory at the virtual volume level. The storagecontroller then uses the virtual initiator capability to populate to cache with data thatis statistically most likely to be requested by the real initiators. A well-designedcaching algorithm can often place the required data from a physical device in thestorage controller cache memory before it is requested, eliminating the need to re-source new commands to the slower physical devices. Writes can also beacknowledged faster if the write updates a block locked in cache. To protect againstdata corruption, cache memories on storage controllers must take precautions to

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    7/13

  • 8/14/2019 Aristos WinHECwhitepaper2003

    8/13

    Intelligent Storage Processors - 8

    Management AppsManagement Apps

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProviderHardwareHardware

    ProviderProvider

    Management ConsoleManagement Console

    Target MachineTarget Machine

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProvider

    HardwareHardware

    ProviderProvider

    Management AppsManagement Apps

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProviderHardwareHardware

    ProviderProvider

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProviderHardwareHardware

    ProviderProvider

    Management ConsoleManagement Console

    Target MachineTarget Machine

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProvider

    HardwareHardware

    ProviderProvider

    Virtual Disk ServiceVirtual Disk Service

    SoftwareSoftware

    ProviderProvider

    HardwareHardware

    ProviderProvider

    Figure 4: The Microsoft Virtual Disk Services Model

    Variations and Combinations

    In the shared storage model, virtualization can be performed in the host (by asoftware based volume manager or RAID-enabled HBA), in the network, or in thedevice. A storage controller is an example of device-based virtualization.

    Interesting variations on these generic approaches are possible. For example, anembeddable software-based volume manager can be hosted in a fabric. Similarly, afabric can embed a storage controller or server blades. Host bus adapters mayperform some functions of a host-based volume manager application (e.g. LUNMasking).

    No matter where virtualization is performed, an Intelligent Storage Processor-basedsolution must be designed to support:

    The fundamental storage services

    Mapping

    Pooling

    The performance and availability services

    Read and Write caching

    Command termination

    Redirection

    Additionally, support should include intelligent assists for the more advancedstorage data services applications:

    Snapshot

    Migration

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    9/13

    Intelligent Storage Processors - 9

    Remote copy

    These services and features are the fundamental elements of allsophisticated storage implementations, from RAID to virtualization in a SAN.

    Why Storage Processors?

    Recall that a LAN network processor created value by identifying and optimizing theLAN functions that sat as potential bottlenecks in the network critical data path. Thestorage-critical function of virtualization, however, is not technically in the data path.Through command termination and redirection, it both terminates one path andthen initiates one or more different paths. This requires a completely different set ofdedicated functions, and a different conceptual framework for the designer.

    At this point, we have contrasted the functional blocks in a LAN network processorwith the different optimization requirements present in the storage data path. Wehave also shown that virtualization is the layer (or layers) providing a logical view ofstorage, and we have noted that the data processing requirements of a networkedstorage architecture are highly dependent on where in the system the processingelement is placed. Those requirements are highly differentiated for efficientinitiators, network elements, and target controllers.

    In the last section, we identified the building blocks that are distributed or sharedamong all storage processing functions, mapped those functions to RAIDcontrollers, and showed that RAID is simply a specialized form of virtualization. It isprecisely these functions that should be optimized in the design of an IntelligentStorage Processor.

    A generic Intelligent Storage Processor must be flexible enough to handle multiplestorage applications, but specialized enough to provide the functional "buildingblocks" necessary to offload critical storage applications and services.

    Figure 5 shows a generalized ISP architecture, which may be contrasted andcompared with the LAN network processor architecture in figure 1. Reflecting theasymmetrical nature of storage networks, each port on an ISP may be routed (or in

    some designs, hardwired) to either logical targets or an embedded initiator.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    10/13

    Intelligent Storage Processors - 10

    Figure 5: Intelligent Storage Processor (ISP) Architecture

    Logical Targets

    Servers access logical volumes through a host bus adapter, which, in the languageof storage protocol, is an Initiator. Initiators are responsible for "initiating" I/Ooperations such as read and write, and maintaining current state information untilthe operation is successfully completed. The burden of error recovery and retryingcommands is also an initiator function. At the ISP, an initiator will always be routedto a port processor running Targetemulation code. Targets are devices thatrespond to initiator requests with either data or status. Targets operateasynchronously, and are not required to maintain current state information for theduration of the I/O operation. Target Emulation has the effect of making the portrespond to requests for data and status exactly as a physical storage device would.The emulated logical volume (often referred to by its Logical Unit Number, or LUN)

    may map directly to a physical device, or may aggregate multiple physical devices.Logical volumes may also be supported by cache memory, RAID configurations,and other functions designed to enhance the performance or reliability of the logicalvolume. The logical-to-physical mapping structures and services available to theresulting logical volume define and bound the benefits available from virtualization.

    Embedded Initiators

    Another core function in the ISP is the Embedded Initiator. This functional blockhas the same protocol requirements as a host bus adapter - it must initiate I/Ooperations to external targets and track them to completion. The embedded initiatorsupports the "back end" of the virtualization function, redirecting write operations orrequesting the physical blocks from external devices once the logical to physicalmapping has been resolved. All initiators are not created equal. The process of

    "reverse mapping" the physical to logical data flow may be supported by specializedhardware engines capable of fast context switching and DMA, or slower softwareparsing in buffer memory may be used. Initiators may also be responsible forDiscoveryof new block storage devices, recognition of device moves, failover pathmanagement, error detection, and command retries.

    Advanced Storage Functions

    Just as a LAN network processor may provide benefits to the designer by optimizingadvanced functions such as IPSec and packet classification, ISPs can provide

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    11/13

    Intelligent Storage Processors - 11

    similar functional blocks geared towards the unique requirements of storagenetworking.

    The Storage equivalent of the advanced functions found in LAN network processorsincludes caching, snapshot, migration, remote copy, storage pooling through RAIDmapping, and RAID redundancy. ISPs like FibreSlice can even support clustermanagement with designed-in support for bound, redundant controllers.

    Together, these features take the guesswork out of designing advanced storageproducts. For example, one of the trickiest disciplines of storage controller design iscache management. Well-designed and properly optimized cache controllers cansignificantly increase storage performance, while a poorly designed cachingalgorithm may actually degrade performance.

    With zero-tolerance for data loss increasingly becoming a standard requirement,and with the availability of low-cost disk drives, RAID protection of logical volumes isno longer a system luxury. With RAID quickly becoming a check-off item, the systemdesigner can accelerate time-to-market and improve system performance byselecting an ISP that includes flexible RAID functionality. Things to consider includehardware support for the XOR function, RAID levels supported, and rebuild assists.

    ISPs may also include advanced services for management and monitoring ofstorage resources. With storage provisioning moving towards a policy-driven model,the ability to gather statistical and real-time storage metrics from physical devices,logical volumes, and ports will become important considerations.

    Summary of Benefits

    By choosing to leverage an Intelligent Storage Processor in your network storageproduct family, you get optimization of sophisticated storage functions without theneed for specialized in-house expertise. Designers can focus on value anddifferentiators, while achieving lower system cost, tighter integration, and higherperformance than discrete designs.

    Intelligent Storage Processor ArchitectureAristos Logics proprietary IntelligentStorage Processor Technology, is ascalable fabric of programmable processing elements and memory data structurecontrollers that allows flexible configuration and re-purposing of a single architecturefor multiple SAN product implementations.

    Figure 6 shows the storage datapath through FibreSlice, from fabric-attached hoststo external storage, with all system interfaces. By comparing figure 6 to the LANnetwork processor in Figure 2, you can see that FibreSlice is architected to providededicated support for the functions most critical to high-performance logical volumevirtualization, while still providing the external interfaces necessary to support awide variety of system designs.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    12/13

    Intelligent Storage Processors - 12

    Figure 6: Functional Blocks and Interfaces in FibreSlice

    FibreSlice and Windows NT Storage ArchitectureAristos Logic is working to leverage the enterprise storage related features inWindows Server 2003 to ensure that all the hardware features of FibreSlice areeasily leveraged by Windows storage applications. The range of work being done

    includes:

    Leveraging the Storport driver model to ensure that the software can drive I/O to

    obtain a maximum throughput and leverage all the hardware accelerationfeatures of the FibreSlice architecture

    Leveraging the extensibility provided by Windows Management Initiative WMI

    allows an IHV to provide product differentiation by surfacing additionalinstrumentation including data and events classes. These dynamically createdclasses can be discovered and utilized by WMI aware systems managementapplications

    Leveraging the Volume Shadow Copy Service (VSS) to provide storage and

    storage management applications platform integrated access to the snapshotfeatures of the FibreSlice architecture

    Leveraging the Virtual Disk Service (VDS) to provide storage and storage

    management applications integrated platform access to storage in anapplication meaningful way (Define a RAID 5 volume of 10GB size; allocate aRAID 1 volume of 20 GB size; etc)

    Leveraging the power of Multi Path I/O Development kit to utilize the multi path

    capabilities of Fibre Slice and provide

    WinHEC 2003Microsoft Windows Hardware Engineering Conference

  • 8/14/2019 Aristos WinHECwhitepaper2003

    13/13

    Intelligent Storage Processors - 13

    ConclusionThis paper explored the differences between network processors and storageprocessors and also detailed some important concepts of storage virtualization.Furthermore, it went on to explore how the Microsoft VDS and VSS architectures fitinto this world of storage processors and how Aristos Logic is using theWindows NT enterprise storage features to differentiate their FibreSlice device.

    WinHEC 2003Microsoft Windows Hardware Engineering Conference