Disk Compression - Wikipedia
Disk Compression - Wikipedia
Disk compression
A disk compression software utility increases the amount of information that can be stored on a
hard disk drive of given size. Unlike a file compression utility, which compresses only specified files—
and which requires the user to designate the files to be compressed—an on-the-fly disk
compression utility works automatically through resident software without the user needing to be
aware of its existence. On-the-fly disk compression is therefore also known as transparent, real-
time or online disk compression.
When information needs to be stored to the hard disk, the utility compresses the information. When
information needs to be read, the utility decompresses the information. A disk compression utility
overrides the standard operating system routines. Since all software applications access the hard disk
using these routines, they continue to work after disk compression has been installed.
Disk compression utilities were popular especially in the early 1990s, when microcomputer hard disks
were still relatively small (20 to 80 megabytes). Hard drives were also rather expensive at the time,
costing roughly 10 USD per megabyte. For the users who bought disk compression applications, the
software proved to be in the short term a more economic means of acquiring more disk space as
opposed to replacing their current drive with a larger one. A good disk compression utility could, on
average, double the available space with negligible speed loss. Disk compression fell into disuse by the
late 1990s, as advances in hard drive technology and manufacturing led to increased capacities and
lower prices.
Contents
Common disk compression solutions
Standalone hardware
Standalone software
Bundled software
Other solutions
Operation
Compressing existing drives
Compressing the boot drive
Performance impact
Drawbacks
See also
Notes
References
External links
Standalone hardware
Some of the initial disk compression solutions were hardware-assisted and utilized add-on
compressor/decompressor coprocessor cards in addition to a software driver. Known solutions
include:
Standalone software
With increasing PC processor power software-only solutions began to reach or even outperform the
performance of hardware-assisted solutions in most scenarios. These compression utilities were sold
independently. A user had to specifically choose to install and configure the software.
Bundled software
The idea of bundling disk compression into new machines appealed to resellers and users. Resellers
liked that they could claim more storage space; users liked that they did not have to configure the
software. Bundled utilities included (in chronological order):
DR DOS 6.0 (1991), from Digital Research, included a custom version of AddStor's SuperStor.
PalmDOS 1.0 (1992), from Novell (after acquiring Digital Research), included a DPMS-enabled
version of SuperStor.
MS-DOS 6.0 (1993), from Microsoft, included DoubleSpace,[8] which was based in part on
Vertisoft Systems' DoubleDisk. MS-DOS 6.0 introduced the so-called DOS preload API, an
undocumented[9][10] challenge-response type interface which allowed the disk compression
software (DBLSPACE.BIN) to be loaded automatically even before CONFIG.SYS was processed.
PC DOS 6.1 (1993), from IBM, while the original release did not include a disk compressor, a
custom version of SuperStor/DS (after acquiring AddStor) was included in a later release, also
introducing the preload API in the PC DOS line.
MS-DOS 6.2 (1993), from Microsoft, included an improved version of DoubleSpace.
Novell DOS 7 (1993), from Novell, included a DPMS-enabled version of Stacker 3.12
(STACKER.BIN) from Stac Electronics, which also supported compressed data exchange with
remote NetWare and PNW servers also running Stacker in order to avoid unnecessary
https://en.wikipedia.org/wiki/Disk_compression 2/8
9/24/21, 4:18 PM Disk compression - Wikipedia
recompression when copying files.[11] It also introduced support for the DOS 6 preload API in
order to maintain compatibility with Microsoft's DoubleSpace in multi-boot scenarios.[9][11] A
similar mechanism was used to load the optional single- or multi-user SECURITY component.
PTS-DOS Extended 6.4 (1994), from PhysTechSoft, included a disk compression component
named Folder (FOLDER.SYS)[12]
PC DOS 6.3 (1994), from IBM, included a version of SuperStor/DS.
MS-DOS 6.22 (1994), from Microsoft, included DriveSpace, which was DoubleSpace with a
different compression algorithm (DRVSPACE.BIN), after MS-DOS 6.21 had to ship without any
disk compression software at all for legal reasons.
PC DOS 7.0 (1995), from IBM, included a DPMS-enabled version of Stacker 4.02 from Stac
Electronics.
Windows 95 (1995), from Microsoft, included an updated version of DriveSpace 2.
Windows 95 OSR2 (1996), from Microsoft, included a stripped-down version of DriveSpace 3.
Windows 95 Plus! (1996), from Microsoft, included the full version of DriveSpace 3.
OpenDOS 7.01 (1997), from Caldera (after acquiring Novell DOS), included a DPMS-enabled
version of Stacker 3.12.[11]
DR-DOS 7.02 (1998), from Caldera, included a DPMS-enabled version of Stacker 3.12.[13] DR-
DOS 7.02 also added support for Microsoft's DriveSpace.[14]
PC DOS 2000 (1998), from IBM, included a DPMS-enabled version of Stacker 4.02.
Windows 98 (1998), from Microsoft, included the full version of DriveSpace 3.
DR-DOS 7.03 (1999), from Caldera, included a DPMS-enabled version of Stacker 3.12.
Windows 98 SE (1999), from Microsoft, included the full version of DriveSpace 3.
PTS-DOS Pro 2000 (1999), from Paragon Technology Software, included a disk compression
component named DATACOMP.
Other solutions
Squeeze, a resident DOS file compressor for Lotus 1-2-3 and Lotus Symphony files from Turner
Hall Publishing[15]
Squish Plus ROM from Sundog Software, but distributed exclusively through Personalized
Software (now Thaddeus Computing), was a special ROM chip containing a custom version of
Squish Plus with only 36 KB footprint adapted for the HP Portable Plus.[6]
Double Tools for DoubleSpace from Addstor was an add-on product, enhancing the functionality
of the DoubleSpace bundled with MS-DOS 6.0.
Multimedia Stacker from Helix Software was a bundle of Stac's DPMS-enabled Stacker 4.01
combined with Helix Cloaking and utilities, utilizing Cloaking's built-in DPMS server to relocate
and run in protected mode.
THS filesystem (1994-1996 by Thomas Scheuermann), a compressed file system driver for
Linux, which could read some CVFs.[16][17][18]
DMSDOS (1996), a Linux kernel driver,[19][20] to support the reading and writing of DoubleSpace,
DriveSpace 2 & 3, as well as Stacker 3 & 4 volumes.
While Windows XP, from Microsoft, included both a native support and a command named compact
that compresses files on NTFS systems, that is not implemented as a separate "compressed drive" like
those above.
Operation
https://en.wikipedia.org/wiki/Disk_compression 3/8
9/24/21, 4:18 PM Disk compression - Wikipedia
Disk compression usually creates a single large file, which becomes a virtual hard drive. This is similar
to how a single physical hard drive can be partitioned into multiple virtual drives. The compressed
drive is accessed via a device driver.
All drives would initially be empty. The utility to create a drive would usually offer to "compress a
current drive". This meant the utility would:
Usually certain system files would not be transferred. For example, OS swap files would remain only
on the host drive.
A device driver had to be loaded to access the compressed drive. A compressed drive C: required
changes to the boot process as follows:
The System BIOS loads sector 0 of the first physical hard drive (Master Boot Record).
The partition sector loads sector 0 of the bootable partition (Volume Boot Record). In this case, it's
the host drive.
Host drive sector 0 loads (in the case of DOS) the DOS BIOS (IO.SYS, IBMBIO.COM etc.)
Depending on the version, only the first few sectors of the file or the whole file may be loaded into
memory. In the first case, the loaded stub contains another loader loading the remainder of the file
from disk. In the case of DR-DOS, the BIOS is packed and will decompress itself through an
embedded decompression routine.[14][21]
The DOS BIOS then loads the DOS kernel (MSDOS.SYS, IBMDOS.COM etc.)
If the DOS supports the preload API, the DOS BIOS attempts to load a preloadable compression
driver[9][10] (DBLSPACE.BIN, DRVSPACE.BIN or STACKER.BIN) from the root of the host drive
and attempts to communicate with it through the DOS preload API.[14][11] If the driver responds as
expected, the DOS BIOS will keep the driver, if not, it will get discarded.[8] If kept and configured
accordingly, drive letters may get swapped, so that the compressed drive becomes C:.
The DOS BIOS starts CONFIG.SYS processing by looking for the file in the root of the boot drive.
In the case of DR-DOS, DCONFIG.SYS takes precedence over CONFIG.SYS, if present.[11][14]
Compression drivers not loaded through the preload API may be loaded through DEVICE
statements.
Depending on configuration and if this hasn't happened already, drive letters may get swapped, so
that the compressed drive becomes C:.
Processing continues from compressed drive.
Performance impact
https://en.wikipedia.org/wiki/Disk_compression 4/8
9/24/21, 4:18 PM Disk compression - Wikipedia
On systems with slower hard drives, disk compression could actually increase system performance.
This was accomplished two ways:
If the system had to wait frequently for hard drive access to complete (I/O bound) converting the hard
drive to compressed drives could speed up the system significantly. Compression and decompression
of the data increases the CPU utilization. If the system was already CPU bound, disk compression
decreases overall performance.[11]
Drawbacks
Not all compression utilities would confirm the absence of errors in the FAT file system before
compressing a disk in place. Some errors, such as crosslinked files, could result in additional data
loss during the transfer process.[nb 1]
The compressed drive is only visible if the device driver is loaded and the compressed drive is
mounted. A boot disk, for example, might not contain the driver. (This was not normally an issue
for solutions that came bundled with the operation systems unless booting foreign operating
systems, as system utilities like SYS were modified to copy the compression drivers to boot disks
by default,[11][21] and the corresponding operation systems would also fall back to look for them on
drives other than the boot disk if they couldn't be found there.)
Uninstallation was problematic if the expanded size of data on the compressed disk was larger
than the normal disk capacity.
Users did not always realize that the large file on the host drive contained the compressed drive.
While it was usually "hidden" by default,[nb 2] users who did find the large file curious or suspicious
were able to delete it. This would normally result in data loss.
See also
RAM compression
Data compression
Disk fragmentation
Executable compression
Self-extracting archive
cramfs
e2compr
SquashFS
MDFAT (DoubleSpace)
BitFAT (DoubleSpace)
MDBPB (DoubleSpace)
Notes
1. In crosslinked files, two files are storing at least part of their data in the same location. At least
part of one file (the "bad" file) is always lost in this instance. However, if the "bad" file is copied
https://en.wikipedia.org/wiki/Disk_compression 5/8
9/24/21, 4:18 PM Disk compression - Wikipedia
and then deleted, part of the "good" file is deleted as well. Microsoft SCANDISK was created, in
part, to perform a better check of the file system prior to compression than the MS-DOS CHKDSK
utility.
2. For example, DOS associated up to four attributes with files: System, Hidden, Read-Only, and
Archive. Files with the System or Hidden attributes are often not displayed by default. Files with
the System or Read-Only attribute cannot be deleted with the ERASE or DEL DOS command.
Most compression utilities would mark the drive file with at least one or more of the System,
Hidden, and Read-Only attributes (many would use all three). However, files marked with such
attributes can be viewed and deleted by other means. In addition, the user can also remove
attributes.
References
1. Slovick, Linda (1992-02-17). "The big squeeze" (https://books.google.com/books?id=_z0EAAAAM
BAJ&pg=PA62). InfoWorld. 14 (7): 57–63. Retrieved 2015-04-06.
2. Pastrick, Greg (1992-01-28). "Double - no - triple your hard disk space with on-the-fly data
compression utilities" (https://books.google.com/books?id=uEkrL23rU98C&pg=PT280). PC
Magazine. 11 (2): 261. Retrieved 2015-04-06.
3. Mendelson, Edward (1990-11-13). "Expanz! board quickly compresses files on all disk types but
forfeits some DOS compatibilities" (https://books.google.com/books?
id=WIeyaksLI8gC&pg=PT44). PC Magazine. 9 (19): 13. Retrieved 2015-04-06.
4. Walkenbach, John (1987-02-02). "Squish - File compressor crams data into smaller space, but
slowly" (https://books.google.com/books?id=8jsEAAAAMBAJ&pg=PA55). InfoWorld. 9 (6): 55.
Retrieved 2015-04-05.
5. Davis, Stephen Randy (1987-02-24). "Squish Puts a Squeeze on Files Before They Are Written to
Disk" (https://books.google.com/books?id=phxlBt4dX3oC&pg=PA46). PC Magazine. 6 (4): 46.
Retrieved 2015-04-06.
6. Goldstein, Hal (1989-07-08). "50% more file space for as little as $89.95" (http://www.hpmuseum.
net/pdf/ThePortablePaperV4N4_48pages_Jul-Aug%2089_OCR.pdf) (PDF). The Portable Paper.
Personalized Software, now Thaddeus Computing. 4 (4): 46. Retrieved 2015-04-05.
7. http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc
8. Slivka, Benjamin W.; Straub, Eric; Freedman, Richard (July 1993). "Hands on - Under the Hood:
Inside MS-DOS 6 - The developers of MS-DOS describe the operating system's memory
optimization and disk-compression technology" (https://archive.org/stream/BYTEVol1808199307P
entiumPCs/BYTE%20Vol%2018-08%201993-07%20Pentium%20PCs#page/n203/mode/1up).
BYTE Magazine. 18 (8): 197–202. Retrieved 2016-11-01. [1] (https://archive.org/stream/BYTEVol1
808199307PentiumPCs/BYTE%20Vol%2018-08%201993-07%20Pentium%20PCs_djvu.txt)
9. Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994)
[November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions
and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (https://archi
ve.org/details/undocumenteddosp00andr_0) (2 ed.). Addison Wesley. ISBN 0-201-63287-X.
(xviii+856+vi pages, 3.5"-floppy) Errata: [2] (https://web.archive.org/web/20190417215556/http://w
ww.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud2)[3] (https://web.archive.
org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#erra
ta-2nd-edition)
10. Chappell, Geoff (1994). DOS Internals. Addison Wesley. ISBN 978-0-201-60835-9. [4] (https://gop
her.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/DOS%20Internals/DOS_Internals.zip)
[5] (https://www.pcjs.org/pubs/pc/programming/DOS_Internals/) Errata: [6] (http://www.geoffchapp
ell.com/notes/dos/internals/)[7] (https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/D
OS/DOS%20Internals/crtdrvr)[8] (https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/
DOS/DOS%20Internals/xmswatch)
https://en.wikipedia.org/wiki/Disk_compression 6/8
9/24/21, 4:18 PM Disk compression - Wikipedia
11. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick
auf undokumentierte Details, Bugs und Workarounds (http://www.antonis.de/dos/dos-tuts/mpdosti
p/html/nwdostip.htm). MPDOSTIP. Release 157 (in German) (3 ed.). Archived (https://web.archiv
e.org/web/20170910194752/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm) from
the original on 2017-09-10. Retrieved 2015-04-05. NWDOSTIP.TXT is a comprehensive work on
Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and
internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and
distributed on many sites at the time. The provided link points to a HTML-converted older version
of the NWDOSTIP.TXT file.
12. "MS-DOS-Clone made in Russia" (http://www.computerwoche.de/a/ms-dos-clone-made-in-russia,
1121205). Computerwoche. 1994-05-06. Retrieved 2015-04-12.
13. Caldera DR-DOS 7.02 User Guide (https://web.archive.org/web/20161105165004/http://www.drdo
s.net/documentation/usergeng/uglontoc.htm). Caldera, Inc. 1998 [1993, 1997]. Archived from the
original (http://www.drdos.net/documentation/usergeng/uglontoc.htm) on 2016-11-05. Retrieved
2013-08-10.
14. Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM
README.TXT" (https://web.archive.org/web/20031004074600/http://www-student.informatik.uni-b
onn.de/~frinke/ibmbioa3.zip). Archived from the original (http://www.uni-bonn.de/~uzs180/downloa
d/ibmbioa3.zip) on 2003-10-04. Retrieved 2009-03-29. [9] (https://web.archive.org/web/20181225
154705/http://mirror.macintosharchive.org/max1zzz.co.uk/+Windows%20&%20DOS/DOS/Syste
m/Novell/Support/Bins/Op702src.zip)
15. "Squeeze 10 times as many spreadsheets on a disk - SQZ! - The data squeezer for Lotus" (http
s://books.google.com/books?id=nuXmVNll5JEC&pg=PA155). PC Magazine. Turner Hall
Publishing: 155. 1986-10-14. Retrieved 2016-11-18.
16. ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/thsfs.tgz
17. https://lists.debian.org/debian-user/1996/09/msg01042.html
18. http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm
19. "DMSDOS - Linux kernel driver" (http://cmp.felk.cvut.cz/~pisa/dmsdos/). 2005-03-18. Archived (htt
ps://web.archive.org/web/20161111124320/http://cmp.felk.cvut.cz/~pisa/dmsdos/) from the original
on 2016-11-11. Retrieved 2016-05-25.
20. "DMSDOS CVF module" (http://cmp.felk.cvut.cz/~pisa/dmsdos/dmsdos.html) (dmsdoc.doc).
0.9.2.0. 1998-11-19. Archived (https://web.archive.org/web/20161102123812/http://cmp.felk.cvut.c
z/~pisa/dmsdos/dmsdos.html) from the original on 2016-11-02. Retrieved 2016-11-01.
21. DR-DOS 7.03 WHATSNEW.TXT — Changes from DR-DOS 7.02 to DR-DOS 7.03 (https://web.arc
hive.org/web/20190408142232/http://www.lookas.net/ftp/incoming/darbui/Justas/DRDOS/WHATS
NEW.TXT). Caldera, Inc. 1998-12-24. Archived from the original (http://www.lookas.net/ftp/incomi
ng/darbui/Justas/DRDOS/WHATSNEW.TXT) on 2019-04-08. Retrieved 2019-04-08.
External links
"MS-DOS 6 Technical Reference" (http://www.microsoft.com/technet/archive/msdos/01_intro.msp
x?mfr=true).
"DoubleSpace CVF file layout" (http://www.techhelpmanual.com/805-doublespace_compressed_v
olume_file_layout.html). ff.
"How Safe is Disk Compression?" (https://web.archive.org/web/20080619060529/http://www.byte.
com/art/9402/sec6/art1.htm). BYTE Magazine. February 1994. Archived from the original (http://w
ww.byte.com/art/9402/sec6/art1.htm) on 2008-06-19.
"How To... Compress Hard Drives" (http://www.smartcomputing.com/editorial/article.asp?article=ar
ticles/archive/l0504/9834/9834.asp&guid=). Smart Computing. April 1999.
https://en.wikipedia.org/wiki/Disk_compression 7/8
9/24/21, 4:18 PM Disk compression - Wikipedia
https://en.wikipedia.org/wiki/Disk_compression 8/8