23
John Cedillo Sr. Marketing Manager [email protected] om Eric McLaughlin Director, Engineering eric.mclaughlin@emulex .com OneCore Storage SDK 3.6 Roll-out and Walkthrough

First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 1: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

John CedilloSr. Marketing Manager

[email protected]

Eric McLaughlinDirector, Engineering

[email protected]

OneCore Storage SDK 3.6 Roll-out and Walkthrough

Page 2: First Look Webcast: 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

Page 3: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 4: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 5: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 6: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

Overview

Page 7: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 8: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

3.6 Features &SDK Roadmap

Page 9: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 10: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 11: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

Driver ArchitectureOverview

Page 12: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

12© 2013 Emulex Corporation

OneCore Storage SDKKernel Driver Block Diagram

Page 13: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 14: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 15: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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.

Page 16: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

16© 2013 Emulex Corporation

OneCore Storage SDKBack-End Support

Page 17: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

17© 2013 Emulex Corporation

OneCore Storage SDKLinux User-Space FC/FCoE Driver Block Diagram

Page 18: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

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

Page 19: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

API Walk-Through

Page 20: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

20© 2013 Emulex Corporation

OneCore Storage SDK API Walk-Through

Documentation Dashboard

Page 21: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

Q&A

Page 23: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough

23© 2013 Emulex Corporation