T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 1 SM-HBA: SAS/FC Common HBA API T10/07-221r0 3 May 2007 Bob Nixon/Emulex.

Slides:



Advertisements
Similar presentations
Service Bus Service Bus Access Control.
Advertisements

SM-HBA-2: Integrating FCoE T11/09-530v0 1 October 2009 NOTE: The pdf is unclear on a few slides. Please use the ppt if possible.
Introduction to Storage Area Network (SAN) Jie Feng Winter 2001.
Copyright © 2014 EMC Corporation. All Rights Reserved. Linux Host Installation and Integration for Block Upon completion of this module, you should be.
CS-334: Computer Architecture
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.1 Module 6 Switch Configuration.
Chapter 19: Network Management Business Data Communications, 4e.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
I/O Channels I/O devices getting more sophisticated e.g. 3D graphics cards CPU instructs I/O controller to do transfer I/O controller does entire transfer.
Modifying the SCSI / Fibre Channel Block Size Presented by Keith Bonneau, John Chrzanowski and Craig O’Brien Advised by Robert Kinicki and Mark Claypool.
OS Spring’03 Introduction Operating Systems Spring 2003.
Processes and Resources
Applying Wireless in Legacy Systems
COEN 180 NAS / SAN. NAS Network Attached Storage (NAS) Each storage device has its own network interface. Filers: storage device that interfaces at the.
Storage Area Network (SAN)
Agenda CS C446 Data Storage Technologies & Networks
© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—-6-1 Network Environment Management Discovering Neighbors on the Network.
Development of an API Standard in Interoperable Storage Networking Benjamin F. Kuo Troika Networks, Inc.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Lecture 3a Mobile IP 1. Outline How to support Internet mobility? – by Mobile IP. Our discussion will be based on IPv4 (the current version). 2.
FLIP Architecture & Requirements Roger Cummings Symantec
Module 10 Configuring and Managing Storage Technologies.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
Chapter 5 Section 2 : Storage Networking Technologies and Virtualization.
4 Linking the Components. © 2005 Pearson Addison-Wesley. All rights reserved Figure 4.1 This chapter focuses on how the hardware layer components are.
05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1 Network Administration Module 3 ARP/RARP. 2 Address Resolution The problem Physical networks use physical addresses, not IP addresses Need the physical.
EEE440 Computer Architecture
IPSec ● IP Security ● Layer 3 security architecture ● Enables VPN ● Delivers authentication, integrity and secrecy ● Implemented in Linux, Cisco, Windows.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Jini Architecture Introduction System Overview An Example.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Chapter 4 Version 1 Virtual LANs. Introduction By default, switches forward broadcasts, this means that all segments connected to a switch are in one.
Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4 Mapping Bluetooth SDP to Salutation APIs 4 Mapping Bluetooth.
© 2006 EMC Corporation. All rights reserved. The Host Environment Module 2.1.
Internet Protocol Storage Area Networks (IP SAN)
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
© 2007 EMC Corporation. All rights reserved. Internet Protocol Storage Area Networks (IP SAN) Module 3.4.
Microsoft Exchange Server 2013 Security Mick Tomlinson– Technical Instructor New Horizons.
LonWorks Introduction Hwayoung Chae.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Tgt: Framework Target Drivers FUJITA Tomonori NTT Cyber Solutions Laboratories Mike Christie Red Hat, Inc Ottawa Linux.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Chapter 19: Network Management
CollegeSource Security Application &
Network Environment Management
Protecting Memory What is there to protect in memory?
Scaling the Network: The Internet Protocol
Direct Attached Storage and Introduction to SCSI
Fabric Interfaces Architecture – v4
Chapter 6 Delivery & Forwarding of IP Packets
LUN Management LUN Management Introduction
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
Network Environment Management
SCSI over PCI Express (SOP) use cases
Direct Attached Storage and Introduction to SCSI
SCSI over PCI Express convergence
Scaling the Network: The Internet Protocol
Storage Automation for BAO
Chapter 13: I/O Systems.
Lecture 4a Mobile IP 1.
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 1 SM-HBA: SAS/FC Common HBA API T10/07-221r0 3 May 2007 Bob Nixon/Emulex

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 2 Introduction to SM-HBA A work undertaken in T11 Thanks to Krithivas (Intel) for editing and most of the technical work Major goals Add an API for SAS HBAs Include the richer port structure of SAS Re-model the FC API to maximize common API for common features Now ANSI/INCITS 428/2007 A word of apology: the following is written in pidgin-UML (no that does not mean it is sprinkled with white splats)

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 3 SM-API context (with some lapses)

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 4 FC-HBA “model” HBA HBA handle, model #, firmware version,..., # of Ports Port Port index, Port name, Port address, Fabric name,... speed, topology, physical attributes 1 1-n Port statistics traffic counters: frames, words link error counters: LESB or equivalent n Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations heavy boxes are presumed physical devices Grey text denotes implicit attributes, typically used to identify an object within some scope Green stuff is added complic... ah... components Pink text is just to draw your attention

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 5 SM-HBA “model” HBA HBA handle, model #, firmware version,..., # of Ports Port Port index, Port name, Port address, Fabric name, n Port statistics traffic counters: frames, words link error counters: LESB or equivalent n Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations 1 1-n Phy Phy index, speed, topology, physical attributes grew from FC-HBA “model”

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 6 SM-HBA structure: A SAS HBA SAS Phy Phy index, phy identifier, domain Port id, speed, physical attributes HBA HBA handle, model #, firmware version,..., # of Ports SAS Port Port index, Port address,..., # of Phys 1 1-n Phy statistics traffic counters: frames, words link error counters 1 1-n n Protocol statistics SAS Protocol type, I/O counters: Input operations, output operations, control operations

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 7 SM-HBA structure: An FC HBA FC Phy Phy index, speed, topology, physical attributes HBA HBA handle, model #, firmware version,..., # of Ports Phy statistics traffic counters: frames, words link error counters: LESB or equivalent FC Port Port index, Port name, Port ID, Fabric name,..., # of Phys=1 1 1-n n Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 8 API for Adapter configuration Pretty much identical for SAS, FC, and mixed HBAs Hardware identification and inventory information A port count

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 9 API for Port configuration Not quite identical for SAS and FC Hardware identification and inventory information Port name/address information WWPN for both N_Port_ID for FC Discovered Port count Port type (FC or SAS) Type-specific protocol support (e.g., FCP, SSP) Phy count (for FC, it’s restricted to small values of 1)

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 10 API for Phy configuration Mostly divergent for SAS and FC Hardware identification Type-specific speeds supported and active Max frame size for FC Domain ID for SAS

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 11 API for statistics Structurally the same Protocol statistics per Port Link statistics per Phy But different statistics for SAS than FC

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 12 API for discovered device management Manages HBAs/drivers that map SAN devices into a virtual SPI interface (bus, target, LUN) Very similar…For each local port: List of discovered ports, with limited port info for each May include switch/expander ports (e.g., FC Name Server; SAS SMP) List of SCSI devices/logical units currently mapped into the OS (called “target mappings”, though they probably are LU mappings) List of SCSI devices/logical units that are desired to be mapped into the OS (called “persistent bindings”). This is one of the few configurable entities

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 13 API for Fabric/Domain management Management command passthrough functions Passthrough of application-constructed SMP IU for SAS Passthrough of application-constructed CT IU for FC Specific functions to construct certain FC ELSs Parameters for specific ELS fields, not just a raw IU All send one command, wait for a response, and the raw response IU is among the function return parameters We’re a little nervous how much damage might be done by the passthrough functions

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 14 API for SCSI discovery If we were nervous about management passthrough, the idea of SCSI passthrough REALLY bothered us Our OS friends made sure we remained appropriately concerned Eventually we set our ground rule: we would pass through no SCSI command that was not essential to discovery These are not raw passthrough. Like the FC ELS functions, they have parameters for each field. This led to… Three SCSI command APIs: REPORT LUNS INQUIRY READ CAPACITY Identical for FC and SAS

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 15 API for asynchronous event notification Same architecture, similar event classes, some common events API registers callback functions for any of several event classes Registrations remain until explicitly removed (or the application goes away). May register multiple callbacks for a class; they all get called for each occurrence. Caveat emptor. Callback function is called when an event in its class occurs Callback function receives event identity and a “token” from the registration call The token allows common handling of several event classes

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 16 What’s in SM-HBA-2 API for FC virtualization features Functions to create relationships among ports and phys May apply to reconfiguring port/phy assignment in SAS A place to keep host bus parameters (e.g., PCI address) API for SCSI Management Protocol operations Time and interest permitting, API for management of host security policy (note, this is not aimed at zoning, that’s considered fabric policy) SCSI key management would be within scope More flexible API for searching configuration (e.g., traverse relationships both ways, not just top-down)

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 17 Questions?

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 18 Backup material

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 19 API for Adapter configuration Common Adapter

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 20 API for Port configuration Common Port FC Port SAS Port

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 21 API for Phy configuration FC Phy SAS Phy

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 22 API for statistics FC phy statistics SAS phy statistics Protocol Statistics

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 23 API for discovered device management Target Mapping entry Target Mapping list Persistent Binding entry Persistent Binding list

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 24 API for Fabric/Domain management

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 25 API for Fabric/Domain management Example raw passthrough function Example structured passthrough function

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 26 API for SCSI discovery Example SCSI passthru function

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 27 API for asynchronous event notification

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 28 Here’s the trick for virtualizing FC Ports... FC Phy Phy index, speed, topology, physical attributes HBA HBA handle, manufacturer,model #, serial #, firmware version,..., # of Ports 10-n Port statistics traffic counters: frames, words Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations Phy statistics traffic counters: frames, words link error counters 1 1-n 1 0-n FC Port Port index, Port name, Port address, Fabric name,..., # of Phys=1 0-n 0-1 If the number of HBAs is zero, the number of FC Phys shall also be zero. FC Port Port index, Port name, Port ID, Fabric name,..., # of Phys=1 … 1 1-n 1 1

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 29...a tweak more for the PCI IOV guys... FC Phy Phy index, speed, topology, physical attributes HBA HBA handle, manufacturer,model #, serial #, firmware version,... # of Ports FC Port Port index, Port name, Port address, Fabric name,... # of Phys= n n Port statistics traffic counters: frames, words Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations Phy statistics traffic counters: frames, words link error counters Physical HBA PHBA index, manufacturer, model #, serial #, # Ports supported, # Phys, # HBAs 0-1 Bus Address variants for different standard buses n HBA HBA handle, manufacturer,model #, serial #, firmware version,..., # of Ports … 1

T10/07-221r0 - SAS/FC Common HBA API Nixon/Emulex 30...and finally, VSANs Fabric VF_ID, Fabric name, in-order delivery, … 0-n 0-1 FC Phy Phy index, speed, topology, physical attributes HBA HBA handle, manufacturer,model #, serial #, firmware version,... # of Ports FC Port Port index, Port name, Port address, Fabric name,... # of Phys= n n Port statistics traffic counters: frames, words Protocol statistics FC-4 TYPE, I/O counters: Input operations, output operations, control operations Phy statistics traffic counters: frames, words link error counters Physical HBA PHBA index, manufacturer, model #, serial #, # Ports supported, # Phys, # HBAs 0-1 Bus Address variants for different standard buses n