From: "Elliott, Robert (Server Storage)" <Elliott@hp.com> To: "t10@t10.org" <t10@t10.org> Date: Mon, 28 Jan 2008 02:48:11 +0000 Subject: RE: SMP frame - issue with maximum number of valid data bytes X-Message-Number: 8484 Formatted message: HTML-formatted message We don't really use "fill bytes" in SMP, since the request and response frames are always defined as containing structures that are multiples of 4 bytes. The only one that does not do so is the ZONED BROADCAST request, but it already defines a "PAD" field on its own to round up to a multiple of 4 bytes. Removing the "fill bytes" concept would be a good letter ballot comment on sas2r14. -- Rob Elliott, elliott@hp.com Hewlett-Packard Industry Standard Server Storage Advanced Technology ________________________________ From: owner-t10@t10.org [mailto:owner-t10@t10.org] On Behalf Of Rich Deglin Sent: Thursday, January 24, 2008 7:32 PM To: t10@t10.org Subject: SMP frame - issue with maximum number of valid data bytes SAS 2 (r13) section 9.4.3, I think, clearly shows that a maximum length SMP RESPONSE frame consists of the following: 1 byte FRAME TYPE 1024 bytes RESPONSE BYTES 3 fill bytes 4 bytes CRC In my reading of this section, this means that an SMP RESPONSE frame with a maximum length RESPONSE BYTES field has NO MORE THAN 1025 valid data bytes plus 3 fill bytes plus 4 CRC bytes = 1032 total bytes. The "header" mentioned in section 10.4.3.2 is not shown here. Section 10.4.3.2 conflicts with this. It states that a maximum length SMP RESPONSE frame consists of the following: 1 byte FRAME TYPE 1 byte FUNCTION 1 byte FUNCTION RESULT 1 byte RESPONSE LENGTH 1024 bytes RESPONSE BYTES 0 fill bytes 4 bytes CRC In my reading of this section, this means that an SMP RESPONSE frame with a maximum length RESPONSE BYTES field has EXACTLY 1028 valid data bytes plus 0 fill bytes plus 4 CRC bytes = 1032 total bytes. A 4 byte "header" is mentioned in the text of this section but is not explicitly defined, which I would contend is an oversight in the document. The SMP REQUEST frame descriptions demonstrate the same issue. Please explain the apparent conflict. If there is a real problem here in the spec, is a proposal necessary to correct it? Also note that the same issues exist in the SAS 1.1 spec, but I am guessing that no problems occurred in practice, due to the fact that the lengths of the SAS 1.1 defined SMP REQUESTs and RESPONSEs do not get anywhere near the limits.