Difference between revisions of "Storage"

From Vogons Wiki
Jump to: navigation, search
(What controller will you use?)
(Common IDE Controller Categories)
Line 1: Line 1:
  
===Common IDE Controller Categories===
+
===Common IDE Categories===
'''Early IDE (IDE, ATA-1) '''
+
'''Early IDE (ATA-0 & ATA-1) '''
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA bus
+
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus
 
* Few storage devices from this period supported the DMA modes.
 
* Few storage devices from this period supported the DMA modes.
* Processors <= 386 are frequently CPU bound when doing PIO
+
* Processors <= 486 have significant CPU resistance when using PIO modes
* Modern storage devices seem to reliably fall back to ATA-1
+
* Most modern storage devices are compatible with early IDE controllers
  
'''Early EIDE (Ultra ATA, UDMA/33 )'''
+
'''EIDE (ATA-3 & ATA-4, UDMA/33 )'''
* Common between 1993-1998
+
* Common between 1993-1998: VLB & PCI 486 boards, Socket 4,5 & 7 Pentiums, Pentium II.
* Mid to Late 486, Early Pentiums
+
* 80 connector IDE cables recommended but not required for these devices
* 80 connector IDE cables recommended but not required
+
* Most devices show a noticeable performance improvement when multiword IO or DMA modes are enabled
* Noticeable performance improvements when using multiword IO & DMA modes.
+
* Some modern storage devices have compatibility issues with legacy devices from this period when they negotiate a protocol faster than ATA-2
* Controllers from this period sometimes have trouble negotiating with SD-IDE adapters and DOMs
+
* DOS requires a compatible BIOS or compatible drivers in the config.sys to take advantage of UDMA.
* Storage devices from this period sometimes have trouble working in LBA mode with newer controllers
+
* Common south bridge from the period: https://en.wikipedia.org/wiki/PCI_IDE_ISA_Xcelerator
* https://en.wikipedia.org/wiki/PCI_IDE_ISA_Xcelerator
+
  
'''Mature ATA (ATA-66, ATA-100 & ATA-133)'''
+
'''Mature PATA (ATA-6 and newer: Ultra ATA-66, ATA-100 & ATA-133)'''
* Common between 1999-2010
+
* Common between 1999-2010:  Pentium 3 & Athlon through Core2
* 80 connector IDE cables required to negotiate speeds faster than ATA/33. If using a DOM or CF adapter with a female connector and no cable, Pin #34 needs to be grounded
+
* Most common south bridge of the time: https://en.wikipedia.org/wiki/I/O_Controller_Hub
* Not a large performance difference between ATA-66 & ATA-133 for most storage devices
+
* 80 connector IDE cables required to negotiate 66Mhz speeds or higher.
* Controllers connected via PCI bus see a small performance drop compared to a IHA or Vlink attached controllers
+
* 80 connector IDE cables can be simulated by grounding Pin #34 for devices with a 40 pin female connector that do not use a cable
* UDMA modes are necessary to achieve peak speeds in most cases
+
* UDMA modes offer a significant increase in performance over PIO modes in most cases.
* Most motherboards BIOS I/O routines are not able to take advantage of DMA
+
* Most storage devices of the day not show a large performance increase between ATA-66 & ATA-133
* https://en.wikipedia.org/wiki/I/O_Controller_Hub
+
* Most storage devices of the day show a small performance drop if connected though PCI instead of IHA (Intel Hub Architecture) or Vlink attached controllers
 +
* DOS requires a compatible BIOS or compatible drivers in the config.sys to take advantage of UDMA.
 +
 
 +
'''SATA'''
 +
* Common after 2004
 +
* Early SATA devices were often PATA devices with a SATA bridge
 +
* Bridges are commonly available today to connect PATA devices to SATA controllers & vice versa.
 +
* Sata Connector / mSata Connector / M2 Sata connector (NGFF)
 +
 
 +
'''NVMe'''
 +
* Common after 2018
 +
* Pin compatible with M2 Sata
 +
* Connects storage directly to PCI-E
  
 
===IDE and BIOS Limits & Incompatibilities ===
 
===IDE and BIOS Limits & Incompatibilities ===

Revision as of 00:11, 24 March 2021

Common IDE Categories

Early IDE (ATA-0 & ATA-1)

  • IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus
  • Few storage devices from this period supported the DMA modes.
  • Processors <= 486 have significant CPU resistance when using PIO modes
  • Most modern storage devices are compatible with early IDE controllers

EIDE (ATA-3 & ATA-4, UDMA/33 )

  • Common between 1993-1998: VLB & PCI 486 boards, Socket 4,5 & 7 Pentiums, Pentium II.
  • 80 connector IDE cables recommended but not required for these devices
  • Most devices show a noticeable performance improvement when multiword IO or DMA modes are enabled
  • Some modern storage devices have compatibility issues with legacy devices from this period when they negotiate a protocol faster than ATA-2
  • DOS requires a compatible BIOS or compatible drivers in the config.sys to take advantage of UDMA.
  • Common south bridge from the period: https://en.wikipedia.org/wiki/PCI_IDE_ISA_Xcelerator

Mature PATA (ATA-6 and newer: Ultra ATA-66, ATA-100 & ATA-133)

  • Common between 1999-2010: Pentium 3 & Athlon through Core2
  • Most common south bridge of the time: https://en.wikipedia.org/wiki/I/O_Controller_Hub
  • 80 connector IDE cables required to negotiate 66Mhz speeds or higher.
  • 80 connector IDE cables can be simulated by grounding Pin #34 for devices with a 40 pin female connector that do not use a cable
  • UDMA modes offer a significant increase in performance over PIO modes in most cases.
  • Most storage devices of the day not show a large performance increase between ATA-66 & ATA-133
  • Most storage devices of the day show a small performance drop if connected though PCI instead of IHA (Intel Hub Architecture) or Vlink attached controllers
  • DOS requires a compatible BIOS or compatible drivers in the config.sys to take advantage of UDMA.

SATA

  • Common after 2004
  • Early SATA devices were often PATA devices with a SATA bridge
  • Bridges are commonly available today to connect PATA devices to SATA controllers & vice versa.
  • Sata Connector / mSata Connector / M2 Sata connector (NGFF)

NVMe

  • Common after 2018
  • Pin compatible with M2 Sata
  • Connects storage directly to PCI-E

IDE and BIOS Limits & Incompatibilities

  • 528 MB limit - BIOS before July 1994 rarely support drives over 528MB. They were limited to Cylinders <= 1024, Heads <= 16, Sectors/Track <= 63
  • 2015 MB limit - BIOS before May 1996 rarely support drives larger than 2015 MB. They were limited to Cylinders <= 4095, Heads <= 16, Sectors/Track <= 63
  • 3277 MB limit - Phoenix BIOS 4.03 and 4.04 config screens lock when a drive is configured with a capacity over 3277 MB.
  • 4.2 GB limit - Some BIOS before February 1997 have the first ECHS (Extended CHS) limit. DOS and Windows 95/98 cannot handle 256 heads. 'Large' mode in the BIOS produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders <= 1024. The limit for this method is 4032 MB (C=1024, H = 128, S = 63) for drives that report 16 heads.
  • 7.9 GB limit - Other BIOS from this period had a Revised ECHS limit. 'Large' mode in the BIOS by presenting an alternate geometry using multiples of 15 heads so that 240 heads can be presented as the max alternate geometry. This method stops working at 7560 MB (C=1024, H=240, S=63)
  • 8.4 GB limit - Final ECHS limit - Bios geometry selects head head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to (C=1024, H=255, S=63). Hard drives larger than 8.4GB report a geometry of C=16383,H=16,S=63 to indicate that they are larger than can be described using ECHS geometry translation)
  • 33.8 GB limit - BIOS before August 1999 often stored the cylinders as a 16 bit value, so they could not process cylinders > 65535.
  • 137.4 GB limit - BIOS before September 2001 only used ATA-5, which used 28 bits to identify each LBA sector, limiting drive capacity to 137GB. ATA-6 extended this to 48 bits. Hard drives over 137.4 GB should report an LBA capacity of 0xfffffff sectors and report the actual value in the 48-bit field.
  • Early LBA drives do not always work correctly with mature LBA controllers and must be manually set to 'CHS' mode in order to operate correctly.

Modern Storage for Retro Computers

CF (Compact Flash)

A popular portable storage format developed in 1994 that is compatible with IDE. Standard has changed little since 2010 and and is declining in popularity because it is too large for phones.

  • CompactFlash 1.0 (1995) supported PIO2 with capacity up to 128 GB.
  • CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.
  • CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)
  • CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133
  • CompactFlash 5.0 (2010) added LBA 48 for drivers larger than 132GB
  • CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support

Pros

  • Natively compatible with 5V ATA, which makes 40 and 44 pin IDE adapters very simple.
  • Fewer reports of compatibility issues with EIDE adapters

Cons

  • Some devices require 3.3V instead of 5V
  • Performance is slower on small files compared to some other storage devices

SD to IDE

A popular portable storage format developed in 1999.

Pros

  • Very common storage media
  • Quick response on small reads and writes

Cons

  • Can be sensitive to ESD ( electro static discharge)
  • Popular brands are commonly counterfeited
  • Popular IDE adapter is limited to 25MB/s speeds when talking to SD devices

Pata DOM (Disk on Module)

Pros

Cons

Sata Drive

Pros

Cons

mSata

Pros

Cons

M2 Sata

Pros

Cons

USB to IDE

Pros

Cons

Sata SSD Pros

Cons

Sata DOM Pros

Cons

Rare Legacy Storage