4.15 specs for read operation are unacceptable in SBC-3 r35j
Ralph Weber
Ralph.Weber at wdc.com
Fri Sep 27 13:53:59 PDT 2013
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1309270_f.htm">HTML-formatted message</a>
Based on a preliminary review, Western Digital engineers have concerns about
the two paragraphs in 4.15 of SBC-3 r35j that begin as follows:
* For each LBA accessed by a read operation that is not a verify
operation:
* For each LBA accessed by read operation that is a verify operation:
The initial concern was that some interpretations of the 'read operation that
is a verify operation' case prohibit the use of read-ahead for verify
operations.
At a minimum, the cited paragraphs need to be revised as follows to maintain
consistency throughout 4.15 (note, the write operation definition is included
to demonstrate the need for consistency).
For each LBA accessed by a write operation:
1) if a cache contains more recent logical block data for that LBA than the
medium, then the device server shall:
A) perform a write cache operation to that LBA to update the logical block
data in the cache;
B) invalidate that LBA in the cache and perform a write medium operation to
that LBA; or
C) perform a write cache operation to that LBA to update the logical block
data in the cache and perform a write medium operation to that LBA.
For each LBA accessed by a read operation that is not a verify operation:
1) if a cache contains more recent logical block data for that LBA than the
medium, then the device server shall perform:
A) a read cache operation from that LBA; or
B) 2) the device server shall perform a read medium operation from that LBA.
For each LBA accessed by read operation that is a verify operation:
1) if a cache contains more recent logical block data for the LBA than the
medium, then the device server:
A) shall perform a write medium operation to that LBA;
B) 2) the device server may invalidate that LBA in the cache; and
C) 3) the device server shall perform a verify medium operation from that
LBA.
Unless the second level of list is applied to all three paragraphs, the use
of 'that LBA' is ambiguous vis a vis the if clause that establishes the
operative conditions.
Western Digital also is obliged to note that none of the three cited
paragraphs cover the case where the cache fails to contain more recent
logical block data for 'that LBA' despite the fact that the presence of a
list based on this condition implies that such coverage ought to be present
(i.e., the if clause could equally well be folded into the list introduction
statement).
To push the envelope a bit farther, some Western Digital reviewers suggested
that the specific case of a 'read operation that is a verify operation' could
be more fully stated as follows.
For each LBA accessed by a read operation that is a verify operation, the
device server shall perform a read cache operation only if:
a) the logical block data in the cache for that LBA is the result of a read
medium operation; and
b) no subsequent write operation has been processed for that LBA.
Warning: This comment is the result of a very preliminary review by Western
Digital engineers. The Western Digital review of SBC-3 r35j is ongoing, and
more issues seem likely to be unearthed. Due to the gravity of this issue
Western Digital concluded that prompt disclosure would best serve the
interests of T10 and the industry.
All the best,
.Ralph
More information about the T10
mailing list