Upload
emulex-corporation
View
351
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Technological innovations are driving a wave of embedded solutions, such as sophisticated solid state disk (SSD) storage products, networks appliances, backup engines, and storage arrays. To meet the needs of these applications, Emulex has developed a comprehensive set of reference drivers to accelerate the development of feature-rich products and solutions based on Emulex connectivity technology. These slides for this webcast focus on the following: Outline the latest features and enhancements of the OneCore Storage 3.6 release Provide a walkthrough of our HTML-based driver development documentation Discuss upcoming SDK release features Cover the most common questions fielded by our Development team
Citation preview
John CedilloSr. Marketing Manager
Eric McLaughlinDirector, Engineering
OneCore Storage SDK 3.6 Roll-out and Walkthrough
2© 2013 Emulex Corporation
Webcast Agenda
Getting Clear
OneCore Storage SDK Overview
OneCore Storage SDK 3.6 Features and Roadmap
Driver Architecture Overview
OneCore Storage SDK API Walk-Through
Questions
Prize Drawing
3© 2013 Emulex Corporation
Accelerate Time to Market of Storage SolutionsOneCore Storage Software Developer Kit
The Preferred Platform
PCIe 3.0 16GFC Adapters
1200K IOPS 1,2,4 Ports Converged-Fabric
(10GbE/16GFC Capable)
Advanced Features
Device Driver Source Code
Initiator and Target Drivers
Linux FC, FCoE and iSCSI reference drivers
FreeBSD FC/FCoE reference drivers
NPIV and T10-PI Advanced Features
ExtensiveDocumentation
Reference manual, quick start guide, and release notes
Utility reference guide
SLI-4 architecture spec
Protocol and adapter management command guides
Training and Support
Online developer’s portal
Online training modules, and support forum
Access to dedicated application engineer through support forum
4© 2013 Emulex Corporation
Optimal Performance The Platform of Choice
~12 Million Ports InstalledEmulex Engine (XE) 201 Converged Fabric Controller
8GFC, 16GFC, 10GbE, FCoE, and iSCSI connectivity
Rock-solid reliability >10 million hours MTBF 10% improvement in thermal
characteristics
1.2 Million IOPS PCIe 3.0 with backward
compatibility to PCIe 2.0 Cuts Latency by 75% T10 PI offload NPIV support
10th Generation FC HBA 76% market share
Awarded Every 16GFC Design-in to Date
Ultimate in deployment flexibility Cloud scalability
More Than Just Incredible Performance!
Getting Clear –The Preferred Enterprise Development Platform
5© 2013 Emulex Corporation
The fastest generally available 16GFC HBA*
Delivers 11x better CPU utilization*
Delivers 7x IOPS performance*
Rock-solid enterprise reliability; highest published MTBF*
11x more server energy efficient; IOPS per server watt*
124% faster Oracle Database performance*
137% faster Microsoft SQL Server performance*
4.6x faster in 8GFC mode*
*Demartek Emulex LPe16000B 16 Gb Fibre Channel HBA Feature Comparison, December 2012
Getting Clear –The Preferred Enterprise Development Platform
Overview
7© 2013 Emulex Corporation
OneCore Storage SDK Highlights
OneCore Storage SDK provides a common driver framework for:– All Emulex SLI-4 product platforms (XE201*, XE4310R, and future platforms)– All the Storage Protocols (FC, FCoE and iSCSI)
OneCore Storage SDK replaces:– The Emulex iSCSI TDK
– The Emulex FC TM SDK
OneCore Storage SDK is on its 3rd Major Release– Over a dozen Storage OEM customers
– Even more Development Portal customers
OneCore Storage drivers can shorten development time in a number of ways:
– Use “as-is” with a standard or custom Back-end interface
– Leverage components of the driver as building blocks for your driver
– Use as reference code along with the Emulex SLI-4 specifications to write your own driver
* The XE201 is capable of Fibre Channel and Ethernet
3.6 Features &SDK Roadmap
9© 2013 Emulex Corporation
OneCore Storage SDK 3.6Features and Hardware Support
Linux FC/FCoE• RHEL 6.3• Target and Initiator Support• ELX RAMD• T10-PI• NPIV• High-Login Mode• SCST (Tech Preview)• User-Space Driver (Tech Preview)
Linux iSCSI • RHEL 6.3• Target Support• ELX RAMD• iSCSI Level 0 ER
BSD FC/FCoE• FreeBSD 9.1• CAM Initiator and Target Support• CAM Target Layer (CTL) w/ block, file,
etc.• camcontrol and ctladm support• ELX RAMD• T10-PI (ELX RAMD)
Management• New Management API• elxsdkutil reference utility (BSD/Linux)
HW Support• XE201*, XE4310R
* The XE201 is capable of Fibre Channel and Ethernet
10© 2013 Emulex Corporation
OneCore Storage SDK Roadmap 2013
3.6.x ReleaseCQ1
4.0 ReleaseCQ2
5.0 ReleaseCQ4
Linux FC/FCoE (RHEL 6.3)• Target and Initiator Support• T10-PI• NPIV• High-Login Mode• SCST (Tech Preview)• User-Space Driver (Tech Preview)
Linux iSCSI (RHEL 6.3)• Target Support• iSCSI Level 0 ER
BSD FC/FCoE (FreeBSD 9.1)• CAM Initiator and Target Support• CAM Target Layer (CTL) w/ block,
file, etc.• camcontrol and ctladm support• T10-PI (ELX RAMD)
Management
• elxsdkutil ref utility (BSD/Linux)
HW Support• XE201*, XE4310R
Linux FC/FCoE • RHEL 6.4• SCST Support• User-Space Driver• XE201 FCoE Support• LIO Support (Tech Preview)
Linux iSCSI • RHEL 6.4• SCST Support• Initiator Support• User-Space Driver
BSD FC/FCoE (FreeBSD 9.1)• XE201 FCoE Support
Management• CIM Provider
HW Support• XE201, XE4310R
Linux FC/FCoE (RHEL 6.4)• LIO Support• FC-Tape Support
Linux iSCSI (RHEL 6.4)• LIO Support• T10-PI• CHAP• MC/S
BSD FC/FCoE• FreeBSD 9.2
Management• Skyhawk Support
• Core Dump• Configurability
(iSCSI/FCoE/NIC)
HW Support• XE201, XE4310R, and Next Gen
Platforms
Customer Requested Features
* The XE201 is capable of Fibre Channel and Ethernet
Driver ArchitectureOverview
12© 2013 Emulex Corporation
OneCore Storage SDKKernel Driver Block Diagram
13© 2013 Emulex Corporation
OneCore Storage SDKDriver Components
Service Level Interface 4 (SLI-4)– The SLI-4 component implements the commands and processing defined by the SLI-
4 Architecture Specification, SLI-4 FC and FCoE Command Reference, and the SLI-4 iSCSI Command Reference
– The SLI-4 component provides a lightly-abstracted application programming interface (API) that enables access to the device hardware without enforcing a specific policy
Hardware Abstraction Layer (HAL)– The HAL component provides an abstracted interface to the SLI-4 component to
perform common operations, such as, port initialization, shutdown, and I/O - these operations can be performed without having to know the semantics of the SLI-4 interface
– The HAL component also provides APIs for port and node management, command and event processing, as well as I/O handling
Transport– The transport components provide protocol-specific and general transport handling– The FC/FCoE transport sub-component includes discovery, logins and BLS/ELS
handling– The iSCSI transport sub-component includes connection establishment, connection
offload and session management
14© 2013 Emulex Corporation
OneCore Storage SDKDriver Components (Continued)
SCSI API– Part of the Transport layer– Provides a SCSI-like API for back-end initiator and target connectivity– Common across all three storage protocols (FC, FCoE, and iSCSI)– Includes APIs for sending/receiving SCSI commands and TMFs,
sending/receiving data and SCSI status, as well as aborting I/O
Operating System– Provides the OS services required by the OneCore Storage driver through an
OS-independent API– Separate component are provided for Linux, FreeBSD, and User-Space drivers– Functionality includes:
• Memory allocation, free, and cache coherency
• Locking for concurrency protection
• Linked list creation and handling
• OS-specific PCI driver entry points and MSI-x/INTx interrupt handling
15© 2013 Emulex Corporation
OneCore Storage SDKDriver Common Objects
The OneCore Storage Driver Common objects provide a mechanism through which the various OCS driver components share and track information. These data structures are primarily used to track SLI component information, but can be extended by other components, if needed. The main objects are:
Domain – The ocs_domain_t object represents the SCSI domain, including any infrastructure devices such as FC switches and FC forwarders. The domain object contains both an FCFI and a VFI.
SLI Port – The ocs_sport_t object represents the connection between the driver and the SCSI domain. The SLI Port object contains a VPI (virtual port indicator).
Remote Node – The ocs_node_t represents a connection between the SLI Port and another device in the SCSI domain. The node object contains an RPI (remote port indicator)
DMA – The ocs_dma_t object describes a memory region capable of performing direct memory access (DMA) transactions.
16© 2013 Emulex Corporation
OneCore Storage SDKBack-End Support
17© 2013 Emulex Corporation
OneCore Storage SDKLinux User-Space FC/FCoE Driver Block Diagram
18© 2013 Emulex Corporation
OneCore Storage SDKLinux User-Space FC/FCoE Driver Overview
The Linux User-Space FC/FCoE Driver is composed of three components:
– Kernel Module – Common Linux FC/FCoE Front-End Components (same as kernel driver)– Emulex RAMD (same as kernel driver)
Kernel Module (ocs_uspace.ko)– The User-Space driver includes a small kernel module (ocs_uspace.ko) that
provides access to PCI resources, DMA buffer management, etc.– The Kernel module functionality includes:
• Read/Write PCI configuration space registers
• Read/Write per PCI function BAR memory regions
• Mapping of per PCI function BAR memory regions to user space
• Allocation and freeing of kernel resident DMA buffers and mapping buffers to user space.
• DMA buffer synchronization (maintaining cache coherency)
• Wait on interrupt
API Walk-Through
20© 2013 Emulex Corporation
OneCore Storage SDK API Walk-Through
Documentation Dashboard
Q&A
22© 2013 Emulex Corporation
OneCore Storage SDK Resources
Product Page
White Paper
Developer Portal
Data Sheet
23© 2013 Emulex Corporation