6 ms·
SCSI rules the world I guess. ATAPI tunneled SCSI commands over PATA for CD drives and other such things. AFAIK SATA uses the SCSI command set too (as does Se
by xenadu02 6y ago
SCSI rules the world I guess.
ATAPI tunneled SCSI commands over PATA for CD drives and other such things.
AFAIK SATA uses the SCSI command set too (as does Serial Attached SCSI obviously). To the point that most SAS controllers can also run SATA drives without issue.
Apparently USB mass storage also uses SCSI in both BOT and UAS forms.
Sometimes a protocol is designed so well to fit its purpose yet just flexible enough to support future use cases that there is no need to replace it. Hats off to the original designers of the SCSI command set.
- tlack 6y agoSome protocols have so much persistence, where others seem to be tied to one vendor's fate. I wonder if its worth spending some time trying to understand what makes some protocols so robust and widely adopted. It's not just being open vs closed. A few other examples: - PostScript (probably) / PDF (iffy) - CAN (adaptable) - G-code - Serial - HTTP - HTML (sort of, badly) - VNC (maybe) - JSON (for now)
- msla 6y agoHayes command set, as expanded from land-line modems to GSM cell phones: https://en.wikipedia.org/wiki/Hayes_command_set https://en.wikipedia.org/wiki/Hayes_command_set
- kalleboo 6y ago- FAT32 became the only filsystem people use for external drives due to cross compatibility - The QuickTime container became the container for AAC audio, ISO MPEG4/h264/h265 video, HEIC, AVIF - Zip files have become a generic container used in all kinds of formats (Java jar files, Android apk, Microsoft office documents, usdz, etc )
- hazeii 6y agoSCSI itself came from a single vendor as "Shugart Associates Standard Interface", otherwise know as SASI which went on to become SCSI. It was a simple interface, easy to program and made it possible to hook computers to disk drives with a handful of TTL chips. Good, simple design that did the job so no surprise that it's survived so well.
- hlandau 6y agoSATA doesn't use the SCSI command set. It's all still ATA, right down to the inability to abort tasks. (But it is common for operating systems, such as FreeBSD, to model all commands internally as SCSI commands and just translate them to ATA commands if necessary at the last minute.) SAS HBAs are backwards compatible with SATA drives because they're specifically designed to be. So I guess they're capable of passing either SCSI or, when SATA drives are used, ATA commands. Where it gets amusing is when you use SAS expanders, since then the link from the HBA to the expander is SAS, but the link from the expander to the drive is SATA. Thus SAS has a special protocol called Serial ATA Tunneling Protocol (STP), which allows ATA to be tunneled over SAS. What's really comical is that this means if you attached a SATA optical drive to a SAS expander, it follows that you'd be talking SCSI tunneled inside ATA/ATAPI tunneled inside STP over SAS.
- userbinator 6y agoAFAIK the SATA just takes the set of registers an IDE drive would have, and puts them in a different physical/transport protocol.
- p_l 6y agoThe ATA bus is a cut down ISA bus, with some address lines cut. All protocols on it operate in terms of ISA bus transfers, with SATA replacing the physical layer but nothing else.
- emcrazyone 6y agojust to complete the story, SCSI does have ATA command pass through. That is ATA commands over SCSI interface. In Linux, the libata library provides this implementation. There are SATA drives that understand SCSI over ATAPI albeit in a limited way just to be clear.
- hlandau 6y ago>just to complete the story, SCSI does have ATA command pass through. Very interesting! I just looked it up - it's the ATA PASS-THROUGH command in the SCSI-ATA Translation (SAT) specification. Someone just told me this is apparently a common way to read SMART data from hard drives in USB enclosures. >There are SATA drives that understand SCSI over ATAPI albeit in a limited way just to be clear. I assume you mean hard drives. This is extremely interesting. Can you provide more information? Examples of drives, any links?
- microtherion 6y agoOn the other hand, I'm really glad I can plug in USB flash drives without worrying whether to plug in a SCSI terminator between the drive and the computer, or on the other end of the drive…
- segfaultbuserr 6y agoAnd in the Linux kernel, a large part of the SCSI codebase is also used for many non-SCSI storage devices for its convenience, hence /dev/sdX.
- fomine3 6y agoVirtio initially offers virtio-blk for storage virtualization but now virtio-scsi is recommended to support additional features.