Talk:Mass Storage

Maybe we can best start off the newbie by explaining a bus trace?

We could fill out an outline such as:

1) plug in, describe drive 2) wait for disc 3) spin up 4) describe disc 5) ask to eject, wait for spin down 6) unplug

In the end, the bus trace is what's real. If we can build a structure of English on that foundation, then we can let people stay as high and broad or go as deep and narrow as they please.

Details like whether the trace is SCSI or ATA, or whether the disc is ever actually absent, or which traditions the ops are drawn from ... those are details, which we can bury behind links that people can skip over or click thru at will.

[| http://en.wikipedia.org/wiki/Special:Search?search=mass+storage+rationale]

tells us relevant pages include:

...

[| http://en.wikipedia.org/wiki/Mass_Storage]

[| http://en.wikipedia.org/wiki/Mass_storage]

[| http://en.wikipedia.org/wiki/Mass-storage_device]

[| http://en.wikipedia.org/wiki/USB_Mass_Storage_Rationale]

[| http://en.wikipedia.org/wiki/USB_mass_storage_device_class]

[| http://en.wikipedia.org/wiki/Storage]

[| http://en.wikipedia.org/wiki/Disk_storage]

... The first two links differ only in upper/lower case!

Noticing that fact - that this wiki is actually case sensitive in the confusing way of letting more than one object have the same spelling except for case - makes it possible to rediscover another relevant page:

[| http://en.wikipedia.org/wiki/Wikipedia:Votes_for_deletion/USB_Mass_Storage_Rationale]

1 of 7)

> A good place to start ...

Thank you! Hi!

2 of 7)

> When is it time to bid adieu to legacy and make a new start with a (relatively) clean slate?

Never.

Agreed the legacy is fragile. I remember I especially liked how the 199X-2005 USB chair put this:

... ... ... By defining SCSI thru USB, we have added another floor to a house of cards ... ... ...

But if we look across USB, nobody actually has started clean, despite all the marketing to the contrary. Mice, keyboards, and modems pretend to be serial ports. Printers pass thru the same old proprietary byte stream page descriptions. Migration cables pretend to be Ethernet.

Legacy works. Especially when booting. Especially when booting some obscure embedded host that the device designer never heard of. Legacy compatible is mostly interoperable with the installed base, by definition.

3 of 7)

> The SCSI spec. was originally written referring to magnetic disk drives obviously.

The SCSI spec for PDT in x 0E 07 04 00, aye. That work built on the legacy of the storage designed for IBM mainframes in the late 1960's. But SCSI is device independent: PDT x05 is C/DVD, PDT x01 is Tape, etc.

4 of 7)

> So when one designs a semiconductor memory storage element, who/what decides how to translate the disk drive commands to support the new technology?

In work for hire, the paying client rules.

Most of the clients sponsoring peripheral storage design work sell mostly into Windows, which as you know Microsoft distributes mostly in binary code only. So device people pay to independently reverse engineer how Windows defines SCSI, closely hold the results as trade secrets, and make devices that work that way. Host people pay to reverse engineer Windows too, but so that they can learn to emulate Windows, so that their traffic doesn't surprise the devices.

The Linux "USB gadget" source is an unusually open effort to discover what SCSI thru USB means in Windows. We can read there, for example, that Windows corrupts the CDB length of an auto sense, passing thru 12 rather than 6 to go with op x03 "Request Sense". To work interoperably, the device has to learn to tolerate such unconscionable abuse.

I imagine Microsoft fell into that design error by accident: simply by working in a closed way. The less peer review, the more errors, naturally.

5 of 7)

> My experience suggests a lot gets brushed under the carpet in the name of "legacy".

Not sure what you mean, sorry.

6 of 7)

> To someone who did not work with the original disk drives,

Welcome!

> the "legacy" mostly looks like gibberish,

Yes.

> when flash drives attempt to define "spin-up" time in response to a host command!

We could dig down into this example, if you like, or not, as you please.

Part of the trouble with legacy compatible is that the merely public specs are more broad than real. For example, we might find published paper to say that a spin up time may range between 0 and xFFFF:FFFF milliseconds ... but then find significantly many installed hosts that actually choke in surprise unless the device claims spinup takes between 1 and x0000:7FFF milliseconds.

7 of 7)

I don't yet see how we can turn the above discussion into an article? Maybe I've missed the point?

I arrived myself in storage in 1994 - and discovered maybe thirty years of legacy had preceded me.

People arriving now in 2005 are looking at more like forty years of legacy. But I don't think the experience is all that different: be it thirty or forty, it's still more than most careers. Most of the people responsible for the foundation of our house of cards have long since retired, indeed by now many have died, and few to zero are here now in wiki mass storage.

I don't think there's any fixing that situation. The public service to interoperability that we can collaborate together to construct is not so much a defence of why legacy matters, but instead an explanation of what legacy has survived to constrain the designs we make today, such as the Linux source for a USB storage device.

I have begun the article by cross-referencing five highly relevant [TLA]'s: UFD SCSI ATA USB IDE.

A good place to start would be here -

The SCSI spec. was originally written referring to magnetic disk drives obviously. So when one designs a semiconductor memory storage element, who/what decides how to translate the disk drive commands to support the new technology? My experience suggests a lot gets brushed under the carpet in the name of "legacy".

To someone who did not work with the original disk drives, the "legacy" mostly looks like gibberish, when flash drives attempt to define "spin-up" time in response to a host command!

When is it time to bid adieu to legacy and make a new start with a (relatively) clean slate?

Ask a question, or suggest an outline, and we'll keep moving.

Myself, I learn by talking.

What you clearly know here that I do not is what is least obvious to the new student of mass storage.

Sorry, no, that's not what I meant. I meant only to refer to what I now discover is already said in this page as:

1) "If you do not want your writing to be edited mercilessly and redistributed at will, do not submit it."

2) "You're encouraged to create, expand, and improve upon articles; however, bad edits to articles are watched for and will be quickly removed."

I mean to say Wikipedia hosts a community of people choosing to cooperate in presenting a rapidly readable neutral point of view on a encyclopaedic variety of topics. Wikipedia is a not a place to put words in the hope that they will endure, connected by ever more links. Wikipedia is a place to put knowledge in the hope it will grow.

Have we yet persuaded you to contribute the fresh perspective of a new student of mass storage?

Thanks. The page mentions that newbie words are replaced over time. Elaborate please? If they are going to be replaced, it renders the effort moot. The point is to for newbies to benefit.

Be aware, en.wikipedia.org does signs all edits with the IP address of the ISP via which they arrived. Thus contributing is "free", but not quite anonymous.

Pages that do not exist, such as the Talk page of the Wikipedia Conversation page, suggest:

If you are new to Wikipedia, please read the tutorial before creating  your first article, and only use the  sandbox for editing experiments.

Offline I hear:

+++

The RBC spec. goes to great pains to define "shall" and "may" and Arabic numerals and Hexadecimal numbers. Yet, when it goes on to talk about removable medium devices and refers to de-mounting a device and how media that is not ready to be accessed should return a sense key of "NOT READY" and a ASC of "Logical unit not ready", it makes absolutely no sense.

+++

I agree Wikipedia would be a great place to fix that. I have just enough Wikipedia experience to know newbie words are welcomed but likely to be replaced. I'm creating this pair of Article and Discussion pages to show what I mean.