Computer data storage - Terms, concepts, some history

From Helpful
Jump to: navigation, search
Computer data storage
These are primarily notes
It won't be complete in any sense.
It exists to contain fragments of useful information.


Connectors

IDE

IDE: Integrated Drive Electronics, a hardware bus primarily used for (parallel) ATA and its protocol, and also before the ATA standard, and for some things not (initially or at all) part of it.

Informally, IDE now usually refers to 40-pin connectors, to distinguish those from SATA.

IDE and ATA were previously used interchangeably enough for them to be ambiguous. The now common (but somewhat arbitrary) distinction between SATA and IDE(-as-in-parallel) is convenient, though you should probably avoid the term IDE when you want to refer to actual standards.

EIDE

EIDE: Enhanced IDE, refers partly to early adoption of some features of a then-future ATA standards. (the term was also abused by marketing at that time)

ATA

This article/section is a stub — probably a pile of half-sorted notes, is not well-checked so may have incorrect bits. (Feel free to ignore, fix, or tell me)

ATA: "Advanced Technology Attachment"

A set of standards, and a family of physical connectors primarily used to connect hard drives, CD drives and such. Its various versions and parts of these standards encompass Parallel ATA, ATAPI, Serial ATA (SATA), and more.


ATA versions and introduced features:

  • pre-ATA standards had varied limits, particularly in the DOS era
  • ATA-1 (1994) - PIO 1 and 2, 28-bit LBA for sizes up to 137GB
  • ATA-2 (1996) - PIO 3 and 4, DMA 1 and 2 (the terms 'EIDE' and 'Fast-ATA' appeard around this time)
  • ATA-3 (1997) - SMART, connector for 2.5" drives
  • ATA-4 (1998) - UDMA 0, 1, 2 ('UDMA 33')
  • ATA-5 (2000) - UDMA 3, 4 ('UDMA/66')
  • ATA-6 (2002) - UDMA 5 ('UDMA/100'), 48-bit LBA for sizes up to 144 PB
  • ATA-7 (2005) - UDMA 6 ('UDMA/133'), SATA 1.0 ('SATA/150')
  • ATA-8 (in progress; there is a working draft you can get)

Note that SATA has its own versioning:

  • SATA 1.0 (2003) - 1.5 GBit/s (150MB/s)
  • SATA 2.0 (2004) - 3.0 Gbit/s (300MB/s)
  • SATA 3.0 (2008) - 6.0 GBit/s (600MB/s)
  • SATA 3.1 (2011) - (verify)
  • SATA 3.2 ((verify)) - 16GBit/s

PATA

PATA: Parallel ATA, a retronym coined after SATA was introduced, to refer to the 40-pin connector (defined in all ATA standards(verify)) that is now also commonly referred to as IDE.

Note: If there are two devices on a single cable, one is called master and the other the slave (jumpered that way, or sometimes implied via cable select). These names are not official, and they do not refer to interaction or control between the drives - both drives operate independently, using their own controllers.

SATA and SAS

This article/section is a stub — probably a pile of half-sorted notes, is not well-checked so may have incorrect bits. (Feel free to ignore, fix, or tell me)

SATA: Serial ATA, is part of ATA-6 and later. Has basically replaced PATA.

SATA revisions:

  • SATA revision 1.0 (1.5 Gbit/s) (unofficially known as SATA150)
  • SATA revision 2.0 (3 Gbit/s) (unofficially known as SATA300)
  • SATA revision 3.0 (6 Gbit/s) (unofficially known as SATA600)
  • SATA revision 3.1
  • SATA revision 3.2

SATA-related terms:

  • SATA II: the committee defining SATA. Because of widespread (ab)use of 'SATA II' to refer to 3Gb/s devices (SATA/300), that comittee was renamed to SATA-IO
  • eSATA: Connector for SATA connection outside of enclosures.



You can see Serial Attached SCSI, SAS as the more flexible and expandable variation that targets the business market, and SATA the simpler and cheaper consumer variant.

SAS is a development of from earlier (parallel) SCSI to a point-to-point serial peripheral interface. SAS and SATA are quite similar, and in many areas compatible. Both talk a protocol that is much like SCSI (though SATA requires a smaller command set than SAS(verify)), both are switched, point-to-point, serial, full-duplex, can transfer approx. 300MByte/sec per port (current typical; both have variations and plans), and can be hot-plugged (electrically, anyway. Your OS may not guarantee your data is safe if you yank one without warning if you've got write caches in place - themselves useful for speed).


SAS controllers and SAS cables see more variation than SATA does, partly just because they're more often used in servers, and many-drive enclosures.


See also:


eSATA

eSATA is a variant plug/socket for SATA that is fit to connect external drives.

eSATA has the same pins as SATA, and in terms of what it does data-wise, eSATA is the same as SATA.

The connectors are intentionally made to be incompatible, to avoid mistaken mixes. The main differences lie in electronic, cable, and physical specs -- most of which has zero effect on you, other than that this makes it more suitable for external purposes (e.g. allows for longer cable lengths)


When you want to add eSATA for a desktop computer, you have two basic options:

  • get a plug-in controller card
  • plug in eSATA socket into a motherboard SATA socket. There are simple and cheap panel / PCI brackets and cables that make for very easy to add eSATA ports to any computer with free internal SATA ports.
keep in mind that controllers may not enable a SATA port unless something is connected at bootup. This semi-defeats hotpluggability, but you may not care.


eSATAp is a variant of eSATA that carries also carries power -- and also USB. See Connectors#SATA


See also:

mSATA

Uses the more general PCI Express Mini Card ('mPCIe') connector as a smaller data+power connector.

(which caused some confusion, because some sockets were mPCIe, and some mSATA-only)(verify)

Was seen in smaller laptops and such, now mostly replaced by M.2

See also:

M.2

Replaces PCI Express Mini Card connector uses like mSATA. Physically it allows more sizes (which is more flexible for designers), and apparently some interfacing that makes it nicer for e.g. SSDs(verify).


Widths:

  • 12, 16, 22 and 30 mm
22mm seems most common
mostly because you need at least that to get all the pins you need for SSD use(verify)

Lengths:

  • 16, 26, 30, 38, 42, 60, 80 and 110 mm


The shorthand is those two appended, e.g. 2280 for 22mm by 80mm


There's about a dozen different notchings, i.e. specific gaps in the socket/connectors that will only mate as intended, and are roughly related to use.

B and M are widest, and include SATA so are typical for SSD storage
B has one side has short bit with 6 pins
M has one side has short bit with 5 pins
BM has both of those
For Wifi you'll see A and E
Half of them are reserved

These are also correlated to sizes, e.g. A and E are rarely longer than 30, while B and M may use the full length, and rarely as short as 30.


https://en.wikipedia.org/wiki/M.2

Drive / interface features

SMART

S.M.A.R.T.: Self-Monitoring Analysis and Report Technology, meant to monitor drive health and warn about imminent failure.

(Compliance with this standard possibly seems to vary per manufacturer, and also probably somewhat per drive design)(verify)

See also Computer data storage - Practicalities; errors, messages, and damage#Reading_SMART_reports

Command queueing

Command queueing refers to planning an order of read and/or write commands order so that head position and rotational position are taken into account. In the best case a series of operations finishes faster, in the worst case it makes no difference and the overhead (fairly little for NCQ, while for TCQ it depends somewhat on the implementation/technology) makes things a little slower. The practical value of command queueing depends largely on the average and worst case influence.

  • TCQ: Tagged Command Queueing: Done by the driver (verify)
  • NCQ: Native Command Queueing: Done by the drive (SATA feature, optional?(verify)).


Note that is is possible that the OS's IO subsystem may do sorting of planned operations, which can make a bulk of random operations a bit less random (...in the order the drive is asked to do them). The drive's command queueing may then show less additional improvement (except that of clever head seeking).

More glossary

This article/section is a stub — probably a pile of half-sorted notes, is not well-checked so may have incorrect bits. (Feel free to ignore, fix, or tell me)


DAS (Direct Attached Storage) - storage not physically in a host, but connected directly to just it (via SAS, SCSI, Fibre Channel, eSATA or such), May easily be faster than networking.

NAS (Network Attached Storage) - Storage attached via a (local area) network. Can refer to simple file sharing (SMB, NFS and such), to specific applicances.

SAN (Storage Area Network) - similar to NAS, but more specifically geared to be a centralized, dedicated storage service for a network of computers. (More of a service, while NAS is more of an appliance). SAN implementations often refer to larger-scale consolidated things.


iSCSI - effectively one implementation of NAS (and arguably SAN), with the largest difference being that it looks like a block device rather than a remote share.



Most device types

...mostly historical

ARMD: 'ATAPI Removable Media Device', used to refer to ATAPI drives other than CD/DVD drives, such as tape drives.


ATAPI: 'ATA with Packet Interface Extension', an extension based on SCSI protocol features, that made it more useful for certain (additional) drive types, such as CD and tape drives.


Panasonic, Sony, and Mitsumi interface: Before ATAPI caught on, these companies created proprietary interfaces (sometimes called AT-BUS and other things), seen most often on old sound cards as two or three connectors that were used to connect these pre-ATAPI drives. Sony used a 34-pin ribbon connector, Panasonic and Mitsumi used 40-pin ribbon connectors (that were potentially confusable with IDE connectors).