Download presentation
Presentation is loading. Please wait.
Published byRatna Tanudjaja Modified over 6 years ago
1
SOP Queuing Layer T10/11-127r0 SOP: Inbound & Outbound Queues
Tim Symons, PMC-Sierra Ie-Wei Njoo, PMC-Sierra and Neil Wanamaker, PMC-Sierra 8 March,2011 T10/11-127r0 SOP: Inbound & Outbound Queues
2
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
3
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
4
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
5
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
6
Queue Element Size vs. IU Size
One queue element for one IU Multiple queue elements for one IU Additional reference to other memory
7
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
8
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
9
T10/11-127r0 SOP: Inbound & Outbound Queues
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.