![Page 1: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/1.jpg)
John CedilloSr. Marketing Manager
Eric McLaughlinDirector, Engineering
OneCore Storage SDK 3.6 Roll-out and Walkthrough
![Page 2: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/6.jpg)
Overview
![Page 7: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/8.jpg)
3.6 Features &SDK Roadmap
![Page 9: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/11.jpg)
Driver ArchitectureOverview
![Page 12: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/12.jpg)
12© 2013 Emulex Corporation
OneCore Storage SDKKernel Driver Block Diagram
![Page 13: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/16.jpg)
16© 2013 Emulex Corporation
OneCore Storage SDKBack-End Support
![Page 17: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/19.jpg)
API Walk-Through
![Page 20: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/21.jpg)
Q&A
![Page 22: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/22.jpg)
22© 2013 Emulex Corporation
OneCore Storage SDK Resources
Product Page
White Paper
Developer Portal
Data Sheet
![Page 23: First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough](https://reader035.vdocuments.us/reader035/viewer/2022070304/54ba26124a7959742c8b478c/html5/thumbnails/23.jpg)
23© 2013 Emulex Corporation