X3T9.2/87-157 Rev 2 Page 1 of 5 Date: August 30, 1987 Revised: October 25, 1987 Revised: October 28, 1987 To: X3T9.2 Working Group From: James McGrath Quantum Corporation 1804 McCarthy Blvd Milpitas, CA 93035 (408) 432-1100 Subject: Providing Initiators with Zoning (or Notched Drive) Information X3.T9.2/87-157, Revision 2 Currently constant linear density recording for DASD, referred to as "notched" or "zoned" drives, is a technology that yields a substantial gain in capacity at little cost. This technology requires a variable number of sectors per track (constant within a given zone) forces the drive to lie to the initiator concerning the contents of mode pages 2 and 3 (and possibly 1 and 7). Some way should be specified to allow the initiator to determine the value of these parameters. In the original proposal it was suggested that either the READ CAPACITY or the INQUIRY command could serve as a basis. But modifying either of these commands would cleanly support only the return of a limited amount of information per notch (e.g. sectors per track). In fact such things as the disconnect/reconnect parameters may differ (due to changing disk transfer rate), as well as the other format page parameters (e.g. track and cylinder skews). Thus the cleanest implementation would seem to be built upon the MODE SELECT/SENSE commands. How the notch number is specified depends upon the range of notches that must be supported. In theory the maximum number of notches a target can support is: N(max) = [S(od) - S(id)] where S(od) = number of sectors per track at the outer diameter of the DASD S(id) = number of sectors per track at the inner diameter of the DASD Already there are rumors of new products with 512 byte sectors and 50 notches. Nothing in the technology prevents the number of notches from exceeding 255 in the near future. However, there are good reasons to suppose that the number of notches will not exceed 4096 within the next several years. Thus while a one byte notch field would be insufficient, three nibbles might suffice. Unfortunately, specifying the notch number directly in the CDB presents a problem. The MODE SENSE command currently has only 12 RESERVED bits, and they are not contiguous (byte 1, bits 0 to 3; byte 3, bits 0 to 7). It does not seem wise to use up all of the RESERVED bits to support notched drives. While an extended, 10 byte MODE SELECT/SENSE command might be defined, a cleaner solution may be available. Page 2 of 5 The proposed solution is as follows. Define a "notch page" for DASD. The notch page contains both general information about the type of notching supported by the LU (if any) and a method to change the "active" notch. Whenever a MODE SENSE/SELECT is made to any page, the "face" that the target shall present to the initiator is that corresponding to the active notch. That is, while the page has the same format regardless of the active notch, the specific parameter values altered by the MODE SELECT and returned by a MODE SENSE may differ according to the active notch. This mechanism allows ANY mode page (including the notch page) information to be notch specific. This proposal restricts the notching scheme to be that defined by the target. Specifically, while the initiator is free to turn off notching or to change the characteristics of a notch (e.g. cylinder or track skew, sectors per track), it may not change those unchangable characteristics defined on the notch page. This is consistent with the constraints placed upon notching by such protocols as ESDI, and simplifies the notching mechanism. In addition, each notch must span a set of consecutive LBAs on the LU, the spans must be mutually disjoint, and their union must equal the span of LBAs for the entire LU. A special status bit is provided for quick recognition that notching is being done to support notched drives. For a given active notch the starting and ending boundaries are available (in either physical or logical format). Notches are numbered from 1 to the Maximum Number of Notches, with an active notch of zero referring to page parameters which are valid across notches. Since many mode page parameters do not have values that indicate the field is invalid, some method must be devised to indicate which page can contain different parameter values for different notches. A bit map is the suggested implementation. Finally, all saving operations only apply to the parameter values of the savable pages of the active notch, and apply to all parameter values of all savable pages if the active notch is zero. Delete the following sentence (first sentence of the paragraph just before table 8-14): Each page descriptor specifies parameters for the target to use for subsequent operations on the specified logical unit. Insert the following text before the paragraph just before table 8-14: If disk notches are not supported then each page descriptor specifies parameters for the target to use for subsequent operations on the specified logical unit. If disk notches are supported, then each page descriptor specifies parameters for the target to use for subsequent operations on the disk notch specified by the current value of the Active Notch parameter on the specified logical unit. Page 3 of 5 Insert the following text in tables 8-14 and 8-28: Page Code Description 11h LU Notch Insert the following text at the end of the section 8.1.4: ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 |Reserved|Reserved| Page Code (11h) | -----|-----------------------------------------------------------------------| 1 | Parameter Length (16h) | -----|-----------------------------------------------------------------------| 2 | PLP | ND | Reserved | -----|-----------------------------------------------------------------------| 3 | Reserved | -----|-----------------------------------------------------------------------| 4 | (MSB) | -----|--- Maximum Number of Notches ---| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | (MSB) | -----|--- Active Notch ---| 7 | (LSB) | -----|-----------------------------------------------------------------------| 8 | (MSB) | -----|--- ---| 9 | | -----|--- Starting Boundary ---| 10 | | -----|--- ---| 11 | (LSB) | -----|-----------------------------------------------------------------------| 12 | (MSB) | -----|--- ---| 13 | | -----|--- Ending Boundary ---| 14 | | -----|--- ---| 15 | (LSB) | -----|-----------------------------------------------------------------------| 16 | (MSB) | -----|--- ---| 17 | | -----|--- ---| 18 | | -----|--- ---| 19 | | -----|--- Pages Notched ---| 20 | | -----|--- ---| 21 | | -----|--- ---| 22 | | -----|--- ---| 23 | (LSB) | -----|-----------------------------------------------------------------------| Page 4 of 5 The PLP (Physical/Logical notch) bit is set if the notch boundaries are based on logical blocks of the LU. The bit is clear if the boundaries are based on physical parameters (the three most significant bytes being cylinder, the least significant being head) of the LU. The ND (Notched Drive) bit is set if notches designate notch boundaries on a notched DASD. The bit is clear if the DASD is not notched. If clear, the other parameters on this page have undefined values. The Maximum Number of Notches indicates the maximum number of notches supported by the LU. If the notching mechanism is not supported by this LU, then the value of zero shall be reported. In this case the values of all other parameters on this page shall be considered invalid. This field is accessible only via the MODE SENSE command, and shall be reported as unchangable. The Active Notch indicates that a MODE SELECT/SENSE command refers to the face of the mode pages associated with that notch. The value of the Active Notch shall be greater than or equal to 0 and less than or equal to the Maximum Number of Notches. An Active Notch value of zero implies that a subsequent MODE SELECT/SENSE command refers to the face of the mode page that is constant accross notches. The Starting Boundary indicates the beginning of the active notch or, if the active notch is zero, the LU. If the PLP bit is set, then the the four bytes represent an LBA address. If clear, then the three most significant bytes shall represent the cylinder number and the least significant byte shall represent the head number. This field is accessible only via the MODE SENSE command, and shall be reported as unchangable. The Ending Boundary indicates the ending of the active notch or, if the active notch is zero, the LU. If the PLP bit is set, then the the four bytes represent an LBA address. If clear, then the three most significant bytes shall represent the cylinder number and the least significant byte shall represent the head number. This field is accessible only via the MODE SENSE command, and shall be reported as unchangable. Page 5 of 5 Each notch must span a set of consecutive LBAs on the LU, the spans must be mutually disjoint, and their union must equal the span of LBAs for the entire LU. The Pages Notched indicates which mode page(s) contains parameters that may be different for different notches. If the sixty-four bits are numbered 0..3Fh, from the least significant bit to the most significant bit, then each bit corresponds to a mode page from 0..3Fh inclusive. If a bit is set, then the corresponding mode page may contain parameters that are different for different notches. If a bit is clear, then the corresponding mode page contains parameters which must hold constant accross all notches. This field is accessible only via the MODE SENSE command, and shall be reported as unchangable. Replace the sentence "A SP bit of one indicates that the target shall save to non-volatile memory all the savable parameters including any sent during the DATA OUT phase." with "A SP bit of one indicates that the target shall save to non-volatile memory all the savable parameters for the active notch,including any sent during the DATA OUT phase. If the value of the active notch is zero, then all savable parameters for all notches for the LU."