RBC removable questions

Mike_N_Bryan at notes.seagate.com Mike_N_Bryan at notes.seagate.com
Fri Jan 23 13:45:47 PST 1998


* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* Mike_N_Bryan at notes.seagate.com
*
It seems as though there were a few questions that I failed to answer
and a few new questions that require an answer. So here goes.

DECEMBER 1997
These are questions posed by Pat LaVarre (Iomega firmware engineer) to Mike
 Bryan.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
What happened to the DBD bit of Mode Sense?
Shouldn't it exist but be required to be set?  Can we require Mode Select
data to have no block
descriptor data?

>> Mike's reply -
Since the function of the Block Descriptor has been assumed by Mode Page
06,
I don't think it should be required or supported.

Op 3Bh Write Buffer - How can we require this?
Not all devices keep microcode in rewriteable storage like flash or as part
 of the media?

>> Mike's reply -
If devices don't or can't support a function it is OK to return Status
indicating this.
We want as few exceptions as possible in order to make initiator and target
design simpler.


No response on this question from Mike
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
Op 2Ah Write
 I love the DPO = RelAdr = 0 simplification.
 I love the FUA = 0 simplification of 28h Read.
 Why don't we require FUA = 0 for 2Ah Write as well?
Mike
In order to insure that write data is not cached, it is necessary
to use the FUA bit. This is a requirement in several cases: pending
removal of Device Bay drives is a prime example. The Synchronize Cache
command doesn't prevent writes from being cached. It only forces
cached writes to be written to the media.
Pat
Ah, I think I now understand the concern - but then I ask ...
Why not require the host to disable write-cacheing in the mode page?
Why supply the temporary disable of a FUA bit?

>> Mike's reply -
What you suggest is possible, but would require additional Mode Select
commands to turn WCD on and off. The use of the FUA bit should be
expounded upon by John Fuller of Microsoft.

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
Mode Page 3Eh RBC Device Parameters
Why move the info of 25h Read Capacity here?
byte 3:4 Logical Block Size (in bytes)
byte 5..9 Number of Logical Blocks

Mike
I am going to make a proposal that this page number be changed
to 06h. Ralph Weber would like us not to us 3Xh.
The ability to change the logical capacity of a drive currently
is done by sending the value in the Block Descriptor of Mode Select
commands. This is a silly thing to do. The field in 3Eh allows the logical
capacity to be changed in an obvious way. In addition, the original
capacity can be determined by asking for Default parameters while Saved
parameters will return the modified capacity.

Darrell
How should we arrange for the RBC text to include clarifications of this
kind?
Should we include this in our removability command set?

>> Mike's reply -
I don't think that its proper to include the word "silly" in a T10
document.
However, I will be happy to expand the Note following the page
description to indicate how logical capacity can be changed. By the
way, I did include (c) in each field that is changeable in rbc-r02.

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
 Why make Number of Logical Blocks changeable? Not all media in the field
can support this.

Mike
Many OEMs require the same capacity from several different vendors.
Modifying the logical
capacity is the easiest way to achieve this.  If you dont support changing
a field, you can
return error status.
Pat
Excellent.  Again I'd like to see this flexibility somehow shown in the RBC
 text - me, my first
impression was that support for everything mentioned was required - no
unchangeable fields
allowed.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
When does a change in this mode page cause a Unit Attention (ASC = 2Ah Mode
 Param's
Changed)?
Mike
Mode Parameters Changed is only valid if more than one initiator is logged
into a drive. If one
initiator changes values that will affect another initiator, like the
logical capacity, Mode
Parameters Changed will have to be sent to the other initiator. If
Microsoft supports it, we
would like to send Unsolicited Status to the idle initiator. If Microsoft
doesn't support
unsolicited status, then Mode Parms Changed would have to be returned in
the next command
status.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
Op 35h Sync Cache,
CDB byte 1, bit 2 WCD Write Cache Disable.
Why move WCD out of mode page 8, byte 2, bit 4 WCE Write Cache Enable?
Even as defined here it remains a "mode setting" i.e. all 2Ah Write opcodes
 received thereafter
end up redefined?  How long does this mode setting last?  Which resets
change it?  What is
the default after reset?
     (BTW I love the Immed = LBA = # Blocks = 0 simplification).
Mike
Actually, WCD will be moved to Mode page 06h in another proposal. It was
put in Sync
Cache for a reason that is no longer valid.  It will function as WCE does
in SBC page 08h,
only upside down.  Since RBC doesn't support Changeable parameters, the
only way to unset
the bit, once it has been set, is to modify it with a MODE SELECT command.
Pat
Excellent.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
Op 1Bh Start/Stop Unit,
CDB byte 4, hi nibble, Power Conditions
What does 5 Place in Sleep mean for a 1394 device?
An ATAPI device in sleep responds only to resets.  Does a 1394 device in
sleep need to
experience some kind of wakeup event to again begin interpreting packets?

For 5 Place in Sleep what does the text mean by requiring that the device
"ignore" CDB byte 1
bit 0 Immed?
Why require the device to reject commands that require more power than
requested by the last
1Bh op?
How long does this refusal mode last?
To the next reset of what kind?
Why bother to distinguish:
3 Place-in-Standby from CDB byte 4 bit 0 Start = 0 Stop?
2 Place-in-Idle from CDB byte 4 bit 0 Start = 1?
1 Place-in-Active from 2 Place in Idle?
Mike
These are all very good questions. I would try to supply answers,
but the RBC/MMC-2 meeting, hosted by Iomega in February, will address the
need for a
common START/STOP command (and fields) for all device types.  I think that
you should
publish these same questions on the T10 reflector prior to that meeting.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
Op 55/5Ah Mode Select/ Sense (10)  Why require SP?  Not all legacy media
can support this.
Mike
We are trying to follow the ATA scheme of having all modifiable parameters
be saved to
non-volitile memory. Changeable parameters are only useful in a diagnostic,
 or transient,
environment.  Again, if you don't support a specific field, return an error
 in status.
Pat
Again, good news.  Storing parameters in non-volatile memory almost never
makes sense
when the media is removeable.  Again I'd like to see supporting text
allowing the device to
reject attempts to save in the RBC doc...
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
How about a simplification of only dealing with one page at a time?  (This
avoids semantic
troubles in areas like sending a valid page change, an invalid page change,
 and a valid page
change in combination in that order.)
Mike
We only have 1 page. Our intent is to ONLY have 1 page, forever.  Might be
a little naive, but
its worth a try.
Pat
Again, good news - again I'd like to see supporting text in the RBC doc?
Let's make the effect
of sending or requesting multiple pages vendor-specific?
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat
     I liked to see the familiar:
          00h Test Unit Ready (6)
          12h Inquiry(6)
          1Bh Start/Stop Unit (6)
          28h Read (10)
          2Ah Write (10)
          2Eh Write and Verify (10)
          35h Sync Cache (10)
     but then I was disappointed to see no 15/1Ah Mode Select/ Sense (6).
Mike
Since only one MODE SELECT/SENSE command was to be used, it was more
foreword-looking to choose the 10-byte mode commands.
Pat
Then why not A8h Read and AAh Write in place of 28h Read and 2Ah Write?

>>Mike's reply-
A8 READ and AA WRITE don't solve any long term problems for us.  It would
have been
great if, instead of increasing the transfer length field, the SCSI people
had increased
the LBA field. At 60% CAGR for disk capacity, we will need another byte
soon.

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- --
Pat LaVarre
p.lavarre at ieee.org
801-778-4402


*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at symbios.com




More information about the T10 mailing list