SOP Queuing Layer T10/11-127r0 SOP: Inbound & Outbound Queues

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

1  1998 Morgan Kaufmann Publishers Interfacing Processors and Peripherals.
Interrupts (contd..) Multiple I/O devices may be connected to the processor and the memory via a bus. Some or all of these devices may be capable of generating.
File Management Systems
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Anush Rengarajan Feng Zheng Thomas Madaelil
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Multicore Navigator: Queue Manager Subsystem (QMSS)
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
NETW 3005 I/O Systems. Reading For this lecture, you should have read Chapter 13 (Sections 1-4, 7). NETW3005 (Operating Systems) Lecture 10 - I/O Systems2.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
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.
Device Drivers CPU I/O Interface Device Driver DEVICECONTROL OPERATIONSDATA TRANSFER OPERATIONS Disk Seek to Sector, Track, Cyl. Seek Home Position.
Queues, Pipes and Sockets. QUEUE A structure with a series of data elements with the first element waiting for an operation Used when an element is not.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Module Introduction Purpose  This training module provides an overview of the peripherals.
Intro  Scratchpad rings and queues.  First – In – Firs – Out (FIFO) data structure.  Rings are fixed-sized, circular FIFO.  Queues not fixed-size.
Organisasi Sistem Komputer Materi VIII (Input Output)
Bus, Cache and shared memory. Bus System System bus of a computer system operates on contention basis Effective bandwidth available to each processor.
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.
New IP Drivers using drvIpac Module Driver:CANopen Carrier Driver:GPFC drvIpac ?? CANopen Tip810 CAN Tip810 mv162GPFCatc40vipc310vipc616 Module driver.
Direct Memory Access (DMA). DMA Features  7 independently configurable channels  Software programmable priorities: Very high, High, Medium or Low. 
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Disk Drive Architecture Exploration VisualSim Mirabilis Design.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #3 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
I/O Systems Shmuel Wimer prepared and instructed by
Department of Computer Science and Engineering
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.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Advanced Technology Attachment
CS703 - Advanced Operating Systems
Management Frame Policy Definition
EE 445S Real-Time Digital Signal Processing Lab Spring 2017
SCSI over PCI Express (SOP) use cases
SOP Administrator Queue
PQI vs. NVMe® Queuing Comparison
SOP, PQI and NVMe Relationship in Host Driver Stack
Structure of Processes
CSCI 315 Operating Systems Design
Chapter 11: File System Implementation
Operating System Concepts
SCSI over PCI Express convergence
Computer System Overview
ONL Stats Engine David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
I/O Systems I/O Hardware Application I/O Interface
Operating Systems Chapter 5: Input/Output Management
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
ATA over internet.
EE 445S Real-Time Digital Signal Processing Lab Fall 2013
Midterm review: closed book multiple choice chapters 1 to 9
Robert Moskowitz, Verizon
Implementing an OpenFlow Switch on the NetFPGA platform
SOP: Tags, Size and scope
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Management Frame Policy Definition
Lecture 23.
Ch 17 - Binding Protocol Addresses
Large data arrays processing on Cell Broadband Engine
Chapter 13: I/O Systems.
Mr. M. D. Jamadar Assistant Professor
Module 12: I/O Systems I/O hardwared Application I/O Interface
Virtual Memory 1 1.
Presentation transcript:

SOP Queuing Layer T10/11-127r0 SOP: Inbound & Outbound Queues Tim Symons, PMC-Sierra (Tim_Symons@pmc-sierra.com), Ie-Wei Njoo, PMC-Sierra (IeWei_Njoo@pmc-sierra.com), and Neil Wanamaker, PMC-Sierra (Neil_Wanamaker@pmc-sierra.com) 8 March,2011 T10/11-127r0 SOP: Inbound & Outbound Queues

Inbound – the direction from the host to the controller Definitions Inbound – the direction from the host to the controller IQ – Inbound Queue Outbound – the direction from the controller to the host OQ – Outbound Queue IU – Information Unit The unit of information where the SOP requests, responses and events are transferred Represented by one or more queue element(s) T10/11-127r0 SOP: Inbound & Outbound Queues

Circular Queue Mechanics Circular queues are arrays in host memory with two associated indices, a Producer Index (PI) and a Consumer Index (CI). The queue is empty when the PI and CI are equal. The queue is full when the PI is exactly one position behind the CI. Unidirectional Handshaking via posted writes only PI resides in consumer space and is cached by producer CI resides in producer space and is cached by consumer T10/11-127r0 SOP: Inbound & Outbound Queues

Inbound Queue (IQ) and Outbound Queue (OQ) Example Host prepares request IU using the IQ element Host increments IQPI in controller Controller consumes request IU Controller increments IQCI in host Outbound Queue Controller prepares and DMAs response IU to the OQ element Controller increments OQPI in host Controller triggers interrupt to host Host consumes response IU Host increments OQCI in controller T10/11-127r0 SOP: Inbound & Outbound Queues

Administrator Queue Operational Queue Queue Types Management of the controller functionalities Initialized using the controller register set One administrator IQ One administrator OQ Highest priority Create operational queues Operational Queue SCSI operations Compact IU Extended IU X:Y ratio of IQs and OQs Initiator mode and target mode Configurable: Priority Queue element size Number of queue elements T10/11-127r0 SOP: Inbound & Outbound Queues

Queue Element Size vs. IU Size One queue element for one IU Multiple queue elements for one IU Additional reference to other memory

IU Header Byte\ Bit 7 6 5 4 3 2 1 IU TYPE OBID COMMAND PRIORITY CHAINING COUNT OPC IU specific content … n The IU TYPE specifies the type of IU in the queue: administrator, SCSI initiator, SCSI target, events, etc. The OBID field specifies the Outbound Queue ID where controller sends the response/event to. The CHAINING COUNT field specifies the number of queue elements used by the IU/operation. The COMMAND PRIORITY field is defined in SAM-5 Command Priority. The OPC field specifies the command, response or event code that the function. T10/11-127r0 SOP: Inbound & Outbound Queues

Inbound-Outbound Message Mapping Multiple Queues per direction Minimum one IQ and one OQ Host selects the Inbound Queue to post any message to. No requirements imposed by controller Host may want to map COMMAND PRIORITY with the corresponding Inbound Queue QUEUE PRIORITY The Inbound Message header allows the host to specify the Outbound Queue ID (OQID) to be used for posting any response IUs Asynchronous events (including target mode, hot plug) are mapped to a specific Outbound Queue configured by administrator function during host driver initialization T10/11-127r0 SOP: Inbound & Outbound Queues

T10/11-127r0 SOP: Inbound & Outbound Queues