Subject: Re: Read Disc Structure - Format Code FFh - Structure length ambiguity
To: mtfuji5@avc-pioneer.com
Cc: <t10@t10.org>
From: keiji_katata@post.pioneer.co.jp
Date: Fri, 22 Feb 2008 15:04:34 +0900
X-Message-Number: 8545
Attachment #1: pic21726.pcx
Attachment #2: pic14771.pcx
Hi Mike,
We discussed this issue in February meeting. Then we concluded as follows.
Mark the Structure Length field as obsolete. With notes that explain the
history
and method to obtain the actual transferred data of the specific format code.
Host may issue Read Disc Structure command with a Format Code to read 4 bytes
data to drive. Drive will send a Read Disc Structure Header (4 bytes long)
that
has actual value in Data Structure length field.
I will make a proposal to mark obsolete the field then we will take a vote in
March meeting. If you have a comment, please send it to reflector.
Best regards,
Keiji Katata
PIONEER CORP.
"Mike Berhan" <mikeb@bustrace.com>@avc-pioneer.com on 2008/02/01 04:02:36
mtfuji5@avc-pioneer.com$B$KJV?.$7$F$/$@$5$$(B
$BAw?.<T(B: owner-mtfuji5@avc-pioneer.com
$B08@h(B: <mtfuji5@avc-pioneer.com>, <t10@t10.org>
cc:
bcc:
$B7oL>(B: Read Disc Structure - Format Code FFh - Structure length
ambiguity
The Read Disc Structure $B!>(B Format Code FFh CDB (MMC / Mt. Fuji devices)
allows
software to retrieve the supported disc structures. Each structure list
entry
is four bytes in length and looks like this:
(Embedded image moved to file: pic21726.pcx)
The $B!H(BStructure Length$B!I(B is defined in Mt. Fuji 7 and MMC as:
The Structure Length field shall specify the length of the DISC STRUCTURE
data
that is identified by the Format Code.
Each disc structure is preceded by a four byte header. For example, using
the
above $B!H(BPhysical Format Information,$B!I(B a device could return:
(Embedded image moved to file: pic14771.pcx)
Note that offset 0-1 shows 0802h as the $B!H(BData Structure
Length$B!I(B. When you
retrieve the length from the capability list (topmost example), the drive
returns 0800h. The 0802h adds two bytes for the two additional bytes in the
header (typical length scheme used in all the t10 specifications).
Here is the problem. In the capability list, what exactly is the
$B!H(BStructure
Length?$B!I(B I have drives from various vendors that all handle this
differently.
They use one of the following three methods. Each can argue that they meet
the
requirement of The Structure Length field shall specify the length of the
DISC
STRUCTURE data that is identified by the Format Code:
1. Method #1: The drive returns the length of the structure not
including any header bytes (as you see in the above example). For
fixed
length structures, this value would be two bytes less than the value
that
is returned in the structure header.
2. Method #2: The drive returns the same value as in the
structure
header. In other words, the $B!H(BStructure Length$B!I(B equals
the $B!H(BData Structure
Length$B!I(B. Technically, this value is two bytes larger than the
actual disc
structure (i.e. those two reserved bytes after the Data Structure
Length).
3. Method #3: The drive returns the length of the structure
INCLUDING the four byte header. For fixed length structures, this
value
would be two bytes more than what is returned in the structure header.
While I find the specification not clear on this point, I do believe that
Method
#1 is the most technically accurate (i.e. not including the header bytes in
the
count).
This confusion comes from the specification leaving room for interpretation
on
how to handle this (both Mt. Fuji and MMC). Katata-san, can you clarify what
was intended with the specification and also have the next draft
specification
address this issue? Thank you.
-------
Mike Berhan
busTRACE Technologies
9700 Village Center Drive
Suite 50-F
Granite Bay, CA 95746
916.773.4554 phone
916.218.6283 fax
http://www.bustrace.com