This message is from the T13 list server.

Ah... I see. I had assumed the Streaming Command Set was for tape
devices - but it looks like it's consistent with the characteristics of
block storage devices. I guess in SAT we could specify that if the
non-packet device supports the Streaming Command Set the SATL may
support a TB bit of one using the READ STREAM EXT or READ STREAM DMA EXT
command.

Thanks,
Bob 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Thursday, June 09, 2005 7:20 AM
To: Sheffield, Robert L
Cc: [email protected]
Subject: RE: [t13] WRITE LONG, SCT Write Long, and WRITE WRONG EXT

This message is from the T13 list server.


Bob, 

The ability to recover whatever data is available after an error 
uncorrectable by ECC is provided by the ATA Streaming Command Set. You
can 
set the time limit and ask for the partially correct data. See the Read 
Stream and Write Stream commands. 

Best Regards,
Daniel J. Colegrove
Hitachi Global Storage Technologies

[EMAIL PROTECTED]
(702) 614-6119



"Sheffield, Robert L" <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
06/08/2005 05:47 PM

To
"Elliott, Robert \(Server Storage\)" <[EMAIL PROTECTED]>, <[email protected]>
cc

Subject
RE: [t13] WRITE LONG, SCT Write Long, and WRITE WRONG EXT






Along the thread of being helpful to SCSI-to-ATA Translation (SAT): 
There's a related capability I think should be addressed ahead of the 
Read/Write Long capabilities.
 
The SCSI SBC-2 standard defines the TB bit in the Read/Write error 
recovery mode page as follows:
A transfer block (TB) bit set to zero specifies that the device server 
shall not transfer a logical block to the
data-in buffer if the logical block is not recovered within the recovery

limits specified. A TB bit set to one
specifies that the device server shall transfer a logical block to the 
data-in buffer before returning CHECK
CONDITION status if the logical block is not recovered within the
recovery 
limits specified. The data returned
in this case is vendor-specific. The TB bit does not affect the action 
taken for recovered data.
The net effect is the ability of a SCSI disk drive to transfer a block
of 
data read from the media, even though there were 
uncorrectable/unrecoverable errors. Presumably (though not specified)
the 
disk would return data that matches the orignially written data except
for 
the bits/bytes affected by the media defect. Without a comparable
feature 
in the ATA command set, the only way SAT device can SATisfy (sorry) the 
required behavior for a TB set to one is to manufacture the data - which

doesn't really meet the spirit of what the TB feature was intended to 
accomplish.
 
Perhaps this could be done with some form of read/write long (or wrong),

but the problem with those commands is the ECC algorithm applied is 
vendor-specific, and the host application needs to comprehend the 
vendor-specific aspects of the device ECC algorithm in order to reliably

"plant" bad ECC that can be distinguished from an actual bad block. I'd 
like to see a standard ATA command that allows retrieval of whatever
good 
information can be extracted from a bad block that isn't dependent on 
vendor-specific aspects of the ECC algorithm applied (i.e. doesn't 
transfer the ECC bytes).
 
Bob

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of 
Elliott, Robert (Server Storage)
Sent: Wednesday, June 08, 2005 5:11 PM
To: [email protected]
Subject: [t13] WRITE LONG, SCT Write Long, and WRITE WRONG EXT

ATA offers quite a few ways to perform WRITE LONG and READ LONG 
functionality.
 
1. ATA-3 defined WRITE LONG (command codes 32h and 33h) and READ LONG
(command codes 22h and 23h), including a note that "The committe is 
considering removing READ LONG and WRITE LONG commands in a future ATA 
standard." The commands are obsolete in ATA-4.
 
2. The SCT (SMART Command Transport) technical report defines a way to 
implement WRITE LONG and READ LONG commands through SMART log pages 
(supporting 48-bit LBAs).
 
Command: SMART READ LOG, SMART WRITE LOG, READ LOG EXT, or WRITE LOG EXT
Log address: E0h (Writes) or E1h (Reads)
SCT Function code: 0001h (Read Long) and 0002h (Write Long)
 
Those log addresses are marked "Reserved" in ata7v1r4b.
 
3. Proposal e02126, defining new WRITE WRONG EXT and READ WRONG EXT 
commands, has apparently been resurrected.
 
 
Any chance of converging on one method?  If WRITE WRONG continues, then
a 
SCSI equivalent would be helpful for the SCSI-to-ATA Translation (SAT) 
project.
 
Since these commands each address a single logical block, it's unclear
how 
well they will work with long physical sectors, where the ECC bytes are 
shared by more than one logical block.
 
-- 
Rob Elliott, [EMAIL PROTECTED] 
Hewlett-Packard Industry Standard Server Storage Advanced Technology 
https://ecardfile.com/id/RobElliott 

 

Reply via email to