DriveSpace

from Wikipedia, the free encyclopedia
DriveSpace dialog box on Windows 95 (A version) before compressing the system drive

DriveSpace (formerly DoubleSpace ) is a system program under MS-DOS , version 6.0 / 6.2 (under the name DoubleSpace ) and from version 6.22, as well as under higher versions also an integral part of Windows 9x from version 95, with which a FAT 12- (for Floppy disks) or FAT16-formatted data carriers (for hard disks) can be compressed . The compression / decompression is carried out automatically in the background ( online ) at runtime . The system program was integrated as DoubleSpace in DOS version 6.0 / 6.2 , removed again in version 6.21 due to a court order after a patent dispute and then re-implemented in version 6.22 under the name DriveSpace . For the Windows versions from Windows 95 onwards, a graphical user interface for administration was added, as well as a 32-bit driver.

background

DriveSpace / DoubleSpace is a late take on the ephemeral online compression market. In the early 1990s, the development of hard drive sizes could not keep up with the steadily growing need for hard drive space, which was increased by new applications such as Windows . Larger hard drives were almost unaffordable, so free space on the hard drive was a big problem. Archiving programs such as PKZIP , which were already widespread at the time, had the major disadvantage that the files first had to be unpacked manually before they could be used, and vice versa, the files had to be packed again after being saved. In contrast, online compression programs have the advantage that the compression and decompression process take place transparently in the background and the user can work with his files as usual.

Until the 80386 was released , microprocessors were still too slow to perform this type of compression in the background, but there was a modest market for hardware plug-in cards that could compress data on the hard drive in this way. In 1990 the company Stac Electronics , which had previously been active in this market with hardware plug-in cards, released its compression program Stacker , which became an immediate success. Numerous competing products soon appeared, trying to build on the success of Stacker, among the most famous of their time were SuperStor from AddStor and DoubleDisk from Vertisoft. Although all of these applications had to be purchased separately, the price for these applications was far below the price for a hard drive with comparable storage capacity.

However, DR DOS 6.0 from 1991 already contained a licensed version of SuperStor in the scope of delivery. Microsoft now wanted to follow suit and also bundle online compression with its MS-DOS operating system. With the publication of DoubleSpace as part of MS-DOS in 1993, the breakthrough came in the mass market.

Patent dispute with Stac Electronics

The release of DoubleSpace should, however, end in a legal disaster for Microsoft.

In 1991 Microsoft entered into negotiations with Stac Electronics to license the Stacker product and ship it with MS-DOS. The negotiations failed, however, because Microsoft refused to provide financial compensation to Stac Electronics for the lost income from the sale of Stacker. Instead, Microsoft licensed the DoubleDisk product , but changed the compression algorithm so that it corresponded to that of Stacker.

When Stac Electronics found out, the company filed a lawsuit against Microsoft because the DoubleSpace program infringed two of Stac Electronics' patents. Microsoft responded with a counterclaim that the Stacker program, in its latest version, made use of an undocumented interface in MS-DOS 6.0 and thus breached trade secrets . On February 23, 1994, the judges upheld Stac Electronics and awarded the company $ 120 million in compensation ($ 5.50 per copy of MS-DOS 6.0 sold). The court also ruled Microsoft and awarded the company in turn a compensation of 13.6 million USD. Even before Microsoft could appeal this judgment, Stac Electronics obtained an injunction that prohibited the sale of MS-DOS 6.2, which also contained DoubleSpace, with immediate effect. Microsoft then had to release MS-DOS 6.21, a version of MS-DOS 6.2 without DoubleSpace. With MS-DOS 6.22, Microsoft delivered the new DriveSpace program, which no longer infringes the patents in question thanks to a new implementation of the compression algorithm, but is otherwise identical to DoubleSpace in terms of functionality.

The two companies finally reached an out-of-court settlement: Microsoft retrospectively paid license fees of $ 43 million for the past 43 months and bought shares worth $ 39.9 million. In return, both sides dropped their claims and committed to license all patents of the other side free of charge for the next five years.

functionality

The DriveSpace program code consists of two parts: the actual compression algorithm and the code for reading out the special file format of the compressed drives. DriveSpace uses a variant of the Lempel-Ziv algorithm. The required storage space is reduced in several stages, so that the capacity of the data carrier increases effectively. In the best case, the space savings should be around 50 percent, according to Microsoft, but in practice it is usually 30 to 40 percent on a Windows system drive. As with ZIP files, the different compression rates depend on the amount of unused memory or similar byte sequences within a file. With Word files in the old format (* .DOC) the savings are particularly high, with many image file formats (e.g. * .JPG) they are hardly significant.

MS-DOS from version 6.0 searches for the file or in the root directory that contains the DriveSpace program code when the system is started after the system files IO.SYS and MSDOS.SYS have been loaded, but before the CONFIG.SYS file is read . If present, it is loaded into the top of conventional memory and executed. DriveSpace then loads the configuration file or and then mounts the compressed drive stored as a file image or stored, in order to then transfer control of the system back to MS-DOS, which then continues the system start from the now mounted drive. The driver called after this point in time via CONFIG.SYS of the mounted drive or moves the program code to a correspondingly large upper memory block , if available, otherwise to the beginning of the conventional memory (this is not yet possible when the system is started, as HIMEM. SYS is not yet loaded at this point). As of MS-DOS 6.2, the compression algorithm can be loaded separately into the high memory area in order to reduce the need for correspondingly large UMBs. DRVSPACE.BINDBLSPACE.BINDRVSPACE.INIDBLSPACE.INI DRVSPACE.000DBLSPACE.000DRVSPACE.SYSDBLSPACE.SYS

The data of the compressed data carrier is saved in a single file DRVSPACE.000or DBLSPACE.000. This is also called a Compressed Volume File (CVF). The file format of this file is similar in many respects to an image of a data carrier partition. The file contains a BIOS parameter block and free space for a boot sector . The actual data carrier format (also called MDFAT) is derived from the FAT16 format, but uses 8 KB clusters, which limits the compressed drive to a size of 512 MB. Starting with DriveSpace 3, 32 KB clusters are also supported, so the compressed drive can be up to 2 GB in size. Each cluster is compressed individually; if a cluster cannot be compressed at all, it is saved in uncompressed format.

Because of the way it works, there are several programs that are incompatible with compressed drives. These include programs with special copy protection that cannot be mapped on the compressed drive (e.g. Lotus 1-2-3 ), programs that set up a swap file on the hard disk (e.g. Windows 3.1 ) and finally programs that do not use the standardized DOS calls to access the hard disk, but access the hard disk directly via INT 13 (e.g. some games).

When a compressed data carrier is set up, the drive on which the file with the compressed data is located is given a new drive letter. The original drive letter is given to the compressed "virtual" data medium, the contents of which are stored in the file of the uncompressed "host drive". This shift of drive letters is necessary because the file paths are retained in the system registry and in the initialization files. At least the most important DOS files required to start the computer, which are required before the device driver for compressed drives is loaded, provided that the compressed data carrier is the system drive, also remain there. In all other cases, the data carrier can be compressed almost completely. However, the drive can only be decompressed if temporary storage space remains on the original (host) data medium.

By default, DriveSpace reserves five drive letters after C: for itself. H: is the host drive of the system drive C :, the other letters from D: to G: are reserved for compressed removable media (e.g. floppy disks). If additional drives are recognized during the installation of DriveSpace (e.g. additional partitions), the drive letters are shifted back accordingly; with an existing D: partition, I: would be the host drive for C :. Since the drive letter of the host drive is saved in the DRVSPACE.INIor during installation DBLSPACE.INI, subsequently installed drives that are pre- DRVSPACE.SYSloaded do not change the drive letter of the host drive, while DriveSpace continues to shift the drive letters reserved for itself accordingly.

configuration

DriveSpace 3 under Windows 98: The free space can be moved freely between the host and the compressed drive

The configuration is only possible with fixed data carrier sizes. If a lot of space remains on the uncompressed drive, little space remains on the compressed data carrier. In the opposite case, the space required for the compressed data carrier on the host drive increases. A change in these limits requires a new setup of the data carrier organization and also requires computing time, even if only unused free storage space is shifted between the virtual and the host data carrier. A dynamic adjustment during operation, as with the online compression of modern file systems, is not possible.

By default, DriveSpace occupies the entire host drive with the exception of 2 MB, which is required for the compression process itself, and allocates all remaining free space to the compressed drive, provided that the partition to be compressed is not larger than 512 MB (2 GB in DriveSpace 3).

An existing compressed data carrier (file e.g. on a removable data carrier) can be integrated into the existing operating system at runtime (called “loading” and “unloading”).

The utility program exists under MS-DOS DRVSPACE.EXEor DBLSPACE.EXEwith a simple text-based interface; it is also possible to send commands directly to DriveSpace using parameters. A configuration under Windows 3.1 was not possible; Windows had to be closed first in order to then call the command from MS-DOS. Under Windows 95 to ME , the configuration is possible with a Windows utility program that graphically depicts both drives as a function of one another and shows the assumed degree of compression.

Program versions

MS-DOS 6.0

DoubleSpace first appeared with MS-DOS 6.0. Shortly after its release, a large number of users reported data loss when working with compressed drives. Although this gave DoubleSpace a very bad reputation, the alleged shortcomings were often not due to DoubleSpace at all.

The failure rate of a compressed drive is statistically twice as high as that of an uncompressed drive because central data structures such as BPB and FAT have to be saved twice (once for the host drive and once for the compressed drive). However, many users installed DoubleSpace on drives that previously had bad sectors. Defective sectors are marked in the FAT16 file system so that the operating system does not occupy them; however, when FORMAT.COM formats a drive, it writes a new FAT without this information, so DoubleSpace may reclaim the bad sectors for the compressed drive. Microsoft corrected this bug in MS-DOS 6.2 so that formatting a drive retains information about bad sectors.

A second vulnerability did not affect DoubleSpace, but the upstream program Smartdrive . Most users were used to simply turning off the computer after an application had ended, as a controlled shutdown was not provided under DOS. However, since Smartdrive was equipped with an intermediate memory (write cache) in this version , data that had not yet been written from the intermediate memory to the hard drive was lost. This deficiency was corrected in a later version of Smartdrive in that the write cache is cleared before the DOS prompt appears on the screen. Third-party providers also published programs to solve the cache problem, and AddStor, Inc. offered an add-on for this under the name Double Tools for DoubleSpace .

A supposedly reproducible example of data corruption was when the compressed drive was so fragmented that DoubleSpace could not find 16 contiguous sectors on the hard drive to store more data. This case would then lead to data corruption. Microsoft replied that it is an extreme case that does not occur in practice; however, the company promised to fix the problem in the next version.

DoubleSpace offered the option of converting existing compressed drives from its competitor Stacker via a separately available Stacker Conversion Kit ; this was removed with DriveSpace.

MS-DOS 6.2

This version of DoubleSpace included the following improvements:

  • The memory used by DoubleSpace is monitored using the DoubleGuard feature . If it detects that the memory used by DoubleSpace has been overwritten, DoubleGuard halts the system to prevent data corruption.
  • A compressed drive can now be completely removed, i.e. decompressed again and returned to its original state.
  • A numeric coprocessor, if any, is no longer used to avoid conflicts with other TSRs or device drivers.
  • Compatibility with the 32-bit file drivers VFAT.386from Windows 3.1 .
  • Compressed removable media are loaded and decompressed automatically; they no longer have to be loaded manually from the command line.
  • DoubleSpace no longer checks the presence of a hardware plug-in card when the system is started because the corresponding call was not handled correctly by various chipsets and led to a system crash. Accordingly, contrary to Microsoft's original plans, no DoubleSpace-compatible hardware plug-in cards appeared on the market.

The ScanDisk , also newly introduced with MS-DOS 6.2, can also check compressed drives for errors.

Due to a lost court dispute over infringed patents by Stac Electronics , Microsoft had to take MS-DOS 6.2 off the market and instead ship MS-DOS 6.21 without DoubleSpace. With MS-DOS 6.22, DoubleSpace reappeared under the new name DriveSpace with an essentially identical implementation. Existing DoubleSpace drives could be converted to DriveSpace drives using a conversion kit available from Microsoft.

Windows 95A

Windows 95 introduced the virtual device driver DRVSPACX.VXD, which runs in protection mode and automatically unloads the MS-DOS driver when the system starts. This solved one of the biggest points of criticism, namely the high consumption of conventional memory, at least for Windows 95 and its MS-DOS command line. Both drivers contain special code for 80386 and 80486 processors to improve performance on these computers.

There is no longer a console tool available, DriveSpace is started under a graphical interface under Windows.

Windows 95B to Windows 98, Plus! for Windows 95

DriveSpace 3 is for the first time with Microsoft Plus! available for Windows 95 as a chargeable add-on product; In Windows 95B, the improved program is integrated into the operating system without additional software. Two further algorithms are offered to increase the effectiveness of compression: HiPack , which promises savings of 10 to 15 percent compared to standard compression, and UltraPack , which can compress certain files (not the system drive ) even further, but not online due to the slow algorithm works and in this respect is more like archive formats like ZIP. There is also the new "no compression" option, which, because files on a compressed drive are not tied to cluster sizes, increases performance and, above all, saves a considerable amount of space with a large number of small files or a large partition.

Even under these operating systems, DriveSpace only supports FAT12 / Fat16 formatted partitions; an update to support the newly introduced FAT32 file system was never carried out. This, and the advent of large hard drives at affordable prices, has led to the steady disappearance of this form of online compression.

Windows ME

Hard drives can no longer be compressed under Windows ME. DriveSpace had lost almost all of its importance. For the last time, however, compressed removable media can still be opened and edited; uncompressed removable media cannot be recompressed.

disadvantage

The need for computing power , the system-related inaccuracy in the specification of the remaining storage space and compatibility problems when transferring the compressed data carriers between different operating systems speak against the use of DriveSpace . In addition, if the file is no longer repairable, all data will be lost if there is a write error. Under certain circumstances, this can happen if the operating system crashes. The importance of DriveSpace dwindled very quickly with the advent of large hard drive capacities at low prices.

Alternative programs

Separately available programs that served the same purpose were Stackers from Stac Electronics and Double Density from Data Becker . Because of patent disputes with Stac Electronics, Microsoft had to rename DoubleSpace to DriveSpace and implement it again . Due to the integration of DriveSpace into the operating system, these previously available separate solutions quickly lost their importance.

As online compression dwindled during the Windows 98 sales period, simpler compression methods for archiving files became more important. Zip programs are no longer tied to a specific data carrier; the zip archives created with them can be used on any computer and also on removable media. On modern file systems, such as those used by NT-based Windows systems , online compression is gaining importance again, since the compression takes place here on the file level and the compression attribute is part of the NTFS specification, for example . An error in a file can therefore no longer destroy the entire drive structure and compatibility between different data carriers and operating systems is guaranteed at all times.

Individual evidence

  1. Online (English adjective, according to Babylon Translator stands for: "directly connected to the computer, usable immediately") refers to an automatically running background process, see also description texts e.g. B. from Angelfire.com or gb-direkt.de  ( page no longer available , search in web archivesInfo: The link was automatically marked as defective. Please check the link according to the instructions and then remove this notice.@1@ 2Template: Toter Link / www.gb-direkt.de  
  2. a b c d e f Tom R. Halfhill: How Safe is Data Compression? Archived from the original on June 19, 2008. In: BYTE . 19, No. 02, February 1994.
  3. Greg Pastrick: Double - No - Triple Your Hard Disk Space With On-The-Fly Data Compression Utilities . In: PC Magazine . 11, No. 2, January 28, 1992, pp. 261-284. ISSN  0888-8507 .
  4. ^ Stac Electronics v Microsoft Corporation
  5. Lance Ulanoff: Picking Up the Pieces: Fear not, vendors are already rushing to provide the missing pieces for the Windows 95 utilities puzzle . In: PC Magazine . 14, No. 20, November 21, 1995, pp. 157-203. ISSN  0888-8507 .
  6. Microsoft Loses Patent Suit - Associated Press, February 23, 1994
  7. Jay Folberg, Dwight Golann: Lawyer Negotiation: Theory, Practice, and Law . Wolters Kluwer , New York 2016, ISBN 1454876018
  8. DoubleSpace Overview - Tech Help!
  9. DoubleSpace Compressed Volume File Layout - Tech Help!
  10. Microsoft Knowledge Base - Q98407: How DoubleSpace Uses Sector Allocation
  11. Microsoft Knowledge Base - Q95533: Largest Possible DoubleSpace Drive Is 512 MB
  12. CVF Region: MDFAT - Tech Help!
  13. Microsoft Knowledge Base - Q94336: How DoubleSpace Assigns the Host Drive Letter
  14. Microsoft Knowledge Base - Q97885: DoubleSpace, Drive Letters, and Installable Devices
  15. Microsoft Knowledge Base - Q96593: Why DoubleSpace Leaves 2 Megabytes Free on the Host Drive
  16. Jeff Prosise: DOS 6.0's Double Space: Is It Safe? . In: PC Magazine . 12, No. 20, November 23, 1993, pp. 347-352. ISSN  0888-8507 .
  17. ^ Brian Livingston: It's a good idea to 'Double Check' your disk for fragmentation . In: InfoWorld . 15, No. 38, September 20, 1993, p. 20.
  18. Microsoft Knowledge Base - Q99987: New DBLSPACE.EXE on Stacker Conversion Disk Has No Bug Fixes
  19. Microsoft Knowledge Base - Q106126: DoubleSpace DoubleGuard Error Codes
  20. Microsoft Knowledge Base - Q96250: How to Remove DoubleSpace and Preserve Your Files
  21. Microsoft Knowledge Base - Q98345: DoubleSpace and R6002 Run-Time Errors
  22. Microsoft Knowledge Base - Q106248: 32-Bit File Access Requires MS-DOS 6.2 DoubleSpace
  23. Microsoft Knowledge Base - Q96390: Using DoubleSpace with Compressed Floppy and Removable Disks
  24. Microsoft Knowledge Base - Q98178: DoubleSpace Setup Hangs During First Reboot
  25. Microsoft Knowledge Base - Q111908: DoubleSpace Err Msg: DBLSPACE. <nnn> Is Not a Valid CVF
  26. Microsoft Knowledge Base - Q117806: DoubleSpace Conversion Kit: Description & How to Obtain
  27. Microsoft Knowledge Base - Q97741: Optimizing DoubleSpace on Your Computer
  28. Lance Ulanoff: The Ultimate Utility Guide: Work better and smarter by outfitting your PC with some of these 170 problem-solving tools . In: PC Magazine . 15, No. 9, May 14, 1996, pp. 100-161. ISSN  0888-8507 .
  29. Drivespace: Uncompressed Compression - PC World
  30. Microsoft Knowledge Base - Q150579: DriveSpace Is Not Supported with FAT32 Drives
  31. Microsoft Knowledge Base - Q248649: Setup Error Message When Attempting to Upgrade a Computer with a Compressed Drive