<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.vogonswiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Douglar</id>
		<title>Vogons Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.vogonswiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Douglar"/>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php/Special:Contributions/Douglar"/>
		<updated>2026-04-19T08:38:45Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5587</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5587"/>
				<updated>2026-03-31T15:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Storage After IDE/PATA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After IDE/PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
** The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* SATA I storage devices accept ATA commands over FIS and processes them like legacy PATA.&lt;br /&gt;
* Some early &amp;quot;SATA&amp;quot; devices were simply PATA devices with a built in SATA-PARA bridge&lt;br /&gt;
* SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has boot support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Optane ===&lt;br /&gt;
* Intel Optane, is a memory technology based on 3D XPoint memory, that offered much lower latency and higher endurance than NAND flash&lt;br /&gt;
* Used in some NVME devices, but never achieved a capacity/price ratio to survive in the market&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors that replaced PATA 40 pin ide header and 4 pin molex power&lt;br /&gt;
* mSata (aka Mini Sata) was common between 2009 to 2014&lt;br /&gt;
** Devices were most commonly 30mm x 50.95mm&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) arrived in 2013.  Common device sizes are:&lt;br /&gt;
** 2230	- 22 × 30 mm	Small laptops, embedded systems&lt;br /&gt;
** 2280	- 22 × 80 mm	Most common SSD size&lt;br /&gt;
* M.2 has 3 different key patterns:&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe with 4 lanes of PCIe&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe with 2 lanes of PCIe&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5586</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5586"/>
				<updated>2026-03-31T15:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Storage After /IDE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After IDE/PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
** The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* SATA I storage devices accept ATA commands over FIS and processes them like legacy PATA.&lt;br /&gt;
* Some early &amp;quot;SATA&amp;quot; devices were simply PATA devices with a built in SATA-PARA bridge&lt;br /&gt;
* SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors that replaced PATA 40 pin ide header and 4 pin molex power&lt;br /&gt;
* mSata (aka Mini Sata) was common between 2009 to 2014&lt;br /&gt;
** Devices were most commonly 30mm x 50.95mm&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) arrived in 2013.  Common device sizes are:&lt;br /&gt;
** 2230	- 22 × 30 mm	Small laptops, embedded systems&lt;br /&gt;
** 2280	- 22 × 80 mm	Most common SSD size&lt;br /&gt;
* M.2 has 3 different key patterns:&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe with 4 lanes of PCIe&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe with 2 lanes of PCIe&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5585</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5585"/>
				<updated>2026-03-31T15:37:57Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Post PATA Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After /IDE ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** They do LBA addressing &amp;amp; use the ATA commands like classic IDE drives. &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
* The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* Some early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* SATA devices didn't commonly implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors that replaced PATA 40 pin ide header and 4 pin molex power&lt;br /&gt;
* mSata (aka Mini Sata) was common between 2009 to 2014&lt;br /&gt;
** Devices were most commonly 30mm x 50.95mm&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) arrived in 2013.  Common device sizes are:&lt;br /&gt;
** 2230	- 22 × 30 mm	Small laptops, embedded systems&lt;br /&gt;
** 2280	- 22 × 80 mm	Most common SSD size&lt;br /&gt;
* M.2 has 3 different key patterns:&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe with 4 lanes of PCIe&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe with 2 lanes of PCIe&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5584</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5584"/>
				<updated>2026-03-31T15:37:15Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Post PATA Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After /IDE ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** They do LBA addressing &amp;amp; use the ATA commands like classic IDE drives. &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
* The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* Some early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* SATA devices didn't commonly implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors that replaced PATA 40 pin ide header and 4 pin molex power&lt;br /&gt;
* mSata (aka Mini Sata) was common between 2009 to 2014&lt;br /&gt;
** Devices were most commonly 30mm x 50.95mm&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) arrived in 2013 and are usually:&lt;br /&gt;
** 2230	- 22 × 30 mm	Small laptops, embedded systems&lt;br /&gt;
** 2280	- 22 × 80 mm	Most common SSD size&lt;br /&gt;
* M.2 has 3 different key pattern&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe with 4 lanes of PCIe&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe with 2 lanes of PCIe&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5583</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5583"/>
				<updated>2026-03-31T15:35:09Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Post PATA Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After /IDE ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** They do LBA addressing &amp;amp; use the ATA commands like classic IDE drives. &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
* The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* Some early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* SATA devices didn't commonly implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors that replaced PATA 40 pin ide header and 4 pin molex power&lt;br /&gt;
* mSata (aka Mini Sata) has a 30mm edge connector and was common between 2009 to 2014&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) arrived in 2013 and is usually:&lt;br /&gt;
** 2230	- 22 × 30 mm	Small laptops, embedded systems&lt;br /&gt;
** 2280	- 22 × 80 mm	Most common SSD size&lt;br /&gt;
* M.2 has 3 different key pattern&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe with 4 lanes of PCIe&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe with 2 lanes of PCIe&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5582</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5582"/>
				<updated>2026-03-31T15:31:14Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* NVME */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After /IDE ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** They do LBA addressing &amp;amp; use the ATA commands like classic IDE drives. &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
* The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* Some early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* SATA devices didn't commonly implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors&lt;br /&gt;
* mSata (aka Mini Sata) 25mm edge connector was common between 2009 to 2014&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) appeared in 2013 and is usually 22mm wide compared to mSATA which was 30mm.  Has 3 different key pattern&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe PCIe up to x4&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe PCIe up to x2&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5581</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5581"/>
				<updated>2026-03-31T15:30:54Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Storage After PATA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After /IDE ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
* SATA I controllers worked in &amp;quot;legacy mode&amp;quot;.  &lt;br /&gt;
** They do LBA addressing &amp;amp; use the ATA commands like classic IDE drives. &lt;br /&gt;
** The send and receive commands through x86 I/O space (0x1F0, 0x170) like classic IDE drives. &lt;br /&gt;
* The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. &lt;br /&gt;
* Some early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* SATA devices didn't commonly implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly efficient.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
* SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). &lt;br /&gt;
* When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. &lt;br /&gt;
* SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
* Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
* SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  &lt;br /&gt;
* Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
* Common after 2018.  &lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins.  &lt;br /&gt;
* NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  &lt;br /&gt;
* NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.  &lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Post PATA Connectors ===&lt;br /&gt;
&lt;br /&gt;
* SATA was introduced with Sata Data &amp;amp; Power pair connectors&lt;br /&gt;
* mSata (aka Mini Sata) 25mm edge connector was common between 2009 to 2014&lt;br /&gt;
* M.2 Sata (aka NGFF, Next Gen Form Factor) appeared in 2013 and is usually 22mm wide compared to mSATA which was 30mm.  Has 3 different key pattern&lt;br /&gt;
** B key, single notch on left, usually SATA&lt;br /&gt;
** M key, single notch on right side, usually NVMe PCIe up to x4&lt;br /&gt;
** B+M key, two notches, can be SATA or NVMe PCIe up to x2&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5580</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5580"/>
				<updated>2026-03-31T15:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5579</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5579"/>
				<updated>2026-03-31T14:55:47Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* CF (Compact Flash) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard.  CF devices with firmware &amp;amp; controllers &amp;gt; 2006 usually offer better performance.&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5578</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5578"/>
				<updated>2026-03-31T14:54:19Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* CF (Compact Flash) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Designed to operate as a PATA SSD in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support.  Connecting these devices to a 40 pin IDE header only requires an inexpensive pass though adapter.&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is sturdy and not prone to loss or electrical damage&lt;br /&gt;
* &amp;quot;Industrial&amp;quot; compact flash devices made after 2006 usually have very good compatibility, performance, and life expectancies.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Compact flash is now a legacy product and new devices are less common than they were 15 years ago.&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot;, even when in &amp;quot;true IDE mode&amp;quot;, which can cause problems for Windows 2000 &amp;amp; XP installation.&lt;br /&gt;
* Few CF devices support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with other devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Very few CF devices if any support ATA TRIM, making them less desirable for operating systems that support this feature.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 IDE controllers cause video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5577</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5577"/>
				<updated>2026-03-31T14:40:29Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt;= 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5576</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5576"/>
				<updated>2026-03-31T14:34:17Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SATA III */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III offers some refinements of the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s which was important for SSD SATA devices.  Some SATA III devices have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5575</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5575"/>
				<updated>2026-03-31T14:33:18Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SATA II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some early VIA SATA I controllers only work with SATA II devices that can be configured to force legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III devices refined the AHCI command, but mainly raised the throughput from 3GB/s to 6GB/s for SSD SATA devices.  Some SATA devices from this generation have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5574</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5574"/>
				<updated>2026-03-31T14:29:58Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Notes Pending Assimilation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III devices refined the AHCI command, but mainly raised the throughput from 3GB/s to 6GB/s for SSD SATA devices.  Some SATA devices from this generation have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes not worked into the main document yet ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5573</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5573"/>
				<updated>2026-03-31T14:28:39Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* NVME */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III devices refined the AHCI command, but mainly raised the throughput from 3GB/s to 6GB/s for SSD SATA devices.  Some SATA devices from this generation have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices are native PCIe devices that do no not support ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME command set uses linear addressing with up to 64 bit addresses. NVME devices use memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue pair is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  Eliminating ATA &amp;amp; ACHI and switching to in-memory queues provides extremely low latency compared to PATA or SATA. Having many queues is beneficial for VM hosts and for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5572</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5572"/>
				<updated>2026-03-31T14:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SATA III */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III devices refined the AHCI command, but mainly raised the throughput from 3GB/s to 6GB/s for SSD SATA devices.  Some SATA devices from this generation have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices do no not work with ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME uses linear addressing with up to 64 bit addresses. NVME uses memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  These queues have an extremely low latency compared to PATA or SATA.  Having multiple queues is beneficial for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5571</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5571"/>
				<updated>2026-03-31T14:23:03Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SATA II &amp;amp; III */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II ===&lt;br /&gt;
&lt;br /&gt;
SATA II (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  &lt;br /&gt;
&lt;br /&gt;
=== SATA III ===&lt;br /&gt;
&lt;br /&gt;
SATA III devices refined the AHCI command set, but mainly raised the throughput from 3GB/s to 6GB/s for SSD SATA devices.  Some SATA devices from this generation have trouble falling back to SATA I controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices do no not work with ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME uses linear addressing with up to 64 bit addresses. NVME uses memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  These queues have an extremely low latency compared to PATA or SATA.  Having multiple queues is beneficial for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5570</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5570"/>
				<updated>2026-03-31T14:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Removable Storage Speed Ratings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Storage After PATA ==&lt;br /&gt;
&lt;br /&gt;
=== SATA I ===&lt;br /&gt;
&lt;br /&gt;
SATA devices attached to a controller in legacy mode do LBA addressing &amp;amp; the same ATA commands and receive those commands through x86 I/O space (0x1F0, 0x170) just like classic IDE drives from 1980's. The controller captures the commands from the emulated ports put them into FIS (Frame Information Structures) for the SATA device. SATA devices didn't implement TCQ (Tagged Command Queueing) because TCQ for PATA was not particularly useful.&lt;br /&gt;
&lt;br /&gt;
=== SATA II &amp;amp; III ===&lt;br /&gt;
&lt;br /&gt;
SATA II &amp;amp; III (&amp;gt;= 2004) devices support AHCI Mode (Advanced Host Controller Interface). When in ACHI mode they do LBA48 addressing with a slightly updated ATA command set, but the commands are sent directly through FIS to the SATA device, no more legacy PATA port emulation, reducing latency. SATA devices from this generation often support NCQ (Native Command Queuing) at a depth of up to 32 commands in flight.  Some SATA devices from this generation have trouble falling back to SATA controllers operating in legacy mode.&lt;br /&gt;
&lt;br /&gt;
=== NVME ===&lt;br /&gt;
&lt;br /&gt;
NVME devices do no not work with ATA or ACHI command sets.  That's why don't see cheap NVME - PATA bridges like you do with SATA.  NVME uses linear addressing with up to 64 bit addresses. NVME uses memory queues implemented in pairs, a submission queue (ASQ) &amp;amp; completion queue (ACQ). Each queue is up to 65,535 commands deep, and there can be up to 65,535 queue pairs.  These queues have an extremely low latency compared to PATA or SATA.  Having multiple queues is beneficial for processors with many cores.&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5569</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5569"/>
				<updated>2026-03-31T13:58:52Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Modern Storage for Retro Computers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5568</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5568"/>
				<updated>2026-03-31T13:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* CF (Compact Flash) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2006&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5567</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5567"/>
				<updated>2026-03-31T13:57:51Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than 2006.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5566</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5566"/>
				<updated>2026-03-31T13:52:54Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  The write is amplified because what would be a simple write on magnetic storage becomes multiple writes in these cases on solid state storage.  This causes solid state devices to become slower as they fill up.  This issue may shorten expected life span of the device because more flash cell writes are performed than necessary.  &lt;br /&gt;
* Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5565</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5565"/>
				<updated>2026-03-31T13:50:02Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  This causes solid state devices to become slower as it fills up.  The more a device gets used, the worse this issue may become, and often shortens expected life span of the device.  * Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce write amplification and prolong the life of the device.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.  The unallocated space should help extend the life of the device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM functionality helps an SSD identify which pages have real data and which pages hold ghosts of deleted files.  CF and SD specifications allow for TRIM or &amp;quot;TRIM like&amp;quot; functionality, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it when operating through a PATA interface.  Even if they did, few operating systems before 2009 (Windows 7) support the TRIM command, which means even if the device supports TRIM functionality, accessing it from a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5564</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5564"/>
				<updated>2026-03-31T13:44:02Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; when writing to pages that already contain data.  This causes solid state devices to become slower as it fills up.  The more a device gets used, the worse this issue may become, and often shortens expected life span of the device.  Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce the performance impact of write amplification.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM:  Even though CF and SD devices can support trime, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it in a retro computing environment.  Even if they did, few operating systems before 2009 (Windows 7) support TRIM commands, which means accessing TRIM functionality with a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5563</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5563"/>
				<updated>2026-03-31T13:41:55Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; which causes the device to do extra work when writing to pages that already contain data.  The more a device gets used, the worse this issue may become.  Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce the performance impact of write amplification.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* TRIM:  Even though CF and SD devices can support trime, no CF devices or SD--&amp;gt;PATA bridge have been identified that support it in a retro computing environment.  Even if they did, few operating systems before 2009 (Windows 7) support TRIM commands, which means accessing TRIM functionality with a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5562</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5562"/>
				<updated>2026-03-31T13:38:39Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; which causes the device to do extra work when writing to pages that already contain data.  The more a device gets used, the worse this issue may become.  Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce the performance impact of write amplification.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* No CF devices or SD--&amp;gt;PATA bridge have been identified that support ATA-8 TRIM commands. Few operating systems before 2009 (Windows 7) support TRIM commands, so even if device supports TRIM, accessing that functionality with a retro operating system will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5561</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5561"/>
				<updated>2026-03-31T13:34:38Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; which causes the device to do extra work when writing to pages that already contain data.  The more a device gets used, the worse this issue may become.  Solid state devices use techniques such as flash address translation, idle garbage collection, wear leveling, over provisioning, and the ATA TRIM command to reduce the performance impact of write amplification.&lt;br /&gt;
* Retro enthusiasts sometimes only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  For example, if 8GB of storage is needed, a 16GB device with an 8GB partition is used.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* No CF devices or SD--&amp;gt;PATA bridge have been found that support ATA TRIM commands. Few operating systems before 2009 (Windows 7) support TRIM commands, so even if device supports TRIM, accessing that functionality with an operating system that doesn't support it will be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5560</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5560"/>
				<updated>2026-03-31T13:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification and wear leveling: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification: ==&lt;br /&gt;
* Solid state devices can experience &amp;quot;Write amplification&amp;quot; which causes the device to do extra work when writing to pages that already contain data.  The more a device gets used, the worse this issue may become.  Solid state devices often use Flash address translation, idle garbage collection, wear leveling, over provisioning, and trim to reduce the impact of write leveling.&lt;br /&gt;
* Retro enthusiasts commonly reduce the impact of write amplification by only partitioning a portion of the solid state storage device capacity as a form of over provisioning.  So if you want 8GM of storage, get a 16GB device.&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles address translation, wear leveling or garbage collection without doing a lot of research on that specific device.  These techniques were generally trade secrets and not publicly documented.&lt;br /&gt;
* No CF devices or SD--&amp;gt;PATA bridge have been found that support ATA TRIM commands. Few operating systems before 2009 (Windows 7) support TRIM commands, so even if device supports TRIM, accessing that functionality can be difficult.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce swapfile writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It might be possible to reset the write amplification on a device using an ATA Secure erase command, but not all devices function correctly after this.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5559</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5559"/>
				<updated>2026-03-31T13:19:19Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Write Amplification and wear leveling: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* No SD--&amp;gt;PATA bridge have been found that support ATA TRIM commands.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if a storage device supports TRIM, the functionality is difficult to access.&lt;br /&gt;
* Some retro enthusiasts reduce the likelihood of write amplification by only partitioning half of the storage device.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file writes.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5558</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5558"/>
				<updated>2026-03-31T13:12:38Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* VLB &amp;amp; early PCI EIDE controllers may experience difficulties with PIO modes faster than PIO2 because of the IORDY implementation on the FC1307.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5557</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5557"/>
				<updated>2026-03-31T13:09:49Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Provides good performance on retro-computing workloads compared to legacy spinning disks or CF devices older than ~2008.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
* Slower than SATA SSDs&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5556</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5556"/>
				<updated>2026-03-31T13:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Communication between the FC1307 and the SD card is limited to 25MB/s, which limits performance on IDE controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5555</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5555"/>
				<updated>2026-03-31T13:06:48Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when used with SD cards larger than 128GB&lt;br /&gt;
* Can enter an &amp;quot;undefined state&amp;quot; if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable when using operating systems that supports TRIM.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5554</id>
		<title>ATI</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5554"/>
				<updated>2026-03-31T00:19:04Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* R300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ATi Technologies produced graphics cards from the '80s through the mid '00s until merging with AMD in 2006. AMD still produces graphics cards today.&lt;br /&gt;
&lt;br /&gt;
== ATi Wonder Series ==&lt;br /&gt;
&lt;br /&gt;
The '''ATi Wonder series''' represents some of the first [[graphics]] add on products for [[IBM]] [[Personal computer|PCs]] and compatibles introduced by [[ATi Technologies]] in the mid to late 1980s. These cards were unique at the time as they offered the end user a considerable amount of value by combining support for multiple graphics standards (and monitors) into a single card. The VGA Wonder series added additional value with the inclusion of a [[Bus mouse|bus mouse port]], which normally required the installation of a dedicated [[Microsoft Bus Mouse]] adapter.&lt;br /&gt;
&lt;br /&gt;
The VGA Wonder series later merged with the [[ATI Mach]] series of cards in 1990. The [[ATi Graphics Ultra]] (VRAM) and [[ATi Graphics Vantage]] (DRAM) cards both featured independent VGA Wonder ASICs in addition to their Mach8 8514 compatible [[coprocessor chips]]. The Graphics Ultra was later renamed the VGA Wonder GT. In 1992, their following [[product line]], the Mach32, integrated the VGA wonder core and coprocessor into a single IC. At this point the VGA Wonder line was cancelled and replaced with a cost reduced DRAM based version of Mach32 known as the &amp;quot;ATi Graphics Wonder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Graphics Solution (CGA)===&lt;br /&gt;
[[File:ATI Hercules Card 1986.xcf|thumb|One of the early graphics cards from ATI Technologies: a ''Graphics Solution Rev 3'' [[Hercules Graphics Card|Hercules]] graphics card from 1986. As can be seen from the PCB the layout was done in 1985, whereas the marking on the central chip CW16800-A says &amp;quot;8639&amp;quot; meaning that chip was manufactured week 39, 1986.]]&lt;br /&gt;
''Release Date: 1986''&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution Rev 3'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-A&lt;br /&gt;
* Supports: [[Hercules Graphics Card]] mode&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
&lt;br /&gt;
'''ATi Color Emulation Card '''&lt;br /&gt;
* Did at least support CGA graphics output to a [[TTL Monochrome]] monitor&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution plus (1987)'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-B&lt;br /&gt;
* Supports CGA, [[Plantronics Colorplus]] CGA &amp;amp; [[Hercules Graphics Card]] graphics modes&lt;br /&gt;
* Compatible with MDA, CGA (and therefore also EGA displays), [[DIP switch]] selectable&lt;br /&gt;
* 64kb of DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''Graphics Solution Plus SP'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Adds Serial/Parallel Ports&lt;br /&gt;
'''Graphics Solution SR'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Uses Static RAM&lt;br /&gt;
'''ATi Small Wonder Graphics Solution (1988)'''&lt;br /&gt;
* Chipset: ATI 18700&lt;br /&gt;
* Also known as Graphics Solution Single Chip or just GS-SC&lt;br /&gt;
* Single-chip version of the Graphics Solution plus&lt;br /&gt;
* 64kb of static RAM&lt;br /&gt;
* Composite Output&lt;br /&gt;
'''Graphics Solution Single Chip or GS-SC with Game (1988)'''&lt;br /&gt;
* Includes a [[game port]]&lt;br /&gt;
* Lacks external [[composite connector]]&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution&lt;br /&gt;
|168228&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Color/Emulation Card&lt;br /&gt;
|168230-1&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|&lt;br /&gt;
|Versions 1-4?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution Plus&lt;br /&gt;
|168248&lt;br /&gt;
|CW16800-B&lt;br /&gt;
|XT&lt;br /&gt;
|1986&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SR&lt;br /&gt;
|168328&lt;br /&gt;
|CW16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1987&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Small Wonder&lt;br /&gt;
|18701&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|18703&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC1&lt;br /&gt;
|Versions 1-2 ?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|109005100&lt;br /&gt;
|16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC2NC&lt;br /&gt;
|Versions 1-3?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC WITH GAME&lt;br /&gt;
|109003200&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSCGM&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===EGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi EGA Wonder''' (March 1987)&lt;br /&gt;
* Chipset: ATI16899-0 + CHIPS P86C435&lt;br /&gt;
* Supports CGA, Hercules mono &amp;amp; EGA graphics modes&lt;br /&gt;
* Removes support for plantronics mode/Single-page Hercules mode/composite output&lt;br /&gt;
* Compatible with MDA, CGA and EGA displays (DIP switch selectable)&lt;br /&gt;
* [[Internal composite port]] for machines such as [[IBM 5155 Portable]]&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $399&lt;br /&gt;
'''ATi EGA Wonder 800'''&lt;br /&gt;
* Added support for extended EGA text and graphics modes (requires [[multisync monitor]])&lt;br /&gt;
* Added support for 16-colour VGA modes&lt;br /&gt;
'''ATi EGA Wonder 800+'''&lt;br /&gt;
* Rebadged VGA Edge lacking the analogue [[VGA port]]&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Can auto-detect monitor type connected (DIP switches no longer present)&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder&lt;br /&gt;
|16890, 16892&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1986-11-13&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA0&lt;br /&gt;
|Series 1 through 4&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/media/k2/items/cache/4d8c9898b5bb88437f053c8b957f47f3_XL.jpg EGA Wonder 800]]&lt;br /&gt;
|16900, 1040015-0xx&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1988-08-09&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA2&lt;br /&gt;
|Repackaged at reduced cost as &amp;quot;EGA Wonder 480&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/images/palcal/ati/16899-0vip1b.jpg EGA Wonder VIP]]&lt;br /&gt;
|18008 &lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|Rev 1-5&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder 800+&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Sold as &amp;quot;VGA Edge-8&amp;quot; when board has VGA port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===VGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi VIP or VGA Improved Performance (1987)'''&lt;br /&gt;
&lt;br /&gt;
* Chipset: ATi 16899-0 &amp;amp; Chips P82C441&lt;br /&gt;
* Supports CGA, Hercules mono, EGA &amp;amp; VGA graphics with Softsense automatic mode switching&lt;br /&gt;
* Compatible with MDA, CGA, EGA and VGA displays (DIP switch selectable)&lt;br /&gt;
* 9-pin TTL and 15-pin analogue connectors&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $449 ($99 for Compaq expansion module)&lt;br /&gt;
'''ATi VGA Wonder (1988)'''&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Adds support for SVGA graphics modes&lt;br /&gt;
* Adds support for monitor auto-sensing (switchless configuration)&lt;br /&gt;
* Uses on-board EEPROM to store configuration information&lt;br /&gt;
* 256kb or 512kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''ATi VGA Edge 8'''&lt;br /&gt;
* Cost Reduced VGA Wonder&lt;br /&gt;
* 256KB DRAM&lt;br /&gt;
'''ATi VGA Wonder 16 (1988)'''&lt;br /&gt;
* Speed enhancements due to a wider bus&lt;br /&gt;
* VGA pass through connector&lt;br /&gt;
* Bus mouse connector&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
* Port: [[16-bit]] PC/AT bus (ISA), [[8-bit]] compatible&lt;br /&gt;
* Original MSRP: $499 or $699 respectively&lt;br /&gt;
'''ATi VGA Edge-16'''&lt;br /&gt;
* Cost reduced VGA Wonder 16&lt;br /&gt;
* Lacks the bus mouse connector and the digital TTL output&lt;br /&gt;
* 256kb DRAM (not expandable to 512kb)&lt;br /&gt;
'''ATi VGA Wonder+ (1990)'''&lt;br /&gt;
[[File:ATI Wonder.jpg|right|thumb|ATI VGA Wonder+]]&lt;br /&gt;
* Chipset: ATI 28800-2, -4, or -5&lt;br /&gt;
* Based on a new chipset which claimed to offer speeds rivalling VRAM based cards&lt;br /&gt;
* Dual page mode memory access&lt;br /&gt;
* Dynamic CPU/CRT interleaving&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
'''ATi VGA Integra (1990)'''&lt;br /&gt;
* Cost reduced version based on new ATi 28800 ASIC&lt;br /&gt;
* Lacks bus mouse connector&lt;br /&gt;
* Uses a much smaller PCB with a surface mount BIOS &amp;amp; RAMDAC&lt;br /&gt;
* Supports SVGA Graphics with 72&amp;amp;nbsp;Hz refresh rates&lt;br /&gt;
* 512KB DRAM&lt;br /&gt;
'''ATi VGA Basic-16 (1990)'''&lt;br /&gt;
* PCB layout similar to VGA Integra but using cheaper RAMDAC&lt;br /&gt;
* Only supports the basic 60&amp;amp;nbsp;Hz VGA modes of the IBM VGA standard from 1987&lt;br /&gt;
* 256KB DRAM (not upgradable)&lt;br /&gt;
'''ATi VGA Charger (1991)'''&lt;br /&gt;
* Similar to VGA Basic-16, but can be upgraded to 512KB&lt;br /&gt;
'''ATi VGA Wonder XL (May 1991)'''&lt;br /&gt;
* Sierra RAMDAC adds support for 15-bit colour in 640x480@72&amp;amp;nbsp;Hz, 800x600@60&amp;amp;nbsp;Hz&lt;br /&gt;
* Supports a flicker-free vertical refresh rate of 72&amp;amp;nbsp;Hz&lt;br /&gt;
* 256KB, 512KB or 1MB DRAM&lt;br /&gt;
* Original MSRP: $229, $349, $399 respectively&lt;br /&gt;
'''ATi VGA Stereo·F/X'''&lt;br /&gt;
[[File:Vgafx.JPG|400px|right|thumb|ATi VGA Stereo·F/X]]&lt;br /&gt;
* Chipset: ATI 28800&lt;br /&gt;
* Combines a VGA Wonder XL with a Sound Blaster 1.5&lt;br /&gt;
* Features &amp;quot;fake&amp;quot; stereo sound&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder XL24 (1992)'''&lt;br /&gt;
* Contains a Brooktree Bt481KPJ85 RAMDAC that adds support for hi and true colour graphics modes&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder 1024'''&lt;br /&gt;
* A series of OEM cost reduced versions of several VGA Wonder models&lt;br /&gt;
* Typically lacks the bus mouse connector and/or the digital TTL output&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|VGA Improved Performance (VIP)&lt;br /&gt;
|18008&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|SVGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder 16 (v1-5)&lt;br /&gt;
|109006300&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1989-04-18&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA2(Vx)&lt;br /&gt;
|Later Part No: 109007200&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Same as &amp;quot;EGA Wonder 800+&amp;quot; except has VGA connector instead of EGA&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-16&lt;br /&gt;
|109008500&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-03-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM1024V5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder&lt;br /&gt;
|1090009510&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM1&lt;br /&gt;
|Repackaged as &amp;quot;VGA Basic-16&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder+&lt;br /&gt;
|1090012220&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMVGAVM1&lt;br /&gt;
|Rebranded as VGA Wonder XL&lt;br /&gt;
|-&lt;br /&gt;
|VGA 800&lt;br /&gt;
|?&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-09-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM2P1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Charger&lt;br /&gt;
|1090010400&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA&lt;br /&gt;
|Repackaged as &amp;quot;VGA Integra&amp;quot; PN: 109P014210&lt;br /&gt;
|-&lt;br /&gt;
|VGA Stereo·F/X&lt;br /&gt;
|1090013110&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-08-22&lt;br /&gt;
|SVGA&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAFX&lt;br /&gt;
|Integrated Sound Blaster 1.5&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder XL24&lt;br /&gt;
|1092414310&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-26&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAXLV1&lt;br /&gt;
|Repackaged as &amp;quot;VGA 1024DXL&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA 1024D&lt;br /&gt;
|1090014410&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-12-07&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA1M&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Mach series ==&lt;br /&gt;
&lt;br /&gt;
The ATi '''Mach''' line was a series of [[2D computer graphics|2D graphics accelerators]] for [[personal computer]]s developed by [[ATI Technologies]]. It became an extension (and eventual successor) to the ATI Wonder series of cards. The first chip in the series was the ATi Mach8. It was essentially a clone of the IBM 8514/A with a few notable extensions such as Crystal fonts. Being one of the first graphics accelerator chips on the market, the Mach8 did not have an integrated VGA core. In order to use the first Mach8 coprocessor cards, a separate VGA card was required. This made ownership considerably expensive. A temporary solution was presented with the ATi Graphics Ultra/Vantage cards, which combined an ATi 8514 Ultra and VGA Wonder+ into a single card (though using discrete ICs). The Mach32 chip was the follow-up to the Mach8, which finally featured an integrated VGA core, true colour support and a 64-bit datapath to internal memory.&lt;br /&gt;
&lt;br /&gt;
===Mach 8===&lt;br /&gt;
&lt;br /&gt;
''Released: 1990''&lt;br /&gt;
*[[IBM 8514|IBM 8514/A]] clone&lt;br /&gt;
*Support for up to 8-bit color modes&lt;br /&gt;
*Optional VGAWonder 2 (28800) graphics core (with dedicated 256–512&amp;amp;nbsp;KB DRAM)&lt;br /&gt;
*512&amp;amp;nbsp;KB or 1&amp;amp;nbsp;MB available with either DRAM or VRAM&lt;br /&gt;
*Port: ISA, MCA&lt;br /&gt;
The Mach 8 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|8514 Ultra&lt;br /&gt;
|109-00113-20&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-01-23&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMULTRA1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|109-00115-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-03-29&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|10911550&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM1&lt;br /&gt;
|Repackaged as VGA Wonder GT&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra AT BUS&lt;br /&gt;
|109-00117-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-28&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514VMAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra MCA&lt;br /&gt;
|109-00116 ?&lt;br /&gt;
|Mach8&lt;br /&gt;
|MCA&lt;br /&gt;
|1991-10-22&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514MC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514 Vantage AT&lt;br /&gt;
|109-00119-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-27&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVANAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Vantage&lt;br /&gt;
|109-00118-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMCOMBODM1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 32===&lt;br /&gt;
&lt;br /&gt;
''Released: 1992''&lt;br /&gt;
*[[32-bit]] [[graphical user interface|GUI]] accelerator with basic [[DOS]] support&lt;br /&gt;
*Limited [[VESA BIOS Extensions|VESA VBE]] support&lt;br /&gt;
*Support for 15&amp;amp;nbsp;bbp, 16&amp;amp;nbsp;bbp and 24&amp;amp;nbsp;bbp colour modes added&lt;br /&gt;
*Video memory: 1 or 2&amp;amp;nbsp;MB [[Dynamic random access memory|DRAM]] or [[Dynamic random access memory#Video DRAM .28VRAM.29|VRAM]]&lt;br /&gt;
*Memory interface: [[64-bit]]&lt;br /&gt;
*Port: [[Industry Standard Architecture|ISA]], [[Extended Industry Standard Architecture|EISA]], [[VESA local bus|VLB]], [[Peripheral Component Interconnect|PCI]], [[Micro Channel Architecture|MCA]]&lt;br /&gt;
*Integrated VGA core&lt;br /&gt;
*100% compatible with IBM 8514/A&lt;br /&gt;
*Many cards have upgradeable RAMDAC options:&lt;br /&gt;
**DIP28 package: ati-68830 @ 85Mhz (Non-interlaced up to 1280x1024x8bit)&lt;br /&gt;
**PL84 package: ati-68875 ( or TI 34075-135FN, TI 34076-135FN ) @ 135Mhz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Mach 32 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00189-40&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra+&lt;br /&gt;
|109-00193-40&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-18&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM688DM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19100-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|EISA&lt;br /&gt;
|1992-12-14&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VME1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00195-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-02-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22800-10&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1993-03-12&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM228&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19200-20&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|MCA&lt;br /&gt;
|1993-08-30&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM192&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22900-20&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-09-13&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM229&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra CLX&lt;br /&gt;
|109-00196-30&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-10-20&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM196&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra XLR&lt;br /&gt;
|109-19500-50&lt;br /&gt;
|Mach32-06 / -LX&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-11-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195a&lt;br /&gt;
|LX supported fewer ram types&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-23000-10&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-04-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM230a&lt;br /&gt;
|AX supported PCI&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-23400-00&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-02-22&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM234&lt;br /&gt;
|OEM as &amp;quot;VGA 1024 VLB&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-25400-xx&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-01-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|OEM as &amp;quot;Graphics Ultra AXO&amp;quot; and &amp;quot;PCI mach32-D&amp;quot;.  &lt;br /&gt;
Many revisions: -00, -20, -30, -41, -43, -50, -60&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 64===&lt;br /&gt;
''Released: 1994''&lt;br /&gt;
*64-bit GUI accelerator with basic DOS support&lt;br /&gt;
*Limited VESA VBE support&lt;br /&gt;
*Video memory: 1, 2, 4 or 8&amp;amp;nbsp;MB DRAM, VRAM, or [[Dynamic random access memory#Synchronous graphics RAM .28SGRAM.29|SGRAM]]&lt;br /&gt;
*Memory interface: 64-bit&lt;br /&gt;
*Port: ISA, VLB, PCI&lt;br /&gt;
*Variants:&lt;br /&gt;
&lt;br /&gt;
**&amp;quot;Mach64 CX/210888&amp;quot; - Original chipset, uncommon (up to 2&amp;amp;nbsp;MB DRAM, or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
**&amp;quot;Mach64 GX/210888GX&amp;quot; - Enhanced video playback capabilities&lt;br /&gt;
**&amp;quot;Mach64 ET/210888ET&amp;quot; - Embedded???&lt;br /&gt;
**&amp;quot;Mach64 CT/264CT - Cost-reduced Mach64 with integrated RAMDAC and clock chip (up to 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
**&amp;quot;Mach64 VT/264VT  - AMC connector (Support for TV-tuner)&lt;br /&gt;
**&amp;quot;Mach64 GT/264GT 3D Rage&amp;quot; - 3D capabilities&lt;br /&gt;
**&amp;quot;Mach64 GT-B/264GT-B [[ATI Rage II|3D Rage II]] - SDRAM &amp;amp; SGRAM support(up to 8&amp;amp;nbsp;MB)&lt;br /&gt;
**&amp;quot;Mach64 LT/264LT&amp;quot; - Low-power mobile version of Mach64 GT&lt;br /&gt;
&lt;br /&gt;
The Mach 64 chip was used on the following ATI products:&lt;br /&gt;
[[File:Ati_Mach64_2_cards.jpg|thumb|Several Mach64 PCI graphics cards]]&lt;br /&gt;
[[File:Ati_Mach64.jpg|thumb|Mach64 PCI made by ASUS]]&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GX Family:'''&lt;br /&gt;
*Graphics Xpression (1 or 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
*Graphics Pro Turbo (2 or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
*WinTurbo (1 or 2&amp;amp;nbsp;MB VRAM, non-upgradable)&lt;br /&gt;
*Graphics Pro Turbo 1600 (fast RAMDAC,PCI-only)&lt;br /&gt;
*XCLAIM GA (Macintosh)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 CT Family:'''&lt;br /&gt;
*WinBoost (1&amp;amp;nbsp;MB DRAM, upgradable to 2mb)&lt;br /&gt;
*WinCharger (2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 VT Family:'''&lt;br /&gt;
*Video Charger&lt;br /&gt;
*Video Xpression (Mach64 VT2)&lt;br /&gt;
*Video Xpression+ (Mach64 VT4)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT Family:'''&lt;br /&gt;
*3D Xpression (2&amp;amp;nbsp;MB EDO DRAM))&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT-B Family:'''&lt;br /&gt;
*3D Charger (2&amp;amp;nbsp;MB EDO DRAM)&lt;br /&gt;
*3D XPRESSION+ (2 or 4&amp;amp;nbsp;MB SDRAM)&lt;br /&gt;
*3D XPRESSION+ PC2TV (TV-out)&lt;br /&gt;
*3D Pro Turbo (2, 4, 6 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*3D Pro Turbo+ PC2TV (TV-out)&lt;br /&gt;
*Xclaim VR - early versions (Macintosh, 2, 4 or 8&amp;amp;nbsp;MB SGRAM, Video-In Video-Out)&lt;br /&gt;
*Xclaim 3D - early versions (Macintosh, 4 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*All-In-Wonder (SDRAM, TV Tuner) Could this be the EXM320 ?  Possibly related to the Tekram CaptureTV M230 / Jianbang M230&lt;br /&gt;
&lt;br /&gt;
'''Important Note:''' The 3D Rage and 3D Rage II chips were also known as Mach64 GT and Mach64 GT-B respectively. The Mach64 moniker was eliminated with introduction of the 3D Rage Pro.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Win Turbo&lt;br /&gt;
|109-23600-10&lt;br /&gt;
|Mach64 GX / GX2&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-3-23&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM236&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost &lt;br /&gt;
|109-25400-4x&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|Reused Mach32 PCB&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-26900-30&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-7-13&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM269&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30200-00&lt;br /&gt;
|Mach64 CX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-1-17&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-25500-20&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-2-9&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM255&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30300-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1995-3-15&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM301&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo 1600&lt;br /&gt;
|109-33200-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-6-13&lt;br /&gt;
|40/40&lt;br /&gt;
|4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM332&lt;br /&gt;
|Optional Apple Display, Faster Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-33300-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-07-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321 &lt;br /&gt;
|1280 x 1024 NI Unexpected EXM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim GA&lt;br /&gt;
|109-32900-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-11-27&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM329&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-28100-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|ISA&lt;br /&gt;
|1996-2-14&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM281&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-32100-20&lt;br /&gt;
|Mach64 CT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321&lt;br /&gt;
|Integrated RAMDAC&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost&lt;br /&gt;
|109-33100-10&lt;br /&gt;
|Mach64 VT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM331&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64 VT / VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-7-9&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM340&lt;br /&gt;
|Board reused for &amp;quot;3D Xpression&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-36300-10&lt;br /&gt;
|Mach64 VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-6-6&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM363&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression+&lt;br /&gt;
|109-40600-10&lt;br /&gt;
|Mach64-VT4&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|62/62&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|EDO&lt;br /&gt;
|n/a&lt;br /&gt;
|Same board as 3D Rage IIC PCI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Rage series ==&lt;br /&gt;
[[File:Ati_3D_Rage_II.jpg|thumb|Rage 3D II PCI]]&lt;br /&gt;
[[File:Rage_LT_Pro.jpg|thumb|Rage LT Pro]]&lt;br /&gt;
[[File:ATIRage128Pro.JPG|thumb|Rage 128 Pro OEM]]&lt;br /&gt;
[[File:Rage_128_Pro_16MB.jpg|thumb|Rage 128 16MB]]&lt;br /&gt;
&lt;br /&gt;
''Work in progress''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage =====&lt;br /&gt;
&lt;br /&gt;
The first generation 3D RAGE chip was based upon a Mach64 2D core with new 3D functionality and MPEG-1 acceleration.  Part number on the GPU suggest the name Mach64-GT.  Appears to be pin compatible with Mach64-VT4 series chips, but was the first accelerator that was no longer register compatible with the 8514/A. &lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
The reason for the Rage name change was: &lt;br /&gt;
:''As the COMDEX 1995 launch approached ATI learned that S3 was planning to release their ViRGE 3D accelerator at the same time. Phil Eisler, the manager of the new chip wasn’t thrilled about launching a product called the ATI 264GT at the same time. So, he started searching for a name with some energy behind it to compete with ViRGE.''&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage II =====&lt;br /&gt;
&lt;br /&gt;
The 3D Rage II chip was an enhanced, pin compatible version of the 3D Rage accelerator offering better 3d performance.   Early 3D Rage II chips have part numbers that suggest a continuation of the same family: Mach64-GT2.  The Rage II chip supported single-cycle EDO memory &amp;amp; high-speed SGRAM. Later revisions switch to an &amp;quot;R2&amp;quot; naming convention for Rage II chip family.  These revisions boosted 2D performance by 20 percent and added support for MPEG-2 (DVD) playback, and AGP support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* No Hardware Open GL Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium P54C, MMX&lt;br /&gt;
* Pentium II with 66Mhz bus&lt;br /&gt;
* K6 &amp;amp; Cyrix 6x86&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Matrox Millenium (G200) or Mystique (G220)&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* Number 9 Ticket To Ride&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-card-reviews,42-3.html&lt;br /&gt;
:''A very good 3D paired with a very good 2D performance, the support of 4 and 8 MB onboard RAM, hence the support of up to 1280x1024 3D resolution and last but not least the optional TV output make this card a very good all-round solution, appealing to gamers as well as professionals ... as long as you don't require OpenGL.  If you plan on using the XPERT card in a Socket 7 system, you'll be pleased to hear that the 3D performance isn't bad even with slower CPUs, however, the Diamond Stealth and cards with NVidia's Riva 128 are faster. You've got to be careful using an XPERT card as AGP version with a Socket 7 board that uses VIA's Apollo VP3 chipset, because you'll face some serious compatibility as well as performance problems. These problems don't occur if you are using the PCI version with these boards.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Rage IIC was a low end part released along side of the Rage Pro.  &lt;br /&gt;
Rage IIC performed similarly to S3 Trio3D or S3 Virge GX2.&lt;br /&gt;
Mach64 VT4 appears to be very similar to the Rage IIC, but only seen with EDO memory.  They both use BIOS labeled &amp;quot;Rage IIC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage Pro =====&lt;br /&gt;
Released in the latter half of 1997, the Rage Pro was a major improvement on ATI's previous Rage II chip. Improvements include an increased texture cache size (now at 4 KB) allowing for improved texture filtering, as well as an integrated triangle setup engine that improved performance on CPU bound systems. It is the first ATI chip (and among the earliest graphics chips) to fully support AGP bus features, including execute mode (AGP texturing). It is also the first ATI chip to support OpenGL in hardware. However, like the previous Rage chips, the Rage Pro cannot bilinear filter alpha textures, resulting in transparent textures still having a rough appearance. Performance-wise, it is very similar to 3Dfx's original Voodoo Graphics chipset. The Rage Pro was very popular with OEMs and up until the late 2000s, it was integrated into many server motherboards.&lt;br /&gt;
&lt;br /&gt;
The Rage Pro is also the last chip to support ATI's CIF application programming interface. It is also ATI's last chip with Windows 3.1x support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.1 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel and 1 Texel every clock&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* Apple versions supported WRAM and an external 250MHz ramdac&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium MMX&lt;br /&gt;
* Pentium II &lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo&lt;br /&gt;
* 3Dfx Voodoo Rush&lt;br /&gt;
* SiS 6326&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* NEC PowerVR&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-review-step,51-34.html&lt;br /&gt;
:''So what's with the ATI Rage Pro chip? I can't help it, but this chip lacks in too many cases to be worth a recommendation. It does not support GLQuake's or Quake II's OpenGL engine, it has obvious problems with Direct3D, it has got only very weak support of professional OpenGL under NT, so that it doesn't leave much else than it's excellent 2D performance in combination with its video in/out features. However, if I want the best 2d performer with the best picture quality and the best RAM DAC I rather go for a Matrox Millennium II. The Rage Pro is neither fish nor meat, it's no gamer's card, but it's also not really a professional card either. So what is it?&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Later drivers fixed many of the early compatibility issues.  Alpha blended textures was never implemented, which caused poor image quality on some games.&lt;br /&gt;
Rage Pro works with Quake if you set Windows to 64K color mode first.&lt;br /&gt;
&lt;br /&gt;
Rage LT Pro was based on Rage Pro.  It had reduced power consumption, power management features and TV Out.&lt;br /&gt;
&lt;br /&gt;
Rage Mobility added iDCT video compression and further power management improvements.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 =====&lt;br /&gt;
Upgraded chip with 128 internals. &lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.2 Support&lt;br /&gt;
* 2 Pixel Shader, 2 Texture Units, 2 ROPs&lt;br /&gt;
* Rage 128 GL has 128 bit Memory Access, Rage 128 VR has 64 bit Memory Access&lt;br /&gt;
* Hardware support for vertex arrays, fog and fog table support&lt;br /&gt;
* Alpha blending, vertex and Z-based fog, video textures, texture lighting&lt;br /&gt;
* Single clock bilinear and trilinear texture filtering and texture compositing&lt;br /&gt;
* Perspective-correct mip-mapped texturing with chroma-key support&lt;br /&gt;
* Vertex and Z-based reflections, shadows, spotlights, 1.00 biasing&lt;br /&gt;
* Hidden surface removal using 16, 24, or 32-bit Z-buffering&lt;br /&gt;
* Gouraud and specular shaded polygons&lt;br /&gt;
* Line and edge anti-aliasing, bump mapping, 8-bit stencil buffer&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium II 400 with 100Mhz Bus&lt;br /&gt;
* Celeron&lt;br /&gt;
* K6 233 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo 2&lt;br /&gt;
* 3Dfx Banshee&lt;br /&gt;
* Savage 3D&lt;br /&gt;
* Nvidia Riva TNT&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/205/6&lt;br /&gt;
:''From the perspective of the Slot-1 owner who craves speed, and wishes to get the best of all worlds (2D/3D/DVD), the Rage 128 should be considered as the ideal chipset for you.  Now once your needs become a little more specific, such as greater 3D performance (Voodoo2 SLI), or greater 2D image quality (G200), then you may be forced to veer away from the Rage 128, but as a starting point, you can't go wrong with this bad boy.  Regardless of the speed of your processor, if you're a slot 1 user looking for a well-rounded 2D/3D card, the Rage 128 gets AnandTech's recommendation for the best overall all-in-one, kicking Matrox out of that seat  ...  Super7 users should be able to find much comfort in the Rage 128, it isn't a horrible performer, and it offers very few compatibility issues with Super7 chipsets, not to mention the incredible feature set the chipset itself boasts.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage XL =====&lt;br /&gt;
&lt;br /&gt;
A die shrink of the Rage Pro that runs with lower power consumption, higher frequencies and has image quality fixes.  As of 2021, new cards are being sold with this chipset, however cards manufactured after 1999 frequently have compatibility issues Socket 3 &amp;amp; Socket 4 PCI chipsets.&lt;br /&gt;
&lt;br /&gt;
===== Rage XC =====&lt;br /&gt;
&lt;br /&gt;
Released along side the XL, it seems very similar.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 Pro  =====&lt;br /&gt;
Successor to the original Rage 128 carried several enhancements, including an enhanced triangle setup engine that doubled geometry throughput to eight million triangles/s, better texture filtering, DirectX 6.0 texture compression, AGP 4×, DVI support, and an optional Rage Theater chip for composite and S-Video TV-in. The Rage 128 Pro was generally an even match for the Voodoo 3 2000, RIVA TNT2 and Matrox G400, but was often hindered by its lower clock (often at 125MHz).  Several different variants released with different clock speeds.&lt;br /&gt;
&lt;br /&gt;
Sold under the following names: ''Rage Fury Pro'', ''Rage Fury MAXX''&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium III 100 Mhz Bus&lt;br /&gt;
* Pentium 2&lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Nvidia Riva TNT2&lt;br /&gt;
* 3Dfx Voodoo 3&lt;br /&gt;
* Matrox G400&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/389/12&lt;br /&gt;
:''For the occasional gamer the Rage Fury Pro seems ideal but pairing the card up with a fast processor such as a Pentium III 500+ or an Athlon will most likely be doing your processor an injustice if you're concerned with gaming performance.  The &amp;quot;slower&amp;quot; processors (&amp;lt; P3-450) is where the card will begin to shine, especially against the more CPU dependent TNT2, especially under Direct3D.  The current limitation of performance under Quake 3 seems to be a result of the OpenGL ICD which does seem to have some room for improvement.   It wouldn't be surprising to see the Rage 128 Pro beat out the TNT2 in a few Quake 3 runs with a better ICD. &lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage 6 =====&lt;br /&gt;
The Rage 6 family was renamed to Radeon before release&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage GPU chart =====&lt;br /&gt;
&lt;br /&gt;
''Work in progress - ATI Rage GPU chart''&lt;br /&gt;
&lt;br /&gt;
This is a table of all the ATI GPU parts that were released as &amp;quot;RAGE&amp;quot; products.  Still working on the Rage Mobility Parts.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Part&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Family&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Process (nm)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Transistors (Mil)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Die Size (mm^2)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Clock (MHz)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Mem (MB)&lt;br /&gt;
|-&lt;br /&gt;
|215GT2CB12&lt;br /&gt;
|Rage II&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215GT2UB24&lt;br /&gt;
|3D Rage II+DVD&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R2QZUA21&lt;br /&gt;
|3D Rage IIc AGP&lt;br /&gt;
|Rage2&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R2PZUA21&lt;br /&gt;
|3D Rage IIc PCI&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3DUA22&lt;br /&gt;
|3D Rage Pro AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA22&lt;br /&gt;
|3D Rage Pro PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3BJA33&lt;br /&gt;
|Rage Pro Turbo AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA33&lt;br /&gt;
|Rage Pro Turbo PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3LASB41&lt;br /&gt;
|Rage XL&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3QZSB22&lt;br /&gt;
|Rage XC&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA21&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|Rage128&lt;br /&gt;
|&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA22&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R4GASA21&lt;br /&gt;
|Rage 128&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R4GAUC21&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|Rage128Pro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage add-in boards =====&lt;br /&gt;
&lt;br /&gt;
Here are tables that list Graphics add-in boards released with Rage GPUs by ATI&lt;br /&gt;
The last two digits of the part number refer to the revision.&lt;br /&gt;
&lt;br /&gt;
A part number that ends &amp;quot;-00&amp;quot; would either be an engineering sample or a first release.&lt;br /&gt;
The next revisions of the board would be &amp;quot;-10&amp;quot;, &amp;quot;-20&amp;quot;, &amp;quot;-30&amp;quot; etc.  I included the version number that I saw in my research, but there are likely other revisions that I have not seen.&lt;br /&gt;
&lt;br /&gt;
The tables are grouped &amp;amp; ordered by GPU family, but there was a lot of overlap between generations.  For example, the Video Xpression+ (109-40600-10) has copyright 1998 printed on the board, which is 2 years later than the other early Rage cards.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;  &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Pix:Tex/Clk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Core/Mem Mhz&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes: DirectX 5&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64-GT (Rage)&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|44/57&lt;br /&gt;
|Later sold as &amp;quot;Video Charger&amp;quot; with &amp;quot;Rage II + DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-37100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|55/66&lt;br /&gt;
|DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|Sun Workstation&lt;br /&gt;
|109-37700-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|DB13W3 Display Connector - Sun&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-37900-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later sold with &amp;quot;3D Rage II+DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+&lt;br /&gt;
|109-38200-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-38500-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|56/70&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder&lt;br /&gt;
|109-38600-10&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|3D Charger&lt;br /&gt;
|109-38800-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later called &amp;quot;3D Pro Turbo&amp;quot; ?&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-39200-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|VGA + DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage II&lt;br /&gt;
|109-40100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play AGP&lt;br /&gt;
|109-40200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Out / Rev -20 (1998) &lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-40600-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|Rev -10 (1998) has Rage IIC or Mach64-VT4&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro PCI&lt;br /&gt;
|109-41500-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SGRAM&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play/Work PCI&lt;br /&gt;
|109-41900-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|@Play had TV Out / Rev &amp;quot;-10&amp;quot; sold with &amp;quot;98&amp;quot; suffix&lt;br /&gt;
|-&lt;br /&gt;
|Memory Addon&lt;br /&gt;
|109-42000-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4MB or 8MB&lt;br /&gt;
|64m SGRAM&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Nexus GA&lt;br /&gt;
|109-42600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b WRAM?&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display.  external Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim VR PRO&lt;br /&gt;
|109-43100-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|OEM 3D Rage Pro&lt;br /&gt;
|109-43200-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Gateway &amp;amp; Compaq&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder Pro&lt;br /&gt;
|109-44600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / Rev -30 (1998) &amp;quot;Turbo&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-45400-00c&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output&lt;br /&gt;
|-&lt;br /&gt;
|Xpert XL&lt;br /&gt;
|109-46200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62.8&lt;br /&gt;
|4 or 8 chip EDO / 32b if 4 chip?&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-47200-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with Dual VGA&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-48300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|32b EDO (?)&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|4 chip EDO.  &lt;br /&gt;
|-&lt;br /&gt;
|Workstation OEM ?&lt;br /&gt;
|109-48400-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-49300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|Low End OEM.  32bit?  Rev&amp;quot;-01&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Work AGP&lt;br /&gt;
|109-49800-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/ 75&lt;br /&gt;
|Also built with LT &amp;amp; XL chips.  Rev &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-50200-01&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-50500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|8,16,32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|80/120&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot; &amp;amp; &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 128&lt;br /&gt;
|109-51800-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-40&amp;quot; has mac bios&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-51900-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 99&lt;br /&gt;
|109-52000-00&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|80/125&lt;br /&gt;
|Rev &amp;quot;-01&amp;quot; and &amp;quot;-31&amp;quot; (2000) &lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 Pro&lt;br /&gt;
|109-52100-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Funky L Card.  Rev &amp;quot;-10&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-52300-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-52800-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|4 chip SDRAM.  Rev &amp;quot;-10&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-52900-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips.  Revs &amp;quot;-02&amp;quot;, &amp;quot;-04&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53000-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53400-11&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 4 ram chips.  Rev &amp;quot;-12&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-55700-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output.  Rev &amp;quot;-01&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|Rage Orion (Mac)&lt;br /&gt;
|109-57400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|64b &amp;amp; 128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Sold for PC as Rage 128 VR &amp;amp; Xclaim VR 128 w/ Ext TV tuner.  Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Nexus 128 (Mac)&lt;br /&gt;
|109-57500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OEM Rage 128 Pro&lt;br /&gt;
|109-60600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|134/134&lt;br /&gt;
|16MB &amp;amp; 64b bus if only 2 chips are populated&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro / Rage Magnum&lt;br /&gt;
|109-61300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|Optional TV Out&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-61800-10&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM.  32bit?&lt;br /&gt;
|-&lt;br /&gt;
|Rage XC&lt;br /&gt;
|109-62800-10&lt;br /&gt;
|Rage XC&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|4 / 8 MB&lt;br /&gt;
|32b / 64b SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim Dual Rage 128 Pro&lt;br /&gt;
|109-63000-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|DVI and VGA / 8 Ram chips / G4 Apple Only?&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro&lt;br /&gt;
|109-63100-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|16, 32MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO&lt;br /&gt;
|109-63200-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , Optional TV Out, Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128 PRO&lt;br /&gt;
|109-65600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 PRO&lt;br /&gt;
|109-65700-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Funky L Card&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000&lt;br /&gt;
|109-66500-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66700-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|4 chip SDRAM / XPERT 98&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66900-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury MAXX&lt;br /&gt;
|109-67300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|4:2&lt;br /&gt;
|64 MB&lt;br /&gt;
|2 x 128b SGRAM&lt;br /&gt;
|125/143&lt;br /&gt;
|Dual Chip &amp;amp; Ram / Alternate frame rendering&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play 2000 ?&lt;br /&gt;
|109-68100-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|103/103&lt;br /&gt;
|TV Out&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|109-70400-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL PCI&lt;br /&gt;
|109-72300-10&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|125/83&lt;br /&gt;
|Reduced Cost Model&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim 3D PRO&lt;br /&gt;
|109-72700-02&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Apple &amp;quot;ADC&amp;quot; port / 8 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra GL&lt;br /&gt;
|109-73100-10&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128&lt;br /&gt;
|109-74400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|16MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra&lt;br /&gt;
|109-78200-00&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|64b/128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 or 8 Chip Ram / Optional Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rage Bios Numbers can be found here: https://web.archive.org/web/19990503172836/http://support.atitech.ca/identify/bios_list.html&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ATi Radeon series ==&lt;br /&gt;
&lt;br /&gt;
===== R100 =====&lt;br /&gt;
[[File:Radeon_AGP.jpg|thumb|Radeon 7200]]&lt;br /&gt;
[[File:Radeon_7000_PCI_32MB_DDR.jpg|thumb|Radeon 7000 32MB DDR PCI]]&lt;br /&gt;
[[File:Radeon7500agp.jpg|thumb|Radeon 7500 64MB]]&lt;br /&gt;
The original Radeon was a Direct3D 7 visual processing unit (VPU), as ATi named it. It is a 2 pixel per clock design with 3 texture units on each of the pixel pipelines. The 166 MHz Radeon DDR (aka 7200) is competitive with GeForce 256 DDR. Clock speeds varied from 143 - 200 MHz, synchronous memory and core. &lt;br /&gt;
&lt;br /&gt;
It supports environmental bump mapping (EMBM), unlike GeForce cards at the time. It has a basic form of anisotropic filtering that is high performance and offers a nice quality improvement but is highly angle-dependent and can not operate at the same time as trilinear filtering. It also offers ordered-grid supersampling anti-aliasing.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures. It is possible to enable fog table via registry tweaks but it was not officially supported.&lt;br /&gt;
&lt;br /&gt;
RV100 (Radeon VE / 7000) is a chip with dual display capabilities but with reduced 3D hardware. It lacks T&amp;amp;L and has a single pixel pipeline. It is somewhat faster than TNT2 Ultra and G400 Max.&lt;br /&gt;
&lt;br /&gt;
RV200 (Radeon 7500) is a die shrink of R100 with some improvements. It has more anisotropic filtering options and is capable of asynchronous clocking of memory and the core. The top of the line model is clocked at 290 MHz core and 230 MHz RAM, and competes with GeForce 2 Ti/Pro. &lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col'|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col'|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, LE DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70600-20&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|LE and 7200 had lower speeds&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70700-01&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|VIVO &amp;amp; 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73500-21&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW, AIW 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73700-20&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|AIW 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR (7200 PCI)&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-75700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76200-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76800-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-77700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000, VE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR, DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200, SDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|143&lt;br /&gt;
|166&lt;br /&gt;
|3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81100-01&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|Low Profile DMS59&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81700-00&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83100-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR, 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-83800-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|143&lt;br /&gt;
|2.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|109-85500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32, 64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Sun + Apple&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-85530-10&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR?&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Sun&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-92400-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Tiny Notch Board&lt;br /&gt;
|-&lt;br /&gt;
|Radeon LE, 7100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-REF94-00A&lt;br /&gt;
|RV100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW VE, 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon MAXX DDR&lt;br /&gt;
|AGP 2x&lt;br /&gt;
|2000&lt;br /&gt;
|&lt;br /&gt;
|R100 x2&lt;br /&gt;
|148&lt;br /&gt;
|128MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|148&lt;br /&gt;
|9.5 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== R200 =====&lt;br /&gt;
[[File:Radeon8500 128mb.JPG|thumb|Radeon 8500 128MB]]&lt;br /&gt;
This generation is the first with Direct3D 8 compliance, actually Direct3D 8.1. The Radeon 8500 is a 4 pipeline design with 2 texture units per pipeline and operates at up to 275 MHz, typically with synchronous core and RAM. It is competitive with GeForce 3 Ti 500. &lt;br /&gt;
&lt;br /&gt;
A wide variety of supersampling anti-aliasing modes are available (2-6x, quality/performance). ATi calls it &amp;quot;Smoothvision&amp;quot;. It uses various techniques, including a jittered-grid pattern for some modes/cases and ordered-grid for others. In Direct3D, fog may force it to use ordered-grid. Drivers vary in their behavior as well.[http://forum.beyond3d.com/showpost.php?p=4859&amp;amp;postcount=64]&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering is somewhat improved, with more levels supported, but is again very angle dependent and can not work with trilinear filtering. GeForce 3+ have higher quality anisotropic filtering but with a much higher performance impact.&lt;br /&gt;
&lt;br /&gt;
ATi introduced a tessellation function called [[TruForm]].&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
&lt;br /&gt;
RV250 and RV280, known as Radeon 9000, 9200 and 9250, are slight evolutions of the design. They have somewhat reduced specifications but are more efficient and run cooler. They were popular notebook GPUs. Performance of Radeon 9000 Pro is not far off of Radeon 8500. Radeon 9100 is a rename of Radeon 8500 LE.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-82800-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83200-01&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|230&lt;br /&gt;
|3.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83400-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|DVI Output&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83600-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83900-00&lt;br /&gt;
|RV200&lt;br /&gt;
|260&lt;br /&gt;
|64MB&lt;br /&gt;
|SGRAM&lt;br /&gt;
|128&lt;br /&gt;
|180&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500DV&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-84800-10&lt;br /&gt;
|R200&lt;br /&gt;
|230&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|190&lt;br /&gt;
|6.1 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500 LE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|300&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|290&lt;br /&gt;
|9.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-91700-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|Mac G4 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95800-00&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95900-10&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-99700-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A06200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A062GN-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A165GN-00B&lt;br /&gt;
|RV280se&lt;br /&gt;
|200&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|OEM Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-A34200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|240&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|200&lt;br /&gt;
|3.2 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-G0118-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM &amp;quot;L&amp;quot; Card&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R300 =====&lt;br /&gt;
[[File:Radeon_9500_128MB.jpg|thumb|Radeon 9500 Pro 128MB]]&lt;br /&gt;
[[File:Radeon_9600_AGP_256MB.jpg|thumb|Radeon 9600 256MB]]&lt;br /&gt;
[[File:Radeon_9800_XL_(Medion_OEM_card_with_cooler_removed).jpg|thumb|Radeon 9800 XL 128MB]]&lt;br /&gt;
[[File:Radeon9800pro256.JPG|thumb|Radeon 9800 Pro 256MB]]&lt;br /&gt;
Introduced in August 2002, the R300 GPUs are Direct3D 9.0-compliant graphics chips. R300 introduced Shader Model 2.0 support and is also OpenGL 2.0-compliant. The R300 was designed by the ArtX engineering team that ATI had acquired in Feburary 2000. The same ArtX engineers (who were also former SGI employees) designed the Nintendo Gamecube GPU (Flipper) as well as the SGI RealityEngine-based graphics processor in the Nintendo 64. The first R300-based cards released were the Radeon 9500 and 9700 line of cards. In 2003, the Radeon 9600 and 9800 series were added to the lineup. R300 has many improvements and noticeably better visual quality than ATI's prior chips. Radeon 9800 Pro is competitive with GeForce FX 5900 Ultra, but with Direct3D 9 games the GeForce FX falls far behind.&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering quality is vastly improved in the R300, with much lower angle-dependency and the ability to work simultaneously with trilinear filtering. Furthermore, compared to its initial competitor, NVIDIA's GeForce 4 Ti series, R300's anisotropic filtering incurred much less performance decrease. Anti-aliasing is now performed with 2-6x gamma-corrected rotated-grid multi-sampling anti-aliasing. MSAA operates only on polygon edges, which of course means no anti-aliasing within textures or of transparent textures, but expends far less fillrate and is thus useable at higher resolutions. NVIDIA does not match the quality of this MSAA until GeForce 8. However, ATi did not support any form of super-sampling with R300-R700, while NVIDIA did.&lt;br /&gt;
&lt;br /&gt;
The R300 enjoyed visual quality and performance supremacy over its competitors in games and applications that extensively used Shader Model 2.0. NVIDIA would not be able to match or exceed ATI's Direct3D 9.0 performance until the release of the GeForce 6 series in 2004.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
Also, despite being Direct3D 9.0-compliant, the R300 is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI Manufactured boards&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30 ???&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A05600-00&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 SE&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XL&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10 ?&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A22500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03400-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|PC &amp;amp; MAC&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-01&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A198GN-00&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|MSI&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT &lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-10&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac G5 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A58503-20&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-10&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fire GL1-128&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-20&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XL&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-01&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XT&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A18800-10&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X800 PRO&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A26100-01&lt;br /&gt;
|R420&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW X800XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A38304-00&lt;br /&gt;
|R420XT&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X850 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A47504&lt;br /&gt;
|R480&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon x1050 AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-64&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A12400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-128&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03431-21&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL Z1-128&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X1-256&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10 ?&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256T&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A23400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X3-256&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A30131-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R400 ===== &lt;br /&gt;
[[File:Radeon_X600Pro_PCIe.jpg|thumb|Radeon X600 Pro 256MB]]&lt;br /&gt;
[[File:RadeonX800XTPE.jpg|thumb|Radeon X800 XT PE]]&lt;br /&gt;
&lt;br /&gt;
Introduced in 2004, this is ATi's Direct3D 9.0b generation. It is very similar to R300 in general, but with 16 pipelines in the top chip instead of 8, and higher clock speeds. They are still shader model 2.0 GPUs but have some extensions beyond 2.0, which gives them a 2.0b designation, but are not 3.0 compliant. This was not an issue until about 2 years after launch when games started to outright require shader model 3.0 or run without some visual features. There are some games that utilize 2.0b features - for example Oblivion has more visual effects available on X800 than 9800.&lt;br /&gt;
&lt;br /&gt;
A new anti-aliasing mode was introduced, called temporal AA. This feature shifts the sampling pattern on a per-frame basis, if the card can maintain &amp;gt;= 60 fps. This works well with human vision and gives a tangible improvement to anti-aliasing quality. Also, while not initially available, adaptive anti-aliasing was added to the R400 series after the release of R500 series. Adaptive AA anti-aliases within transparent textures, giving MSAA more SSAA-like capabilities.&lt;br /&gt;
&lt;br /&gt;
The ATI R400 series are ATI's last GPUs with official Windows 98/98 SE/ME support. Likewise with the R300 series, the R400 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
----&lt;br /&gt;
===== R500 =====&lt;br /&gt;
Introduced in 2005, the Radeon X1000 / R500 series are ATI's first Direct3D 9.0c-compliant GPUs with full Shader Model 3.0 features. The R500 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R600 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_2600_Pro_and_2600_XT_both_AGP.jpg|thumb|HD 2600Pro and HD 2600XT, AGP versions]]&lt;br /&gt;
[[File:HD_3850_AGP_512MB.jpg|thumb|HD 3850 AGP]]&lt;br /&gt;
Introduced in 2006, these Radeons added the &amp;quot;HD&amp;quot; prefix to their names.&lt;br /&gt;
R600 includes both the HD 2xxx and HD 3xxx series, with the AGP version of the HD 3850 arguably being the most powerful AGP graphics card to ever have been made (with only the AGP variants of the HD 4650 and the HD 4670 being of a more recent GPU family).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R700 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_4670_AGP_1GB_Club3D.jpg|thumb|HD 4670 1GB Club3D AGP]]&lt;br /&gt;
Introduced in 2008, the R700 family included the last graphics cards to be made for AGP slots.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== Driver suggestions for games =====&lt;br /&gt;
====== Star Wars Knights of the Old Republic 1 &amp;amp; 2 ====== &lt;br /&gt;
These OpenGL games are problematic for Radeon cards. DirectX 8 Radeons should use Catalyst 4.2 for KOTOR and Catalyst 5.1 for KOTOR 2.  DirectX 9 Radeons in the R300 series can try these as well.  With the R4x0 through R6x0 Radeon cards, Catalyst 7.11 may be the best choice.&lt;br /&gt;
&lt;br /&gt;
If the soft shadows option is greyed out and disabled, as it most likely will be, edit swkotor.ini and add &amp;quot;AllowSoftShadows=1&amp;quot; to the [Graphics Options] section.&lt;br /&gt;
&lt;br /&gt;
==Video captures==&lt;br /&gt;
&lt;br /&gt;
===3D Rage II ===&lt;br /&gt;
{{#ev:youtube|wdJXf6MpN7A}}&lt;br /&gt;
Note: The Dawning Demo was actually targeted for the ATI Rage128 series that is a considerably newer, thus faster core than the 3D Rage II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|iFHwNf7-oZk}}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|wWzWdwj9NvU}}&lt;br /&gt;
&lt;br /&gt;
===3D Rage Pro ===&lt;br /&gt;
{{#ev:youtube|DU5Zi69QPQs}}&lt;br /&gt;
{{#ev:youtube|uZna8WXC4ds}}&lt;br /&gt;
{{#ev:youtube|IG3hd1humM0}}&lt;br /&gt;
{{#ev:youtube|i4pB5Fw8Slk}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;br /&gt;
&lt;br /&gt;
==Related links==&lt;br /&gt;
*[http://www.vogonsdrivers.com/index.php?catid=22  VOGONS Drivers Ati section] &lt;br /&gt;
*[http://www.vogonswiki.com/index.php/Interesting_Vogons_Threads#Graphics_cards  VOGONS threads about graphics cards] &lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5552</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5552"/>
				<updated>2026-03-16T12:54:46Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur.&lt;br /&gt;
* VLB IDE controllers often have hardware or drivers that stop at PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes require a working IORDY signal from the storage device to prevent failed transfers.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because of IORDY overhead.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can reach transfer rates up to 12MB/s when multiword DMA transfers (WDMA) are enabled via driver, but it only does DMA into a buffer on the controller, and transfers to main memory still happen via PIO.  There is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Can enter an undefined state when the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5551</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5551"/>
				<updated>2026-03-16T12:44:11Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: From 486 socket 2 to early Pentium socket 7&lt;br /&gt;
* Drivers and BIOS images released before June 1994 rarely support storage devices &amp;gt; 512MB&lt;br /&gt;
* VLB IDE controllers often have hardware or software that limits the storage to PIO2 speeds to avoid data corruption, making throughput &amp;gt; 5.5 MB/s difficult to achieve.&lt;br /&gt;
* Some VLB controllers allow fixed rate speeds to be configured by jumper, but if the speed is too fast, random data corruption may occur intermittently.&lt;br /&gt;
* To avoid random data corruption, PIO3 &amp;amp; 4 modes should have a working IORDY signal.  Storage devices are expected to assert IORDY when ready to transfer data.&lt;br /&gt;
* PIO3 &amp;amp; 4 modes rarely reach speeds &amp;gt; 10 MB/s because IORDY slows transfer rates as needed to prevent data corruption.&lt;br /&gt;
* Some early IDE storage devices never assert IORDY, so some VLB controllers from this period include a jumper to always assert IORDY so these devices can function.&lt;br /&gt;
* The Promise 20630 VLB controller can do multiword DMA transfers (WDMA) into a buffer on the controller, achieving real transfer rates up to 12MB/s, but transfers to main memory still happen via PIO and there is no CPU benefit in multitasking operating systems.&lt;br /&gt;
* Most early PCI controllers support WDMA modes, and this allow for background data transfers directly into main memory without a CPU load when using a multitasking operating system.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Can enter an undefined state when the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5550</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5550"/>
				<updated>2026-03-16T11:56:09Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Bridges: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Socket 2,3,4,5,6, early Socket 7&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems only attempt mode PIO3 &amp;amp; 4 timing if they detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device asserts IORDY when ready to send or receive data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices assert IORDY for a smaller portion of the cycle as timings get tighter.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Uneven support for PIO 3 &amp;amp; 4 because of irregular IORDY implementation.&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers supporting ATA/33 and faster.&lt;br /&gt;
* Data loss can occur with sudden power loss because writes are not immediately committed. &lt;br /&gt;
* Can operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Can enter an undefined state when the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5549</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5549"/>
				<updated>2026-03-16T03:19:01Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Socket 2,3,4,5,6, early Socket 7&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems only attempt mode PIO3 &amp;amp; 4 timing if they detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device asserts IORDY when ready to send or receive data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices assert IORDY for a smaller portion of the cycle as timings get tighter.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5548</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5548"/>
				<updated>2026-03-16T03:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems only attempt mode PIO3 &amp;amp; 4 timing if they detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device asserts IORDY when ready to send or receive data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices assert IORDY for a smaller portion of the cycle as timings get tighter.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5547</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5547"/>
				<updated>2026-03-16T03:15:26Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems only attempt mode PIO3 &amp;amp; 4 timing if they detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device will assert IORDY if it read to send or receive data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices de-assert IORDY a greater proportion of the cycle as timings get tighter.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
* ATA3 introduced S.M.A.R.T. — Self-Monitoring, Analysis, and Reporting Technology.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5546</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5546"/>
				<updated>2026-03-16T02:39:06Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s at 8 Mhz.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems will not attempt mode PIO3 &amp;amp; 4 timing if they do not detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device will de-asserts IORDY if it needs the host system to wait before reading or writing data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices begin to de-assert IORDY more frequently as transfer rates increase.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5545</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5545"/>
				<updated>2026-03-16T02:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased by 35%.&lt;br /&gt;
* Caching controllers can achive transfer rates up to 4MB/s&lt;br /&gt;
* Storage transfer rates increase if ISA transfer clocks are increased.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s.&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Most systems will not attempt mode PIO3 &amp;amp; 4 timing if they do not detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device will de-asserts IORDY if it needs the host system to wait before reading or writing data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices begin to de-assert IORDY more frequently as transfer rates increase.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5544</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5544"/>
				<updated>2026-03-16T02:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1993-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s.&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased up tp 35%.&lt;br /&gt;
* Most systems will not attempt mode PIO3 &amp;amp; 4 timing if they do not detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device will de-asserts IORDY if it needs the host system to wait before reading or writing data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices begin to de-assert IORDY more frequently as transfer rates increase.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5543</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5543"/>
				<updated>2026-03-16T02:23:21Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1994-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s.&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max thoughput can be increased up tp 35%.&lt;br /&gt;
* Most systems will not attempt mode PIO3 &amp;amp; 4 timing if they do not detect a working IORDY signal on PIN 27 to avoid data corruption.  A storage device will de-asserts IORDY if it needs the host system to wait before reading or writing data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices begin to de-assert IORDY more frequently as transfer rates increase.&lt;br /&gt;
* Some older storage devices never assert IORDY, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Drivers and BIOS images written before June 1994 rarely support storage devices &amp;gt;512MB&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5542</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5542"/>
				<updated>2026-03-16T02:11:16Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1994-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* ISA systems are limited to PIO modes 0 &amp;amp; 1, rarely seeing transfers &amp;gt; 2.2MB/s.&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* Some storage devices support multi-sector transfers.  If the controller device driver enables this feature, max through put can be increased up tp 35%.&lt;br /&gt;
* IORDY is necessary to prevent data corruption in PIO3 &amp;amp; 4 modes.  When a storage device de-asserts IORDY, the host system waits to read or transmit data.  It difficult to get speeds &amp;gt; 10 MB/s in the faster PIO modes because storage devices begin to de-assert IORDY more frequently as transfer rates increase.&lt;br /&gt;
* Some older storage devices never assert IORDY which can cause problems, so controller cards from this period frequently include a jumper to always assert IORDY.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 12MB/s but transfers from the controller to the computer still happen via CPU.&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for background data transfers in multitasking operating systems.&lt;br /&gt;
* Controllers from this period often received BIOS upgrades for storage &amp;gt;512MB using ECHS addressing&lt;br /&gt;
* Some VLB controllers have jumpers that allow for faster fixed transfer timings to be configured without a driver, but faster transfers from fixed rate timing come with a risk of data corruption when storage devices cannot keep up.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5541</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5541"/>
				<updated>2026-03-16T01:47:57Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Common IDE Categories */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1994-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* ISA systems are limited to PIO modes 0 and 1, rarely seeing transfers &amp;gt; 2.2MB/s.&lt;br /&gt;
* VLB controllers are frequently limited PIO2 and rarely achieve real throughput &amp;gt; 5 MB/s.&lt;br /&gt;
* So e storage devices support multi-sector transfers.  If the controller device driver enables this feature, max through put can be increased.&lt;br /&gt;
* IORDY is necessary to prevent data corruption on PIO3 &amp;amp; 4, but lowers real thoughput, making it difficult to get speeds &amp;gt; 9 MB/s in the faster PIO modes.&lt;br /&gt;
* Some older storage devices malfunction if the controller expects IORDY on pin 27, so some cards include a jumper to disable IORDY, which limits speeds to PIO2 or slower.&lt;br /&gt;
* The promise 20630 VLB controller can do multi word DMA transfers ( WDMA) from the controller to storage to achieve transfer rates up to 11MB/s but transfers from the controller to the computer still use A lot of CPU&lt;br /&gt;
* Most PCI controllers support WDMA modes that allow for back ground data transfers in multitasking operating systems.&lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;512MB using ECHS addressing&lt;br /&gt;
* VLB controllers sometimes have jumpers that allow transfer speed to be configured without a driver.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5540</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5540"/>
				<updated>2026-03-16T01:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* Overcoming Limitations and Incompatibilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1994-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* PIO modes transfer rates up to 16Mhz available on some VLB controllers and most PCI controllers&lt;br /&gt;
* Multiword DMA transfer rates to 16Mhz available on a few VLB controllers and most PCI controllers.  &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;512MB using ECHS addressing&lt;br /&gt;
* VLB controllers from this period sometimes have jumpers that allow transfer speed to be configured without a driver.&lt;br /&gt;
* VLB controllers from this period sometimes have a jumper to allow the use of IO Ready signaling to increase the efficiency of PIO modes, but this requires driver support.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
* Some pins such as 27 &amp;amp; 28 have changed functionality over time.  Some early cards connect these pins in ways that later caused unexpected ISA bus issues.   https://www.vogons.org/viewtopic.php?t=107640&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5485</id>
		<title>ATI</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5485"/>
				<updated>2026-01-15T13:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* R300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ATi Technologies produced graphics cards from the '80s through the mid '00s until merging with AMD in 2006. AMD still produces graphics cards today.&lt;br /&gt;
&lt;br /&gt;
== ATi Wonder Series ==&lt;br /&gt;
&lt;br /&gt;
The '''ATi Wonder series''' represents some of the first [[graphics]] add on products for [[IBM]] [[Personal computer|PCs]] and compatibles introduced by [[ATi Technologies]] in the mid to late 1980s. These cards were unique at the time as they offered the end user a considerable amount of value by combining support for multiple graphics standards (and monitors) into a single card. The VGA Wonder series added additional value with the inclusion of a [[Bus mouse|bus mouse port]], which normally required the installation of a dedicated [[Microsoft Bus Mouse]] adapter.&lt;br /&gt;
&lt;br /&gt;
The VGA Wonder series later merged with the [[ATI Mach]] series of cards in 1990. The [[ATi Graphics Ultra]] (VRAM) and [[ATi Graphics Vantage]] (DRAM) cards both featured independent VGA Wonder ASICs in addition to their Mach8 8514 compatible [[coprocessor chips]]. The Graphics Ultra was later renamed the VGA Wonder GT. In 1992, their following [[product line]], the Mach32, integrated the VGA wonder core and coprocessor into a single IC. At this point the VGA Wonder line was cancelled and replaced with a cost reduced DRAM based version of Mach32 known as the &amp;quot;ATi Graphics Wonder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Graphics Solution (CGA)===&lt;br /&gt;
[[File:ATI Hercules Card 1986.xcf|thumb|One of the early graphics cards from ATI Technologies: a ''Graphics Solution Rev 3'' [[Hercules Graphics Card|Hercules]] graphics card from 1986. As can be seen from the PCB the layout was done in 1985, whereas the marking on the central chip CW16800-A says &amp;quot;8639&amp;quot; meaning that chip was manufactured week 39, 1986.]]&lt;br /&gt;
''Release Date: 1986''&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution Rev 3'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-A&lt;br /&gt;
* Supports: [[Hercules Graphics Card]] mode&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
&lt;br /&gt;
'''ATi Color Emulation Card '''&lt;br /&gt;
* Did at least support CGA graphics output to a [[TTL Monochrome]] monitor&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution plus (1987)'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-B&lt;br /&gt;
* Supports CGA, [[Plantronics Colorplus]] CGA &amp;amp; [[Hercules Graphics Card]] graphics modes&lt;br /&gt;
* Compatible with MDA, CGA (and therefore also EGA displays), [[DIP switch]] selectable&lt;br /&gt;
* 64kb of DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''Graphics Solution Plus SP'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Adds Serial/Parallel Ports&lt;br /&gt;
'''Graphics Solution SR'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Uses Static RAM&lt;br /&gt;
'''ATi Small Wonder Graphics Solution (1988)'''&lt;br /&gt;
* Chipset: ATI 18700&lt;br /&gt;
* Also known as Graphics Solution Single Chip or just GS-SC&lt;br /&gt;
* Single-chip version of the Graphics Solution plus&lt;br /&gt;
* 64kb of static RAM&lt;br /&gt;
* Composite Output&lt;br /&gt;
'''Graphics Solution Single Chip or GS-SC with Game (1988)'''&lt;br /&gt;
* Includes a [[game port]]&lt;br /&gt;
* Lacks external [[composite connector]]&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution&lt;br /&gt;
|168228&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Color/Emulation Card&lt;br /&gt;
|168230-1&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|&lt;br /&gt;
|Versions 1-4?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution Plus&lt;br /&gt;
|168248&lt;br /&gt;
|CW16800-B&lt;br /&gt;
|XT&lt;br /&gt;
|1986&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SR&lt;br /&gt;
|168328&lt;br /&gt;
|CW16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1987&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Small Wonder&lt;br /&gt;
|18701&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|18703&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC1&lt;br /&gt;
|Versions 1-2 ?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|109005100&lt;br /&gt;
|16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC2NC&lt;br /&gt;
|Versions 1-3?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC WITH GAME&lt;br /&gt;
|109003200&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSCGM&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===EGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi EGA Wonder''' (March 1987)&lt;br /&gt;
* Chipset: ATI16899-0 + CHIPS P86C435&lt;br /&gt;
* Supports CGA, Hercules mono &amp;amp; EGA graphics modes&lt;br /&gt;
* Removes support for plantronics mode/Single-page Hercules mode/composite output&lt;br /&gt;
* Compatible with MDA, CGA and EGA displays (DIP switch selectable)&lt;br /&gt;
* [[Internal composite port]] for machines such as [[IBM 5155 Portable]]&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $399&lt;br /&gt;
'''ATi EGA Wonder 800'''&lt;br /&gt;
* Added support for extended EGA text and graphics modes (requires [[multisync monitor]])&lt;br /&gt;
* Added support for 16-colour VGA modes&lt;br /&gt;
'''ATi EGA Wonder 800+'''&lt;br /&gt;
* Rebadged VGA Edge lacking the analogue [[VGA port]]&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Can auto-detect monitor type connected (DIP switches no longer present)&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder&lt;br /&gt;
|16890, 16892&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1986-11-13&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA0&lt;br /&gt;
|Series 1 through 4&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/media/k2/items/cache/4d8c9898b5bb88437f053c8b957f47f3_XL.jpg EGA Wonder 800]]&lt;br /&gt;
|16900, 1040015-0xx&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1988-08-09&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA2&lt;br /&gt;
|Repackaged at reduced cost as &amp;quot;EGA Wonder 480&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/images/palcal/ati/16899-0vip1b.jpg EGA Wonder VIP]]&lt;br /&gt;
|18008 &lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|Rev 1-5&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder 800+&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Sold as &amp;quot;VGA Edge-8&amp;quot; when board has VGA port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===VGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi VIP or VGA Improved Performance (1987)'''&lt;br /&gt;
&lt;br /&gt;
* Chipset: ATi 16899-0 &amp;amp; Chips P82C441&lt;br /&gt;
* Supports CGA, Hercules mono, EGA &amp;amp; VGA graphics with Softsense automatic mode switching&lt;br /&gt;
* Compatible with MDA, CGA, EGA and VGA displays (DIP switch selectable)&lt;br /&gt;
* 9-pin TTL and 15-pin analogue connectors&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $449 ($99 for Compaq expansion module)&lt;br /&gt;
'''ATi VGA Wonder (1988)'''&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Adds support for SVGA graphics modes&lt;br /&gt;
* Adds support for monitor auto-sensing (switchless configuration)&lt;br /&gt;
* Uses on-board EEPROM to store configuration information&lt;br /&gt;
* 256kb or 512kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''ATi VGA Edge 8'''&lt;br /&gt;
* Cost Reduced VGA Wonder&lt;br /&gt;
* 256KB DRAM&lt;br /&gt;
'''ATi VGA Wonder 16 (1988)'''&lt;br /&gt;
* Speed enhancements due to a wider bus&lt;br /&gt;
* VGA pass through connector&lt;br /&gt;
* Bus mouse connector&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
* Port: [[16-bit]] PC/AT bus (ISA), [[8-bit]] compatible&lt;br /&gt;
* Original MSRP: $499 or $699 respectively&lt;br /&gt;
'''ATi VGA Edge-16'''&lt;br /&gt;
* Cost reduced VGA Wonder 16&lt;br /&gt;
* Lacks the bus mouse connector and the digital TTL output&lt;br /&gt;
* 256kb DRAM (not expandable to 512kb)&lt;br /&gt;
'''ATi VGA Wonder+ (1990)'''&lt;br /&gt;
[[File:ATI Wonder.jpg|right|thumb|ATI VGA Wonder+]]&lt;br /&gt;
* Chipset: ATI 28800-2, -4, or -5&lt;br /&gt;
* Based on a new chipset which claimed to offer speeds rivalling VRAM based cards&lt;br /&gt;
* Dual page mode memory access&lt;br /&gt;
* Dynamic CPU/CRT interleaving&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
'''ATi VGA Integra (1990)'''&lt;br /&gt;
* Cost reduced version based on new ATi 28800 ASIC&lt;br /&gt;
* Lacks bus mouse connector&lt;br /&gt;
* Uses a much smaller PCB with a surface mount BIOS &amp;amp; RAMDAC&lt;br /&gt;
* Supports SVGA Graphics with 72&amp;amp;nbsp;Hz refresh rates&lt;br /&gt;
* 512KB DRAM&lt;br /&gt;
'''ATi VGA Basic-16 (1990)'''&lt;br /&gt;
* PCB layout similar to VGA Integra but using cheaper RAMDAC&lt;br /&gt;
* Only supports the basic 60&amp;amp;nbsp;Hz VGA modes of the IBM VGA standard from 1987&lt;br /&gt;
* 256KB DRAM (not upgradable)&lt;br /&gt;
'''ATi VGA Charger (1991)'''&lt;br /&gt;
* Similar to VGA Basic-16, but can be upgraded to 512KB&lt;br /&gt;
'''ATi VGA Wonder XL (May 1991)'''&lt;br /&gt;
* Sierra RAMDAC adds support for 15-bit colour in 640x480@72&amp;amp;nbsp;Hz, 800x600@60&amp;amp;nbsp;Hz&lt;br /&gt;
* Supports a flicker-free vertical refresh rate of 72&amp;amp;nbsp;Hz&lt;br /&gt;
* 256KB, 512KB or 1MB DRAM&lt;br /&gt;
* Original MSRP: $229, $349, $399 respectively&lt;br /&gt;
'''ATi VGA Stereo·F/X'''&lt;br /&gt;
[[File:Vgafx.JPG|400px|right|thumb|ATi VGA Stereo·F/X]]&lt;br /&gt;
* Chipset: ATI 28800&lt;br /&gt;
* Combines a VGA Wonder XL with a Sound Blaster 1.5&lt;br /&gt;
* Features &amp;quot;fake&amp;quot; stereo sound&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder XL24 (1992)'''&lt;br /&gt;
* Contains a Brooktree Bt481KPJ85 RAMDAC that adds support for hi and true colour graphics modes&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder 1024'''&lt;br /&gt;
* A series of OEM cost reduced versions of several VGA Wonder models&lt;br /&gt;
* Typically lacks the bus mouse connector and/or the digital TTL output&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|VGA Improved Performance (VIP)&lt;br /&gt;
|18008&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|SVGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder 16 (v1-5)&lt;br /&gt;
|109006300&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1989-04-18&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA2(Vx)&lt;br /&gt;
|Later Part No: 109007200&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Same as &amp;quot;EGA Wonder 800+&amp;quot; except has VGA connector instead of EGA&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-16&lt;br /&gt;
|109008500&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-03-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM1024V5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder&lt;br /&gt;
|1090009510&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM1&lt;br /&gt;
|Repackaged as &amp;quot;VGA Basic-16&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder+&lt;br /&gt;
|1090012220&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMVGAVM1&lt;br /&gt;
|Rebranded as VGA Wonder XL&lt;br /&gt;
|-&lt;br /&gt;
|VGA 800&lt;br /&gt;
|?&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-09-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM2P1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Charger&lt;br /&gt;
|1090010400&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA&lt;br /&gt;
|Repackaged as &amp;quot;VGA Integra&amp;quot; PN: 109P014210&lt;br /&gt;
|-&lt;br /&gt;
|VGA Stereo·F/X&lt;br /&gt;
|1090013110&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-08-22&lt;br /&gt;
|SVGA&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAFX&lt;br /&gt;
|Integrated Sound Blaster 1.5&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder XL24&lt;br /&gt;
|1092414310&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-26&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAXLV1&lt;br /&gt;
|Repackaged as &amp;quot;VGA 1024DXL&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA 1024D&lt;br /&gt;
|1090014410&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-12-07&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA1M&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Mach series ==&lt;br /&gt;
&lt;br /&gt;
The ATi '''Mach''' line was a series of [[2D computer graphics|2D graphics accelerators]] for [[personal computer]]s developed by [[ATI Technologies]]. It became an extension (and eventual successor) to the ATI Wonder series of cards. The first chip in the series was the ATi Mach8. It was essentially a clone of the IBM 8514/A with a few notable extensions such as Crystal fonts. Being one of the first graphics accelerator chips on the market, the Mach8 did not have an integrated VGA core. In order to use the first Mach8 coprocessor cards, a separate VGA card was required. This made ownership considerably expensive. A temporary solution was presented with the ATi Graphics Ultra/Vantage cards, which combined an ATi 8514 Ultra and VGA Wonder+ into a single card (though using discrete ICs). The Mach32 chip was the follow-up to the Mach8, which finally featured an integrated VGA core, true colour support and a 64-bit datapath to internal memory.&lt;br /&gt;
&lt;br /&gt;
===Mach 8===&lt;br /&gt;
&lt;br /&gt;
''Released: 1990''&lt;br /&gt;
*[[IBM 8514|IBM 8514/A]] clone&lt;br /&gt;
*Support for up to 8-bit color modes&lt;br /&gt;
*Optional VGAWonder 2 (28800) graphics core (with dedicated 256–512&amp;amp;nbsp;KB DRAM)&lt;br /&gt;
*512&amp;amp;nbsp;KB or 1&amp;amp;nbsp;MB available with either DRAM or VRAM&lt;br /&gt;
*Port: ISA, MCA&lt;br /&gt;
The Mach 8 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|8514 Ultra&lt;br /&gt;
|109-00113-20&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-01-23&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMULTRA1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|109-00115-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-03-29&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|10911550&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM1&lt;br /&gt;
|Repackaged as VGA Wonder GT&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra AT BUS&lt;br /&gt;
|109-00117-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-28&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514VMAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra MCA&lt;br /&gt;
|109-00116 ?&lt;br /&gt;
|Mach8&lt;br /&gt;
|MCA&lt;br /&gt;
|1991-10-22&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514MC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514 Vantage AT&lt;br /&gt;
|109-00119-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-27&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVANAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Vantage&lt;br /&gt;
|109-00118-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMCOMBODM1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 32===&lt;br /&gt;
&lt;br /&gt;
''Released: 1992''&lt;br /&gt;
*[[32-bit]] [[graphical user interface|GUI]] accelerator with basic [[DOS]] support&lt;br /&gt;
*Limited [[VESA BIOS Extensions|VESA VBE]] support&lt;br /&gt;
*Support for 15&amp;amp;nbsp;bbp, 16&amp;amp;nbsp;bbp and 24&amp;amp;nbsp;bbp colour modes added&lt;br /&gt;
*Video memory: 1 or 2&amp;amp;nbsp;MB [[Dynamic random access memory|DRAM]] or [[Dynamic random access memory#Video DRAM .28VRAM.29|VRAM]]&lt;br /&gt;
*Memory interface: [[64-bit]]&lt;br /&gt;
*Port: [[Industry Standard Architecture|ISA]], [[Extended Industry Standard Architecture|EISA]], [[VESA local bus|VLB]], [[Peripheral Component Interconnect|PCI]], [[Micro Channel Architecture|MCA]]&lt;br /&gt;
*Integrated VGA core&lt;br /&gt;
*100% compatible with IBM 8514/A&lt;br /&gt;
*Many cards have upgradeable RAMDAC options:&lt;br /&gt;
**DIP28 package: ati-68830 @ 85Mhz (Non-interlaced up to 1280x1024x8bit)&lt;br /&gt;
**PL84 package: ati-68875 ( or TI 34075-135FN, TI 34076-135FN ) @ 135Mhz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Mach 32 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00189-40&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra+&lt;br /&gt;
|109-00193-40&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-18&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM688DM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19100-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|EISA&lt;br /&gt;
|1992-12-14&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VME1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00195-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-02-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22800-10&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1993-03-12&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM228&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19200-20&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|MCA&lt;br /&gt;
|1993-08-30&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM192&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22900-20&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-09-13&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM229&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra CLX&lt;br /&gt;
|109-00196-30&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-10-20&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM196&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra XLR&lt;br /&gt;
|109-19500-50&lt;br /&gt;
|Mach32-06 / -LX&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-11-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195a&lt;br /&gt;
|LX supported fewer ram types&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-23000-10&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-04-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM230a&lt;br /&gt;
|AX supported PCI&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-23400-00&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-02-22&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM234&lt;br /&gt;
|OEM as &amp;quot;VGA 1024 VLB&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-25400-xx&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-01-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|OEM as &amp;quot;Graphics Ultra AXO&amp;quot; and &amp;quot;PCI mach32-D&amp;quot;.  &lt;br /&gt;
Many revisions: -00, -20, -30, -41, -43, -50, -60&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 64===&lt;br /&gt;
''Released: 1994''&lt;br /&gt;
*64-bit GUI accelerator with basic DOS support&lt;br /&gt;
*Limited VESA VBE support&lt;br /&gt;
*Video memory: 1, 2, 4 or 8&amp;amp;nbsp;MB DRAM, VRAM, or [[Dynamic random access memory#Synchronous graphics RAM .28SGRAM.29|SGRAM]]&lt;br /&gt;
*Memory interface: 64-bit&lt;br /&gt;
*Port: ISA, VLB, PCI&lt;br /&gt;
*Variants:&lt;br /&gt;
&lt;br /&gt;
**&amp;quot;Mach64 CX/210888&amp;quot; - Original chipset, uncommon (up to 2&amp;amp;nbsp;MB DRAM, or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
**&amp;quot;Mach64 GX/210888GX&amp;quot; - Enhanced video playback capabilities&lt;br /&gt;
**&amp;quot;Mach64 ET/210888ET&amp;quot; - Embedded???&lt;br /&gt;
**&amp;quot;Mach64 CT/264CT - Cost-reduced Mach64 with integrated RAMDAC and clock chip (up to 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
**&amp;quot;Mach64 VT/264VT  - AMC connector (Support for TV-tuner)&lt;br /&gt;
**&amp;quot;Mach64 GT/264GT 3D Rage&amp;quot; - 3D capabilities&lt;br /&gt;
**&amp;quot;Mach64 GT-B/264GT-B [[ATI Rage II|3D Rage II]] - SDRAM &amp;amp; SGRAM support(up to 8&amp;amp;nbsp;MB)&lt;br /&gt;
**&amp;quot;Mach64 LT/264LT&amp;quot; - Low-power mobile version of Mach64 GT&lt;br /&gt;
&lt;br /&gt;
The Mach 64 chip was used on the following ATI products:&lt;br /&gt;
[[File:Ati_Mach64_2_cards.jpg|thumb|Several Mach64 PCI graphics cards]]&lt;br /&gt;
[[File:Ati_Mach64.jpg|thumb|Mach64 PCI made by ASUS]]&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GX Family:'''&lt;br /&gt;
*Graphics Xpression (1 or 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
*Graphics Pro Turbo (2 or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
*WinTurbo (1 or 2&amp;amp;nbsp;MB VRAM, non-upgradable)&lt;br /&gt;
*Graphics Pro Turbo 1600 (fast RAMDAC,PCI-only)&lt;br /&gt;
*XCLAIM GA (Macintosh)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 CT Family:'''&lt;br /&gt;
*WinBoost (1&amp;amp;nbsp;MB DRAM, upgradable to 2mb)&lt;br /&gt;
*WinCharger (2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 VT Family:'''&lt;br /&gt;
*Video Charger&lt;br /&gt;
*Video Xpression (Mach64 VT2)&lt;br /&gt;
*Video Xpression+ (Mach64 VT4)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT Family:'''&lt;br /&gt;
*3D Xpression (2&amp;amp;nbsp;MB EDO DRAM))&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT-B Family:'''&lt;br /&gt;
*3D Charger (2&amp;amp;nbsp;MB EDO DRAM)&lt;br /&gt;
*3D XPRESSION+ (2 or 4&amp;amp;nbsp;MB SDRAM)&lt;br /&gt;
*3D XPRESSION+ PC2TV (TV-out)&lt;br /&gt;
*3D Pro Turbo (2, 4, 6 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*3D Pro Turbo+ PC2TV (TV-out)&lt;br /&gt;
*Xclaim VR - early versions (Macintosh, 2, 4 or 8&amp;amp;nbsp;MB SGRAM, Video-In Video-Out)&lt;br /&gt;
*Xclaim 3D - early versions (Macintosh, 4 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*All-In-Wonder (SDRAM, TV Tuner) Could this be the EXM320 ?  Possibly related to the Tekram CaptureTV M230 / Jianbang M230&lt;br /&gt;
&lt;br /&gt;
'''Important Note:''' The 3D Rage and 3D Rage II chips were also known as Mach64 GT and Mach64 GT-B respectively. The Mach64 moniker was eliminated with introduction of the 3D Rage Pro.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Win Turbo&lt;br /&gt;
|109-23600-10&lt;br /&gt;
|Mach64 GX / GX2&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-3-23&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM236&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost &lt;br /&gt;
|109-25400-4x&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|Reused Mach32 PCB&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-26900-30&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-7-13&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM269&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30200-00&lt;br /&gt;
|Mach64 CX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-1-17&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-25500-20&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-2-9&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM255&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30300-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1995-3-15&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM301&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo 1600&lt;br /&gt;
|109-33200-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-6-13&lt;br /&gt;
|40/40&lt;br /&gt;
|4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM332&lt;br /&gt;
|Optional Apple Display, Faster Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-33300-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-07-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321 &lt;br /&gt;
|1280 x 1024 NI Unexpected EXM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim GA&lt;br /&gt;
|109-32900-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-11-27&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM329&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-28100-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|ISA&lt;br /&gt;
|1996-2-14&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM281&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-32100-20&lt;br /&gt;
|Mach64 CT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321&lt;br /&gt;
|Integrated RAMDAC&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost&lt;br /&gt;
|109-33100-10&lt;br /&gt;
|Mach64 VT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM331&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64 VT / VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-7-9&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM340&lt;br /&gt;
|Board reused for &amp;quot;3D Xpression&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-36300-10&lt;br /&gt;
|Mach64 VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-6-6&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM363&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression+&lt;br /&gt;
|109-40600-10&lt;br /&gt;
|Mach64-VT4&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|62/62&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|EDO&lt;br /&gt;
|n/a&lt;br /&gt;
|Same board as 3D Rage IIC PCI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Rage series ==&lt;br /&gt;
[[File:Ati_3D_Rage_II.jpg|thumb|Rage 3D II PCI]]&lt;br /&gt;
[[File:Rage_LT_Pro.jpg|thumb|Rage LT Pro]]&lt;br /&gt;
[[File:ATIRage128Pro.JPG|thumb|Rage 128 Pro OEM]]&lt;br /&gt;
[[File:Rage_128_Pro_16MB.jpg|thumb|Rage 128 16MB]]&lt;br /&gt;
&lt;br /&gt;
''Work in progress''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage =====&lt;br /&gt;
&lt;br /&gt;
The first generation 3D RAGE chip was based upon a Mach64 2D core with new 3D functionality and MPEG-1 acceleration.  Part number on the GPU suggest the name Mach64-GT.  Appears to be pin compatible with Mach64-VT4 series chips, but was the first accelerator that was no longer register compatible with the 8514/A. &lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
The reason for the Rage name change was: &lt;br /&gt;
:''As the COMDEX 1995 launch approached ATI learned that S3 was planning to release their ViRGE 3D accelerator at the same time. Phil Eisler, the manager of the new chip wasn’t thrilled about launching a product called the ATI 264GT at the same time. So, he started searching for a name with some energy behind it to compete with ViRGE.''&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage II =====&lt;br /&gt;
&lt;br /&gt;
The 3D Rage II chip was an enhanced, pin compatible version of the 3D Rage accelerator offering better 3d performance.   Early 3D Rage II chips have part numbers that suggest a continuation of the same family: Mach64-GT2.  The Rage II chip supported single-cycle EDO memory &amp;amp; high-speed SGRAM. Later revisions switch to an &amp;quot;R2&amp;quot; naming convention for Rage II chip family.  These revisions boosted 2D performance by 20 percent and added support for MPEG-2 (DVD) playback, and AGP support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* No Hardware Open GL Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium P54C, MMX&lt;br /&gt;
* Pentium II with 66Mhz bus&lt;br /&gt;
* K6 &amp;amp; Cyrix 6x86&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Matrox Millenium (G200) or Mystique (G220)&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* Number 9 Ticket To Ride&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-card-reviews,42-3.html&lt;br /&gt;
:''A very good 3D paired with a very good 2D performance, the support of 4 and 8 MB onboard RAM, hence the support of up to 1280x1024 3D resolution and last but not least the optional TV output make this card a very good all-round solution, appealing to gamers as well as professionals ... as long as you don't require OpenGL.  If you plan on using the XPERT card in a Socket 7 system, you'll be pleased to hear that the 3D performance isn't bad even with slower CPUs, however, the Diamond Stealth and cards with NVidia's Riva 128 are faster. You've got to be careful using an XPERT card as AGP version with a Socket 7 board that uses VIA's Apollo VP3 chipset, because you'll face some serious compatibility as well as performance problems. These problems don't occur if you are using the PCI version with these boards.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Rage IIC was a low end part released along side of the Rage Pro.  &lt;br /&gt;
Rage IIC performed similarly to S3 Trio3D or S3 Virge GX2.&lt;br /&gt;
Mach64 VT4 appears to be very similar to the Rage IIC, but only seen with EDO memory.  They both use BIOS labeled &amp;quot;Rage IIC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage Pro =====&lt;br /&gt;
Released in the latter half of 1997, the Rage Pro was a major improvement on ATI's previous Rage II chip. Improvements include an increased texture cache size (now at 4 KB) allowing for improved texture filtering, as well as an integrated triangle setup engine that improved performance on CPU bound systems. It is the first ATI chip (and among the earliest graphics chips) to fully support AGP bus features, including execute mode (AGP texturing). It is also the first ATI chip to support OpenGL in hardware. However, like the previous Rage chips, the Rage Pro cannot bilinear filter alpha textures, resulting in transparent textures still having a rough appearance. Performance-wise, it is very similar to 3Dfx's original Voodoo Graphics chipset. The Rage Pro was very popular with OEMs and up until the late 2000s, it was integrated into many server motherboards.&lt;br /&gt;
&lt;br /&gt;
The Rage Pro is also the last chip to support ATI's CIF application programming interface. It is also ATI's last chip with Windows 3.1x support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.1 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel and 1 Texel every clock&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* Apple versions supported WRAM and an external 250MHz ramdac&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium MMX&lt;br /&gt;
* Pentium II &lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo&lt;br /&gt;
* 3Dfx Voodoo Rush&lt;br /&gt;
* SiS 6326&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* NEC PowerVR&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-review-step,51-34.html&lt;br /&gt;
:''So what's with the ATI Rage Pro chip? I can't help it, but this chip lacks in too many cases to be worth a recommendation. It does not support GLQuake's or Quake II's OpenGL engine, it has obvious problems with Direct3D, it has got only very weak support of professional OpenGL under NT, so that it doesn't leave much else than it's excellent 2D performance in combination with its video in/out features. However, if I want the best 2d performer with the best picture quality and the best RAM DAC I rather go for a Matrox Millennium II. The Rage Pro is neither fish nor meat, it's no gamer's card, but it's also not really a professional card either. So what is it?&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Later drivers fixed many of the early compatibility issues.  Alpha blended textures was never implemented, which caused poor image quality on some games.&lt;br /&gt;
Rage Pro works with Quake if you set Windows to 64K color mode first.&lt;br /&gt;
&lt;br /&gt;
Rage LT Pro was based on Rage Pro.  It had reduced power consumption, power management features and TV Out.&lt;br /&gt;
&lt;br /&gt;
Rage Mobility added iDCT video compression and further power management improvements.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 =====&lt;br /&gt;
Upgraded chip with 128 internals. &lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.2 Support&lt;br /&gt;
* 2 Pixel Shader, 2 Texture Units, 2 ROPs&lt;br /&gt;
* Rage 128 GL has 128 bit Memory Access, Rage 128 VR has 64 bit Memory Access&lt;br /&gt;
* Hardware support for vertex arrays, fog and fog table support&lt;br /&gt;
* Alpha blending, vertex and Z-based fog, video textures, texture lighting&lt;br /&gt;
* Single clock bilinear and trilinear texture filtering and texture compositing&lt;br /&gt;
* Perspective-correct mip-mapped texturing with chroma-key support&lt;br /&gt;
* Vertex and Z-based reflections, shadows, spotlights, 1.00 biasing&lt;br /&gt;
* Hidden surface removal using 16, 24, or 32-bit Z-buffering&lt;br /&gt;
* Gouraud and specular shaded polygons&lt;br /&gt;
* Line and edge anti-aliasing, bump mapping, 8-bit stencil buffer&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium II 400 with 100Mhz Bus&lt;br /&gt;
* Celeron&lt;br /&gt;
* K6 233 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo 2&lt;br /&gt;
* 3Dfx Banshee&lt;br /&gt;
* Savage 3D&lt;br /&gt;
* Nvidia Riva TNT&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/205/6&lt;br /&gt;
:''From the perspective of the Slot-1 owner who craves speed, and wishes to get the best of all worlds (2D/3D/DVD), the Rage 128 should be considered as the ideal chipset for you.  Now once your needs become a little more specific, such as greater 3D performance (Voodoo2 SLI), or greater 2D image quality (G200), then you may be forced to veer away from the Rage 128, but as a starting point, you can't go wrong with this bad boy.  Regardless of the speed of your processor, if you're a slot 1 user looking for a well-rounded 2D/3D card, the Rage 128 gets AnandTech's recommendation for the best overall all-in-one, kicking Matrox out of that seat  ...  Super7 users should be able to find much comfort in the Rage 128, it isn't a horrible performer, and it offers very few compatibility issues with Super7 chipsets, not to mention the incredible feature set the chipset itself boasts.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage XL =====&lt;br /&gt;
&lt;br /&gt;
A die shrink of the Rage Pro that runs with lower power consumption, higher frequencies and has image quality fixes.  As of 2021, new cards are being sold with this chipset, however cards manufactured after 1999 frequently have compatibility issues Socket 3 &amp;amp; Socket 4 PCI chipsets.&lt;br /&gt;
&lt;br /&gt;
===== Rage XC =====&lt;br /&gt;
&lt;br /&gt;
Released along side the XL, it seems very similar.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 Pro  =====&lt;br /&gt;
Successor to the original Rage 128 carried several enhancements, including an enhanced triangle setup engine that doubled geometry throughput to eight million triangles/s, better texture filtering, DirectX 6.0 texture compression, AGP 4×, DVI support, and an optional Rage Theater chip for composite and S-Video TV-in. The Rage 128 Pro was generally an even match for the Voodoo 3 2000, RIVA TNT2 and Matrox G400, but was often hindered by its lower clock (often at 125MHz).  Several different variants released with different clock speeds.&lt;br /&gt;
&lt;br /&gt;
Sold under the following names: ''Rage Fury Pro'', ''Rage Fury MAXX''&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium III 100 Mhz Bus&lt;br /&gt;
* Pentium 2&lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Nvidia Riva TNT2&lt;br /&gt;
* 3Dfx Voodoo 3&lt;br /&gt;
* Matrox G400&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/389/12&lt;br /&gt;
:''For the occasional gamer the Rage Fury Pro seems ideal but pairing the card up with a fast processor such as a Pentium III 500+ or an Athlon will most likely be doing your processor an injustice if you're concerned with gaming performance.  The &amp;quot;slower&amp;quot; processors (&amp;lt; P3-450) is where the card will begin to shine, especially against the more CPU dependent TNT2, especially under Direct3D.  The current limitation of performance under Quake 3 seems to be a result of the OpenGL ICD which does seem to have some room for improvement.   It wouldn't be surprising to see the Rage 128 Pro beat out the TNT2 in a few Quake 3 runs with a better ICD. &lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage 6 =====&lt;br /&gt;
The Rage 6 family was renamed to Radeon before release&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage GPU chart =====&lt;br /&gt;
&lt;br /&gt;
''Work in progress - ATI Rage GPU chart''&lt;br /&gt;
&lt;br /&gt;
This is a table of all the ATI GPU parts that were released as &amp;quot;RAGE&amp;quot; products.  Still working on the Rage Mobility Parts.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Part&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Family&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Process (nm)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Transistors (Mil)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Die Size (mm^2)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Clock (MHz)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Mem (MB)&lt;br /&gt;
|-&lt;br /&gt;
|215GT2CB12&lt;br /&gt;
|Rage II&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215GT2UB24&lt;br /&gt;
|3D Rage II+DVD&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R2QZUA21&lt;br /&gt;
|3D Rage IIc AGP&lt;br /&gt;
|Rage2&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R2PZUA21&lt;br /&gt;
|3D Rage IIc PCI&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3DUA22&lt;br /&gt;
|3D Rage Pro AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA22&lt;br /&gt;
|3D Rage Pro PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3BJA33&lt;br /&gt;
|Rage Pro Turbo AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA33&lt;br /&gt;
|Rage Pro Turbo PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3LASB41&lt;br /&gt;
|Rage XL&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3QZSB22&lt;br /&gt;
|Rage XC&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA21&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|Rage128&lt;br /&gt;
|&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA22&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R4GASA21&lt;br /&gt;
|Rage 128&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R4GAUC21&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|Rage128Pro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage add-in boards =====&lt;br /&gt;
&lt;br /&gt;
Here are tables that list Graphics add-in boards released with Rage GPUs by ATI&lt;br /&gt;
The last two digits of the part number refer to the revision.&lt;br /&gt;
&lt;br /&gt;
A part number that ends &amp;quot;-00&amp;quot; would either be an engineering sample or a first release.&lt;br /&gt;
The next revisions of the board would be &amp;quot;-10&amp;quot;, &amp;quot;-20&amp;quot;, &amp;quot;-30&amp;quot; etc.  I included the version number that I saw in my research, but there are likely other revisions that I have not seen.&lt;br /&gt;
&lt;br /&gt;
The tables are grouped &amp;amp; ordered by GPU family, but there was a lot of overlap between generations.  For example, the Video Xpression+ (109-40600-10) has copyright 1998 printed on the board, which is 2 years later than the other early Rage cards.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;  &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Pix:Tex/Clk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Core/Mem Mhz&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes: DirectX 5&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64-GT (Rage)&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|44/57&lt;br /&gt;
|Later sold as &amp;quot;Video Charger&amp;quot; with &amp;quot;Rage II + DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-37100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|55/66&lt;br /&gt;
|DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|Sun Workstation&lt;br /&gt;
|109-37700-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|DB13W3 Display Connector - Sun&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-37900-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later sold with &amp;quot;3D Rage II+DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+&lt;br /&gt;
|109-38200-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-38500-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|56/70&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder&lt;br /&gt;
|109-38600-10&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|3D Charger&lt;br /&gt;
|109-38800-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later called &amp;quot;3D Pro Turbo&amp;quot; ?&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-39200-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|VGA + DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage II&lt;br /&gt;
|109-40100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play AGP&lt;br /&gt;
|109-40200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Out / Rev -20 (1998) &lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-40600-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|Rev -10 (1998) has Rage IIC or Mach64-VT4&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro PCI&lt;br /&gt;
|109-41500-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SGRAM&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play/Work PCI&lt;br /&gt;
|109-41900-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|@Play had TV Out / Rev &amp;quot;-10&amp;quot; sold with &amp;quot;98&amp;quot; suffix&lt;br /&gt;
|-&lt;br /&gt;
|Memory Addon&lt;br /&gt;
|109-42000-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4MB or 8MB&lt;br /&gt;
|64m SGRAM&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Nexus GA&lt;br /&gt;
|109-42600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b WRAM?&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display.  external Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim VR PRO&lt;br /&gt;
|109-43100-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|OEM 3D Rage Pro&lt;br /&gt;
|109-43200-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Gateway &amp;amp; Compaq&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder Pro&lt;br /&gt;
|109-44600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / Rev -30 (1998) &amp;quot;Turbo&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-45400-00c&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output&lt;br /&gt;
|-&lt;br /&gt;
|Xpert XL&lt;br /&gt;
|109-46200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62.8&lt;br /&gt;
|4 or 8 chip EDO / 32b if 4 chip?&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-47200-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with Dual VGA&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-48300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|32b EDO (?)&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|4 chip EDO.  &lt;br /&gt;
|-&lt;br /&gt;
|Workstation OEM ?&lt;br /&gt;
|109-48400-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-49300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|Low End OEM.  32bit?  Rev&amp;quot;-01&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Work AGP&lt;br /&gt;
|109-49800-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/ 75&lt;br /&gt;
|Also built with LT &amp;amp; XL chips.  Rev &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-50200-01&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-50500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|8,16,32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|80/120&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot; &amp;amp; &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 128&lt;br /&gt;
|109-51800-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-40&amp;quot; has mac bios&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-51900-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 99&lt;br /&gt;
|109-52000-00&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|80/125&lt;br /&gt;
|Rev &amp;quot;-01&amp;quot; and &amp;quot;-31&amp;quot; (2000) &lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 Pro&lt;br /&gt;
|109-52100-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Funky L Card.  Rev &amp;quot;-10&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-52300-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-52800-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|4 chip SDRAM.  Rev &amp;quot;-10&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-52900-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips.  Revs &amp;quot;-02&amp;quot;, &amp;quot;-04&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53000-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53400-11&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 4 ram chips.  Rev &amp;quot;-12&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-55700-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output.  Rev &amp;quot;-01&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|Rage Orion (Mac)&lt;br /&gt;
|109-57400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|64b &amp;amp; 128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Sold for PC as Rage 128 VR &amp;amp; Xclaim VR 128 w/ Ext TV tuner.  Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Nexus 128 (Mac)&lt;br /&gt;
|109-57500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OEM Rage 128 Pro&lt;br /&gt;
|109-60600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|134/134&lt;br /&gt;
|16MB &amp;amp; 64b bus if only 2 chips are populated&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro / Rage Magnum&lt;br /&gt;
|109-61300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|Optional TV Out&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-61800-10&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM.  32bit?&lt;br /&gt;
|-&lt;br /&gt;
|Rage XC&lt;br /&gt;
|109-62800-10&lt;br /&gt;
|Rage XC&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|4 / 8 MB&lt;br /&gt;
|32b / 64b SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim Dual Rage 128 Pro&lt;br /&gt;
|109-63000-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|DVI and VGA / 8 Ram chips / G4 Apple Only?&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro&lt;br /&gt;
|109-63100-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|16, 32MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO&lt;br /&gt;
|109-63200-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , Optional TV Out, Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128 PRO&lt;br /&gt;
|109-65600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 PRO&lt;br /&gt;
|109-65700-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Funky L Card&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000&lt;br /&gt;
|109-66500-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66700-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|4 chip SDRAM / XPERT 98&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66900-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury MAXX&lt;br /&gt;
|109-67300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|4:2&lt;br /&gt;
|64 MB&lt;br /&gt;
|2 x 128b SGRAM&lt;br /&gt;
|125/143&lt;br /&gt;
|Dual Chip &amp;amp; Ram / Alternate frame rendering&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play 2000 ?&lt;br /&gt;
|109-68100-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|103/103&lt;br /&gt;
|TV Out&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|109-70400-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL PCI&lt;br /&gt;
|109-72300-10&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|125/83&lt;br /&gt;
|Reduced Cost Model&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim 3D PRO&lt;br /&gt;
|109-72700-02&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Apple &amp;quot;ADC&amp;quot; port / 8 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra GL&lt;br /&gt;
|109-73100-10&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128&lt;br /&gt;
|109-74400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|16MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra&lt;br /&gt;
|109-78200-00&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|64b/128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 or 8 Chip Ram / Optional Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rage Bios Numbers can be found here: https://web.archive.org/web/19990503172836/http://support.atitech.ca/identify/bios_list.html&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ATi Radeon series ==&lt;br /&gt;
&lt;br /&gt;
===== R100 =====&lt;br /&gt;
[[File:Radeon_AGP.jpg|thumb|Radeon 7200]]&lt;br /&gt;
[[File:Radeon_7000_PCI_32MB_DDR.jpg|thumb|Radeon 7000 32MB DDR PCI]]&lt;br /&gt;
[[File:Radeon7500agp.jpg|thumb|Radeon 7500 64MB]]&lt;br /&gt;
The original Radeon was a Direct3D 7 visual processing unit (VPU), as ATi named it. It is a 2 pixel per clock design with 3 texture units on each of the pixel pipelines. The 166 MHz Radeon DDR (aka 7200) is competitive with GeForce 256 DDR. Clock speeds varied from 143 - 200 MHz, synchronous memory and core. &lt;br /&gt;
&lt;br /&gt;
It supports environmental bump mapping (EMBM), unlike GeForce cards at the time. It has a basic form of anisotropic filtering that is high performance and offers a nice quality improvement but is highly angle-dependent and can not operate at the same time as trilinear filtering. It also offers ordered-grid supersampling anti-aliasing.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures. It is possible to enable fog table via registry tweaks but it was not officially supported.&lt;br /&gt;
&lt;br /&gt;
RV100 (Radeon VE / 7000) is a chip with dual display capabilities but with reduced 3D hardware. It lacks T&amp;amp;L and has a single pixel pipeline. It is somewhat faster than TNT2 Ultra and G400 Max.&lt;br /&gt;
&lt;br /&gt;
RV200 (Radeon 7500) is a die shrink of R100 with some improvements. It has more anisotropic filtering options and is capable of asynchronous clocking of memory and the core. The top of the line model is clocked at 290 MHz core and 230 MHz RAM, and competes with GeForce 2 Ti/Pro. &lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col'|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col'|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, LE DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70600-20&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|LE and 7200 had lower speeds&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70700-01&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|VIVO &amp;amp; 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73500-21&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW, AIW 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73700-20&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|AIW 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR (7200 PCI)&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-75700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76200-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76800-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-77700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000, VE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR, DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200, SDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|143&lt;br /&gt;
|166&lt;br /&gt;
|3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81100-01&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|Low Profile DMS59&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81700-00&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83100-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR, 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-83800-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|143&lt;br /&gt;
|2.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|109-85500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32, 64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Sun + Apple&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-85530-10&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR?&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Sun&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-92400-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Tiny Notch Board&lt;br /&gt;
|-&lt;br /&gt;
|Radeon LE, 7100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-REF94-00A&lt;br /&gt;
|RV100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW VE, 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon MAXX DDR&lt;br /&gt;
|AGP 2x&lt;br /&gt;
|2000&lt;br /&gt;
|&lt;br /&gt;
|R100 x2&lt;br /&gt;
|148&lt;br /&gt;
|128MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|148&lt;br /&gt;
|9.5 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== R200 =====&lt;br /&gt;
[[File:Radeon8500 128mb.JPG|thumb|Radeon 8500 128MB]]&lt;br /&gt;
This generation is the first with Direct3D 8 compliance, actually Direct3D 8.1. The Radeon 8500 is a 4 pipeline design with 2 texture units per pipeline and operates at up to 275 MHz, typically with synchronous core and RAM. It is competitive with GeForce 3 Ti 500. &lt;br /&gt;
&lt;br /&gt;
A wide variety of supersampling anti-aliasing modes are available (2-6x, quality/performance). ATi calls it &amp;quot;Smoothvision&amp;quot;. It uses various techniques, including a jittered-grid pattern for some modes/cases and ordered-grid for others. In Direct3D, fog may force it to use ordered-grid. Drivers vary in their behavior as well.[http://forum.beyond3d.com/showpost.php?p=4859&amp;amp;postcount=64]&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering is somewhat improved, with more levels supported, but is again very angle dependent and can not work with trilinear filtering. GeForce 3+ have higher quality anisotropic filtering but with a much higher performance impact.&lt;br /&gt;
&lt;br /&gt;
ATi introduced a tessellation function called [[TruForm]].&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
&lt;br /&gt;
RV250 and RV280, known as Radeon 9000, 9200 and 9250, are slight evolutions of the design. They have somewhat reduced specifications but are more efficient and run cooler. They were popular notebook GPUs. Performance of Radeon 9000 Pro is not far off of Radeon 8500. Radeon 9100 is a rename of Radeon 8500 LE.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-82800-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83200-01&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|230&lt;br /&gt;
|3.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83400-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|DVI Output&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83600-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83900-00&lt;br /&gt;
|RV200&lt;br /&gt;
|260&lt;br /&gt;
|64MB&lt;br /&gt;
|SGRAM&lt;br /&gt;
|128&lt;br /&gt;
|180&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500DV&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-84800-10&lt;br /&gt;
|R200&lt;br /&gt;
|230&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|190&lt;br /&gt;
|6.1 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500 LE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|300&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|290&lt;br /&gt;
|9.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-91700-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|Mac G4 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95800-00&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95900-10&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-99700-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A06200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A062GN-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A165GN-00B&lt;br /&gt;
|RV280se&lt;br /&gt;
|200&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|OEM Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-A34200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|240&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|200&lt;br /&gt;
|3.2 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-G0118-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM &amp;quot;L&amp;quot; Card&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R300 =====&lt;br /&gt;
[[File:Radeon_9500_128MB.jpg|thumb|Radeon 9500 Pro 128MB]]&lt;br /&gt;
[[File:Radeon_9600_AGP_256MB.jpg|thumb|Radeon 9600 256MB]]&lt;br /&gt;
[[File:Radeon_9800_XL_(Medion_OEM_card_with_cooler_removed).jpg|thumb|Radeon 9800 XL 128MB]]&lt;br /&gt;
[[File:Radeon9800pro256.JPG|thumb|Radeon 9800 Pro 256MB]]&lt;br /&gt;
Introduced in August 2002, the R300 GPUs are Direct3D 9.0-compliant graphics chips. R300 introduced Shader Model 2.0 support and is also OpenGL 2.0-compliant. The R300 was designed by the ArtX engineering team that ATI had acquired in Feburary 2000. The same ArtX engineers (who were also former SGI employees) designed the Nintendo Gamecube GPU (Flipper) as well as the SGI RealityEngine-based graphics processor in the Nintendo 64. The first R300-based cards released were the Radeon 9500 and 9700 line of cards. In 2003, the Radeon 9600 and 9800 series were added to the lineup. R300 has many improvements and noticeably better visual quality than ATI's prior chips. Radeon 9800 Pro is competitive with GeForce FX 5900 Ultra, but with Direct3D 9 games the GeForce FX falls far behind.&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering quality is vastly improved in the R300, with much lower angle-dependency and the ability to work simultaneously with trilinear filtering. Furthermore, compared to its initial competitor, NVIDIA's GeForce 4 Ti series, R300's anisotropic filtering incurred much less performance decrease. Anti-aliasing is now performed with 2-6x gamma-corrected rotated-grid multi-sampling anti-aliasing. MSAA operates only on polygon edges, which of course means no anti-aliasing within textures or of transparent textures, but expends far less fillrate and is thus useable at higher resolutions. NVIDIA does not match the quality of this MSAA until GeForce 8. However, ATi did not support any form of super-sampling with R300-R700, while NVIDIA did.&lt;br /&gt;
&lt;br /&gt;
The R300 enjoyed visual quality and performance supremacy over its competitors in games and applications that extensively used Shader Model 2.0. NVIDIA would not be able to match or exceed ATI's Direct3D 9.0 performance until the release of the GeForce 6 series in 2004.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
Also, despite being Direct3D 9.0-compliant, the R300 is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI Manufactured boards&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30 ???&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A05600-00&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 SE&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XL&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10 ?&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A22500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03400-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|PC &amp;amp; MAC&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-01&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A198GN-00&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|MSI&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT &lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-10&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac G5 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A58503-20&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-10&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fire GL1-128&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-20&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XL&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-01&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XT&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X800 PRO&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A26100-01&lt;br /&gt;
|R420&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW X800XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A38304-00&lt;br /&gt;
|R420XT&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X850 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A47504&lt;br /&gt;
|R480&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon x1050 AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-64&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A12400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-128&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03431-21&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL Z1-128&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X1-256&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10 ?&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256T&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A23400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X3-256&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A30131-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R400 ===== &lt;br /&gt;
[[File:Radeon_X600Pro_PCIe.jpg|thumb|Radeon X600 Pro 256MB]]&lt;br /&gt;
[[File:RadeonX800XTPE.jpg|thumb|Radeon X800 XT PE]]&lt;br /&gt;
&lt;br /&gt;
Introduced in 2004, this is ATi's Direct3D 9.0b generation. It is very similar to R300 in general, but with 16 pipelines in the top chip instead of 8, and higher clock speeds. They are still shader model 2.0 GPUs but have some extensions beyond 2.0, which gives them a 2.0b designation, but are not 3.0 compliant. This was not an issue until about 2 years after launch when games started to outright require shader model 3.0 or run without some visual features. There are some games that utilize 2.0b features - for example Oblivion has more visual effects available on X800 than 9800.&lt;br /&gt;
&lt;br /&gt;
A new anti-aliasing mode was introduced, called temporal AA. This feature shifts the sampling pattern on a per-frame basis, if the card can maintain &amp;gt;= 60 fps. This works well with human vision and gives a tangible improvement to anti-aliasing quality. Also, while not initially available, adaptive anti-aliasing was added to the R400 series after the release of R500 series. Adaptive AA anti-aliases within transparent textures, giving MSAA more SSAA-like capabilities.&lt;br /&gt;
&lt;br /&gt;
The ATI R400 series are ATI's last GPUs with official Windows 98/98 SE/ME support. Likewise with the R300 series, the R400 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
----&lt;br /&gt;
===== R500 =====&lt;br /&gt;
Introduced in 2005, the Radeon X1000 / R500 series are ATI's first Direct3D 9.0c-compliant GPUs with full Shader Model 3.0 features. The R500 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R600 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_2600_Pro_and_2600_XT_both_AGP.jpg|thumb|HD 2600Pro and HD 2600XT, AGP versions]]&lt;br /&gt;
[[File:HD_3850_AGP_512MB.jpg|thumb|HD 3850 AGP]]&lt;br /&gt;
Introduced in 2006, these Radeons added the &amp;quot;HD&amp;quot; prefix to their names.&lt;br /&gt;
R600 includes both the HD 2xxx and HD 3xxx series, with the AGP version of the HD 3850 arguably being the most powerful AGP graphics card to ever have been made (with only the AGP variants of the HD 4650 and the HD 4670 being of a more recent GPU family).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R700 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_4670_AGP_1GB_Club3D.jpg|thumb|HD 4670 1GB Club3D AGP]]&lt;br /&gt;
Introduced in 2008, the R700 family included the last graphics cards to be made for AGP slots.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== Driver suggestions for games =====&lt;br /&gt;
====== Star Wars Knights of the Old Republic 1 &amp;amp; 2 ====== &lt;br /&gt;
These OpenGL games are problematic for Radeon cards. DirectX 8 Radeons should use Catalyst 4.2 for KOTOR and Catalyst 5.1 for KOTOR 2.  DirectX 9 Radeons in the R300 series can try these as well.  With the R4x0 through R6x0 Radeon cards, Catalyst 7.11 may be the best choice.&lt;br /&gt;
&lt;br /&gt;
If the soft shadows option is greyed out and disabled, as it most likely will be, edit swkotor.ini and add &amp;quot;AllowSoftShadows=1&amp;quot; to the [Graphics Options] section.&lt;br /&gt;
&lt;br /&gt;
==Video captures==&lt;br /&gt;
&lt;br /&gt;
===3D Rage II ===&lt;br /&gt;
{{#ev:youtube|wdJXf6MpN7A}}&lt;br /&gt;
Note: The Dawning Demo was actually targeted for the ATI Rage128 series that is a considerably newer, thus faster core than the 3D Rage II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|iFHwNf7-oZk}}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|wWzWdwj9NvU}}&lt;br /&gt;
&lt;br /&gt;
===3D Rage Pro ===&lt;br /&gt;
{{#ev:youtube|DU5Zi69QPQs}}&lt;br /&gt;
{{#ev:youtube|uZna8WXC4ds}}&lt;br /&gt;
{{#ev:youtube|IG3hd1humM0}}&lt;br /&gt;
{{#ev:youtube|i4pB5Fw8Slk}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;br /&gt;
&lt;br /&gt;
==Related links==&lt;br /&gt;
*[http://www.vogonsdrivers.com/index.php?catid=22  VOGONS Drivers Ati section] &lt;br /&gt;
*[http://www.vogonswiki.com/index.php/Interesting_Vogons_Threads#Graphics_cards  VOGONS threads about graphics cards] &lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5484</id>
		<title>ATI</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=ATI&amp;diff=5484"/>
				<updated>2026-01-14T21:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* R300 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ATi Technologies produced graphics cards from the '80s through the mid '00s until merging with AMD in 2006. AMD still produces graphics cards today.&lt;br /&gt;
&lt;br /&gt;
== ATi Wonder Series ==&lt;br /&gt;
&lt;br /&gt;
The '''ATi Wonder series''' represents some of the first [[graphics]] add on products for [[IBM]] [[Personal computer|PCs]] and compatibles introduced by [[ATi Technologies]] in the mid to late 1980s. These cards were unique at the time as they offered the end user a considerable amount of value by combining support for multiple graphics standards (and monitors) into a single card. The VGA Wonder series added additional value with the inclusion of a [[Bus mouse|bus mouse port]], which normally required the installation of a dedicated [[Microsoft Bus Mouse]] adapter.&lt;br /&gt;
&lt;br /&gt;
The VGA Wonder series later merged with the [[ATI Mach]] series of cards in 1990. The [[ATi Graphics Ultra]] (VRAM) and [[ATi Graphics Vantage]] (DRAM) cards both featured independent VGA Wonder ASICs in addition to their Mach8 8514 compatible [[coprocessor chips]]. The Graphics Ultra was later renamed the VGA Wonder GT. In 1992, their following [[product line]], the Mach32, integrated the VGA wonder core and coprocessor into a single IC. At this point the VGA Wonder line was cancelled and replaced with a cost reduced DRAM based version of Mach32 known as the &amp;quot;ATi Graphics Wonder&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Graphics Solution (CGA)===&lt;br /&gt;
[[File:ATI Hercules Card 1986.xcf|thumb|One of the early graphics cards from ATI Technologies: a ''Graphics Solution Rev 3'' [[Hercules Graphics Card|Hercules]] graphics card from 1986. As can be seen from the PCB the layout was done in 1985, whereas the marking on the central chip CW16800-A says &amp;quot;8639&amp;quot; meaning that chip was manufactured week 39, 1986.]]&lt;br /&gt;
''Release Date: 1986''&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution Rev 3'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-A&lt;br /&gt;
* Supports: [[Hercules Graphics Card]] mode&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
&lt;br /&gt;
'''ATi Color Emulation Card '''&lt;br /&gt;
* Did at least support CGA graphics output to a [[TTL Monochrome]] monitor&lt;br /&gt;
&lt;br /&gt;
'''ATi Graphics Solution plus (1987)'''&lt;br /&gt;
* [[Chipset]]: ATI CW16800-B&lt;br /&gt;
* Supports CGA, [[Plantronics Colorplus]] CGA &amp;amp; [[Hercules Graphics Card]] graphics modes&lt;br /&gt;
* Compatible with MDA, CGA (and therefore also EGA displays), [[DIP switch]] selectable&lt;br /&gt;
* 64kb of DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''Graphics Solution Plus SP'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Adds Serial/Parallel Ports&lt;br /&gt;
'''Graphics Solution SR'''&lt;br /&gt;
* Chipset: ATI CW16800-B&lt;br /&gt;
* Uses Static RAM&lt;br /&gt;
'''ATi Small Wonder Graphics Solution (1988)'''&lt;br /&gt;
* Chipset: ATI 18700&lt;br /&gt;
* Also known as Graphics Solution Single Chip or just GS-SC&lt;br /&gt;
* Single-chip version of the Graphics Solution plus&lt;br /&gt;
* 64kb of static RAM&lt;br /&gt;
* Composite Output&lt;br /&gt;
'''Graphics Solution Single Chip or GS-SC with Game (1988)'''&lt;br /&gt;
* Includes a [[game port]]&lt;br /&gt;
* Lacks external [[composite connector]]&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution&lt;br /&gt;
|168228&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Color/Emulation Card&lt;br /&gt;
|168230-1&lt;br /&gt;
|CW16800-A&lt;br /&gt;
|XT&lt;br /&gt;
|1985&lt;br /&gt;
|CGA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|&lt;br /&gt;
|Versions 1-4?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution Plus&lt;br /&gt;
|168248&lt;br /&gt;
|CW16800-B&lt;br /&gt;
|XT&lt;br /&gt;
|1986&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SR&lt;br /&gt;
|168328&lt;br /&gt;
|CW16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1987&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Small Wonder&lt;br /&gt;
|18701&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|18703&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB/128KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC1&lt;br /&gt;
|Versions 1-2 ?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC&lt;br /&gt;
|109005100&lt;br /&gt;
|16800-C&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|SRAM&lt;br /&gt;
|EXM5RSGSSC2NC&lt;br /&gt;
|Versions 1-3?&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Solution-SC WITH GAME&lt;br /&gt;
|109003200&lt;br /&gt;
|18700&lt;br /&gt;
|XT&lt;br /&gt;
|1988&lt;br /&gt;
|CGA, MDA&lt;br /&gt;
|64KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSGSSCGM&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===EGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi EGA Wonder''' (March 1987)&lt;br /&gt;
* Chipset: ATI16899-0 + CHIPS P86C435&lt;br /&gt;
* Supports CGA, Hercules mono &amp;amp; EGA graphics modes&lt;br /&gt;
* Removes support for plantronics mode/Single-page Hercules mode/composite output&lt;br /&gt;
* Compatible with MDA, CGA and EGA displays (DIP switch selectable)&lt;br /&gt;
* [[Internal composite port]] for machines such as [[IBM 5155 Portable]]&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $399&lt;br /&gt;
'''ATi EGA Wonder 800'''&lt;br /&gt;
* Added support for extended EGA text and graphics modes (requires [[multisync monitor]])&lt;br /&gt;
* Added support for 16-colour VGA modes&lt;br /&gt;
'''ATi EGA Wonder 800+'''&lt;br /&gt;
* Rebadged VGA Edge lacking the analogue [[VGA port]]&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Can auto-detect monitor type connected (DIP switches no longer present)&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder&lt;br /&gt;
|16890, 16892&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1986-11-13&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA0&lt;br /&gt;
|Series 1 through 4&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/media/k2/items/cache/4d8c9898b5bb88437f053c8b957f47f3_XL.jpg EGA Wonder 800]]&lt;br /&gt;
|16900, 1040015-0xx&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1988-08-09&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSEGA2&lt;br /&gt;
|Repackaged at reduced cost as &amp;quot;EGA Wonder 480&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[http://www.vgamuseum.info/images/palcal/ati/16899-0vip1b.jpg EGA Wonder VIP]]&lt;br /&gt;
|18008 &lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|Rev 1-5&lt;br /&gt;
|-&lt;br /&gt;
|EGA Wonder 800+&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|EGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Sold as &amp;quot;VGA Edge-8&amp;quot; when board has VGA port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===VGA Wonder===&lt;br /&gt;
''Release Date: 1987''&lt;br /&gt;
&lt;br /&gt;
'''ATi VIP or VGA Improved Performance (1987)'''&lt;br /&gt;
&lt;br /&gt;
* Chipset: ATi 16899-0 &amp;amp; Chips P82C441&lt;br /&gt;
* Supports CGA, Hercules mono, EGA &amp;amp; VGA graphics with Softsense automatic mode switching&lt;br /&gt;
* Compatible with MDA, CGA, EGA and VGA displays (DIP switch selectable)&lt;br /&gt;
* 9-pin TTL and 15-pin analogue connectors&lt;br /&gt;
* 256kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
* Original MSRP: $449 ($99 for Compaq expansion module)&lt;br /&gt;
'''ATi VGA Wonder (1988)'''&lt;br /&gt;
* Chipset: ATI 18800&lt;br /&gt;
* Adds support for SVGA graphics modes&lt;br /&gt;
* Adds support for monitor auto-sensing (switchless configuration)&lt;br /&gt;
* Uses on-board EEPROM to store configuration information&lt;br /&gt;
* 256kb or 512kb DRAM&lt;br /&gt;
* Port: 8-bit PC/XT bus&lt;br /&gt;
'''ATi VGA Edge 8'''&lt;br /&gt;
* Cost Reduced VGA Wonder&lt;br /&gt;
* 256KB DRAM&lt;br /&gt;
'''ATi VGA Wonder 16 (1988)'''&lt;br /&gt;
* Speed enhancements due to a wider bus&lt;br /&gt;
* VGA pass through connector&lt;br /&gt;
* Bus mouse connector&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
* Port: [[16-bit]] PC/AT bus (ISA), [[8-bit]] compatible&lt;br /&gt;
* Original MSRP: $499 or $699 respectively&lt;br /&gt;
'''ATi VGA Edge-16'''&lt;br /&gt;
* Cost reduced VGA Wonder 16&lt;br /&gt;
* Lacks the bus mouse connector and the digital TTL output&lt;br /&gt;
* 256kb DRAM (not expandable to 512kb)&lt;br /&gt;
'''ATi VGA Wonder+ (1990)'''&lt;br /&gt;
[[File:ATI Wonder.jpg|right|thumb|ATI VGA Wonder+]]&lt;br /&gt;
* Chipset: ATI 28800-2, -4, or -5&lt;br /&gt;
* Based on a new chipset which claimed to offer speeds rivalling VRAM based cards&lt;br /&gt;
* Dual page mode memory access&lt;br /&gt;
* Dynamic CPU/CRT interleaving&lt;br /&gt;
* 256KB or 512KB DRAM&lt;br /&gt;
'''ATi VGA Integra (1990)'''&lt;br /&gt;
* Cost reduced version based on new ATi 28800 ASIC&lt;br /&gt;
* Lacks bus mouse connector&lt;br /&gt;
* Uses a much smaller PCB with a surface mount BIOS &amp;amp; RAMDAC&lt;br /&gt;
* Supports SVGA Graphics with 72&amp;amp;nbsp;Hz refresh rates&lt;br /&gt;
* 512KB DRAM&lt;br /&gt;
'''ATi VGA Basic-16 (1990)'''&lt;br /&gt;
* PCB layout similar to VGA Integra but using cheaper RAMDAC&lt;br /&gt;
* Only supports the basic 60&amp;amp;nbsp;Hz VGA modes of the IBM VGA standard from 1987&lt;br /&gt;
* 256KB DRAM (not upgradable)&lt;br /&gt;
'''ATi VGA Charger (1991)'''&lt;br /&gt;
* Similar to VGA Basic-16, but can be upgraded to 512KB&lt;br /&gt;
'''ATi VGA Wonder XL (May 1991)'''&lt;br /&gt;
* Sierra RAMDAC adds support for 15-bit colour in 640x480@72&amp;amp;nbsp;Hz, 800x600@60&amp;amp;nbsp;Hz&lt;br /&gt;
* Supports a flicker-free vertical refresh rate of 72&amp;amp;nbsp;Hz&lt;br /&gt;
* 256KB, 512KB or 1MB DRAM&lt;br /&gt;
* Original MSRP: $229, $349, $399 respectively&lt;br /&gt;
'''ATi VGA Stereo·F/X'''&lt;br /&gt;
[[File:Vgafx.JPG|400px|right|thumb|ATi VGA Stereo·F/X]]&lt;br /&gt;
* Chipset: ATI 28800&lt;br /&gt;
* Combines a VGA Wonder XL with a Sound Blaster 1.5&lt;br /&gt;
* Features &amp;quot;fake&amp;quot; stereo sound&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder XL24 (1992)'''&lt;br /&gt;
* Contains a Brooktree Bt481KPJ85 RAMDAC that adds support for hi and true colour graphics modes&lt;br /&gt;
* 512KB or 1MB DRAM&lt;br /&gt;
'''ATi VGA Wonder 1024'''&lt;br /&gt;
* A series of OEM cost reduced versions of several VGA Wonder models&lt;br /&gt;
* Typically lacks the bus mouse connector and/or the digital TTL output&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|VGA Improved Performance (VIP)&lt;br /&gt;
|18008&lt;br /&gt;
|ATI16899-0&lt;br /&gt;
|XT&lt;br /&gt;
|1987-10-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVIP1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|SVGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder 16 (v1-5)&lt;br /&gt;
|109006300&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1989-04-18&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA2(Vx)&lt;br /&gt;
|Later Part No: 109007200&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-8&lt;br /&gt;
|109006000&lt;br /&gt;
|Wonder&lt;br /&gt;
|XT&lt;br /&gt;
|1989-06-01&lt;br /&gt;
|VGA&lt;br /&gt;
|256KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM5RSVGA8B1&lt;br /&gt;
|Same as &amp;quot;EGA Wonder 800+&amp;quot; except has VGA connector instead of EGA&lt;br /&gt;
|-&lt;br /&gt;
|VGA Edge-16&lt;br /&gt;
|109008500&lt;br /&gt;
|Wonder&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-03-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM1024V5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder&lt;br /&gt;
|1090009510&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM1&lt;br /&gt;
|Repackaged as &amp;quot;VGA Basic-16&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder+&lt;br /&gt;
|1090012220&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-10-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMVGAVM1&lt;br /&gt;
|Rebranded as VGA Wonder XL&lt;br /&gt;
|-&lt;br /&gt;
|VGA 800&lt;br /&gt;
|?&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1990-09-20&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGADM2P1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VGA Charger&lt;br /&gt;
|1090010400&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-29&lt;br /&gt;
|SVGA&lt;br /&gt;
|256/512KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA&lt;br /&gt;
|Repackaged as &amp;quot;VGA Integra&amp;quot; PN: 109P014210&lt;br /&gt;
|-&lt;br /&gt;
|VGA Stereo·F/X&lt;br /&gt;
|1090013110&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-08-22&lt;br /&gt;
|SVGA&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAFX&lt;br /&gt;
|Integrated Sound Blaster 1.5&lt;br /&gt;
|-&lt;br /&gt;
|VGA Wonder XL24&lt;br /&gt;
|1092414310&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-07-26&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVGAXLV1&lt;br /&gt;
|Repackaged as &amp;quot;VGA 1024DXL&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|VGA 1024D&lt;br /&gt;
|1090014410&lt;br /&gt;
|Wonder 2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-12-07&lt;br /&gt;
|High color&lt;br /&gt;
|512/1024KB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMBVGA1M&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Mach series ==&lt;br /&gt;
&lt;br /&gt;
The ATi '''Mach''' line was a series of [[2D computer graphics|2D graphics accelerators]] for [[personal computer]]s developed by [[ATI Technologies]]. It became an extension (and eventual successor) to the ATI Wonder series of cards. The first chip in the series was the ATi Mach8. It was essentially a clone of the IBM 8514/A with a few notable extensions such as Crystal fonts. Being one of the first graphics accelerator chips on the market, the Mach8 did not have an integrated VGA core. In order to use the first Mach8 coprocessor cards, a separate VGA card was required. This made ownership considerably expensive. A temporary solution was presented with the ATi Graphics Ultra/Vantage cards, which combined an ATi 8514 Ultra and VGA Wonder+ into a single card (though using discrete ICs). The Mach32 chip was the follow-up to the Mach8, which finally featured an integrated VGA core, true colour support and a 64-bit datapath to internal memory.&lt;br /&gt;
&lt;br /&gt;
===Mach 8===&lt;br /&gt;
&lt;br /&gt;
''Released: 1990''&lt;br /&gt;
*[[IBM 8514|IBM 8514/A]] clone&lt;br /&gt;
*Support for up to 8-bit color modes&lt;br /&gt;
*Optional VGAWonder 2 (28800) graphics core (with dedicated 256–512&amp;amp;nbsp;KB DRAM)&lt;br /&gt;
*512&amp;amp;nbsp;KB or 1&amp;amp;nbsp;MB available with either DRAM or VRAM&lt;br /&gt;
*Port: ISA, MCA&lt;br /&gt;
The Mach 8 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mode&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|8514 Ultra&lt;br /&gt;
|109-00113-20&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-01-23&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMULTRA1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|109-00115-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-03-29&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra&lt;br /&gt;
|10911550&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXMCOMBOVM1&lt;br /&gt;
|Repackaged as VGA Wonder GT&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra AT BUS&lt;br /&gt;
|109-00117-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-28&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514VMAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514/Ultra MCA&lt;br /&gt;
|109-00116 ?&lt;br /&gt;
|Mach8&lt;br /&gt;
|MCA&lt;br /&gt;
|1991-10-22&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM8514MC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8514 Vantage AT&lt;br /&gt;
|109-00119-10&lt;br /&gt;
|Mach8&lt;br /&gt;
|ISA&lt;br /&gt;
|1991-02-27&lt;br /&gt;
|8514&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMVANAT1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Vantage&lt;br /&gt;
|109-00118-40&lt;br /&gt;
|Mach8 + Wonder2&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-04-27&lt;br /&gt;
|VGA + 8514&lt;br /&gt;
|512KB +1MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXMCOMBODM1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 32===&lt;br /&gt;
&lt;br /&gt;
''Released: 1992''&lt;br /&gt;
*[[32-bit]] [[graphical user interface|GUI]] accelerator with basic [[DOS]] support&lt;br /&gt;
*Limited [[VESA BIOS Extensions|VESA VBE]] support&lt;br /&gt;
*Support for 15&amp;amp;nbsp;bbp, 16&amp;amp;nbsp;bbp and 24&amp;amp;nbsp;bbp colour modes added&lt;br /&gt;
*Video memory: 1 or 2&amp;amp;nbsp;MB [[Dynamic random access memory|DRAM]] or [[Dynamic random access memory#Video DRAM .28VRAM.29|VRAM]]&lt;br /&gt;
*Memory interface: [[64-bit]]&lt;br /&gt;
*Port: [[Industry Standard Architecture|ISA]], [[Extended Industry Standard Architecture|EISA]], [[VESA local bus|VLB]], [[Peripheral Component Interconnect|PCI]], [[Micro Channel Architecture|MCA]]&lt;br /&gt;
*Integrated VGA core&lt;br /&gt;
*100% compatible with IBM 8514/A&lt;br /&gt;
*Many cards have upgradeable RAMDAC options:&lt;br /&gt;
**DIP28 package: ati-68830 @ 85Mhz (Non-interlaced up to 1280x1024x8bit)&lt;br /&gt;
**PL84 package: ati-68875 ( or TI 34075-135FN, TI 34076-135FN ) @ 135Mhz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Mach 32 chip was used on the following ATI products:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00189-40&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra+&lt;br /&gt;
|109-00193-40&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1992-08-18&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM688DM1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19100-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|EISA&lt;br /&gt;
|1992-12-14&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM688VME1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-00195-30&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-02-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22800-10&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|ISA&lt;br /&gt;
|1993-03-12&lt;br /&gt;
|1 MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM228&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-19200-20&lt;br /&gt;
|Mach32-03 / -06&lt;br /&gt;
|MCA&lt;br /&gt;
|1993-08-30&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM192&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-22900-20&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-09-13&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM229&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra CLX&lt;br /&gt;
|109-00196-30&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-10-20&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM196&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra XLR&lt;br /&gt;
|109-19500-50&lt;br /&gt;
|Mach32-06 / -LX&lt;br /&gt;
|VLB&lt;br /&gt;
|1993-11-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM195a&lt;br /&gt;
|LX supported fewer ram types&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-23000-10&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-04-11&lt;br /&gt;
|1/2MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM230a&lt;br /&gt;
|AX supported PCI&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Wonder&lt;br /&gt;
|109-23400-00&lt;br /&gt;
|Mach32-06&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-02-22&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM234&lt;br /&gt;
|OEM as &amp;quot;VGA 1024 VLB&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Ultra Pro&lt;br /&gt;
|109-25400-xx&lt;br /&gt;
|Mach32-AX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-01-17&lt;br /&gt;
|1/2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|OEM as &amp;quot;Graphics Ultra AXO&amp;quot; and &amp;quot;PCI mach32-D&amp;quot;.  &lt;br /&gt;
Many revisions: -00, -20, -30, -41, -43, -50, -60&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mach 64===&lt;br /&gt;
''Released: 1994''&lt;br /&gt;
*64-bit GUI accelerator with basic DOS support&lt;br /&gt;
*Limited VESA VBE support&lt;br /&gt;
*Video memory: 1, 2, 4 or 8&amp;amp;nbsp;MB DRAM, VRAM, or [[Dynamic random access memory#Synchronous graphics RAM .28SGRAM.29|SGRAM]]&lt;br /&gt;
*Memory interface: 64-bit&lt;br /&gt;
*Port: ISA, VLB, PCI&lt;br /&gt;
*Variants:&lt;br /&gt;
&lt;br /&gt;
**&amp;quot;Mach64 CX/210888&amp;quot; - Original chipset, uncommon (up to 2&amp;amp;nbsp;MB DRAM, or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
**&amp;quot;Mach64 GX/210888GX&amp;quot; - Enhanced video playback capabilities&lt;br /&gt;
**&amp;quot;Mach64 ET/210888ET&amp;quot; - Embedded???&lt;br /&gt;
**&amp;quot;Mach64 CT/264CT - Cost-reduced Mach64 with integrated RAMDAC and clock chip (up to 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
**&amp;quot;Mach64 VT/264VT  - AMC connector (Support for TV-tuner)&lt;br /&gt;
**&amp;quot;Mach64 GT/264GT 3D Rage&amp;quot; - 3D capabilities&lt;br /&gt;
**&amp;quot;Mach64 GT-B/264GT-B [[ATI Rage II|3D Rage II]] - SDRAM &amp;amp; SGRAM support(up to 8&amp;amp;nbsp;MB)&lt;br /&gt;
**&amp;quot;Mach64 LT/264LT&amp;quot; - Low-power mobile version of Mach64 GT&lt;br /&gt;
&lt;br /&gt;
The Mach 64 chip was used on the following ATI products:&lt;br /&gt;
[[File:Ati_Mach64_2_cards.jpg|thumb|Several Mach64 PCI graphics cards]]&lt;br /&gt;
[[File:Ati_Mach64.jpg|thumb|Mach64 PCI made by ASUS]]&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GX Family:'''&lt;br /&gt;
*Graphics Xpression (1 or 2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
*Graphics Pro Turbo (2 or 4&amp;amp;nbsp;MB VRAM)&lt;br /&gt;
*WinTurbo (1 or 2&amp;amp;nbsp;MB VRAM, non-upgradable)&lt;br /&gt;
*Graphics Pro Turbo 1600 (fast RAMDAC,PCI-only)&lt;br /&gt;
*XCLAIM GA (Macintosh)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 CT Family:'''&lt;br /&gt;
*WinBoost (1&amp;amp;nbsp;MB DRAM, upgradable to 2mb)&lt;br /&gt;
*WinCharger (2&amp;amp;nbsp;MB DRAM)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 VT Family:'''&lt;br /&gt;
*Video Charger&lt;br /&gt;
*Video Xpression (Mach64 VT2)&lt;br /&gt;
*Video Xpression+ (Mach64 VT4)&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT Family:'''&lt;br /&gt;
*3D Xpression (2&amp;amp;nbsp;MB EDO DRAM))&lt;br /&gt;
&lt;br /&gt;
'''Mach64 GT-B Family:'''&lt;br /&gt;
*3D Charger (2&amp;amp;nbsp;MB EDO DRAM)&lt;br /&gt;
*3D XPRESSION+ (2 or 4&amp;amp;nbsp;MB SDRAM)&lt;br /&gt;
*3D XPRESSION+ PC2TV (TV-out)&lt;br /&gt;
*3D Pro Turbo (2, 4, 6 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*3D Pro Turbo+ PC2TV (TV-out)&lt;br /&gt;
*Xclaim VR - early versions (Macintosh, 2, 4 or 8&amp;amp;nbsp;MB SGRAM, Video-In Video-Out)&lt;br /&gt;
*Xclaim 3D - early versions (Macintosh, 4 or 8&amp;amp;nbsp;MB SGRAM)&lt;br /&gt;
*All-In-Wonder (SDRAM, TV Tuner) Could this be the EXM320 ?  Possibly related to the Tekram CaptureTV M230 / Jianbang M230&lt;br /&gt;
&lt;br /&gt;
'''Important Note:''' The 3D Rage and 3D Rage II chips were also known as Mach64 GT and Mach64 GT-B respectively. The Mach64 moniker was eliminated with introduction of the 3D Rage Pro.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCC Date&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|FCCID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes&lt;br /&gt;
|-&lt;br /&gt;
|Win Turbo&lt;br /&gt;
|109-23600-10&lt;br /&gt;
|Mach64 GX / GX2&lt;br /&gt;
|PCI&lt;br /&gt;
|1994-3-23&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM236&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-27800-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-3-28&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM278&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost &lt;br /&gt;
|109-25400-4x&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM254a&lt;br /&gt;
|Reused Mach32 PCB&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-26900-30&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1994-7-13&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM269&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30200-00&lt;br /&gt;
|Mach64 CX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-1-17&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM302&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-25500-20&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-2-9&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM255&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Xpression &lt;br /&gt;
|109-30300-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|VLB&lt;br /&gt;
|1995-3-15&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|dram&lt;br /&gt;
|EXM301&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo 1600&lt;br /&gt;
|109-33200-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-6-13&lt;br /&gt;
|40/40&lt;br /&gt;
|4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM332&lt;br /&gt;
|Optional Apple Display, Faster Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-33300-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-07-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321 &lt;br /&gt;
|1280 x 1024 NI Unexpected EXM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim GA&lt;br /&gt;
|109-32900-10&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-11-27&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM329&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Pro Turbo&lt;br /&gt;
|109-28100-00&lt;br /&gt;
|Mach64 GX&lt;br /&gt;
|ISA&lt;br /&gt;
|1996-2-14&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|VRAM&lt;br /&gt;
|EXM281&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Win Charger&lt;br /&gt;
|109-32100-20&lt;br /&gt;
|Mach64 CT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM321&lt;br /&gt;
|Integrated RAMDAC&lt;br /&gt;
|-&lt;br /&gt;
|Win Boost&lt;br /&gt;
|109-33100-10&lt;br /&gt;
|Mach64 VT&lt;br /&gt;
|PCI&lt;br /&gt;
|1995-7-20&lt;br /&gt;
|40/40&lt;br /&gt;
|2MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM331&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64 VT / VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-7-9&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM340&lt;br /&gt;
|Board reused for &amp;quot;3D Xpression&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression&lt;br /&gt;
|109-36300-10&lt;br /&gt;
|Mach64 VT2&lt;br /&gt;
|PCI&lt;br /&gt;
|1996-6-6&lt;br /&gt;
|62/62&lt;br /&gt;
|2MB / 4MB&lt;br /&gt;
|EDO&lt;br /&gt;
|EXM363&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Video Xpression+&lt;br /&gt;
|109-40600-10&lt;br /&gt;
|Mach64-VT4&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|62/62&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|EDO&lt;br /&gt;
|n/a&lt;br /&gt;
|Same board as 3D Rage IIC PCI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ATi Rage series ==&lt;br /&gt;
[[File:Ati_3D_Rage_II.jpg|thumb|Rage 3D II PCI]]&lt;br /&gt;
[[File:Rage_LT_Pro.jpg|thumb|Rage LT Pro]]&lt;br /&gt;
[[File:ATIRage128Pro.JPG|thumb|Rage 128 Pro OEM]]&lt;br /&gt;
[[File:Rage_128_Pro_16MB.jpg|thumb|Rage 128 16MB]]&lt;br /&gt;
&lt;br /&gt;
''Work in progress''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage =====&lt;br /&gt;
&lt;br /&gt;
The first generation 3D RAGE chip was based upon a Mach64 2D core with new 3D functionality and MPEG-1 acceleration.  Part number on the GPU suggest the name Mach64-GT.  Appears to be pin compatible with Mach64-VT4 series chips, but was the first accelerator that was no longer register compatible with the 8514/A. &lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
The reason for the Rage name change was: &lt;br /&gt;
:''As the COMDEX 1995 launch approached ATI learned that S3 was planning to release their ViRGE 3D accelerator at the same time. Phil Eisler, the manager of the new chip wasn’t thrilled about launching a product called the ATI 264GT at the same time. So, he started searching for a name with some energy behind it to compete with ViRGE.''&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage II =====&lt;br /&gt;
&lt;br /&gt;
The 3D Rage II chip was an enhanced, pin compatible version of the 3D Rage accelerator offering better 3d performance.   Early 3D Rage II chips have part numbers that suggest a continuation of the same family: Mach64-GT2.  The Rage II chip supported single-cycle EDO memory &amp;amp; high-speed SGRAM. Later revisions switch to an &amp;quot;R2&amp;quot; naming convention for Rage II chip family.  These revisions boosted 2D performance by 20 percent and added support for MPEG-2 (DVD) playback, and AGP support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* DirectX 5.0 Support&lt;br /&gt;
* No Hardware Open GL Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Map Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel per clock and 1 Texel every other clock&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium P54C, MMX&lt;br /&gt;
* Pentium II with 66Mhz bus&lt;br /&gt;
* K6 &amp;amp; Cyrix 6x86&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Matrox Millenium (G200) or Mystique (G220)&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* Number 9 Ticket To Ride&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-card-reviews,42-3.html&lt;br /&gt;
:''A very good 3D paired with a very good 2D performance, the support of 4 and 8 MB onboard RAM, hence the support of up to 1280x1024 3D resolution and last but not least the optional TV output make this card a very good all-round solution, appealing to gamers as well as professionals ... as long as you don't require OpenGL.  If you plan on using the XPERT card in a Socket 7 system, you'll be pleased to hear that the 3D performance isn't bad even with slower CPUs, however, the Diamond Stealth and cards with NVidia's Riva 128 are faster. You've got to be careful using an XPERT card as AGP version with a Socket 7 board that uses VIA's Apollo VP3 chipset, because you'll face some serious compatibility as well as performance problems. These problems don't occur if you are using the PCI version with these boards.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Rage IIC was a low end part released along side of the Rage Pro.  &lt;br /&gt;
Rage IIC performed similarly to S3 Trio3D or S3 Virge GX2.&lt;br /&gt;
Mach64 VT4 appears to be very similar to the Rage IIC, but only seen with EDO memory.  They both use BIOS labeled &amp;quot;Rage IIC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===== 3D Rage Pro =====&lt;br /&gt;
Released in the latter half of 1997, the Rage Pro was a major improvement on ATI's previous Rage II chip. Improvements include an increased texture cache size (now at 4 KB) allowing for improved texture filtering, as well as an integrated triangle setup engine that improved performance on CPU bound systems. It is the first ATI chip (and among the earliest graphics chips) to fully support AGP bus features, including execute mode (AGP texturing). It is also the first ATI chip to support OpenGL in hardware. However, like the previous Rage chips, the Rage Pro cannot bilinear filter alpha textures, resulting in transparent textures still having a rough appearance. Performance-wise, it is very similar to 3Dfx's original Voodoo Graphics chipset. The Rage Pro was very popular with OEMs and up until the late 2000s, it was integrated into many server motherboards.&lt;br /&gt;
&lt;br /&gt;
The Rage Pro is also the last chip to support ATI's CIF application programming interface. It is also ATI's last chip with Windows 3.1x support.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.1 Support&lt;br /&gt;
* 1 Pixel Shader, 1 Texture Unit, 1 ROP&lt;br /&gt;
* Fixed Pipeline&lt;br /&gt;
* Produced 1 Pixel and 1 Texel every clock&lt;br /&gt;
* 64bit Memory Access&lt;br /&gt;
* Apple versions supported WRAM and an external 250MHz ramdac&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium MMX&lt;br /&gt;
* Pentium II &lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo&lt;br /&gt;
* 3Dfx Voodoo Rush&lt;br /&gt;
* SiS 6326&lt;br /&gt;
* Nvidia Riva 128&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
* Rendition Verite 2100&lt;br /&gt;
* NEC PowerVR&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.tomshardware.com/reviews/3d-accelerator-review-step,51-34.html&lt;br /&gt;
:''So what's with the ATI Rage Pro chip? I can't help it, but this chip lacks in too many cases to be worth a recommendation. It does not support GLQuake's or Quake II's OpenGL engine, it has obvious problems with Direct3D, it has got only very weak support of professional OpenGL under NT, so that it doesn't leave much else than it's excellent 2D performance in combination with its video in/out features. However, if I want the best 2d performer with the best picture quality and the best RAM DAC I rather go for a Matrox Millennium II. The Rage Pro is neither fish nor meat, it's no gamer's card, but it's also not really a professional card either. So what is it?&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
Later drivers fixed many of the early compatibility issues.  Alpha blended textures was never implemented, which caused poor image quality on some games.&lt;br /&gt;
Rage Pro works with Quake if you set Windows to 64K color mode first.&lt;br /&gt;
&lt;br /&gt;
Rage LT Pro was based on Rage Pro.  It had reduced power consumption, power management features and TV Out.&lt;br /&gt;
&lt;br /&gt;
Rage Mobility added iDCT video compression and further power management improvements.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 =====&lt;br /&gt;
Upgraded chip with 128 internals. &lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* DirectX 6.0 Support&lt;br /&gt;
* Open GL 1.2 Support&lt;br /&gt;
* 2 Pixel Shader, 2 Texture Units, 2 ROPs&lt;br /&gt;
* Rage 128 GL has 128 bit Memory Access, Rage 128 VR has 64 bit Memory Access&lt;br /&gt;
* Hardware support for vertex arrays, fog and fog table support&lt;br /&gt;
* Alpha blending, vertex and Z-based fog, video textures, texture lighting&lt;br /&gt;
* Single clock bilinear and trilinear texture filtering and texture compositing&lt;br /&gt;
* Perspective-correct mip-mapped texturing with chroma-key support&lt;br /&gt;
* Vertex and Z-based reflections, shadows, spotlights, 1.00 biasing&lt;br /&gt;
* Hidden surface removal using 16, 24, or 32-bit Z-buffering&lt;br /&gt;
* Gouraud and specular shaded polygons&lt;br /&gt;
* Line and edge anti-aliasing, bump mapping, 8-bit stencil buffer&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium II 400 with 100Mhz Bus&lt;br /&gt;
* Celeron&lt;br /&gt;
* K6 233 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* 3Dfx Voodoo 2&lt;br /&gt;
* 3Dfx Banshee&lt;br /&gt;
* Savage 3D&lt;br /&gt;
* Nvidia Riva TNT&lt;br /&gt;
* 3d Labs Permedia 2&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/205/6&lt;br /&gt;
:''From the perspective of the Slot-1 owner who craves speed, and wishes to get the best of all worlds (2D/3D/DVD), the Rage 128 should be considered as the ideal chipset for you.  Now once your needs become a little more specific, such as greater 3D performance (Voodoo2 SLI), or greater 2D image quality (G200), then you may be forced to veer away from the Rage 128, but as a starting point, you can't go wrong with this bad boy.  Regardless of the speed of your processor, if you're a slot 1 user looking for a well-rounded 2D/3D card, the Rage 128 gets AnandTech's recommendation for the best overall all-in-one, kicking Matrox out of that seat  ...  Super7 users should be able to find much comfort in the Rage 128, it isn't a horrible performer, and it offers very few compatibility issues with Super7 chipsets, not to mention the incredible feature set the chipset itself boasts.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage XL =====&lt;br /&gt;
&lt;br /&gt;
A die shrink of the Rage Pro that runs with lower power consumption, higher frequencies and has image quality fixes.  As of 2021, new cards are being sold with this chipset, however cards manufactured after 1999 frequently have compatibility issues Socket 3 &amp;amp; Socket 4 PCI chipsets.&lt;br /&gt;
&lt;br /&gt;
===== Rage XC =====&lt;br /&gt;
&lt;br /&gt;
Released along side the XL, it seems very similar.&lt;br /&gt;
&lt;br /&gt;
===== Rage 128 Pro  =====&lt;br /&gt;
Successor to the original Rage 128 carried several enhancements, including an enhanced triangle setup engine that doubled geometry throughput to eight million triangles/s, better texture filtering, DirectX 6.0 texture compression, AGP 4×, DVI support, and an optional Rage Theater chip for composite and S-Video TV-in. The Rage 128 Pro was generally an even match for the Voodoo 3 2000, RIVA TNT2 and Matrox G400, but was often hindered by its lower clock (often at 125MHz).  Several different variants released with different clock speeds.&lt;br /&gt;
&lt;br /&gt;
Sold under the following names: ''Rage Fury Pro'', ''Rage Fury MAXX''&lt;br /&gt;
&lt;br /&gt;
Period Correct CPUs:&lt;br /&gt;
* Pentium III 100 Mhz Bus&lt;br /&gt;
* Pentium 2&lt;br /&gt;
* K6 &amp;amp; Cyrix MX&lt;br /&gt;
&lt;br /&gt;
GPU Competitors at Release:&lt;br /&gt;
* Nvidia Riva TNT2&lt;br /&gt;
* 3Dfx Voodoo 3&lt;br /&gt;
* Matrox G400&lt;br /&gt;
&lt;br /&gt;
Contemporary Review:&lt;br /&gt;
https://www.anandtech.com/show/389/12&lt;br /&gt;
:''For the occasional gamer the Rage Fury Pro seems ideal but pairing the card up with a fast processor such as a Pentium III 500+ or an Athlon will most likely be doing your processor an injustice if you're concerned with gaming performance.  The &amp;quot;slower&amp;quot; processors (&amp;lt; P3-450) is where the card will begin to shine, especially against the more CPU dependent TNT2, especially under Direct3D.  The current limitation of performance under Quake 3 seems to be a result of the OpenGL ICD which does seem to have some room for improvement.   It wouldn't be surprising to see the Rage 128 Pro beat out the TNT2 in a few Quake 3 runs with a better ICD. &lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
===== Rage 6 =====&lt;br /&gt;
The Rage 6 family was renamed to Radeon before release&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage GPU chart =====&lt;br /&gt;
&lt;br /&gt;
''Work in progress - ATI Rage GPU chart''&lt;br /&gt;
&lt;br /&gt;
This is a table of all the ATI GPU parts that were released as &amp;quot;RAGE&amp;quot; products.  Still working on the Rage Mobility Parts.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU Part&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Family&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Process (nm)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Transistors (Mil)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Die Size (mm^2)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Clock (MHz)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Max Mem (MB)&lt;br /&gt;
|-&lt;br /&gt;
|215GT2CB12&lt;br /&gt;
|Rage II&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215GT2UB24&lt;br /&gt;
|3D Rage II+DVD&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|500&lt;br /&gt;
|5&lt;br /&gt;
|86&lt;br /&gt;
|60&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R2QZUA21&lt;br /&gt;
|3D Rage IIc AGP&lt;br /&gt;
|Rage2&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R2PZUA21&lt;br /&gt;
|3D Rage IIc PCI&lt;br /&gt;
|Rage2&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|5&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3DUA22&lt;br /&gt;
|3D Rage Pro AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA22&lt;br /&gt;
|3D Rage Pro PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997-3-1&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|47&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3BJA33&lt;br /&gt;
|Rage Pro Turbo AGP&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3PUA33&lt;br /&gt;
|Rage Pro Turbo PCI&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI&lt;br /&gt;
|&lt;br /&gt;
|350&lt;br /&gt;
|8&lt;br /&gt;
|&lt;br /&gt;
|75&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R3LASB41&lt;br /&gt;
|Rage XL&lt;br /&gt;
|RagePro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R3QZSB22&lt;br /&gt;
|Rage XC&lt;br /&gt;
|RagePro&lt;br /&gt;
|AGP&lt;br /&gt;
|1999-1-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA21&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|Rage128&lt;br /&gt;
|&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|215R34BASA22&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|1998-8-1&lt;br /&gt;
|250&lt;br /&gt;
|&lt;br /&gt;
|89&lt;br /&gt;
|125&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|215R4GASA21&lt;br /&gt;
|Rage 128&lt;br /&gt;
|Rage128&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|215R4GAUC21&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|Rage128Pro&lt;br /&gt;
|PCI/AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== ATI Rage add-in boards =====&lt;br /&gt;
&lt;br /&gt;
Here are tables that list Graphics add-in boards released with Rage GPUs by ATI&lt;br /&gt;
The last two digits of the part number refer to the revision.&lt;br /&gt;
&lt;br /&gt;
A part number that ends &amp;quot;-00&amp;quot; would either be an engineering sample or a first release.&lt;br /&gt;
The next revisions of the board would be &amp;quot;-10&amp;quot;, &amp;quot;-20&amp;quot;, &amp;quot;-30&amp;quot; etc.  I included the version number that I saw in my research, but there are likely other revisions that I have not seen.&lt;br /&gt;
&lt;br /&gt;
The tables are grouped &amp;amp; ordered by GPU family, but there was a lot of overlap between generations.  For example, the Video Xpression+ (109-40600-10) has copyright 1998 printed on the board, which is 2 years later than the other early Rage cards.&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;  &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Part Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|GPU&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Pix:Tex/Clk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Size&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Mem Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Core/Mem Mhz&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Notes: DirectX 5&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression&lt;br /&gt;
|109-34000-10&lt;br /&gt;
|Mach64-GT (Rage)&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|44/57&lt;br /&gt;
|Later sold as &amp;quot;Video Charger&amp;quot; with &amp;quot;Rage II + DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-37100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|55/66&lt;br /&gt;
|DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|Sun Workstation&lt;br /&gt;
|109-37700-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|DB13W3 Display Connector - Sun&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-37900-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later sold with &amp;quot;3D Rage II+DVD&amp;quot; chip&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+&lt;br /&gt;
|109-38200-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3D Xpression+ PC2TV&lt;br /&gt;
|109-38500-00&lt;br /&gt;
|Rage II&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|56/70&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder&lt;br /&gt;
|109-38600-10&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|3D Charger&lt;br /&gt;
|109-38800-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1996&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|55/60&lt;br /&gt;
|Later called &amp;quot;3D Pro Turbo&amp;quot; ?&lt;br /&gt;
|-&lt;br /&gt;
|3D Xclaim&lt;br /&gt;
|109-39200-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|VGA + DA15F Display Connector - Mac&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage II&lt;br /&gt;
|109-40100-00&lt;br /&gt;
|Rage II+DVD&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|55/66&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play AGP&lt;br /&gt;
|109-40200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Out / Rev -20 (1998) &lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-40600-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|Rev -10 (1998) has Rage IIC or Mach64-VT4&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro PCI&lt;br /&gt;
|109-41500-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGR&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SGRAM&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play/Work PCI&lt;br /&gt;
|109-41900-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|@Play had TV Out / Rev &amp;quot;-10&amp;quot; sold with &amp;quot;98&amp;quot; suffix&lt;br /&gt;
|-&lt;br /&gt;
|Memory Addon&lt;br /&gt;
|109-42000-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4MB or 8MB&lt;br /&gt;
|64m SGRAM&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Nexus GA&lt;br /&gt;
|109-42600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b WRAM?&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display.  external Ramdac&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim VR PRO&lt;br /&gt;
|109-43100-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Apple Display&lt;br /&gt;
|-&lt;br /&gt;
|OEM 3D Rage Pro&lt;br /&gt;
|109-43200-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Gateway &amp;amp; Compaq&lt;br /&gt;
|-&lt;br /&gt;
|All In Wonder Pro&lt;br /&gt;
|109-44600-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / Rev -30 (1998) &amp;quot;Turbo&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-45400-00c&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output&lt;br /&gt;
|-&lt;br /&gt;
|Xpert XL&lt;br /&gt;
|109-46200-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1997&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8 MB&lt;br /&gt;
|64b EDO&lt;br /&gt;
|75/62.8&lt;br /&gt;
|4 or 8 chip EDO / 32b if 4 chip?&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-47200-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Laptop Chip with Dual VGA&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-48300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|32b EDO (?)&lt;br /&gt;
|75/62(?)&lt;br /&gt;
|4 chip EDO.  &lt;br /&gt;
|-&lt;br /&gt;
|Workstation OEM ?&lt;br /&gt;
|109-48400-00&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-49300-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|Low End OEM.  32bit?  Rev&amp;quot;-01&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Work AGP&lt;br /&gt;
|109-49800-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/ 75&lt;br /&gt;
|Also built with LT &amp;amp; XL chips.  Rev &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-50200-01&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SGRAM&lt;br /&gt;
|75/100&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-50500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|8,16,32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|80/120&lt;br /&gt;
|Rev &amp;quot;-10&amp;quot; &amp;amp; &amp;quot;-11&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 128&lt;br /&gt;
|109-51800-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-40&amp;quot; has mac bios&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury / Rage Magnum&lt;br /&gt;
|109-51900-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 99&lt;br /&gt;
|109-52000-00&lt;br /&gt;
|Rage 128 VR&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|80/125&lt;br /&gt;
|Rev &amp;quot;-01&amp;quot; and &amp;quot;-31&amp;quot; (2000) &lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 Pro&lt;br /&gt;
|109-52100-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Funky L Card.  Rev &amp;quot;-10&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder Pro&lt;br /&gt;
|109-52300-10&lt;br /&gt;
|Rage Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|TV Tuner / SDRAM model&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC AGP&lt;br /&gt;
|109-52800-00&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/83&lt;br /&gt;
|4 chip SDRAM.  Rev &amp;quot;-10&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-52900-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips.  Revs &amp;quot;-02&amp;quot;, &amp;quot;-04&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53000-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 8 ram chips&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128&lt;br /&gt;
|109-53400-11&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|TV Tuner 4 ram chips.  Rev &amp;quot;-12&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Xpert LCD&lt;br /&gt;
|109-55700-00&lt;br /&gt;
|Rage LT Pro&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|75/75&lt;br /&gt;
|Laptop Chip with VGA &amp;amp; Digital Output.  Rev &amp;quot;-01&amp;quot; (1999)&lt;br /&gt;
|-&lt;br /&gt;
|Rage Orion (Mac)&lt;br /&gt;
|109-57400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|64b &amp;amp; 128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|Sold for PC as Rage 128 VR &amp;amp; Xclaim VR 128 w/ Ext TV tuner.  Rev &amp;quot;-31&amp;quot; (2000)&lt;br /&gt;
|-&lt;br /&gt;
|Nexus 128 (Mac)&lt;br /&gt;
|109-57500-00&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|1998&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|90/90&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OEM Rage 128 Pro&lt;br /&gt;
|109-60600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|134/134&lt;br /&gt;
|16MB &amp;amp; 64b bus if only 2 chips are populated&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro / Rage Magnum&lt;br /&gt;
|109-61300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|Optional TV Out&lt;br /&gt;
|-&lt;br /&gt;
|3D Rage IIC PCI&lt;br /&gt;
|109-61800-10&lt;br /&gt;
|Rage IIc&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|1 : ½&lt;br /&gt;
|2,4,8 MB&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM.  32bit?&lt;br /&gt;
|-&lt;br /&gt;
|Rage XC&lt;br /&gt;
|109-62800-10&lt;br /&gt;
|Rage XC&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|4 / 8 MB&lt;br /&gt;
|32b / 64b SDRAM&lt;br /&gt;
|75/83(?)&lt;br /&gt;
|Low End OEM&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim Dual Rage 128 Pro&lt;br /&gt;
|109-63000-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|DVI and VGA / 8 Ram chips / G4 Apple Only?&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury Pro&lt;br /&gt;
|109-63100-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|16, 32MB&lt;br /&gt;
|128b SGRAM&lt;br /&gt;
|118/140&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO&lt;br /&gt;
|109-63200-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|16 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , Optional TV Out, Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 128 PRO&lt;br /&gt;
|109-65600-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|120/120&lt;br /&gt;
|4Chip Ram , TV Tuner&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000 PRO&lt;br /&gt;
|109-65700-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Funky L Card&lt;br /&gt;
|-&lt;br /&gt;
|Xpert 2000&lt;br /&gt;
|109-66500-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66700-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|4 chip SDRAM / XPERT 98&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL AGP&lt;br /&gt;
|109-66900-00&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|1999&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|83/83&lt;br /&gt;
|2 chip SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Rage Fury MAXX&lt;br /&gt;
|109-67300-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|1999&lt;br /&gt;
|4:2&lt;br /&gt;
|64 MB&lt;br /&gt;
|2 x 128b SGRAM&lt;br /&gt;
|125/143&lt;br /&gt;
|Dual Chip &amp;amp; Ram / Alternate frame rendering&lt;br /&gt;
|-&lt;br /&gt;
|Xpert@Play 2000 ?&lt;br /&gt;
|109-68100-01&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|AGPx2&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32 MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|103/103&lt;br /&gt;
|TV Out&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|109-70400-10&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|PCI&lt;br /&gt;
|1999&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage XL PCI&lt;br /&gt;
|109-72300-10&lt;br /&gt;
|Rage Pro XL&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|1:1&lt;br /&gt;
|4,8,16 MB&lt;br /&gt;
|32b SDRAM&lt;br /&gt;
|125/83&lt;br /&gt;
|Reduced Cost Model&lt;br /&gt;
|-&lt;br /&gt;
|Xclaim 3D PRO&lt;br /&gt;
|109-72700-02&lt;br /&gt;
|Rage 128 Pro&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|Apple &amp;quot;ADC&amp;quot; port / 8 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra GL&lt;br /&gt;
|109-73100-10&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 Chip Ram&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128&lt;br /&gt;
|109-74400-10&lt;br /&gt;
|Rage 128 GL&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|2:1&lt;br /&gt;
|16MB&lt;br /&gt;
|64b SDRAM&lt;br /&gt;
|118/118&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Rage 128 PRO Ultra&lt;br /&gt;
|109-78200-00&lt;br /&gt;
|Rage 128 Pro2&lt;br /&gt;
|AGPx4&lt;br /&gt;
|2000&lt;br /&gt;
|2:1&lt;br /&gt;
|32MB&lt;br /&gt;
|64b/128b SDRAM&lt;br /&gt;
|130/130&lt;br /&gt;
|4 or 8 Chip Ram / Optional Rage Theater&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rage Bios Numbers can be found here: https://web.archive.org/web/19990503172836/http://support.atitech.ca/identify/bios_list.html&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ATi Radeon series ==&lt;br /&gt;
&lt;br /&gt;
===== R100 =====&lt;br /&gt;
[[File:Radeon_AGP.jpg|thumb|Radeon 7200]]&lt;br /&gt;
[[File:Radeon_7000_PCI_32MB_DDR.jpg|thumb|Radeon 7000 32MB DDR PCI]]&lt;br /&gt;
[[File:Radeon7500agp.jpg|thumb|Radeon 7500 64MB]]&lt;br /&gt;
The original Radeon was a Direct3D 7 visual processing unit (VPU), as ATi named it. It is a 2 pixel per clock design with 3 texture units on each of the pixel pipelines. The 166 MHz Radeon DDR (aka 7200) is competitive with GeForce 256 DDR. Clock speeds varied from 143 - 200 MHz, synchronous memory and core. &lt;br /&gt;
&lt;br /&gt;
It supports environmental bump mapping (EMBM), unlike GeForce cards at the time. It has a basic form of anisotropic filtering that is high performance and offers a nice quality improvement but is highly angle-dependent and can not operate at the same time as trilinear filtering. It also offers ordered-grid supersampling anti-aliasing.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures. It is possible to enable fog table via registry tweaks but it was not officially supported.&lt;br /&gt;
&lt;br /&gt;
RV100 (Radeon VE / 7000) is a chip with dual display capabilities but with reduced 3D hardware. It lacks T&amp;amp;L and has a single pixel pipeline. It is somewhat faster than TNT2 Ultra and G400 Max.&lt;br /&gt;
&lt;br /&gt;
RV200 (Radeon 7500) is a die shrink of R100 with some improvements. It has more anisotropic filtering options and is capable of asynchronous clocking of memory and the core. The top of the line model is clocked at 290 MHz core and 230 MHz RAM, and competes with GeForce 2 Ti/Pro. &lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col'|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col'|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, LE DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70600-20&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|LE and 7200 had lower speeds&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-70700-01&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|VIVO &amp;amp; 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73500-21&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW, AIW 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-73700-20&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|AIW 7200&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR (7200 PCI)&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-75700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76200-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-76800-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon DDR, 7200&lt;br /&gt;
|PCI&lt;br /&gt;
|2000&lt;br /&gt;
|109-77700-00&lt;br /&gt;
|R100&lt;br /&gt;
|166&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|166&lt;br /&gt;
|5.3 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000, VE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR, DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7200, SDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-78500-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|32MB&lt;br /&gt;
|SDR&lt;br /&gt;
|143&lt;br /&gt;
|166&lt;br /&gt;
|3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81100-01&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|Low Profile DMS59&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-81700-00&lt;br /&gt;
|R100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|183&lt;br /&gt;
|5.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83100-00&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon SDR, 7200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2000&lt;br /&gt;
|109-83800-00&lt;br /&gt;
|R100&lt;br /&gt;
|143&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR&lt;br /&gt;
|128&lt;br /&gt;
|143&lt;br /&gt;
|2.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|109-85500-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32, 64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Sun + Apple&lt;br /&gt;
|-&lt;br /&gt;
|Radeon&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-85530-10&lt;br /&gt;
|R100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|SDR?&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Sun&lt;br /&gt;
|-&lt;br /&gt;
|Radeon VE, 7000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-92400-00&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|Tiny Notch Board&lt;br /&gt;
|-&lt;br /&gt;
|Radeon LE, 7100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-REF94-00A&lt;br /&gt;
|RV100&lt;br /&gt;
|&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW VE, 7000&lt;br /&gt;
|PCI&lt;br /&gt;
|2001&lt;br /&gt;
|&lt;br /&gt;
|RV100&lt;br /&gt;
|183&lt;br /&gt;
|32MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|183&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon MAXX DDR&lt;br /&gt;
|AGP 2x&lt;br /&gt;
|2000&lt;br /&gt;
|&lt;br /&gt;
|R100 x2&lt;br /&gt;
|148&lt;br /&gt;
|128MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|148&lt;br /&gt;
|9.5 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== R200 =====&lt;br /&gt;
[[File:Radeon8500 128mb.JPG|thumb|Radeon 8500 128MB]]&lt;br /&gt;
This generation is the first with Direct3D 8 compliance, actually Direct3D 8.1. The Radeon 8500 is a 4 pipeline design with 2 texture units per pipeline and operates at up to 275 MHz, typically with synchronous core and RAM. It is competitive with GeForce 3 Ti 500. &lt;br /&gt;
&lt;br /&gt;
A wide variety of supersampling anti-aliasing modes are available (2-6x, quality/performance). ATi calls it &amp;quot;Smoothvision&amp;quot;. It uses various techniques, including a jittered-grid pattern for some modes/cases and ordered-grid for others. In Direct3D, fog may force it to use ordered-grid. Drivers vary in their behavior as well.[http://forum.beyond3d.com/showpost.php?p=4859&amp;amp;postcount=64]&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering is somewhat improved, with more levels supported, but is again very angle dependent and can not work with trilinear filtering. GeForce 3+ have higher quality anisotropic filtering but with a much higher performance impact.&lt;br /&gt;
&lt;br /&gt;
ATi introduced a tessellation function called [[TruForm]].&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
&lt;br /&gt;
RV250 and RV280, known as Radeon 9000, 9200 and 9250, are slight evolutions of the design. They have somewhat reduced specifications but are more efficient and run cooler. They were popular notebook GPUs. Performance of Radeon 9000 Pro is not far off of Radeon 8500. Radeon 9100 is a rename of Radeon 8500 LE.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI manufactured boards:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-82800-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500 DDR&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83200-01&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|64MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|64&lt;br /&gt;
|230&lt;br /&gt;
|3.7 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83400-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|DVI Output&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83600-00&lt;br /&gt;
|R200&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-83900-00&lt;br /&gt;
|RV200&lt;br /&gt;
|260&lt;br /&gt;
|64MB&lt;br /&gt;
|SGRAM&lt;br /&gt;
|128&lt;br /&gt;
|180&lt;br /&gt;
|2.9 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 8500DV&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-84800-10&lt;br /&gt;
|R200&lt;br /&gt;
|230&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|190&lt;br /&gt;
|6.1 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 8500 LE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9100&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-85700-00&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|250&lt;br /&gt;
|8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL 8800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2001&lt;br /&gt;
|109-90600-20&lt;br /&gt;
|R200&lt;br /&gt;
|300&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|290&lt;br /&gt;
|9.3 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 7500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-91700-00&lt;br /&gt;
|RV200&lt;br /&gt;
|290&lt;br /&gt;
|32MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|128&lt;br /&gt;
|230&lt;br /&gt;
|7.4 GB&lt;br /&gt;
|Mac G4 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95800-00&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|275&lt;br /&gt;
|8.8 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|All-In-Wonder 9000 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-95900-10&lt;br /&gt;
|RV250&lt;br /&gt;
|275&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|270&lt;br /&gt;
|8.6 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2002&lt;br /&gt;
|109-99700-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A06200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9200&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A062GN-00&lt;br /&gt;
|RV280&lt;br /&gt;
|250&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-A165GN-00B&lt;br /&gt;
|RV280se&lt;br /&gt;
|200&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|166&lt;br /&gt;
|2.7 GB&lt;br /&gt;
|OEM Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9250&lt;br /&gt;
|PCI&lt;br /&gt;
|2004&lt;br /&gt;
|109-A34200-00&lt;br /&gt;
|RV280&lt;br /&gt;
|240&lt;br /&gt;
|128 MB&lt;br /&gt;
|DDR&lt;br /&gt;
|64&lt;br /&gt;
|200&lt;br /&gt;
|3.2 GB&lt;br /&gt;
|L Card&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9000&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|2003&lt;br /&gt;
|109-G0118-00&lt;br /&gt;
|RV250&lt;br /&gt;
|250&lt;br /&gt;
|64MB&lt;br /&gt;
|DDR&lt;br /&gt;
|128&lt;br /&gt;
|200&lt;br /&gt;
|6.4 GB&lt;br /&gt;
|OEM &amp;quot;L&amp;quot; Card&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R300 =====&lt;br /&gt;
[[File:Radeon_9500_128MB.jpg|thumb|Radeon 9500 Pro 128MB]]&lt;br /&gt;
[[File:Radeon_9600_AGP_256MB.jpg|thumb|Radeon 9600 256MB]]&lt;br /&gt;
[[File:Radeon_9800_XL_(Medion_OEM_card_with_cooler_removed).jpg|thumb|Radeon 9800 XL 128MB]]&lt;br /&gt;
[[File:Radeon9800pro256.JPG|thumb|Radeon 9800 Pro 256MB]]&lt;br /&gt;
Introduced in August 2002, the R300 GPUs are Direct3D 9.0-compliant graphics chips. R300 introduced Shader Model 2.0 support and is also OpenGL 2.0-compliant. The R300 was designed by the ArtX engineering team that ATI had acquired in Feburary 2000. The same ArtX engineers (who were also former SGI employees) designed the Nintendo Gamecube GPU (Flipper) as well as the SGI RealityEngine-based graphics processor in the Nintendo 64. The first R300-based cards released were the Radeon 9500 and 9700 line of cards. In 2003, the Radeon 9600 and 9800 series were added to the lineup. R300 has many improvements and noticeably better visual quality than ATI's prior chips. Radeon 9800 Pro is competitive with GeForce FX 5900 Ultra, but with Direct3D 9 games the GeForce FX falls far behind.&lt;br /&gt;
&lt;br /&gt;
Anisotropic filtering quality is vastly improved in the R300, with much lower angle-dependency and the ability to work simultaneously with trilinear filtering. Furthermore, compared to its initial competitor, NVIDIA's GeForce 4 Ti series, R300's anisotropic filtering incurred much less performance decrease. Anti-aliasing is now performed with 2-6x gamma-corrected rotated-grid multi-sampling anti-aliasing. MSAA operates only on polygon edges, which of course means no anti-aliasing within textures or of transparent textures, but expends far less fillrate and is thus useable at higher resolutions. NVIDIA does not match the quality of this MSAA until GeForce 8. However, ATi did not support any form of super-sampling with R300-R700, while NVIDIA did.&lt;br /&gt;
&lt;br /&gt;
The R300 enjoyed visual quality and performance supremacy over its competitors in games and applications that extensively used Shader Model 2.0. NVIDIA would not be able to match or exceed ATI's Direct3D 9.0 performance until the release of the GeForce 6 series in 2004.&lt;br /&gt;
&lt;br /&gt;
Backwards compatibility with old D3D 5 games is limited because of the lack of support for fog table and palettized textures.&lt;br /&gt;
Also, despite being Direct3D 9.0-compliant, the R300 is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
Here are the ATI Manufactured boards&lt;br /&gt;
:{| class=&amp;quot;filterable sortable wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Model Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bus&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Released&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|PCB &lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock Freq&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|RAM&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Clock&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Width&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Bandwidth&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|Note&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30 ???&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9500 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A05600-00&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 SE&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XL&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9550 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-10 ?&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A22500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A09000-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|128&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03400-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DDR&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|PC &amp;amp; MAC&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 Pro&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-01&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 SE&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A198GN-00&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|MSI&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 XT &lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A13600-10&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac G5 + Extra Power&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A73503-00&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Mac&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9650&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A58503-20&lt;br /&gt;
|R351&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9600 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 TX&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-10&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fire GL1-128&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-94200-30&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9700 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-01&lt;br /&gt;
|R300&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-95700-20&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XL&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-01&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|109-A07500-00&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 Pro&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 SE&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon 9800 XT&lt;br /&gt;
|AGP 4x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|R360&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X800 PRO&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A26100-01&lt;br /&gt;
|R420&lt;br /&gt;
|&lt;br /&gt;
|256MB&lt;br /&gt;
|GDDR&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon AIW X800XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A38304-00&lt;br /&gt;
|R420XT&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon X850 XT&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A47504&lt;br /&gt;
|R480&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|256&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Radeon x1050 AGP&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-64&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A12400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|Low Profile&lt;br /&gt;
|-&lt;br /&gt;
|FireGL T2-128&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A03431-21&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL Z1-128&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X1-256&lt;br /&gt;
|AGP Pro&lt;br /&gt;
|&lt;br /&gt;
|109-99000-10 ?&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X2-256T&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A23400-00&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FireGL X3-256&lt;br /&gt;
|AGP 8x&lt;br /&gt;
|&lt;br /&gt;
|109-A30131-10&lt;br /&gt;
|RV350&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|0 GB&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== R400 ===== &lt;br /&gt;
[[File:Radeon_X600Pro_PCIe.jpg|thumb|Radeon X600 Pro 256MB]]&lt;br /&gt;
[[File:RadeonX800XTPE.jpg|thumb|Radeon X800 XT PE]]&lt;br /&gt;
&lt;br /&gt;
Introduced in 2004, this is ATi's Direct3D 9.0b generation. It is very similar to R300 in general, but with 16 pipelines in the top chip instead of 8, and higher clock speeds. They are still shader model 2.0 GPUs but have some extensions beyond 2.0, which gives them a 2.0b designation, but are not 3.0 compliant. This was not an issue until about 2 years after launch when games started to outright require shader model 3.0 or run without some visual features. There are some games that utilize 2.0b features - for example Oblivion has more visual effects available on X800 than 9800.&lt;br /&gt;
&lt;br /&gt;
A new anti-aliasing mode was introduced, called temporal AA. This feature shifts the sampling pattern on a per-frame basis, if the card can maintain &amp;gt;= 60 fps. This works well with human vision and gives a tangible improvement to anti-aliasing quality. Also, while not initially available, adaptive anti-aliasing was added to the R400 series after the release of R500 series. Adaptive AA anti-aliases within transparent textures, giving MSAA more SSAA-like capabilities.&lt;br /&gt;
&lt;br /&gt;
The ATI R400 series are ATI's last GPUs with official Windows 98/98 SE/ME support. Likewise with the R300 series, the R400 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
----&lt;br /&gt;
===== R500 =====&lt;br /&gt;
Introduced in 2005, the Radeon X1000 / R500 series are ATI's first Direct3D 9.0c-compliant GPUs with full Shader Model 3.0 features. The R500 series is not officially supported under Windows 7. However, for full Direct3D and OpenGL support, it is still possible to use the Windows Vista driver instead under Windows 7, although WDDM 1.1 features will not be present.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R600 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_2600_Pro_and_2600_XT_both_AGP.jpg|thumb|HD 2600Pro and HD 2600XT, AGP versions]]&lt;br /&gt;
[[File:HD_3850_AGP_512MB.jpg|thumb|HD 3850 AGP]]&lt;br /&gt;
Introduced in 2006, these Radeons added the &amp;quot;HD&amp;quot; prefix to their names.&lt;br /&gt;
R600 includes both the HD 2xxx and HD 3xxx series, with the AGP version of the HD 3850 arguably being the most powerful AGP graphics card to ever have been made (with only the AGP variants of the HD 4650 and the HD 4670 being of a more recent GPU family).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== R700 =====&lt;br /&gt;
&lt;br /&gt;
[[File:HD_4670_AGP_1GB_Club3D.jpg|thumb|HD 4670 1GB Club3D AGP]]&lt;br /&gt;
Introduced in 2008, the R700 family included the last graphics cards to be made for AGP slots.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== Driver suggestions for games =====&lt;br /&gt;
====== Star Wars Knights of the Old Republic 1 &amp;amp; 2 ====== &lt;br /&gt;
These OpenGL games are problematic for Radeon cards. DirectX 8 Radeons should use Catalyst 4.2 for KOTOR and Catalyst 5.1 for KOTOR 2.  DirectX 9 Radeons in the R300 series can try these as well.  With the R4x0 through R6x0 Radeon cards, Catalyst 7.11 may be the best choice.&lt;br /&gt;
&lt;br /&gt;
If the soft shadows option is greyed out and disabled, as it most likely will be, edit swkotor.ini and add &amp;quot;AllowSoftShadows=1&amp;quot; to the [Graphics Options] section.&lt;br /&gt;
&lt;br /&gt;
==Video captures==&lt;br /&gt;
&lt;br /&gt;
===3D Rage II ===&lt;br /&gt;
{{#ev:youtube|wdJXf6MpN7A}}&lt;br /&gt;
Note: The Dawning Demo was actually targeted for the ATI Rage128 series that is a considerably newer, thus faster core than the 3D Rage II.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|iFHwNf7-oZk}}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|wWzWdwj9NvU}}&lt;br /&gt;
&lt;br /&gt;
===3D Rage Pro ===&lt;br /&gt;
{{#ev:youtube|DU5Zi69QPQs}}&lt;br /&gt;
{{#ev:youtube|uZna8WXC4ds}}&lt;br /&gt;
{{#ev:youtube|IG3hd1humM0}}&lt;br /&gt;
{{#ev:youtube|i4pB5Fw8Slk}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;br /&gt;
&lt;br /&gt;
==Related links==&lt;br /&gt;
*[http://www.vogonsdrivers.com/index.php?catid=22  VOGONS Drivers Ati section] &lt;br /&gt;
*[http://www.vogonswiki.com/index.php/Interesting_Vogons_Threads#Graphics_cards  VOGONS threads about graphics cards] &lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Graphics Cards]]&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	<entry>
		<id>https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5483</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://www.vogonswiki.com/index.php?title=Storage&amp;diff=5483"/>
				<updated>2026-01-07T18:59:57Z</updated>
		
		<summary type="html">&lt;p&gt;Douglar: /* SD to IDE Adapters: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Common IDE Categories===&lt;br /&gt;
'''Early IDE (ATA-0 &amp;amp; ATA-1) '''&lt;br /&gt;
* Commonly used with 286, 386, and early 486 computers&lt;br /&gt;
* IDE for 16bit ISA controllers, connects IDE storage devices directly to the ISA/AT bus&lt;br /&gt;
* Storage transfer rates depend on the clock speed of the ISA bus&lt;br /&gt;
* Most devices use PIO transfers.&lt;br /&gt;
* DMA support is extremely rare because it was not faster than PIO on an ISA bus.&lt;br /&gt;
&lt;br /&gt;
'''XT-IDE '''&lt;br /&gt;
* A card that allows IDE devices to work from an 8 bit ISA slot&lt;br /&gt;
* Also used to describe storage devices that support a rarely used 8 bit transfer protocol that's slightly different than normal IDE&lt;br /&gt;
* Also used as shorthand for &amp;quot;XtIDE Universal BIOS&amp;quot;, which is an ISA Option ROM for PCs that is used to overcome IDE BIOS limitations.&lt;br /&gt;
&lt;br /&gt;
'''EIDE, Fast ATA (ATA-2 &amp;amp; ATA-3 )'''&lt;br /&gt;
* Common between 1994-1997: Late Socket 3, Socket 4,5,6, early Socket 7&lt;br /&gt;
* PIO modes transfer rates up to 16Mhz available on some VLB controllers and most PCI controllers&lt;br /&gt;
* Multiword DMA transfer rates to 16Mhz available on a few VLB controllers and most PCI controllers.  &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;512MB using ECHS addressing&lt;br /&gt;
* VLB controllers from this period sometimes have jumpers that allow transfer speed to be configured without a driver.&lt;br /&gt;
* VLB controllers from this period sometimes have a jumper to allow the use of IO Ready signaling to increase the efficiency of PIO modes, but this requires driver support.&lt;br /&gt;
&lt;br /&gt;
'''ATA-4, UDMA/33, Ultra ATA/33'''&lt;br /&gt;
* Common between 1998-1999: Pentium II &amp;amp; III, Super Socket 7, Early Athlon&lt;br /&gt;
* UDMA2 operated at 33MHz for significant performance increases over previous generations&lt;br /&gt;
* 80 connector IDE cables recommended but not required&lt;br /&gt;
* UDMA bus master transfer modes significantly improve performance in multitasking operating systems&lt;br /&gt;
* Few BIOS directly allow UDMA transfers in DOS without a UMDA driver in config.sys&lt;br /&gt;
* Windows 98 requires users to change a setting in Device manager to enable UDMA Bus mastering &lt;br /&gt;
* Some Award BIOS from this period require a patch to allow UDMA operation in Win98. https://www.vogons.org/viewtopic.php?p=1272522#p1272522&lt;br /&gt;
* Controllers from this period were often paired with BIOS support that support &amp;gt;8.4GB using LBA28 addressing&lt;br /&gt;
&lt;br /&gt;
'''Mature PATA (ATA-5, ATA-6, ATA-7: Ultra ATA-66, ATA-100 &amp;amp; ATA-133)'''&lt;br /&gt;
* Common between 2000-2010: Later Pentium 3 &amp;amp; Athlon through Core2&lt;br /&gt;
* UDMA4 &amp;amp; UDMA5 &amp;amp; UDMA6 require an 80 connector IDE cable.  An 80 connector can be simulated by grounding Pin #34 on the storage device.  https://www.vogons.org/viewtopic.php?t=77881&lt;br /&gt;
* UDMA5 &amp;amp; UDMA6 rarely show significant performance improvement over UDMA4 unless paired with the fastest PATA storage devices and a south bridge that uses &amp;gt;= Intel ICH5, VIA Enhanced-Vlink or AMD HyperTransport. &lt;br /&gt;
* Controllers from this period were often paired with BIOS support for storage &amp;gt;128GB using LBA48&lt;br /&gt;
&lt;br /&gt;
More information about PATA ATA is available here: https://en.wikipedia.org/wiki/Parallel_ATA&lt;br /&gt;
&lt;br /&gt;
'''SATA'''&lt;br /&gt;
* Common after 2004&lt;br /&gt;
* Early SATA devices were often PATA devices with a built in SATA bridge&lt;br /&gt;
* Bridges are commonly available today to connect PATA devices to SATA controllers &amp;amp; vice versa.&lt;br /&gt;
* Most native SATA devices support ACHI features such as NCQ, TRIM, better power management and hot swapping, but these features can be difficult or impossible to access when the device is attached through a PATA bridge.&lt;br /&gt;
* There are three common SATA versions: SATA I (150MB/s), SATA II (300MB/s), SATA III (600MB/s) &lt;br /&gt;
* There are three common SATA connectors:  Sata Data &amp;amp; Power pair / mSata (aka Mini Sata) 25mm edge connector / M2 Sata (aka NGFF, Next Gen Form Factor) 22mm edge connector with two notches (B &amp;amp; M keys)&lt;br /&gt;
&lt;br /&gt;
'''NVMe'''&lt;br /&gt;
* Common after 2018, not IDE, no longer uses ATA protocols&lt;br /&gt;
* Uses the same M2 connector as NGFF Sata, but uses different pins&lt;br /&gt;
* Connects storage directly to PCI-Express&lt;br /&gt;
* Cannot be used as a boot device without UEFI firmware support and Operating System support&lt;br /&gt;
* Microsoft provided Windows 7 drivers, and community created Windows XP drivers&lt;br /&gt;
* Linux GRand Unified Bootloader (GRUB) has support for NVME devices&lt;br /&gt;
&lt;br /&gt;
== BIOS Storage Limitations  ==&lt;br /&gt;
* '''July 1994''' - 528 MB limit - Original CHS ('''C'''ylinders/'''H'''eads/'''S'''ectors) limit - BIOS before this date rarely support drives over 528MB.  As released, these systems were limited to 1024 Cylinders, 16 Heads, 63 Sectors/Track.  These systems either don't allow larger values to be entered, or were not stable when larger values are configured.  &lt;br /&gt;
* '''May 1996''' - 2015 MB limit - INT 13h limit - Some BIOS before this date allow drives up to 2015 MB by updating INT 13h to allow Cylinder values up to 4095.  Head limit remained at 16, Sectors/Track at 63.  This was not compatible with Microsoft Operating Systems released before Win95 SR2.&lt;br /&gt;
* '''February 1997''' &lt;br /&gt;
** 4.2 GB limit - ECHS limit (Extended CHS) - Some BIOS before this date allow a 'Large' mode in the BIOS that produces an alternate geometry by doubling the number of heads and halving the number of cylinders shown to DOS until cylinders &amp;lt;= 1024. The limit for this method for drives that report 16 heads is 4032 MB (C=1024, H = 128, S = 63).&lt;br /&gt;
** 7.9 GB limit - Revised ECHS limit.  Other BIOS from this period have a 'Large' mode in the BIOS that presents an alternate geometry using multiples of 15 heads, up to 240 heads.  This method stops working at 7560 MB (C=1024, H=240, S=63)&lt;br /&gt;
** 8.4 GB limit - Final ECHS limit - BIOS geometry uses head value from the sequence 16, 32, 64, 128, 255 to present an alternate geometry up to 8.4 GB (C=1024, H=255, S=63).  &lt;br /&gt;
* '''August 1999''' - 33.8 GB limit - BIOS before this date often stored the cylinders as a 16 bit value, so they may have issues when a drive reports cylinders &amp;gt; 65535.  Drives from this era often had a jumper to limit cylinders = 65535.&lt;br /&gt;
* '''September 2001''' - 128 GB limit - BIOS before this date only used ATA-5, which had LBA28 addressing, where 28 bits were used to identify each LBA sector, limiting drive capacity to 128GB.  ATA-6 added an additional 48bit LBA sector field.&lt;br /&gt;
* '''January 2006''' - 2 TB limit - MBR Limit - Storage devices configured with a legacy Master Boot Record (MBR) are limited to '''2TB''' per device.  Larger capacities require that the storage device is configured with a &amp;quot;GUID Partition Table&amp;quot; ('''GPT''').  Few systems with BIOS firmware are able to boot from GPT configurations without using a 3rd party boot loader and a hybrid partitioning scheme.  '''UEFI''' firmware is usually required to boot from GPT configured storage.&lt;br /&gt;
&lt;br /&gt;
== Vendor Specific BIOS Limitations  ==&lt;br /&gt;
&lt;br /&gt;
* '''Phoenix BIOS 4.03 and 4.04''' - The BIOS config screen stops responding when a capacity &amp;gt; 3277 MB is entered. &lt;br /&gt;
* '''Award BIOS Display Bug''' - Award BIOS between July 1996 and May 1996 work with capacities 2016MB to 8.4GB but fail to display the size correctly in the Setup and POST screens. The capacity is displayed modulo 2016, so 2016MB shows as 0MB, 4031MB shows as 2015MB, 4032MB shows as 0MB, etc.  &lt;br /&gt;
* '''Award UDMA Bug''' - Award BIOS released before March 1999 that support UDMA report eligibility values that prevent DMA from staying enabled in Windows 98.  Most BIOS can be patched to correct the issue.&lt;br /&gt;
&lt;br /&gt;
== Notes on Storage Limitations  ==&lt;br /&gt;
* Hard drives that report a CHS geometry of 16383 Cylinders, 16 Heads and 63 Sectors/Track are indicating that they are larger than ECHS geometry translation allows and that LBA or LBA48 should be used &lt;br /&gt;
* Hard drives that report an LBA capacity of 0xfffffff are indicating that they are larger than LBA allows and that LBA48 should be used&lt;br /&gt;
* Number of Heads had a limit of 255 in MS-DOS so no BIOS was ever enhanced to allow more than 255 Heads.&lt;br /&gt;
* Sectors/Track was limited to 63 in early BIOS and was never addressed because increasing the number of allowable Cylinders &amp;amp; switching to LBA fixed most storage issues.&lt;br /&gt;
&lt;br /&gt;
== Overcoming Limitations and Incompatibilities ==&lt;br /&gt;
* Systems with BIOS limitations can be configured to work with larger drives using one of these three techniques:&lt;br /&gt;
** Configure the drive with geometry with Cylinders &amp;lt; 1024, Heads &amp;lt;= 16, and Sectors &amp;lt;= 63 in the BIOS and install [http://vogonsdrivers.com/index.php?catid=19 drive overlay software] that replaces the BIOS routines when the boot sector is loaded&lt;br /&gt;
** Upgrade your BIOS using a new BIOS from the motherboard manufacturer or from a third party such as [https://www.vogons.org/viewtopic.php?f=46&amp;amp;t=59146 MR BIOS] that works with your motherboard&lt;br /&gt;
** Install an add-in card with an option ROM extension that replaces the BIOS disk routines before BOOT such as [https://www.xtideuniversalbios.org/ XTIDE UniversalBIOS] or [http://vogonsdrivers.com/getfile.php?fileid=1816 SIIG Enhanced BIOS]&lt;br /&gt;
* Drive overlay software is usually the easiest option&lt;br /&gt;
* &amp;quot;EZ Drive&amp;quot; overlay software usually works with partition types and drive geometries that are compatible with modern operating systems.  This can be helpful if you plan to move storage devices between computers.&lt;br /&gt;
* Early LBA drives do not always work correctly with mature LBA controllers.  This can be resolved by configuring the drive mode as 'CHS' or 'Normal' in the BIOS.&lt;br /&gt;
* Mature ATA6 storage devices may have trouble negotiating a compatible configuration with some early ATA-3 &amp;amp; ATA-4 controllers.  This can be resolved by disabling ATA33 or UDMA modes in the BIOS.&lt;br /&gt;
* PATA speeds faster than UDMA2 (such as ATA-5, Ultra ATA/66, UDMA3, UDMA/66) require a ground or open circuit on IDE pin #34. Usually this can be done with an 80 wire IDE cable, but can also be accomplished by grounding pin #34.&lt;br /&gt;
* Some systems with BIOS before 1992 may have trouble accessing very fast storage devices because the expect reuults to stay in the IO bus longer.  Upgrading the BIOS or andding an Option ROM like XTide BIOS usually fixes this.&lt;br /&gt;
&lt;br /&gt;
== Common OS Storage Limitations  ==&lt;br /&gt;
* Microsoft DOS (including Windows 95/98) require CHS addressing with heads &amp;lt;= 255&lt;br /&gt;
* Full support for enhanced INT 13h (Cylinders &amp;gt;= 1024 / disks larger than 8.4GB) arrived with these releases:&lt;br /&gt;
** Windows 95 OEM Service Release 2&lt;br /&gt;
** Windows 2000&lt;br /&gt;
** IBM OS/2 Warp Client version 4.0.14.&lt;br /&gt;
** LILO version 21.4&lt;br /&gt;
* Windows 98 require a patch for LBA48 support and is limited to storage devices 128GB without it.&lt;br /&gt;
* Linux kernels older than 2.0.39 / 2.2.14 / 2.3.21 [https://tldp.org/HOWTO/Large-Disk-HOWTO-12.html require a patch to work with cylinders &amp;gt; 65535].&lt;br /&gt;
* Microsoft Operating Systems up through Windows 7 &amp;amp; Server 2008r2 use CHS addressing when booting from device partitioned with a master boot record (MBR)&lt;br /&gt;
* Windows XP SP1 x64 is able to mount devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) but cannot boot from them.&lt;br /&gt;
* Booting from devices configured with a &amp;quot;Guid Partition Table&amp;quot; (GPT) requires UEFI and:&lt;br /&gt;
** Vista SP1 x64&lt;br /&gt;
** MacOS 10.4&lt;br /&gt;
** Linux 2.6.X&lt;br /&gt;
&lt;br /&gt;
== Common File System / Partitioning Limitations  ==&lt;br /&gt;
* DOS with FAT12 allowed for 32MB partitions using the largest cluster size&lt;br /&gt;
* DOS with FAT16B allowed for 2GB partitions with the default cluster size&lt;br /&gt;
* DOS/Win with FAT32 allowed for 2TB partitions with the default cluster size&lt;br /&gt;
* Master Boot Record (MBR) limits devices to 2TB with the default sector size and is limited to 4 partitions per device.&lt;br /&gt;
&lt;br /&gt;
==Modern Storage for Retro Computers==&lt;br /&gt;
&lt;br /&gt;
=== CF (Compact Flash) ===&lt;br /&gt;
A popular portable storage format developed in 1994 that is compatible with IDE signaling and ATA protocols.  Standard has not significantly changed since PATA matured.&lt;br /&gt;
* CF devices have an extensive family tree and that comes with a wide spectrum of behavior, especially if you have a device with firmware older than 2005&lt;br /&gt;
* Devices labeled &amp;quot;industrial&amp;quot; often work best for retro-computing, supporting the best response times &amp;amp; compatibility.&lt;br /&gt;
* &amp;quot;Consumer&amp;quot; devices are often optimized for storing large images files and may not perform as well on random access work loads&lt;br /&gt;
* CF devices such as a type 1 SD--&amp;gt;CF adapter may require 3.3v power, which requires an IDE adapter with a voltage regulator&lt;br /&gt;
* While some CF devices support speeds faster than 133Mhz/UDMA6, those speeds are not accessible from a PC.&lt;br /&gt;
* CF continued to grow the ATA specification through in 2010 with the release of the CF 6.0 standard&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Still very common and affordable&lt;br /&gt;
* Most operate in &amp;quot;true IDE mode&amp;quot;, so the devices have native ATA support &amp;amp; use inexpensive pass though adapters&lt;br /&gt;
* Portable media that is easy to move between old and new computers&lt;br /&gt;
* Rugged form factor that is difficult to damage&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* New industrial CFs are becoming less common from major brands&lt;br /&gt;
* TRIM support on a CF is rare, making CF's less desirable for operating systems that support this feature&lt;br /&gt;
* Some CF devices report themselves to be &amp;quot;removable media&amp;quot; when in true IDE mode, which can cause problems when installing Windows 2000 &amp;amp; XP.&lt;br /&gt;
* Few CF's support ATA block transfer sizes &amp;gt; 1.  This can cause lower max transfer rates when compared with devices that support block sizes &amp;gt; 1.&lt;br /&gt;
* Pin28 issues on old boards.  Some pre 1991 systems experience video corruption with CF's https://www.vogons.org/viewtopic.php?p=1142705&lt;br /&gt;
&lt;br /&gt;
=== SD to IDE Bridges: ===&lt;br /&gt;
&lt;br /&gt;
Most SD--&amp;gt;IDE adapters available today are all variations on the Sinitechi device with firmware versions 1.2, 1.3, 1.4, 1.5 on an FC1307 chip.  All perform very similarly.  Performance can be limited by old or low quality SD media, but generally any &amp;lt; 128GB SD made since 2010 works fine in these devices.&lt;br /&gt;
&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* SD media is very common and affordable&lt;br /&gt;
* USB SD readers are common, allowing for easy transfers between old and new computers&lt;br /&gt;
* Devices provide good response on compute work loads (low latency small reads and writes) when compared to legacy spinning disks or old CF devices.&lt;br /&gt;
* MWDMA support is pretty solid.&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Limited to 25MB/s transfers internally with the SD card, which limits performance on controllers that support ATA/33 and faster.&lt;br /&gt;
* TRIM is not supported, making these devices less desirable an operating system that supports TRIM.&lt;br /&gt;
* Writes not immediately committed.  A short delay before turning off power is advisable.&lt;br /&gt;
* Not always capable of operating at the fastest PIO mode supported by the IDE controller.  Perhaps IORDY related.&lt;br /&gt;
* Will operate in an undefined manner when addressing SD cards larger than 128GB&lt;br /&gt;
* Will enter an undefined state if the first partition on the SD cards is not FAT32 or NTFS.&lt;br /&gt;
&lt;br /&gt;
=== Disk on Module (Dom): ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Does not require an adapter or cable, sits right on the IDE block for a less cluttered case&lt;br /&gt;
* Most DOM devices offer performance on par with the best SD and CF devices&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* Hardware mod (short pin 34) or Female-Female 40 pin cable necessary to negotiate speeds faster that ATA-4 / UDMA2&lt;br /&gt;
* Some DOM devices have issues negotiating ATA protocols with early ATA-2 and ATA-3 controllers&lt;br /&gt;
* DOM devices usually have ide latches that firmly connect to the IDE pin-blocks. These latches can stress brittle plastic on old motherboards&lt;br /&gt;
* Difficult to connect to a new PC without a Female-Female 40 pin cross over cable&lt;br /&gt;
&lt;br /&gt;
=== Sata SSD: ===&lt;br /&gt;
'''Pros'''&lt;br /&gt;
* Best performance, especially when the device has a write buffer&lt;br /&gt;
* Usually supports TRIM and wear leveling&lt;br /&gt;
* In 2021, NGFF and M2 devices have affordable pricing for builds between 16GB and 64GB&lt;br /&gt;
* Usually responds well to an ATA Secure erase command to reset wear leveling&lt;br /&gt;
'''Cons'''&lt;br /&gt;
* You may need one or more adapters if you want to connect your device to a 40 pin IDE controller&lt;br /&gt;
* More convenient to move between systems than a DOM, but not as easy as SD and CF&lt;br /&gt;
* Sata --&amp;gt; Pata converters usually require Sata 1 protocols and some recent Sata devices lack full Sata 1 support.  (e.g. PNY)&lt;br /&gt;
&lt;br /&gt;
== Write Amplification and wear leveling: ==&lt;br /&gt;
* It isn't clear how any single CF, SD, and DOM devices handles wear leveling without doing a lot of research on that specific device.&lt;br /&gt;
* Unclear if any SD devices support trim commands in a way that is usable through an SD--&amp;gt;PATA adapter.&lt;br /&gt;
* Few operating systems before 2009 (Windows 7) support TRIM commands, so even if the storage device supports TRIM, it might not be accessible.&lt;br /&gt;
* Some retro enthusiasts avoid filling solid state storage devices over 50% as a way reduce the likelihood of write amplification reducing performance.&lt;br /&gt;
* For Win98, consider adding &amp;quot;ConservativeSwapfileUsage=1&amp;quot; to your system.ini to reduce unnecessary swap file usage.&lt;br /&gt;
* For WinXP, consider adding extra ram to reduce swap file usage.&lt;br /&gt;
* It isn't clear how any of these devices will respond to an ATA Secure erase command to reset the device's wear leveling.&lt;br /&gt;
&lt;br /&gt;
==Removable Storage Speed Ratings ==&lt;br /&gt;
&lt;br /&gt;
=== CF Revisions ===&lt;br /&gt;
* CompactFlash 1.0 (1995) supported PIO2 with capacity up to 137 GB.&lt;br /&gt;
* CompactFlash 2.0 (2003) added PIO4 followed by DMA 33 in mid-2004.&lt;br /&gt;
* CompactFlash 3.0 (2004) added UDMA 66 (UDMA3)&lt;br /&gt;
* CompactFlash 4.0 (2006) added IDE Ultra DMA Mode 6 and UDMA 133&lt;br /&gt;
* CompactFlash 5.0 (2010) added LBA 48 for drives larger than 137 GB&lt;br /&gt;
* CompactFlash 6.0 (November 2010) added UltraDMA Mode 7 (167 MByte/s), ATA-8/ACS-2 sanitize command, and TRIM support&lt;br /&gt;
* CFast (2008) Also called CompactFast, is a SATA based standard with a similar form factor that is not interchangeable with PATA CF devices&lt;br /&gt;
* XQD card (2011) Is a PCI-E based standard with a similar form factor than is not compatible with either PATA CF or SATA CFast&lt;br /&gt;
&lt;br /&gt;
=== SD Speed Ratings ===&lt;br /&gt;
&lt;br /&gt;
Early SD speed classes only measured minimum write throughput, which does not align with usual computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Comparison of SD card Speed Class ratings&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; rowspan=&amp;quot;2&amp;quot; | Minimum sequential &lt;br /&gt;
writing speed&lt;br /&gt;
!&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;3&amp;quot; | Speed Class&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Suggested max. bitrate&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | UHS Speed Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Video Speed Class &lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 2 MB/s&lt;br /&gt;
! 15 Mbit/s&lt;br /&gt;
| Class 2 (C2)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 4 MB/s&lt;br /&gt;
! 30 Mbit/s&lt;br /&gt;
| Class 4 (C4)&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 6 MB/s&lt;br /&gt;
! 45 Mbit/s&lt;br /&gt;
| Class 6 (C6)&lt;br /&gt;
| N/A&lt;br /&gt;
| Class 6 (V6)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 10 MB/s&lt;br /&gt;
! 75 Mbit/s&lt;br /&gt;
| Class 10 (C10)&lt;br /&gt;
| Class 1 (U1)&lt;br /&gt;
| Class 10 (V10)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 30 MB/s&lt;br /&gt;
! 220 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| Class 3 (U3)&lt;br /&gt;
| Class 30 (V30)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 60 MB/s&lt;br /&gt;
! 460 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 60 (V60)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 90 MB/s&lt;br /&gt;
! 700 Mbit/s&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Class 90 (V90)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Application Performance Class is defined in SD Specification 5.1 and 6.0 which mandates a minimum IOPS for reading and writing, which more closely aligns with computing work loads.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|+ Comparison of SD card Application Performance Class ratings&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum random IOPS&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; scope=&amp;quot;col&amp;quot; | Minimum sustained sequential writing&lt;br /&gt;
|-&lt;br /&gt;
!Read&lt;br /&gt;
!Write&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Application Performance Class 1 (A1)&lt;br /&gt;
| 1500 IOPS&lt;br /&gt;
| 500 IOPS&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |10 MB/s&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |Application Performance Class 2 (A2)&lt;br /&gt;
|4000 IOPS&lt;br /&gt;
|2000 IOPS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes Pending Assimilation ==&lt;br /&gt;
* MBR partitioned storage devices are limited 2TB.  Larger devices require GPT (GUID Partition Table).  GPT use requires operating system support (Vista SP1, macOS 10.4, Linux version 2.6.x ).  Booting from GPT requires UEFI support.&lt;br /&gt;
* VIA8237 and VIA8237R SATA controllers are incompatible with SATA-II and SATA-III storage unless the devices can be configured to force SATA 1 operation.  The VT8237R Plus is not affected.&lt;br /&gt;
* Sintechi SD firmware operates in an undefined manner when addressing LBA &amp;gt; 28 bits ( devices larger than 128GB )&lt;br /&gt;
* Sintechi SD firmware can enter an undefined state if the first partition on the SD is not FAT32 or NTFS.  Once in this state, the devices fail to show any partitions.  Writing data to LBA 0 can return the FC1307 to normal operation.&lt;/div&gt;</summary>
		<author><name>Douglar</name></author>	</entry>

	</feed>