Date: January 24, 1992 X3T9.2/92-19R1 To: X3T9.2 Membership From: Lawrence J. Lamers, X3T9.2 Secretary George Penokie, Chair Queuing Working Group Subject: January 13, 1992 Queuing Working Group Meeting Minutes George Penokie called the meeting to order at 6:00 p.m. January 13, 1991. He thanked Patrick Savage of Shell Corporation for hosting the meeting. The final agenda was as follows: 1. SCSI-3 Queuing [Penokie] (91-098R2) 2. CA Clearing Commands (92-012) [Williams] 3. Conflicting Statement on CA and Queue Suspension (92-013) [Williams] 4. Previewing Linked Commands in SCSI-3 (92-014) [Gardner] 5. The Meaning of Linked Commands in SCSI-3 (92-015) [Gardner] 66. Meeting Schedule 7. Adjournment The following people attended the meeting: Name Status Organization ------------------------------ ------ ------------------------------ Mr. Thomas Newman P Adaptec, Inc. Mr. Scott Smyers P Apple Computer Mr. Robert Brown V Areal Technology Mr. Joe Chen P Cirrus Logic Inc. Mr. Stephen R. Cornaby P Conner Peripherals Mr. John A. Gallant A Digital Equipment Corp. Mr. Edward A. Gardner A Digital Equipment Corp. Mr. Skip Jones A Emulex Corp. Mr. I. Dal Allan P ENDL Mr. Kurt Chan P Hewlett Packard Co. Mr. Jeffrey L. Williams A Hewlett Packard Co. Mr. George Penokie P IBM Corp. Mr. Giles Frazier S IBM Corp. Mr. Larry Grasso S IBM Corp. Mr. Thomas Forrer V IBM Corp. Mr. Lawrence J. Lamers P Maxtor Corp. Mr. John Lohmeyer P NCR Corp. Mr. Stephen F. Heil A Panasonic Technologies, Inc Mr. James McGrath P Quantum Corp. Mr. Steve Kennedy O Quantum Corp. Mr. Gene Milligan A Seagate Technology Mr. Vit Novak O Sun Microsystems, Inc. Mr. Ricardo Dominguez P Texas Instruments 23 People Present Status Key: P - Principal Member A - Alternate Member L - Liaison O - Observer S,V - Visitor Results of Meeting 1. SCSI-3 Queuing [Penokie] (91-098R2) George Penokie presented a complete re-write of the SCSI-3 Queuing model. The impetus for this was an E-mail from Dal Allan, a long conversation with Bob Snively, and deep contemplative soul searching as only can be done in Minnesota in the winter. The '92 model introduces the chain concept to tagged queuing. Read document 91-098 R2 very carefully. There is a great deal of meaning in each line. * A chain of 1 is a single I/O process. * Only the initiator can clear the queue. * The target may clear a chain if an error occurs. Several suggestions were made. One was to add a bit to freeze the queue of a LUN for all initiators. Problems in a multi-initiator environment with update of file structure data were cited. Commands are ordered by time of arrival at target, not the time of generation in host. The problems are more severe if there are parallel queues instead of a single queue. The age old debate of who is responsible for data integrity arose again. The issue gets confused by the lax use of terminology. The best summation of the committee position is: The peripheral device is responsible for data integrity, however the host system is responsible for file system integrity. This may seem like an obvious point, however when folks start talking about storage devices that do not guarantee data integrity every one gets nervous. It is very clear though that a peripheral device with no knowledge of the operating system or file structure cannot prevent a host from corrupting the file structures that it is storing. The debate on flavors of queuing raged on, and on, and on. George wanted to let it run its course and thereby reach some consensus on the model. He concluded that there are three models of queuing: the brick (SCSI-2), the one way brick (DEC SCSI-3) and the per initiator brick (IBM SCSI-3). The brick is the affectionate term applied to the ORDERED QUEUE TAG message. In SCSI-2 an ORDERED QUEUE TAG message froze the queue, and since there is conceptually only one queue, all I/O processes are stopped. The one-way brick allows SIMPLE QUEUE TAG I/O processes to move up the queue ahead of ORDERED QUEUE TAG I/O processes. All ordered processes are completed in order. The per-initiator brick is a multiple queue model, and an ORDERED QUEUE TAG only applies to that initiator. George took a straw poll on the question of a one-way diode message upward (the one-way brick approach) The results were almost evenly split between those in favor and those opposed. One splinter concept put forward was to have a mode of tagged operation: ordered or simple. The thought of more mode parameters quickly drove everyone away from this. The time was now advancing close to the hour of 9 and starvation forced reality to intrude on this wonderful free for all. George asked "What is it that we really want queuing to do for us?". The unanimous response was to maximize performance of the target without disturbing integrity of host. This translates into the target can do anything it wants until an exception condition arises and then the host wants absolute control. This is such a simple concept that the beauty of it may be overlooked. It does not deny that a set of rules (protocol) needs to be established to deal with exception conditions. However, most of the baggage surrounding queuing can be eliminated. This allows manufacturers of storage devices the best opportunity to provide customers with high- performance products. The host side folks (Apple, DEC, IBM, HP) plan to get together and draft an initiator side requirements that express the desirable features of a device that queues commands. One interesting note, only the UNIX operating system currently queues commands. There are a lot of plans to use command queuing, but it still has a long way to go to get real market penetration. 2. CA Clearing Commands (92-012) [Williams] This document dealt with a clarification of SCSI-2 and as such will be dealt with at the general working group meeting. 3. Conflicting Statement on CA and Queue Suspension (92-013) [Williams] This document dealt with a clarification of SCSI-2 and as such will be dealt with at the general working group meeting. 4. Previewing Linked Commands in SCSI-3 (92-014) [Gardner] This document was not dealt with due to insufficient meeting time. 5. The Meaning of Linked Commands in SCSI-3 (92-015) [Gardner] This document was not dealt with due to insufficient meeting time. 6. Meeting Schedule The Queuing Working Group meeting for February is on Monday, February 17, 1992 at 6:00 pm at the Doubletree Hotel in Austin, TX. The Queuing Working Group meeting for March is on Monday, March 16, 1992 at 5:00 pm at the Humphries Half Moon Inn in San Diego, CA. 7. Adjournment The meeting adjourned at 9:30 pm.