DriveSpace 3 Compression: An Overview

The new compression manager provided with Microsoft Plus! contains several enhancements over Windows 95 DriveSpace. These enhancements include the following:

As with earlier CVF versions, a DriveSpace 3 CVF has a name in the form DRVSPACE.nnn, where nnn is the CVF sequence number in the range 000 through 254.

DriveSpace and Disk Properties Enhancements

Microsoft Plus! adds the following features to Windows 95 DriveSpace:

Microsoft Plus! also places drive-specific compression information (and the tools to manipulate it) where you would expect to find it: in the drive's properties. (System-wide compression settings and functions are still avaliable in the DriveSpace programs.) To present this information, a Compression tab is added to the property dialog boxes for all local hard and floppy disk drives, except compressed drives created by software from other vendors. Uncompressed drives that are hosts for one or more compressed volume files also have a Compression tab added to their properties. For hidden host drives, you must use the DriveSpace program to view information about the drive.

How Compression Works with DriveSpace 3

Microsoft Plus! achieves a higher compression ratio by compressing data in 32K blocks (instead of 8K blocks used for DblSpace or DrvSpace), and by supporting two new levels of compression: HiPack and UltraPack.

HiPack compression uses the same encoding format as standard compression, but searches the entire history buffer for matches instead of being limited to a history window.

UltraPack compression uses a different encoding format. UltraPack format offers better compression than standard or HiPack compression, but files compressed in UltraPack format are also slower to decompress. UltraPack compression is available only by running Compression Agent. You cannot configure DriveSpace to save files in UltraPack format automatically.

Because the new UltraPack encoding format used DriveSpace 3 CVFs, the Microsoft Plus! DRVSPACE.BIN and DRVSPACX.VXD must be installed to read these CVFs.

Microsoft Plus! compression can also store more data on the disk than with standard DriveSpace compression because of improved fragmentation handling. With standard DrvSpace or DblSpace CVFs, the data for a cluster must be stored in contiguous sectors. When the volume is highly fragmented, it is possible to have many free sectors but not enough contiguous sectors to store a cluster (which can require up to 16 sectors on a DblSpace or DrvSpace CVF, and up to 64 sectors on a DriveSpace 3 CVF). Microsoft Plus! compression avoids this problem by storing data for a fragmented cluster in a linked list of sectors when there are not enough continuous sectors to store the entire cluster. Microsoft Plus! compression also stores small directories in a single sector, whereas MS-DOS 6.x or Windows 95 require 16 sectors.

Using Compression Agent

Compression Agent allows you make the following choices for compression methods:

You can start Compression Agent manually or, more commonly, you can have System Agent start it automatically when the computer is idle or at any time you specify. Compression Agent uses the Windows 95 Last Access Date to determine which files have not been used within a defined time (but Compression Agent does not modify the Last Access Date for any files).

The compression policies specified in the Compression Agent Settings dialog box control the standard policy used to compress files. However, you can also force or prevent a particular compression type on a particular file, or set of files, or folders, based on the following exceptions to the standard compression policy:

The following shows the Compression Agent command line syntax:

cmpagent [drive: | /all] [/noprompt]

The following table describes the parameters for this command.

Parameter

Description

drive:

Specifies drive to be recompressed.

/all

Specifies all local, fixed drives that are compressed.

/noprompt

Runs without waiting for the user to click Start, and without displaying a summary at the end. Errors are displayed. This switch can be shortened as /nop.


Guidelines for Fine-tuning Compression

Typically, you will want to use the default values for Microsoft Plus! compression, which specify using standard or no compression when saving files. You can then set System Agent to run Compression Agent when the computer isn't busy to compress seldom-used files into UltraPack format and all other files into HiPack format.

When you are deciding when methods and formats to use for compression, you must consider whether you want to configure compression to ensure maximum disk space or maximum system performance.

Maximizing hard disk space.

If you require that compression provide maximum disk space on a computer, then you might want to specify that UltraPack format be used to compress most files. (UltraPack format is recommended for Pentium-based computers.) In addition, you can specify that files be compressed as they are saved. If your computer is very fast, specify that HiPack format be used.

Maximizing performance.

If you require maximum system performance, remember that files compressed in UltraPack format are much slower to decompress, so that if you try to access a document or run an application that is compressed in UltraPack format, you might have to wait before you can begin working again. For slower computers that require maximum performance, you can use System Agent and Compression Agent to specify that all compression is done while the computer is idle instead of compressing the files as they are saved. This provides the benefits of compression without any performance impact related to updating files.

To ensure maximium performance, you might want to define the following when configuring compression:

Notice that if you configure DriveSpace not to compress files as they are saved, or to compress files only when free space is low (using the Depends On Free Space option), the system reports free space as though files will not be compressed. As a result, the computer appears to have significantly less free space than it does when files are compressed as they are saved. However, if you use Compression Agent regularly, you will be able to store the same amount of data in this space.