SOP, PQI and NVMe Relationship in Host Driver Stack

Slides:



Advertisements
Similar presentations
IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Advertisements

Device Virtualization Architecture
Allocation Methods - Contiguous
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Chapter 9 Classification And Forwarding. Outline.
Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation.
Disk and I/O Management
TM Freescale, the Freescale logo, AltiVec, C-5, CodeTest, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of.
iSCSI Management and Tuning Shiv Rajpal Senior Development Lead Device and Storage Technologies
May 17, USB2.0 Host Controller John S. Howard Staff Engineer Intel Architecture Labs Intel Corporation.
OpenCL Introduction A TECHNICAL REVIEW LU OCT
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
Typical Software Documents with an emphasis on writing proposals.
How to Add WMI Interfaces to SCSIPort and Storport Miniports
An Introduction to Software Architecture
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
ATA Miniport Nuts and Bolts
Software Requirements Engineering CSE 305 Lecture-2.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 11 User Datagram Protocol (UDP)
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
Ethernet Driver Changes for NET+OS V5.1. Design Changes Resides in bsp\devices\ethernet directory. Source code broken into more C files. Native driver.
E X C E E D I N G E X P E C T A T I O N S OP SYS Linux System Administration Dr. Hoganson Kennesaw State University Operating Systems Functions of an operating.
Proposed Debugger Features Ken Ryall Warren Paul.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
2003 Dominic Swayne1 Microsoft Disk Operating System and PC DOS CS-550-1: Operating Systems Fall 2003 Dominic Swayne.
Monitor- ing, Basic IP Header Proc., Packet Classi- fication and Routing APIC Driver Rcv Side APIC Plugin Ctl. Unit... Resource Controller... Rcv Input.
Installing a Network Printer. Network printers work much like any other printer except the data flow is through a network. This means the printer must.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 VLAN Trunking Protocol Cisco Networking Academy.
Source Controller software Ianos Schmidt The University of Iowa.
© 2006 EMC Corporation. All rights reserved. The Host Environment Module 2.1.
Bob “GRIZZY” Griswold Senior Program Manager, WHEG Microsoft Corporation.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
How to Write an ATAport Miniport
Technical Overview of Microsoft’s NetDMA Architecture Rade Trimceski Program Manager Windows Networking & Devices Microsoft Corporation.
Direct Memory Access (DMA) Department of Computer Engineering, M.S.P.V.L. Polytechnic College, Pavoorchatram. A Presentation On.
Under the Hood with NVMe over Fabrics
DPACC Metadata Revised 2016/4/6. Table of Contents Motivation Information Elements Data representation Convergence discussion for IFA004.
J. Halpern (Ericsson), C. Pignataro (Cisco)
The Post Windows Operating System
Translation Lookaside Buffer
Kernel Design & Implementation
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Computer architecture and computer organization
IEEE 802 OmniRAN EC SG July 2013 Conclusion
Fabric Interfaces Architecture – v4
SOP Administrator Queue
PQI vs. NVMe® Queuing Comparison
SCSI over PCI Express convergence
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
SOP Queuing Layer T10/11-127r0 SOP: Inbound & Outbound Queues
Operating System Concepts
ATA over internet.
NVMHCI Workgroup and T10 Collaboration Proposal
Translation Lookaside Buffer
SOP: Tags, Size and scope
An Introduction to Software Architecture
Coexistence of CMs with different decision making algorithms
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Java Programming Introduction
NVMe.
Network Diagnostics Framework
November 26th, 2018 Prof. Ion Stoica
Module 12: I/O Systems I/O hardwared Application I/O Interface
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.
Introduction to Classes and Objects
Presentation transcript:

SOP, PQI and NVMe Relationship in Host Driver Stack Ie-Wei Njoo, PMC-Sierra (IeWei_Njoo@pmc-sierra.com) 20 May, 2011

Reference and acknowledgement Microsoft Windows is a registered trademark of Microsoft Corporation All references to PQI descriptions are based on PQI draft proposal T10/11-157r6 All references to SOP descriptions are based on SOP draft proposal T10/11-158r4

Introduction Discuss on the impact of HW differences in PQI and NVMe in the host driver stack Example diagrams are presented to clarify the related items in the context of a host driver A Windows Storport miniport is used as an example Focus on delineation between SOP, queuing layer and other part of miniport driver No detail Windows driver: SRB, SRB extension, LU Extension, CARD extension, etc. Skip some detail such as memory location, I/O flow and initialization Discuss some of the gray areas that may be classified as either part of SOP specification, or PQI specification (include future NVMe specification) the circular queue indices who allocates of additional buffer for response data chaining count wrapper-around condition of circular queue whether or not SOP would need administrator commands that are related to queuing (such as queue hinting)

Current Goal and Assumption Focus on location of definitions The example diagram does not preclude the driver writer from creating a combo driver that work with both PQI and NVMe based hardware. But it is not the goal of the PQI/SOP specification to assume that a combo driver shall be written, resulting with a single SOP driver that work with both PQI and NVMe HW.

Option 2 - Not Current Goal Diagram

Option 2 - Not Current Goal Additional description This option is not optimized for performance Required translation in every I/O Require additional SOP IU definitions for administrator and configuration functions Require additional works in defining the SW driver interfaces Complexity in designating the owner the SOP driver Add more compatibility requirement for SOP supporting different PQI/NVMe HWs A larger scope of project

Current model- some observation Part 1 of 2 All IU (including SOP IU) may need a queuing specific header to allow SOP module to be written to work on both PQI and NVMe Allow queuing differences to be encapsulated to the queuing layer header SOP is not aware of circular queue wrapped-around condition, nor it is aware of the circular queue indexes (PQI PI/CI and NVMe head/tail) All memory allocation related to queuing is defined by the queuing layer and allocated by miniport during initialization All memory allocation and initialization of the data descriptor (SGL and PRP) defined by the queuing layer and allocated and initialized during I/O by miniport driver The SOP data descriptor is written in native SGL/PRD format by the driver, no translation during I/O

Current model- some observation Part 2 of 2 All additional memory for additional response data could be defined by either the queuing layer or SOP Could be specified by PQI as index based physical address in SOP IU Could be part of SOP IU definition specified as response data physical address in SOP IU The queue hinting (hinting the HW for queues that are likely to be used for fast path, for performance optimization) could either defined in SOP or PQI May be part of PQI as part of the queue initialization May be more consistent with the current scope of PQI (see diagram in slide 4) May be part of SOP, but it would require SOP administrator function to manage additional queue properties