Copyright: By RJ Smith, (c) Western Digital 1994


CAVIAR Product Information

The Western Digital CAVIAR intelligent drives provide up to 1 Gigabyte of formatted capacity in a low profile, 1 inch high, 3.5 inch form factor. Designed for use in today's and future computer systems, the CAVIAR drives are premier storage solutions that achieve unsurpassed reliability and optimum performance. They are ideal storage solutions for Systems running Microsoft Windows, IBM OS/2, Novell Netware or Unix based Operating systems.

All CAVIAR drives feature CacheFlow, Western Digital's exclusive multi-segmented, adaptive, disk caching system. To meet the demands of high performance 386, 486, Pentium, PowerPC or RISC based systems, the CAVIAR drives have an average seek of 10 to 13 milliseconds and offer Flow Control using I/O Channel Ready.

CAVIAR drives are low level pre-formatted and defects are mapped out before shipment. Additional features include linear logical/physical universal address translation, automatic head parking, write cache and ECC on the fly correction.

All Caviar drives support advanced power management capabilities that can reduce power requirements up to 80 %. These capabilities are exploited by today's new systems to reduce annual systems energy demands which saves both money and the environment.

The following list contains a summary of the Caviar drives with full Enhanced IDE support

- Mode 3 timing support gives you high performance Data transfer rate of 11.1 MB/s on local Bus

- I/O Channel ready support for hardware handshaking

- LBA support to address Capacities greater than 528 MB

format.	recommended	User sectors	Average Seek	Drive Revision

MODEL	Cap	Parameter CHS	per  drive	Read / write	for full EIDE support

---------------------------------------------------------------------------------------------------------------------------------------

WDAC1210	212.6	989/12/35	415,380	13 / 13	A3, ...

WDAC1270	270.4	917/12/48	528,192	11 / 13	all

WDAC2340	341.3	1010/12/55	666,600	13 / 13	A9, B1...

WDAC2420	425.3	989/15/56	830,760	13 / 13	A3, ...

WDAC2540	540.8	1048/16/63	1,056,384	11 / 13	all

WDAC2700	730.8	1416/16/63	1,427,328	10 / 12	all

WDAC31000	1083.8	2100/16/63	2,116,800	10 / 12	all

 	CAVIAR Jumper Settings

CAVIAR AC2700/AC31000 Reference Manual


CAVIAR Jumper Settings
CAVIAR 3.5" Drive Jumper Settings


CAVIAR AC2700 / AC31000 TRM
CAVIAR AC2700 and AC31000 Technical Reference Manual

Information in this file is a part of the technical reference manual. Its believed to be accurate and reliable, no responsibility is assumed by Western Digital for its use, nor for infringements of patents or other rights of third parties which may result from its use. The specifications may change at any time without further notice

1.0 General Description

1.1 Advanced Features

2.0 Specifications

2.1 Performance Specifications

2.2 Physical Specifications

2.3 Mechanical Specifications

2.4 Electrical Specifications

2.5 Reliability Specifications

2.6 Agency Approvals

3.0 Principles of Operation

3.1 Drive Electronics

3.2 Head Disk Assembly

4.0 Advanced Product Features

4.1 CacheFlow3

4.2 Push Down Defect Management

4.3 Automatic Defect Retirement

4.4 Error Recovery Process

4.5 Reed Solomon on the Fly

4.6 Universal Translation

4.7 Logical Block Addressing

4.8 Dual Drive Operation

4.9 Power Conservation

4.10 High Speed DMA

4.11 Advanced Host Transfer

4.12 Zoned Recording

4.13 Block Mode

4.14 Identify Drive Data

5.0 Installation and Setup Procedures

5.1 Unpacking

5.2 Mounting restrictions

5.3 Installation Configuration

5.4 Setup Procedures

5.5 Preparing the Drive for Novell


1.1 Advanced Product Features

CacheFlow3 Western Digital's unique third generation caching evaluates the way data is read from and written to the drive and adapts on-the-fly to the optimum read and write caching methods. CacheFlow3 minimizes disk seeking operations and the overhead due to rotational latency delays.

CacheFlow3 includes random, repetitive and sequential write cache. Incorporating write cache with other CacheFlow3 features enables the user to cache both read data as well as write data. Multiple writes can now be held in the cache and then written collectively to the hard disk later. Data is held in the cache no longer than the time required to write all cached commands to the disk.

CacheFlow3 constantly evaluates not only the size of the read data request but the type of data request, that is, whether the application is sequential, random, or repetitive. CacheFlow3 then dynamically partitions the Caviar's 128-Kbyte SRAM buffer into equal-sized segments and selects the appropriate caching mode for optimum system performance.

Power Conservation The Caviar AC2700 and AC31000 support the ATA Power management command set. This command set allows the host to reduce the power consumption of the drive by issuing a variety of power management commands.

Extended Contact Start/Stop Capabilities

Today's power managed desktop systems result in more contact start/stop cycles to the disk drive. The AC2700 and AC31000 support 50,000 start/stop cycles.

DMA

DMA Read and DMA Write commands are ATA compatible and supported in systems implementing EISA (type B) and PCI (type F) DMA. DMA data transfers provide significant improvement in CPU bandwidth over conventional PIO data transfers. The system CPU is free to accomplish other tasks while the Caviar drive transfers data directly to/from system memory.

Advanced Host Transfer

The AC2700 and AC31000 support Mode 3 PIO (11.1 Mbytes/s) and Mode 1 multi-word DMA (13.3 Mbytes/s) as defined by the Small Form Factor 8011 and ATA-2 standards. To achieve Mode 3 PIO burst transfers, hard disk drives must be able to throttle the host via the IORDY signal. Systems typically require a high-speed VL or PCI local bus in order to support Mode 3 PIO.

Zoned Recording

The AC2700 and AC31000 employ Zoned Recording to increase the data density on the outer tracks of the drive. The outermost tracks contain more sectors than the innermost tracks, thereby increasing the total capacity of the drive.

Block Mode

ATA compatible Read Multiple and Write Multiple commands are supported. Block mode increases overall data transfer rates by transferring more data between system interrupts.

Logical Block Addressing (LBA)

The AC2700 and AC31000 support both LBA and CHS based addressing. LBA addressing support is included in advanced operating system device drivers and ensures high-capacity disk integration. It also offers higher performance on file systems that are LBA based, thus avoiding unnecessary LBA to CHS conversion within the operating device system driver.

Automatic Head Parking

Head parking is automatic with the Caviar series of intelligent drives. On power down, the heads retract to a safe, non-data landing zone and lock into position, improving data integrity and resistance to shock.

Advanced Defect Management

The Caviar is pre-formatted (low level) at the factory and comes with a full complement of defect management functions.  Extensively tested during the manufacturing process, media defects found during intelligent burn in are mapped out with Western Digital's high performance defect management technique. No modifications are required before installation.

Embedded Servo Control

The Caviar features an embedded servo concept as the means of providing sampled position feedback information to the head position servo system. Servo bursts are located along a radial path from the disk center, ensuring that head positioning data occurs at constant intervals. This high sampling rate supports the high frequency servo bandwidth required for fast access times as well as highly accurate head positioning.  The embedded servo concept provides the means of generating accurate feedback information without requiring a full data surface as would a dedicated servo control concept.

Dual Drive Operation

The Caviar supports dual drive operation by means of a "daisy chain" cable assembly and configuration options for master or slave drive designation. Caviar also supports Cable Select (CSEL) for master or slave designation.

Intelligent Drive

The Caviar does not require a slot-mounted controller card.  The hard disk has the controller circuitry and 40-pin ATA IDE connector attached directly to the drive.

Universal Address Translation

The Caviar provides a linear disk address translator to convert logical sector addresses to physical sector addresses which provides for easy installation and compatibility with numerous drive types.

Guaranteed Compatibility

Western Digital performs extensive testing in its Functional Integrity Test Lab (FIT Lab) to ensure compatibility with all 100% AT-compatible computers and standard operating systems.

Reed Solomon ECC On-the-Fly

The Caviar implements Reed Solomon error correction techniques to obtain extremely low read error rates. This error correction algorithm corrects errors on-the-fly without any performance penalties. It allows for hardware corrections of up to a 24-bit error span on-the-fly.

Automatic Defect Retirement

If the Caviar drive detects a defective sector while writing, it automatically relocates the sector without end-user intervention.


1.0 General Description

The Caviar AC2700 and AC31000 Enhanced IDE drives provide 730 and 1080 megabytes of formatted storage in a low-profile, 1-inch high, 3.5-inch form factor. The drives are designed to satisfy the lifetime capacity, performance, and reliability needs of today's most powerful systems. They are ideal storage solutions for systems running Microsoft Windows, IBM OS/2, Novell NetWare, or Unix based operating systems on 486, Pentium, PowerPC, or RISC based processors. System integration of the AC2700 and AC31000 requires either BIOS or device driver support for IDE disk drives with capacities that exceed 528 Mbytes. The AC2700 and AC31000 offer performance levels beyond that of the ISA bus, thus optimum performance is obtained when integrated into a VESA VL or PCI local bus environment.

The AC2700 and AC31000 feature CacheFlow3, Western Digital's third generation advanced caching algorithm. CacheFlow3 increases performance by adapting read and write methodology on-the-fly and works in conjunction with the advanced disk caching capabilities of today's major operating systems. New random write caching improves random write performance up to 30 percent. The AC2700 and AC31000 support high-speed 11.1 Mbytes/sec Mode 3 PIO and 13.3 Mbytes/sec Mode 1 multi-word DMA host data transfer capabilities. This enables VESA VL or PCI local bus IDE integration. An average read seek time of 10 ms and a spindle latency of 6.67 ms combine to provide fast mechanical access to data that is uncached.

The AC2700 and AC31000 support advanced power management capabilities that can reduce power requirements up to 80 percent. These capabilities are exploited by today's new systems to reduce annual system energy demands which saves both money and the environment.

Caviar drives are pre-formatted (low-level) and defects are mapped out before shipment. Additional Caviar features include logical block addressing, linear logical/physical universal address translation, automatic head parking, embedded servo control data on each track, and ECC on-the-fly correction.


2.1 Performance Specifications

 AC2700/AC31000

Average Seek
- read	10 Milliseconds
- write	12 Milliseconds
Track-to-Track Seek,	4 Milliseconds
Maximum Seek	23 Milliseconds
Index Pulse Period	13.33 Milliseconds
Average Latency	6.67 Milliseconds
Rotational Speed	4495 Revolutions/min.
Controller Overhead	0.3 Milliseconds average
Data Transfer Rate
- Buffer to Host	5.26 Mbytes/second (sustained)
	11.1 Mbytes/second (burst PIO) 1
	13.3 Mbytes/second (burst DMA)
Interleave	1:1
Buffer Size	128K
Error Rate - Unrecoverable,	<<1 in 1013 bits read
Spindle Start Time 2	10 seconds typical
Spindle Stop Time	5 seconds typical
Start/Stop Cycles	50,000 minimum

NOTE 1  With Mode 3 PIO.

NOTE 2  Spindle Start Time is from power-on to the setting of Drive Ready and Seek Complete including calibration.


2.2 Physical Specifications

Physical Specifications	CAVIAR	CAVIAR
	AC2700	AC31000
recommended Setup	1416 x 16 x 63	2100 x 16 x 63
Parameter 1	Cyl x Hds x SPT	Cyl x Hds x SPT
Formatted Capacity 2	730.8 Mbytes	1083.8 MBytes
Interface	40-pin AT	40-pin AT
Actuator Type	Rotary Voice Coil	Rotary Voice Coil
Number of Disks	2	3
Data Surfaces	4	6
Number of Heads	4	6
Average Track Density	4000 TPI	4000 TPI
Bytes per Sector	512	512
User Sectors per Drive (max)	1,427,328	2,116,800
Servo Type	Embedded	Embedded
Recording Method	1,7 RLL	1,7 RLL
ECC	Reed Solomon	Reed Solomon
Head Park 3	Automatic	Automatic

RLL - Run Length Limited

IDE - Integrated Drive Electronics

TPI - Tracks Per Inch

NOTE 1  Do not exceed the maximum sector capacity when specifying the number of cylinders, heads and sectors per track. Exceeding the specified limits causes the drive to park and spin down. The disk controller returns an ID NOT FOUND error to the host.

NOTE 2  Western Digital defines a megabyte (Mbyte) as 1,000,000 bytes.

NOTE 3  Seeking to a sector greater than or equal to maximum cylinder, parks the read/write heads and spins down the drive. Turning the system power off causes the Caviar to perform an automatic head park operation.


2.3 Mechanical Specifications

Physical Dimensions

Height 	1.00 inch

Length 	5.75 inches

Width	4.00 inches

Weight
  AC2700	1.21 pounds (.549 Kg)
  AC31000 	1.25 pounds (.567 Kg)

MECHANICAL SPECIFICATIONS

Figure 2-1 in TRM shows the mounting dimensions and locations of the screw holes for the Caviar intelligent drive.


2.4 Electrical Specifications

Current Requirements and Power Dissipation

Operating Mode	RMS Current*	Power Typical*
	12 VDC	5 VDC
Spin-up	801 mA	221 mA	10.7 W
	1.12 A Peak
Read/Write	165 mA	370 mA	3.8 W
Seek	390 mA	360 mA	6.5 W


2.5 Reliability Specifications

MTTF	250,000 Power On Hours
MTTR	10 minutes (typical)
Component Design Life	Five years
Warranty Period	Three years


2.6 Agency Approvals

The Caviar meets the standards of the following regulatory agencies:

Federal Communication Commission
Verified to comply with FCC Rules for Radiated and Conducted Emission, Part 15, Subpart B, for Class B Equipment

Underwriters Laboratories
UL-Standard 1950, Standard for Safety of Information Technology Equipment including Electrical Business Equipment (File E101559)

Canadian Standards Association
CSA-Standard C22.2, No. 950-M89, Standard for Safety of Information Technology Equipment including Electrical Business Equipment (File LR68850)

TUV Essen Laboratories
IEC-950 (EN60950) Standard for Safety of Information Technology Equipment including Electrical Business Equipment


3.0 Principle of Operation

This section describes the principles of operation of the Caviar from the following viewpoints:

 * Drive Electronics

 * Head Disk Assembly (HDA)


3.1 Drive Electronics

Caviar's intelligence resides in the specialized electronic components mounted on the four-layer printed circuit board assembly. The Caviar consists of the following drive electronic components:

 * WD61C25 Winchester Disk Controller

 * Buffer RAM

 * WD61C12 Servo Controller

 * WD10C28 Data Separator/Frequency Synthesizer/ENDEC

 * Microcontroller

 * Pulse Detector

 * Spindle Motor Driver

 * Actuator Driver

3.1.1 WD61C25 Winchester Disk Controller

The WD61C25 integrates a high-performance, low-cost Winchester formatter/controller, CRC/ECC generator/checker, host interface and buffer manager into a single, 100-pin MQFP device. The CRC/ECC generator/checker calculates ECC for the data field. The host interface directly connects to the host system bus via internal 24 mA drivers. The buffer manager controls the buffer RAM and handles the arbitration between the host interface and drive controller.

3.1.2 Buffer RAM

A 128-Kbyte static RAM buffer enhances data throughput by buffering sector data between the Caviar and the AT system bus. The buffer is accessed by two channels, each having a separate 16-bit address and byte-count register. The channels operate simultaneously, accepting read and write operations from two data paths.

3.1.2 WD61C12 Servo Controller

The WD61C12 provides servo discrimination, track address capture and measures servo burst amplitudes. A servo burst is a momentary servo pattern used in embedded servo control implementations that is positioned at regular intervals on each track. The WD61C12 also provides spindle motor control.

3.1.3 WD10C28 Data Separator/Frequency Synthesizer/ENDEC

The WD10C28 handles the sensitive read/write signals between the WD61C25 and the read channel circuitry. (Read channel data refers to previously written data with phase, frequency and write splice noise.) It also removes the noise, sends clean digital read signals to the WD61C25, conditions write data to be recorded on the drive, and precisely clocks and encodes/decodes data to and from the WD61C25. The WD10C28 has a built-in frequency synthesizer to set the proper frequency for each zone.

3.1.4 Microcontroller

A 20 MHz, 16-bit microcontroller controls and coordinates the activity of the HDA and the WD61C25. The microcontroller receives and sends command or status information over an internal multiplexed address/data bus. The microcontroller monitors spindle and actuator activity until the WD61C25 asserts the microcontroller's interrupt line. The WD61C25 asserts the interrupt when the host writes to the Command Register or at the end of either a host or disk transfer.

3.1.5 Pulse Detector

The pulse detector amplifies and qualifies the RLL-encoded signals from the preamplifier on the flex circuit. Pulse qualification in read mode is accomplished using level qualifications of differentiated input zero crossings. An AGC amplifier compensates for variations in head preamp output levels, presenting a constant input level to the pulse qualification circuitry.

In write mode, the circuitry is disabled. The AGC gain stage input impedance switches to a lower level to allow fast settling of the input coupling capacitors during a write-to-read transition.

3.1.6 Spindle Motor Driver

The spindle motor driver circuitry supplies the appropriate current and commutation control of the three-phase spindle motor by means of control signals from the servo motor controller and microcontroller blocks. The spindle motor driver also provides automatic braking of the spindle motor during power down conditions.

3.1.7 Actuator Driver

The actuator driver provides precise current control to the VCM (voice coil motor) so that accurate positioning of the head is accomplished. The actuator driver is controlled by an external DAC output from the ADC/DAC block along with control signals from the Servo/Motor Controller and microcontroller blocks. The actuator driver automatically parks the heads during a power-down condition.


3.2 Head Disk assembly

The functional parts of the HDA are mounted to a die-cast housing with a sealed cover. The assembly provides exact mechanical relationships between the spindle, headstack and voice coil through precise machined dimensions on the housing. A clean environment is also maintained within the HDA enclosure.

The HDA interface provides the means to control the voice coil actuator circuit, select from one of four/six heads, receive data from the preamplifier, select the write current and report an unsafe condition.

The HDA consists of the following mechanical subassemblies;

 * = Base/Cover Assembly

 * = Spindle Motor

 * = Disk Stack Assembly

 * = Headstack Assembly

 * = Magnet Plate Assembly

 * = Air Filtration System

3.2.1 Base/Cover Assembly

The single-piece cast base provides a mounting platform for the components of the assembly. The base/cover assembly has machined mounting surfaces for the spindle motor, voice coil and pivot. To ensure a Class 100 environment within the HDA, a tape seal is wrapped around the base and cover castings. A constrained layer damping material is incorporated into the cover design to minimize acoustic emissions.

Caution: Do not remove the tape seal. Removal of the seal voids the warranty.

3.2.2 Spindle Motor

The spindle motor assembly consists of a brush-less three-phase motor, spindle bearing assembly, disk mounting hub and a ferrofluid magnetic seal. The entire spindle motor assembly is completely enclosed in the HDA and bolted to the base casting. The motor rotates the disks at 4495 RPM.

3.2.3 Disk Stack Assembly

The disk stack assembly consists of disks, disk spacers and a disk clamp. In the Caviar AC31000, three thin film sputtered disks and two spacers are placed on the hub and clamped into place. The Caviar AC2700 has two disks and two spacers.

3.2.4 Headstack Assembly

The headstack assembly consists of the following mechanical sub- assemblies:

 * Read/Write Heads

 * Actuator Arm Assembly

 * Flex Circuit

3.2.4.1 Read/Write Heads The Read/Write head consists of MIG or thin film sliders mounted on a suspension system. The Caviar actuator is statically balanced about the pivot center.

3.2.4.2 Actuator Arm Assembly This assembly consists of a pivot bearing E-block and voice coil.

3.2.4.3 Flex Circuit The head conductors are flex cables routed through the flex circuit assembly inside the HDA. The flex circuit assembly transfers signals between the read / write heads and the pulse detector. A preamplifier IC, located on the actuator, maximizes the read/write heads' signal strength while minimizing noise.

3.2.5 Magnet Plate Assembly

The magnet plate assembly consists of an upper and lower magnet plate, a magnetic latch, and a crash stop.

3.2.6 Air Filtration System

It is absolutely essential that air circulating within the drive be free of particles. The HDA is assembled in a Class 100 purified air environment, then sealed with tape. To retain this clean environment, the Caviar is equipped with two filters. One filter, the recirculating filter, cleans air within the HDA . The recirculating filter traps any particles which may be generated during head landings or take-offs. Mounting the recirculating filter next to the disk places the filter in the direction of the air flow. This strategic placement of the filter allows the rotating disks to act as an air pump forcing air through the recirculating filter. A second filter, the breather filter, cleans any external air entering the HDA. The breather filter also equalizes the internal and external air pressure. The breather filter is located on the bottom of the HDA under the PCBA.


4.0 Advanced Product Features

Western Digital's Caviar series of intelligent drives provides a choice of data storage capacities for AT compatible systems and include a full complement of advanced product features. This section describes the following Caviar advanced product features:

 * CacheFlow3

 * Push Down Defect Management and Format Characteristics

 * Automatic Defect Retirement

 * Error Recovery Process

 * Reed Solomon ECC On-the-Fly

 * Universal Translation

 * Logical Block Addressing

 * Dual Drive Option

 * Power Conservation

 * DMA Capability

 * Advanced Host Transfers

 * Zoned Recording

 * Block Mode


4.1 CacheFlow3

CacheFlow3 is Western Digital's unique third generation disk caching system. It incorporates read cache with random and sequential write cache. Random write cache improves random write performance up to 30 percent.

4.1.1 Purpose of CacheFlow3

CacheFlow3 was designed by Western Digital to minimize disk seeking operations and the overhead due to rotational latency delays. CacheFlow3 constantly evaluates not only the size of the data request but the type of data request, that is, whether the application is sequential, random or repetitive.  CacheFlow3 then dynamically partitions the Caviar's SRAM buffer into segments and selects the appropriate caching mode for optimum system performance.

4.1.2 Benefits of CacheFlow3

In a typical application, most host requests are for sequential data.  CacheFlow3's adaptive design enables the Caviar to eliminate unnecessary disk seeking operations by immediately implementing the sequential mode once the data has been analyzed.

4.1.3 CacheFlow3 Operation

Sequential mode is the default mode of operation for CacheFlow3. The Caviar initially partitions the SRAM buffer into individual caching segments. As seeking operations begin, CacheFlow3 monitors the data's logical sector address and sector count parameters. CacheFlow3 then uses a simple hit score algorithm to either increase or decrease the segment size for optimal performance.

CacheFlow3 switches from sequential mode to repetitive mode during read operations if the same block is accessed twice. Both modes read ahead after the host-requested data has been read. By storing read-ahead data in the sector buffers, the cache hit score can be significantly improved.

4.1.4 Write Cache

CacheFlow3 was designed to improve both single and multi-sector write performance by reducing delays caused by seek time and rotational latency.

Host retries must be enabled for write cache to be active.

If the write cache is full when a new write command is received, the data currently in the write cache is written to disk before the drive tells the host that the current command is complete.

Data is held in the drive's write cache no longer than the amount of time required to overcome seek time and rotational latency for the commands currently in the cache. The worst case would cause data to be held in cache a maximum of 480 ms. Typically, data is held in cache for much shorter times than this.

If a defective sector is found during a write cache operation, that sector is automatically relocated before the write occurs.

4.1.5 Read Cache

Sequential Mode

The sequential caching mode is the standard read-ahead cache. After reading all of the host-requested data into the segment(s), CacheFlow3 continues to read ahead until the cache is full. After the host reads the requested data from the cache, a new cache beginning is established following the last sector buffer returned to the host. Based on the hit score algorithm, sequential mode adapts the number and size of segments to optimize cache performance.

The default mode of two cache segments provides optimum cache performance. A larger number of segments may limit cache effectiveness because each segment may not store enough sequential sectors. A smaller number of segments may limit effectiveness for random reads.

Repetitive Mode

The repetitive caching mode resembles a static buffer. If the same blocks are accessed twice, the repetitive mode is selected. Repetitive mode also reads ahead and can override the number of segments to build one large segment. Unlike sequential mode, however, the sector buffer containing the host-requested data remains valid after the host reads the data.


4.2 Push Down Defect Management

4.2.1 Defect Management

Every Caviar undergoes factory-level intelligent burn in, which thoroughly tests for and maps out defective sectors on the media before the drive leaves the manufacturing facility. Following the factory tests, a primary defect list is created. The list contains the cylinder, head, and sector numbers for all defects.

Defects managed at the factory are sector slipped. Grown defects that can occur in the field are mapped out by relocation to spare sectors on the inner cylinders of the drive.

4.2.2 Format Characteristics

The Caviar is shipped from the factory pre-formatted (low level) with all the known defects mapped out.

In order to be compatible with existing industry standard defect management utility programs, the Caviar supports the logical format command. When the host issues the Format Track command, the Caviar performs a logical version of this command in response to the host's interleave table request for good and bad sector marking or assign/unassign the sector to/from an alternate sector.

If the host issues the Format Track Command during normal operating modes, the data fields of the specified track are filled with a data pattern of all zeros. The Format Track Command can be used to mark/unmark bad sectors, and reassign unrelocated sectors.


4.3 Automatic Defect Management

The automatic defect retirement feature automatically maps out defective sectors while writing. If a defective sector appears, Caviar finds a spare sector at the inner diameter cylinders and relocates the sector.

The following items are specific to automatic defect retirement.

 * It is only performed when host retries are enabled. The data is always written to disk (using automatic defect retirement if required) and no error is reported.

 * When host retries are disabled, Write Cache and automatic defect retirement are inactive.


4.4 Error Recovery Process

The Caviar has four means of error recovery:

 *  ECC On-the-Fly

 *  Read/Write Retry Procedure

 *  Extended Read Retry Procedure

 *  Extended (Firmware Assisted) ECC

ECC On-the-Fly If an ECC error occurs, the Caviar attempts to correct it on-the-fly without retries. Data can be corrected in this manner without performance penalty. The details of the correction algorithm are covered in the next section.

Read/Write Retry Procedure When this procedure is invoked, the Caviar attempts up to ten retries of the operation. This procedure ends when error recovery is achieved or when all ten retries have been attempted.

Extended Read Retry Procedure  This retry procedure attempts up to 20 additional retries using different combinations of early, normal and late window shifts combined with positive, normal and negative track offsets. This procedure ends when error recovery is achieved or when all 20 retries have been attempted.

Extended (Firmware Assisted) ECC  If an ECC error is too large to correct using ECC on-the-fly, the Caviar can attempt to correct the error using Extended Error Correction. This allows correction of large ECC errors that ECC on-the-fly cannot correct but takes time to perform and thus takes extra time to return the corrected data. Extended ECC details are described in the next section.

All or part of the above error recovery procedures are applied to the following errors:
     ID Not Found (IDNF)
     Data Address Mark Not Found (DAMNF)
     Error Correction Code (ECC)

The retry procedures for each type of error are described on the following page.

ID Not Found (IDNF) and Data Address Mark Not Found (DAMNF)

With host retries enabled, the Caviar attempts the following recovery procedures when IDNF or DAMNF errors occur. Error recovery ends upon successful completion of any error recovery procedure.

1.  Attempt basic Read/Write Retry procedure.

2.  For Reads, attempt Extended Read Retry procedure.

3.  If all attempts are unsuccessful, report IDNF or DAMNF to the host.

With host retries disabled, the Caviar immediately returns an IDNF error or DAMNF error to the host without performing any retry operations.

Error Correction Code (ECC)

If an ECC error occurs, the Caviar attempts to correct the data on-the-fly before any retries are attempted. This happens regardless of whether host retries are enabled or disabled. If ECC on-the-fly is successful, the corrected data is returned to the host with no performance penalties.

If ECC on-the-fly fails to correct the error and host retries are enabled, the Caviar attempts the following recovery procedures. If any of these procedures are successful, the error recovery ends at that point.

1. Attempt basic read/write retry procedure.
2. Attempt extended read retry procedure.
3. Re-read to get ECC syndromes.
4. Attempt extended error correction.
5. If extended error correction is successful, return corrected ECC error to the host.
6. If extended error correction is unsuccessful, return uncorrectable ECC error to the host.

If ECC on-the-fly fails to correct the error and host retries are disabled, the Caviar immediately returns uncorrectable ECC error to the host.

ECC ERROR HANDLING

WITH HOST RETRIES ENABLED:

1- to 17-Bit Error Span(24-bit max)

- No error reporting
- Data corrected on-the-fly with no performance penalty
- Sends host corrected data

18- to 65-Bit Error Span (72-bit max)

- CORR bit is set in the Status Register
- Reports ECC correctable data
- Sends host corrected data,

Greater than 65-Bit Error Span

- Reports ECC uncorrectable data
- No error correction performed

WITH HOST RETRIES DISABLED

1- to 17-Bit Error Span(24-bit max)

- No error reporting.
- Data corrected on-the-fly with no performance penalty
- Sends host corrected data

18- to 65-Bit Error Span (72-bit max)

- Reports ECC uncorrectable errors in the Error Register
- No error correction performed


4.5 Reed Solomon on the Fly

The Caviar implements Reed Solomon error correction techniques in hardware to reduce the uncorrectable read error rate. This allows a high degree of data integrity with no impact on the drive's performance. Because on-the-fly corrected errors do not require the drive's firmware to assist with error correction, they are invisible to the host system.

To obtain the ECC check byte values, each byte within the sector is interleaved into one of three groups, where the first byte is in interleave 1, the second byte is in interleave 2, the third byte is in interleave 3, the fourth byte is in interleave 1, and so on.

Interleaving and the ECC formulas enable the drive to detect where the error occurs. A maximum of one byte can be corrected in each interleave without firmware assistance.

An error span of 24-bits is the maximum that can be corrected on-the-fly because this is the largest error span that can be confined to one byte in each interleave.

An 18-bit error span that occupies two bytes in the same interleave cannot be corrected on-the-fly. No two bytes in an interleave may contain errors at the same time and still be corrected on-the-fly.

Note: A 17-bit error span is the maximum that is always correctable on-the-fly because the entire error span will never occupy more than one byte in each interleave.

Firmware Assisted ECC

With firmware assisted ECC, a maximum of 3 bytes can be corrected in each interleave. In this case, a 65-bit error span is the maximum that is always correctable with firmware assistance because the entire error span will never occupy more than three bytes in each interleave.


4.6 Universal Translation

The Caviar implements linear address translation. The translation mode and translated drive configuration are selected by using the Set Drive Parameters command to issue head and sector/track counts to the translator. Caviar supports universal translation, therefore, any valid combination of cylinder, head and SPT can be assigned to the drive, as long as the total number of sectors is not greater than the physical limits. The product of the cylinder, head and sectors/track counts must be equal to or less than the maximum number of sectors available to the user. The maximum number of sectors per drive are:

AC2700	1,427,328
AC31000	2,116,800

Each sector consists of 512 bytes.

The minimum value for any translation parameter is one. The maximum value for any translation parameter is as follows:

Sectors/Track	255
Heads         	16
Cylinders/Drive	2048

The values in the Sector Count Register and the SDH Register determine the Sectors Per Track (SPT) and heads. Regardless of the values of the SPT and the heads, Caviar is always in the translation mode. Refer to Section 2.2 for the recommended setup parameters.


4.7 Logical Block Addressing

The Caviar drive supports Logical Block Addressing (LBA) mode. LBA allows sectors on the drive to be addressed by using cylinder, head, and sector numbers, or by using a single 28-bit logical block address. LBA mode is enabled by setting bit 6 in the SDH task file register. When entering a logical block address, the task file registers are as follows:

Task File Register	LBA Bits
Sector Number	7-0
Cylinder Low	15-8
Cylinder High	23-16
SDH (Bits 3-0)	27-24

When the LBA bit is set, logical block addressing is recognized by the following commands:

Read Sector 	Recalibrate
Write Sector	Seek
Read Verify	Format Track
Read DMA	Read Multiple
Write DMA	Write Multiple

For all other commands, the LBA bit is ignored.

Sectors on the drive have a 1:1 corresponding logical block address, with the first data sector on the drive being LBA 0. The task file following a command sent with the LBA bit set contains LBA parameters.

The AC2700 and AC31000 support both LBA and CHS-based addressing. Support for LBA addressing is included in advanced operating system device drivers and ensures high-capacity disk integration. It also offers higher performance on file systems that are LBA-based, thus avoiding unnecessary LBA to CHS conversion within the operating device system driver.


4.8 Dual Drive Operation

The Caviar supports ATA dual drive operations by means of configuration options for master or slave drive designation. The Caviar is 100% ATA compatible regarding the timing of the PDIAG and DASP signals. A jumper must be placed in the drive's option area for both master and slave configurations. If a jumper is placed on the cable select (CSEL) option, the drive address selection will be determined by the CSEL signal on the drive cable. Connection to the host is implemented by means of a daisy-chain cable assembly. These configurations are described in Section 6.

The SDH Register contains the master/slave select bit for the Caviar. The DASP signal is a time-multiplexed indicator of "Drive Active or Slave Present" on the Caviar's I/O interface.  At reset, this signal is an output from the slave drive and an input to the master drive, showing that a slave drive is present. For all times other than reset, DASP is asserted at the beginning of command processing and released  upon completion of the command. If the master drive option has been configured, the Caviar will not respond to commands or drive status on the interface when the slave bit is selected in the SDH Register.


4.9 Power Conservation

The AC2700 and AC31000 support the ATA Power Management commands that lower the average power consumption of the disk drives. For example, to take advantage of the lower power consumption modes of the drives, an energy efficient host system could implement a power management scheme that issues a Standby Immediate command when a host resident disk inactivity timer has expired. The Standby Immediate command would cause the drive to spin down the disk media and enter a low-power mode. Subsequent disk access commands would cause the drive to spin up and execute the new command.

To avoid excessive wear on the drive due to the starting and stopping of the HDA, the host's disk inactivity timer should be set to no shorter than ten minutes.


4.10 High Speed DMA Capability

By engaging an ATA-compatible, EISA (type B) or PCI (type F) DMA, the host CPU bandwidth is increased because the peripheral data transfer burden is off-loaded to the system's DMA channel. With the exception of DMA data transfers, which are limited to Read DMA and Write DMA commands, all other commands must be performed using PIO. DMA or PIO data transfer mode selection is performed on a command-by-command basis.


4.11 Advanced Host Transfers

The AC2700 and AC31000 support high-speed Mode 3 PIO. This is a high-speed, data transfer mode that utilizes hardware handshaking between the host and the drive via the IORDY signal. When the drive de-asserts the IORDY signal, the host extends the read/write cycle until IORDY is asserted, thereby eliminating data corruption from overrun and underrun conditions. When in Mode 3 PIO, the data can be transferred in bursts to and from the host at up to 11.1 megabytes per second.

Mode 3 PIO is enabled on the drive by issuing a Set Features command.  Once Mode 3 PIO is enabled, it can only be disabled by issuing another Set Features command, a hard reset, or by cycling power.

Mode 3 PIO timings were defined to facilitate IDE drive integration into VL and PCI local bus systems.


4.12 Zoned Recording

Zoned Recording is a mechanism for increasing the capacity of the drive by increasing the Bit-Per-Inch (BPI) density of data written on the longer outer tracks of the drive. Track capacity (number of sectors) is constant within groups of tracks or zones, and is increased when the tracks are sufficiently long to accommodate a significant number of additional sectors. This incremental increase in track capacity moving outward on the disk surface creates a series of concentric zones with different data densities.


4.13 Block Mode

In a standard operation, the host system gets interrupted each time a sector of data is transferred. In block mode, multiple sectors of data can be transferred with each interrupt. Data transfer overhead is reduced thereby increasing throughput and overall performance. Performance gains are most noticeable when the host requests data that is in the drive's cache buffer.


5.0 Installation and Setup Procedures

Disk drives are precision instruments that must be handled with care to prevent damage. It is important to understand that drives are typically damaged because of Electrostatic Discharge (ESD), rough handling, or shock and vibration. Please refer to the Drive Handling Guide (Literature Order No. S0999), for detailed instructions on all phases of drive handling.


5.1 Unpacking

5.1.1 Handling Precautions

Western Digital products are designed to withstand normal handling when unpacking and installing the drive. Care must be taken to avoid excessive mechanical shock or electrostatic discharge that can permanently damage the Caviar and void the warranty. When the Caviar is not in its shipping container or installed in its proper host enclosure, it must remain in the anti-static bag. To prevent damage, do not unpack your Caviar until you are ready to install it.

5.1.2 Inspection of Shipping Container

Carefully examine the container for obvious shipping damage, for example: holes, signs of crushing, or stains. Notify the carrier and your Western Digital representative if you observe any shipment damage. Always move the shipping container in the upright position indicated by the arrows on the container.

5.1.3 Removal From Shipping Container

Remove the Caviar from the shipping container only for inspection or installation. Carefully open the box. The Caviar is always shipped in a foam-insert package. When removing the Caviar from the foam insert, grasp the drive at the sides, behind the bezel (if the Caviar has been shipped with a bezel). Gently place the Caviar in its antistatic bag on a clean, level, grounded work station. Do not stack drives or stand the Caviar on edge.

Caution: When removing the Caviar from the shipping container, be careful not to drop it. Dropping the Caviar can severely damage the head disk assembly or printed circuit board.

Handle the Caviar only by holding the metal cover of the head disk assembly. Do not touch circuit board components. Do not attempt to open its sealed compartment. Failure to observe these restrictions will void the warranty.

5.1.4 Removal From Antistatic Bag

Before removing the Caviar from its antistatic bag:

 * Make sure that your work station is properly grounded.

 * Wear a properly grounded wrist strap with good skin contact.

 * Avoid contact with any component on the printed circuit board.

After attaching your wrist strap, gently remove the Caviar from the antistatic bag. Handle the Caviar only by the base casting areas. Never lift the Caviar by the printed circuit board. Handle the Caviar with the printed circuit board facing downward during installation.

5.1.5 Moving Precautions

If it becomes necessary to move your computer system, turn off the power to automatically park the heads. Parking moves the heads to a safe, non-data landing zone where they are locked into place. This helps protect the media and the heads from accidental damage due to vibration, moving or shipping.


5.2 Installation Configuration
5.2 Mounting restrictions

5.2.1 Orientation

The Caviar can be mounted in the X, Y, or Z axis depending upon the physical design of your system.

5.2.2 Screw Size Limitations

The Caviar is mounted to the chassis using four 6-32 screws. Recommended screw torque is 5 in-lb. Maximum screw torque is 10 in-lb.

Caution:  Screws that are too long will damage circuit board components. The screw must engage no more than six threads (3/16 inch).


5.3 Setup Procedures
5.3 Installation Configuration

5.3.1 Determining Your Configuration

You can configure the Caviar in one of two ways:

1. The drive is cabled directly to a 40-pin connector on the motherboard, or

2. The drive is cabled to an adapter card mounted in one of the expansion slots in the computer.

Both configurations use a 40-pin host interface cable.

If you are using the Caviar drive as one of two hard disk drives in the computer (dual installation), you may use either configuration. In dual installations, you must use a 40-pin host interface cable with three connectors and daisy-chain the two drives to the motherboard or adapter card.

5.3.2 Dual Installations

Dual installations require a master/slave drive configuration, where one drive is designated as the primary (master) drive and the other is designated as the secondary (slave) drive. The Caviar drive is compatible in dual installations with other intelligent drives that support a master/slave configuration.

If your installation requires the use of an adapter card, it is useful to know that you may also be able to connect your floppy drive(s) to the adapter card.

5.3.3 Jumper Settings

The Caviar drive has a jumper block (J8) located next to the 40-pin connector on the drive. The Caviar can be assigned as either a single, master, or slave drive. Look to jumper setting Pop Up menu item


5.4 Setup Procedures

5.4.1 Preparing the Caviar Drive for Use

The Caviar is pre-formatted (low level) at the factory and comes equipped with a full complement of defect management characteristics. No modifications are required before installation. If at some later time you need to perform defect management, contact Western Digital Technical Support for information on the WDAT_IDE utility.

Your computer operating system provides an initial setup utility which is either ROM-based or on floppy diskettes. The system setup procedures vary from system to system, but each setup procedure allows you to tell the system what type of hardware you are using. Follow the setup instructions in your operating system manual (MS-DOS or other operating system).

5.4.2 Partitioning the Drive for Use Under DOS

You need to partition your drive(s) to meet certain DOS version requirements. Partitioning divides the disk into one or more sections that function as separate disk drives. The DOS FDISK utility is used to display a series of menus that help you partition the hard disk for MS-DOS.

Your version of DOS determines how you can partition your disk(s):

 * If you have a DOS version earlier than 3.3, you can only address 32 Mbytes maximum on your drive. You cannot partition the drive(s) without second-party software. We recommend that you upgrade to DOS 3.3 or above.

 *  If you have DOS version 3.3, DOS allows you to partition larger drives into logical disk drives with a maximum of 32 Mbytes per partition.

 * If you are working with DOS version 4.0 or higher, you can partition the disk drive(s) into one or more logical drives. You are not limited to 32 Mbytes per partition.

FDISK automatically assigns drive IDs to the partitions. Refer to your operating system manual for more information on partitioning drives.

5.4.3 High-level DOS Formatting

High-level format the first logical drive (the C drive) by entering FORMAT C:/S at the A: prompt.

If you designated other drives or partitions during the FDISK routine, you need to high level format those drives or partitions as well.


5.5 Preparing the Drive for Novell

If you are installing older versions of Novell Netware, you must COMPSURF the Caviar drive using the following parameters:

Format the disk?	No

Maintain the current media defect list?	No

Enter media defects?	No

Number of sequential passes?	Default

Number of I/O random test	Default

Are parameters correct?	Yes

After running COMPSURF on the Caviar drive, enter NETGEN. Refer to your Novell installation manual for more information on COMPSURF and NETGEN.


4.14 Identify Drive Data

The Identify Drive command (ECH) transfers 512 Byte of Data that specify the Drive Parameter.

WorD	Description	Value
0	General configuration	427A Hex
1	Number of fixed cylinders	1416 (AC2700) 2100 (AC31000)
2	Reserved	0
3	Numbers of heads	16
4	Unformatted bytes per track	57600
5	Unformatted bytes per sector	600
6	Sectors per track	63
7	Minimum size of ISG in bytes	16
8	Reserved	0
9	Minimum PLO bytes	14
10 - 19	Serial number	WD-WTXXXXXXXXX
20	Buffer type	3
21	Buffer size in 512 byte Blocks	256
22	Number of ECC bytes on R/W long	4
23 - 26	Firmware revision	"XXXX"
27 - 46	Model number	WDC AC2700H WDC AC31000H
47	15 - 8 Vendor unique	8010H
48	Doubleword I/O	00H
49	IORDY/LBA/DMA support	F00H	Note1
50	Reserved	0
51	15 - 8 PIO data transfer cycle timing	180H
52	15 - 8 DMA data transfer cycle timing	200H
53	15 - 2 Reserved	03H	Note 2
54	Number of current cylinders	XX	Note 3
55	Number of current heads	XX	Note 3
56	Number of current sectors per track	XX	Note 3
57 - 58	Current capacity in sectors	XX	Note 3
59	Current Blocking factor	XX	Note 4
60 - 61	Total number of addressable sectors	1427328 (AC2700) 2116800 (AC31000)
62	15 - 8 Single word DMA transfer	01H
63	15 - 8 Multiword DMA transfer	03H
64	15 - 8 Reserved	01H
65	Minimum multiword DMA cycle time per word	150
66	Recommended multiword DMA xfer cycle time	180
67	Minimum PIO transfer cycle w/o Flow Control	380
68	Minimum PIO transfer cycle with Flow Control	180

Note 1

Word 49 (IORDY/LBA/DMA support)

Bits15 - 12  	0 = reserved

Bit11	1 = IORDY supported

Bit10	1 = IORDY can be disabled

Bit9 	1 = LBA supported

Bit8	1 = DMA supported

Bits7 - 0	0 = Vendor unique

Note 2

Word 53 (additional Words valid)

Bit 15-2	Reserved

Bit1	1 = the fields reported in words 64-65 are valid

Bit0    	1 = Words 54 - 58 are valid

Note 3

Set to the numbers of heads and sectors used the last time the drive received a Set Drive Parameters Command.

Note 4

Word 59 (Current Blocking factor)

Bits15 - 9	Reserved

Bits8	Always set to 1,  Multiple sector setting is valid

Bits7 - 0	Current setting for number of sectors / interrupt on R/W multiple commands.


Paradise PORTS O'CALL information

The Paradise Accelerator Ports o'call Card is a high performance Super VGA adapter for 32-bit VESA local Bus systems with combined I/O ports and local Bus enhanced IDE interface. By combining these functions on a single local Bus board you get the ultimate in capability and performance while using a single local Bus slot.

SVGA features

* Hardwarecursor, line draw and bitblit transfer acceleration for Windows

* special acceleration functions speed colour dithering, polygon pattern filling and polygon clipping

* resolution up to 1280*1024 and 256 colours interlaced and 1024*768 and 256 Colors non interlaced

* 16.7 million colours (24 bit) support for resolution of 640*480

* VGA, MCGA, CGA, MDA and Hercules display adapter compatible

* Driver support for Windows, OS/2, Autocad, PCAD, 3DStudio, Word...

* extended Text modes like 132 by 44 and 132 by 34

* Video pass through connector

Vesa Local Bus Enhanced IDE interface

* supports I/O channel ready

* supports 32 bit Datatransfer

* supports Mode 3 PIO timing for maximum throughput

More  Features:

* One bi-directional Parallel port

* two RS 232 serial ports

* Floppy disk drive controller support up to 2.88 MByte

* Game port

* Three year warranty


About Western Digital EIDE Help
About The Western Digital EIDE Help

Recommended resolution 800*600 or higher

Information furnished in this HELP FILE is believed to be accurate and reliable; however, no responsibility is assumed for inaccuracies or for use of the information. Product features and technical specifications are subject to change without further notice. No parts of this document may be reproduced or transmitted in any form or by any means without written permission of Western Digital

Copyright:	Western Digital Corporation, 1994

Modified By:	R.J. Smith

Western Digital, Irvine. smith_r@a1.wdc.com

Date: 11/23/94

Rev.: RJ 2.01

Original Concept: 	Juergen Hulzebosch

Western Digital, Germany. hulzebosch _j@a1.wdc.com

Trademarks


Western Digital EIDE Information


Enhanced IDE Background Information

Enhanced IDE Quick Overview

Summary Advantages of EIDE

View Enhanced IDE System

System Requirements for EIDE Drives

Upgrade Your System to Enhanced IDE

High Speed Host Data Transfer Modes

Operating System Support For Enhanced IDE

Enhanced IDE Help Information

Western Digital Support Utilities

Trouble-Shooting

WDCDRV.386 Error Messages

Windows 32-bit Disk Access Information

Disk Compression Issues And Hard Disk Installation

Enhanced IDE Implementation Guide Information

Introduction to Enhanced IDE

Proposal to Support IDE Drives Greater Than 528 MB

Proposal to Support High Speed IDE Host Transfers

Proposal to Support Dual IDE Channels

About The Western Digital EIDE Help File


Summary Advantages of EIDE

Enhanced IDE gives your System

- full backward compatibility to ATA IDE

- support of high capacity disk drives	(up to  8.5GB)

- support of high speed host transfer rates	(Mode 3 PIO, Mode 1 DMA)

- support of non-IDE peripherals	(e.g. IDE CD-ROM)

- support of multiple IDE peripherals	(second IDE Interface)

- Maintains "ease of use"	(Plug and Play)

- future OS compatibility	(Windows 95, Windows NT)

- cost effective high performance solution


System Requirements for EIDE Drives

If your system does not support all EIDE elements you can still use several EIDE features. Enhanced IDE drives are fully backward-compatible with standard IDE.

•	Local Bus/PCI IDE chip or Local Bus/PCI add-in card with:

IORDY support (Signal on IDE interface)

Mode 3 or DMA transfer capability

32-bit transfer capability

•	BIOS Int 13h extensions:

LBA (Logical Block Addressing for drives greater than  528 MB)

Primary and secondary IDE channel support

Block Mode PIO Support

EDPT (Enhanced Drive Parameter Table)

•	CMOS setup:	CHS to CHS Translation support

Automatic drive detection and configuration

•	Drive with: 	Mode 3 PIO, IORDY, DMA, and Block Mode PIO support


Upgrade Your System to Enhanced IDE

For Mode 3 Data Transfer

Break the 528MB barrier

Support Four EIDE Devices

Use of EIDE (ATAPI) CD-ROMs

Additional information

Ontrack Disk Manager

Micro Firmware ROM BIOS Upgrade

Microid Research ROM BIOS Upgrade

Add-in Cards and Motherboards


Use of EIDE (ATAPI) CD-ROMs

ATAPI CD-ROMs allow an easy upgrade of your System. With the current generation of ATAPI CD-ROMs the drive is just connected to the IDE Interface and is directly supported by operating systems such as Windows 95. The most desirable method of connection is to attach the EIDE CD-ROM to the secondary EIDE channel which uses PIO addresses 170h through 177h and IRQ 15. This frees the primary EIDE channel for faster disk drive devices since the CD-ROM throughput is more closely matched to the slower ISA bus.

ATAPI Compliant CD-ROM Drive Manufacturers

Company	Product	Phone
Phillips LMS	CDD-300 ATAPI	800 777-5674
Wearnes Technology	CDD-120 ATAPI	408 456-8838
Additional CD-ROM information and help on ATAPI CD-ROMs will be added in the next release of this help file.


For Mode 3 Data Transfers

Hardware required for higher transfer rates:

- VESA Local Bus EIDE or PCI EIDE plug-in adapter

with Mode 3 support

with IORDY support

(on Board BIOS recommended)

- or Motherboard with integrated VESA Local Bus EIDE or PCI EIDE interface

- Hard disk with Mode 3 and IORDY support

- BIOS with Block mode support highly recommended (to reduce Interrupt overhead)

Software:

- driver for the operating system to initialize the EIDE chipset

(if initialization is not done by the motherboard BIOS)


Break The 528MB Barrier

Using the traditional IDE Interface will limit the system to 528 Mbyte Hard Disk Drives. The background behind this limit is the Int 13 ( BIOS/CMOS ) and IDE ( WD 1003 / OS ) field sizes for the CHS ( Cylinder, Head and Sector ) entries. The limitation comes from the fact that the system must perform a translation between the CHS parameters recognized by the drive and those established in the INT13 code. Because of this translation, parameters are limited to the smallest of the field size allowed for each parameter by the BIOS, OS and WD 1003 register set ( IDE ).

Enhanced IDE systems solve the problem by implementing an extension to the Int 13h in software or in the BIOS which translates parameters into a non-drive specific 28-bit Logical Block Address.

To use high-capacity drives you need:

- a motherboard BIOS with Int13h extensions on motherboard that supports:

LBA translation or CHS-to-CHS translation

Enhanced Drive Parameter Table

- or software such as Ontrack Disk Manager for ISA, VL, or PCI Systems if you don't have an enhanced BIOS

- or a VLB/PCI EIDE Card with integrated BIOS supporting the Int 13h extensions

- or a LBA DOS TSR, an overlay driver, or a third-party BIOS upgrade

- and a Hard disk with LBA support

Operating System support for drives greather than 528 MB:

DOS:

- no changes required if BIOS supports LBA ( DOS supports partitions up to 2GB)

- else a device driver or TSR that supports the Int 13h extensions

Novell Netware:

- has embedded support of drives > 528 MB

no changes required

BIOS must support Automatic configuration

Windows 3.1, 3.11, and Windows For Work Groups (WFWG) 3.11:

- in 32-Bit Disk Access OFF mode no changes required as long as the BIOS supports LBA

- in 32-Bit Disk Access ON Mode

use FastDisk driver from your VLB/PCI EIDE board manufacturer

to support 32-bit disk access for drives > 528 MB

use WD FastDisk driver WDCDRV.386 on motherboards with integrated

BIOS (LBA, Block mode, EIDE chip on-board)


Add-in Cards and Motherboards

VESA Local Bus boards with Enhanced IDE support

Company	Product	Phone
AccuLogic	SIDE-4/VL	714 454-2441
Arco Computer Products	AC32VL / AC32VL+	305 925-2688
CMD	CSA-6210 VL-EIDE	714 454-0800
Data Technology Corp. (DTC)	DTC 2278	408 942-4000
Promise Technology	EIDE2300+	800 888-0245
Tyan Computer	S1342 / S1345	408 956-8000
Western Digital	Paradise Ports OCall	714 932-4900

PCI add-in cards with Enhanced IDE support

Company	Product	Phone
AccuLogic	SIDE-2	714 454-2441
Arco Computer Products	AC32PCI / AC32PCI+	714 454-0800
CMD	CSA-6400	714 454-0800
Data Technology Corp. (DTC)	DTC 2130	408 942-4000
Promise Technology	DC500	800 888-0245
Tyan Computer	S1362 EIDE / S1365 EIDE/SCSI	408 956-8000

Motherboards with Enhanced IDE support

Company	Product	Phone
EliteGroup-ECS	Various VL and PCI motherboards	510 226-7333
Intel	Plato P54C PCI	800 548-4725
Micronics	M4Pi: PCI/486  M54Pi PCI P54CT	510 651-2300
USA Teknik	Trinity VL,LPX	214 630-6600

Companies That Ship EIDE Aware Systems

•	AST

•	Compaq

•	DEC

•	Dell

•	Fountain

•	Gateway 2000

•	IBM

•	Intel

•	Micronics

•	NEC

•	Olivetti

•	Zenith / Packard Bell


Support Four EIDE Devices

EIDE systems will support 2 ports. Each port can handle 2 devices ( master and slave ) so that an EIDE system supports 4 devices. The primary port is usually connected to a local bus ( PCI or VL ) connector. This port is at the same port address (1F0h) as a standard IDE system. This assures compatibility with Operating Systems as well as other software which  talks  to an IDE device. The enhancements (higher performance and >528 MB disk size) must be enabled by additional software (BIOS or driver). In most cases, the secondary port is connected to the ISA bus, but this is not defined in the specification. In the future, the secondary port can be a local bus connection. The secondary port is typically at address 170h. The usage of this port may differ between Operating Systems. Normally, the secondary port is used for lower transfer rate devices such as EIDE CD-ROM or EIDE tape drives.

To use four EIDE devices you will need:

Hardware:

- a Paddle card which can be jumpered to the primary / secondary IDE port

- or Motherboard with one VLB/PCI IDE connector and one standard ISA bus IDE connector

Software:

integrated support in the newer BIOS versions or device driver for second IDE port

or software like Ontrack Disk Manager, EZ-Drive, or IDEnhancer

Recommended Adapter configurations:

primary adapter: 	Task File register at 1F0h and IRQ 14

high performance storage such as hard disks with Mode 3 support

secondary adapter: 	Task File register at 170h and IRQ 15

Secondary storage such as EIDE CD-ROM and EIDE Tape Drives

Operating System Support for 4 EIDE devices:

DOS:

DOS 5.0 and later already supports up to seven disk drives

Windows 3.1, 3.11, and Windows For Work Groups 3.11

same as DOS support

Windows 95

same as DOS support

Novell

already supports up to four IDE channels


High Speed Host Data Transfer Modes

PIO Transfers (Mode 3, and Mode 4 are now defined)

Mode	Cycle time	Burst Transfer Rate

0	600 ns	3.33 MBytes /s

1	383 ns	5.22 MBytes /s

2	240 ns	8.33 MBytes /s

3	180 ns	11.1 MBytes /s

4	120 ns	16.6 MBytes/s

Single word DMA Transfers

Mode	Cycle time	Burst Transfer Rate

0	960 ns	2.08 MBytes /s

1	480 ns	4.16 MBytes /s

2	240 ns	8.33 MBytes /s

Multi word DMA Transfers (Mode 1, 2 now defined)

Mode	Cycle time	Burst Transfer rate

0	480 ns	4.16 MBytes /s

1	150 ns	13.3 MBytes /s

2	120 ns	16.6 MBytes /s


Operating System Support For Enhanced IDE

Enhanced IDE and DOS

EIDE and Microsoft Windows

EIDE and Novell Netware

EIDE vs SCSI in Novell Netware

Enhanced IDE and OS/2

EIDE and Windows NT

Known Issues and Solutions


Enhanced IDE and DOS

LBA support

no DOS changes required for Capacities > 528 MB when BIOS supports LBA

PIO Mode 3 support

Driver needs to initialize Mode 3 Timing

(Driver should support Block Mode and LBA)

no driver needed when LB IDE Card has BIOS

- support 4 IDE drives (or two drives + IDE CD-ROM)

Four IDE drives only supported when BIOS supports it

or use a driver such as Disk Manager from Ontrack Computer Systems

(CD-ROM driver general support secondary port

no BIOS or Disk manager support needed)


EIDE and Microsoft Windows

supports drives with more than 528 MBytes (LBA)

- when BIOS supports LBA use the Fastdisk driver of the LB EIDE Board manufacturer for full EIDE support in Windows

- use the driver of the LB EIDE Board manufacturer to support BIOS Translation mode

- use the WD Fastdisk driver for Motherboards with integrated LBA support and on board EIDE chip

supports PIO Mode 3 Timing

- LB IDE chip will be initialized within DOS (or on board BIOS)

supports 4 IDE drives (or two drives + IDE CD-ROM)

- when motherboard has INT13 extension support no changes required

- and 4 IDE drives supported when DOS (BIOS) supports it

Win 3.11 install info.

- "Write Behind" cache of Smartdrive causes problems with 32BIT File access

 disable Write Behind Cache within Smartdrive with option /X

- you can disable embedded Write cache by adding the following to System.ini:

[vcache]

ForceLazyOff=cde

rem: to disable write cache for C:; D:; and E:

- Smartdrive must be loaded after MSCDEX when you want to cache CD-ROM

- MSCDEX must be loaded with /S before NET START for CD-ROM Network access

Some Hints:

- Windows use INT 13 (BIOS) when "32 BIT OFF" mode is used no changes required

- use the 32BIT Fastdisk driver of your LB EIDE Board Manufacturer to support 32 BIT ON when Translated BIOS is used or BIOS without LBA support is used

- use WD Fastdisk driver for "32 BIT ON" to support LBA / DMA / Block mode on WD Caviar Drives > 528 MB when BIOS supports LBA and EIDE chip is implemented on Motherboard

- Windows 32 BIT ON mode does not support removable media

- if 32 BIT access is enabled Windows use the Fastdisk driver mainly in protected mode

- if Windows is configured for a temporary SWAP FILE it performs accesses to that SWAP file through INT13.

- if you use Drives with more than 528 MB and the MS Fastdisk driver you need to change the SETUP to 1024 Cylinder if your System does not support LBA

Windows 3.11 and Novell DOS 7.0

- WFWG requests to remove NWCACHE before Windows 3.11 can be installed

- WFWG requests to remove "DPMI=off" for EMM386.SYS in the config.sys


EIDE and Novell Netware

support of drives with more than 528 MBytes (LBA)

- embedded Support of more than 528 MB drive capacity, no changes required

- uses CHS Mode, but does not use BIOS INT13

support for PIO Mode 3 Timing

- when motherboard has LB IDE chip (initialized during boot) no changes required.

- when LB IDE add on board is used the chip must be initialized to work with Mode 3.

- or use a LB IDE card with BIOS which is capable to work without driver for initialization

support of 4 IDE drives (or two drives + IDE CD-ROM)

- embedded support for up to 8 IDE drives


EIDE vs SCSI in Novell Netware

* costs of connectivity:

IDE paddle card (15$) if not implemented on motherboard

compared to SCSI add on card (> 100$)

* costs of IDE Hard disk compared to SCSI Hard disks

* easy connectivity of IDE compared to SCSI

* easy use and installation for low cost server / client applications

* no problems like SCSI driver update and driver compatibilities

* LB IDE offers high performance Data transfer

(SCSI has to use the same BUS)

* > 528 MB support is embedded in Novell

(uses the HDD ID command)

* Novell has embedded support for up to 8 IDE drives

* future IDE CD-ROM support

* DMA data transfer option is also available on IDE Hard disks

DMA Type B for EISA , DMA Type F / B for PCI


Enhanced IDE and OS/2

LBA (support of > 528MB drives) and OS/2

During boot initialization, both MS OS/2 1.31 and IBM OS/2 2.1 will perform an Identify Drive command to obtain the total capacity of the drive. If the drive is greater than 528 MB, it will then access the drive parameter table via INT 41h or INT 46h and check to see if the INT 13h number of heads is greater than 16. If so, it will check for the AXh translation signature and if valid, will obtain the IDE interface level CHS information from the Enhanced Drive Parameter Table and use these parameters to access the hard disk. Note that LBA addressing is not used; OS/2 simply uses the CHS values returned by the drive on the Identify Drive command. The user can optionally use the BASEDEV=IBM1S506.ADD /LBA option in CONFIG.SYS in order to have OS/2 access the drive using LBA addressing.

If the AXh Translation signature was not found, then more than 528 MB can still be accessed as long as the HPFS file system is used. In this case OS/2 will work like Netware and use the same number of heads and sectors/track as Int 13h but will increase the number of cylinders accessed in order to obtain the total capacity of the drive.

Dual Channel Support Under IBM OS/2 2.11

IBM OS/2 2.0 and 2.1 supports four IDE drives on dual IDE channels via its IBM1S505.ADD driver.

Dual Channel Support Under Microsoft/IBM OS/2 1.31

OS/2 1.31 supports four IDE drives on dual IDE channels via its ESDI.BID driver.

more details in EIDE Backgrounder


EIDE and Windows NT

Daytona (Windows NT 3.5)

- will have full IDE CD-ROM support

- will have embedded ATAPI support

more details in EIDE Backgrounder


Ontrack Disk Manager

- latest revision is 6.03

- supports drives > 528 MB for DOS/Windows

- supports 4 IDE drives when BIOS does not support it

- 32-bit disk access supported when WDCDRV.386 is used with Caviar drives

- Does NOT support OS/2, Windows NT, Netware, or Unix/Linux

Ontrack USA	Tel: (612) 937 1107

BBS (612) 937-0860

Ontrack UK	Tel: +44 81 974 5522

toll free: 0800 24 39 96

Germany	toll free: 0130 815 198


Introduction to Enhanced IDE

Information furnished by Western Digital Corporation is believed to be accurate and reliable. However, no responsibility is assumed by Western Digital Corporation for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Western Digital Corporation. Western Digital Corporation reserves the right to change specifications at any time without notice.

Western Digital's Enhanced IDE Program

Today's Market

The traditional computer market place has evolved into three primary classes of computer products: the personal computer, the workstation, and the commercial computer. These three market segments are distinguishable from each other by their offering widely different cost, compatibility, and performance tradeoffs in accordance with the expectations of their respective user bases. Personal computers have been targeted at a broad based user group focused on the moderate performance required for spreadsheet analysis, word processing capabilities, and some graphics for presentation preparation. The usage of these machines in business and in home environments as single user, single tasking computers has dictated an emphasis on cost and compatibility. Unlike their workstation and commercial computer counterparts that support multitasking operations, cost and compatibility will not be traded off to provide highest performance in desktop machines. The personal user market will not bear the added cost or potential lack of compatibility.

 Processors, operating systems, and bus architecture, a system's basic building blocks, reflect the market's balance between cost, compatibility, and performance and are typically uncommon from segment to segment. The building blocks of a personal computer are unlike those of a workstation or commercial computer and the dominant suppliers of personal computer components have traditionally not played in other market segments. Having captured the single largest segment of the computer market place (45% of total revenues in 1992 resulted from personal computer sales), PC market suppliers are looking to expand into other segments that to date have remained untapped by personal computer players.

Changing Complexion

The introduction of new "basic building block" technologies by traditionally personal computer focused suppliers, will change the complexion of today's computer markets and will blur the lines of distinction between the existing three segments described. These new technology enablers will alter today's performance offerings of desktop machines "enabling" the emergence of a new desktop class.  As part of a Microsoft and Intel strategy to transition beyond the PC markets into higher performance workstation and commercial segments, Windows NT and Pentium products will boost the capabilities of a desktop computer beyond the confines of a single user, single tasking environment thereby creating a personal computer that can compete outside the PC market segment. The historical cost and compatibility advantages of the personal computer model will follow these high performance systems as they begin to compete with workstations and commercial computers.

Microsoft and Intel's strategy to supply operating systems and processors to non-PC markets opens opportunities for other PC architectures as well. The personal computer's successful AT-IDE interface and its cost and compatibility advantages will have opportunity for success in newer markets, following the Pentium and Windows NT lead.

Enhanced AT-IDE

The historical success of AT-IDE within the PC market resulted from a perfect match between its offerings and the requirements of the market it served. Specifically its low cost of connection, compatibility, and ease of use were advantages in the single user, single tasking world. These characteristics present some challenges, however as newer markets demand greater flexibility. In today's market, the Small Computer System Interface (SCSI) has provided this flexibility to the higher performing workstation and commercial markets. Western Digital's Enhanced IDE program intends to work with industry players by providing the tools necessary to extend the attributes of the AT-IDE interface such that its characteristics more effectively match the requirements of non-PC markets, while maintaining its traditional advantages of cost, compatibility, and ease of use.

Enhanced IDE: Goals and Objectives

The historical disadvantages of AT-IDE relative to SCSI in the non-PC market provide opportunities for change. Specifically, AT-IDE's limitations are mirrored by SCSI's advantages as follows:

AT-IDE	SCSI

Supports limited Type of 	Support for multiple peripheral

Peripherals: Disks Only	types: CD-ROM, Tape, Disks

Supports limited drive 	Focused on high capacity drives

capacity: 528MB maximum

Offers limited Host Transfer Rates:	Offers 5 and 10MB/sec transfers

2-3MB PIO to 5.5MB with	with high end up to 20MB/sec

local bus	(fast and wide SCSI)

Supports limited cable length: 18"	Supports 6 meters cable length

Provides internal Focus: primarily 	Offers both in-box and out-box

in-box solutions only	solutions

Western Digital's Enhanced IDE program objective is to remove the limitations and disadvantages that have relegated IDE to a personal computer only interface and thereby allow it to be a successful interface choice in the workstation and commercial computer markets.


Components for Success

Western Digital's Enhanced IDE program consists of four primary components.  These component elements are areas that the industry as an entity can participate in toward extending AT-IDE's cost, compatibility, and ease of use benefits into new markets. Each Enhanced IDE area is supported in this implementation guide by a "how to" discussion allowing easy implementation and integration into next generation desktop designs.

1. BIOS Changes to Support IDE Drives > 528MB

A barrier in implementing IDE disk drives greater than 528MB exists in today's system BIOSs. This barrier is based on historical reasons dating from the development of the original AT in 1984. Specifically, it is a limitation of the combined Interrupt 13 software interface and IDE drive capabilities that results in the support of a 528MB maximum capacity. The goal is to change system BIOSs such that this barrier no longer exists, thereby enabling the usage of high capacity AT-IDE disk drives.

2. Faster Host Transfers

With the advent of VL Bus and PCI, systems have the ability to transfer data much faster than the ISA bus. PCI solutions that offer enhanced transfers via DMA have the disadvantage of requiring operating system drivers. VL bus solutions, although enhancing transfer performance, are still based on blind PIO limiting the speed to roughly 5.75MB/sec. Removing compatibility and performance barriers currently existing in these solutions provides the ability for second generation solutions to compete with SCSI transfer rates of 10MB/sec.

3. Dual IDE Channels

The original IBM PC/AT defined support for two hard disk controllers and thereby allowed support for four disk drives via a primary and secondary controller. The 	original system BIOS and operating system drivers, however, only supported the primary controller thereby limiting the standard PC configuration to two disk drives. Today's operating systems now offer both primary and secondary controller support providing an opportunity to extend peripheral attachment capabilities with AT-IDE. The addition of a second channel via a hardware change is a simple, low cost solution that allows multiple IDE peripheral connectivity.

4. Non Disk IDE Peripherals

The upcoming high performance desktops are demanding additional peripheral support beyond disk drives. Specifically, CD-ROM and tape devices will 	demonstrate rapid unit growth rates as these peripherals become a more standard part of the desktop's configuration. Today's CD-ROMS and tape drives have multiple interfaces that present compatibility and performance issues. Development of a standard IDE interface for both CD ROMs and tape drives solves cost, compatibility, performance, and ease of use issues in conjunction with enabling the attachment of non-disk devices via the IDE interface.

Putting it all Together

Collectively, the above elements combine to satisfy the marketing requirements for next generation desktop machines:

*	Support of high capacity disk drives

*	Support of high speed host transfers

*	Support of multiple IDE peripherals

*	Support of non-disk IDE peripherals

*	Provision of cost effective high performance solutions

*	Maintenance of industry compatibility

*	Maintenance of AT-IDE's "ease of use" tradition

This implementation guide provides the details toward putting these Enhanced IDE elements together for the development of high performance IDE machines. Western Digital has taken a leadership role in the support of Enhanced IDE, and will continue to work with industry participants toward the successful evolution of AT-IDE.


Proposal to Support IDE Drives Greater Than 528 MB

Rev 3.0, 10 Nov 93

Purpose

This document proposes a solution for breaking the 528 MB barrier associated with the Int 13h BIOS interface used to access IDE drives. This document will attempt to define what Western Digital feels to be a simple yet effective way for system manufacturers, BIOS implementers, and operating system vendors to support IDE drives with capacities above 528 MB. The draft proposed American National Standard AT Attachment (ATA) Interface for Disk Drives, Revision 4a, dated April 19, 1993, or later, should be used as a reference while reading this document.

Problem Definition

The 528 MB barrier exists today in IBM compatible Int 13h BIOS due to the number of bits allocated for specifying the cylinder, head, and sector address information at both the Int 13h interface level and at the IDE interface level. At the Int 13h interface level, 10 bits are allocated for the cylinder number, 8 bits are allocated for the head number, and 6 bits are allocated for the sector number. At the IDE interface level, 16 bits are allocated for the cylinder number, 4 bits are allocated for the head number, and 8 bits are allocated for the sector number. Combining these two interfaces produces an artificial 528 MB barrier. The table below highlights the problem:

BIOS	IDE	Limitation

Max Sectors/Track	63	255	63

Number of heads 	255	16	16

Number of Cylinders	1024	65536	1024

Maximum Capacity	8.4 GB	136.9 GB	528 MB

Proposal

The proposal to break this 528 MB barrier is to modify the Int 13h BIOS so that it translates the cylinder, head, and sector information passed to it into a 28 bit Logical Block Address or LBA. This LBA is then loaded into the drive's task file registers. Bit 6 of the drive's SDH register is set to indicate to the drive's firmware that it should interpret the information in its task file registers as LBA rather than cylinder, head, and sector information. This scheme will allow for the full use of all of the bits allocated for CHS information at the Int 13h interface, thus supporting up to 8.4 GB drives.

This scheme was first documented in revision 3.1 of the ATA specification. Below are definitions for the drive's task file registers when in CHS mode and when in LBA mode:

CHS vs LBA Addressing

CHS	LBA

Bits	76543210	76543210

Sec. #	Start Sec.	LBA Byte 0

Cyl. low	Start Cyl.low	LBA Byte 1

Cyl. high	Start Cyl.high	LBA Byte 2

SDH 	1L1DHHHH	1L1D LBA 27-24

Where:

D = Drive Select

H = Head Number

L = 1, Task File in LBA mode

L = 0, Task File in CHS mode

Proposal Features

* 100% compatible under DOS (no DOS changes required).

* 100% compatible under Windows 3.1 in 32 bit address off mode (no Windows changes required).

* Windows 3.1 in 32 bit address on mode requires modified FASTDISK driver (Western Digital supplied).

* 100% compatible with MS OS/2 1.31

* 100% compatible with IBM OS/2 2.1.

* 100% compatible with Windows NT

* 100% compatible with Novell Netware 386 3.11, 4.0 (uses IDE CHS values, no LBA translation).

CMOS/Setup Changes Required

The key CMOS/SETUP change required to support the LBA translation proposal is to give the end user two types of drive parameter tables to choose from for each drive installed, the first being an Automatic Configuration type and the second being a Translation type.

1. Automatic Configuration

Selecting this drive type causes a drive parameter table to be created during POST that has CHS information at the Int 13h interface equal to CHS information returned by the drive on the Identify Drive command. This drive type is for operating systems that bypass the BIOS and can access more than 1,024 cylinders (Netware, UNIX). It must be selected when the user wants to run Novell Netware with drives greater than 528 MB. The drive parameter table will contain more than 1,024 cylinders, but DOS and Windows will still be limited to 528 MB due to the Int 13h Function 8 Read Parameters being limited to reporting 1,024 cylinders.

2. Translation

Selecting this drive type will cause the BIOS to perform translation. An "Enhanced Drive Parameter Table" will be generated during POST that, for drives greater than 528 MB, will present CHS information at the Int 13h interface that is different than CHS information returned by the drive on the Identify Drive command. Drives with up to 8.4 GB of capacity can be supported. This table should be selected for DOS, Windows, Windows NT, and OS/2 2.1.

BIOS Changes Required (POST)

The changes required in the BIOS at POST time essentially consist of creating a special BIOS drive parameter table called an Enhanced Drive Parameter Table (EDPT). This table contains two sets of cylinder/head/sector information, one presented by the BIOS to the operating system and another presented by the drive on an Identify Drive command. At POST time the BIOS will perform an Identify Drive command and check bit 9 of word 49 (set = LBA supported) to see if the drive supports LBA addressing. If the drive supports LBA addressing, and CMOS indicates that the user has selected the LBA Translation drive type, then the BIOS will create the Enhanced Drive Parameter Table. The BIOS also needs to initialize a flag for each drive installed that indicates whether or not LBA addressing should be used. This flag must be accessible to the runtime Int 13h BIOS.

The number of cylinders, heads, and sectors/track that the BIOS presents to the operating system on an Int 13h Function 08h Read Drive Parameters is obtained from the EDPT and will depend on the capacity of the drive. The capacity of the drive is obtained from words 60 and 61 of the Identify Drive command. During POST, the BIOS will initialize the cylinder, head, and sector/track information within the Enhanced Drive Parameter Table. The table below lists a scheme that can be used to set the number of cylinders, heads and sectors/track for the Int 13h interface.

Int 13H Drive Parameter

               	SPT	Heads	Cylinder

528 <X< 1056 	63	32	X/(63*32*512)

1057 <X< 2113	63	64	X/(63*64*512)

2114 <X< 4227	63	128	X/(63*128*512)

4228 <X< 8223	63	255	X/(63*255*512)

The Enhanced Drive Parameter Table also contains entries for the number of cylinders, heads, and sectors/track used at the drive interface level. These parameters are those obtained from the Identify Drive command. These are the parameters the BIOS should use when issuing the Set Parameters command to the IDE drive.

BIOS Changes Required (Runtime)

At run time all of the operation codes issued to the IDE drive remain the same when using LBA addressing. The differences are in the setting of bit 6 of the SDH register and in the loading of the drive's task file with an LBA. The formula for converting a CHS address contained within the CX and DX registers when Int 13h is called to an LBA address is as follows:

LBA Conversion

LBA = [(Cylinder * # of Heads) + Head] * Sectors/Track + Sector - 1

Initial definition CHS (0, 0, 1)= LBA 0.

The BIOS should use LBA addressing only for the following commands; read (with and without retries), read verify, read long, write (with and without retries), write verify, write long, read multiple, write multiple, read DMA, write DMA, seek, and format track. For all other IDE commands LBA addressing should not be used.

Implementation Notes

*	Int 13h Function 00h, Reset

The BIOS typically performs a soft reset to the IDE drives by writing to the control register, then issues a Set Parameters command, Set Multiple command (if enabled), and Recalibrate command to each drive. If an EDPT is active, then the Set Parameters command should use the IDE interface level CHS information out of the EDPT to initialize the drive, not the Int 13h interface level CHS information.

*	Int 13h Function 05h, Format Track

If an EDPT is selected, then the BIOS should use LBA addressing for this command. Before translating from CHS to LBA, the BIOS should set the sector number to 1 since sector number is not an input for Int 13h Format Track. The sector count register should be loaded with the number of sectors/track that was used to initialize the drive with the Set Parameters command. No changes are made to the interleave table created by the application program.

*	Int 13h Function 08h, Read Drive Parameters

No changes required. Returns CHS information from standard offsets within the BIOS drive table. If an EDPT is active and the drive capacity is greater than 528 MB, then CHS information returned on this call will be different than the CHS parameters used by the drive. One very important point here is that if the user has selected the "Automatic" drive type (non-translate drive type) and the drive has more than 1,024 cylinders, the BIOS should go ahead and place the total number of cylinders returned by the drive in the drive parameter table. However, when the Read Drive Parameters function is called the BIOS should return the maximum allowable number of cylinders (1,024) instead of just truncating the total number of cylinders in the drive table down to ten bits. Just blindly taking ten bits from the drive table entry for the number of cylinders can result in the BIOS returning something significantly less than 1,024 for the number of cylinders.

Operating System Compatibility

Q:	How will DOS 5, DOS 6 and Windows 3.1 in 32 bit address off mode work?

A:	Under these operating environments Int 13h is called to access the hard disk. Therefore, no operating system level changes are required to support drives greater than 528 MB.

Q:	How will Windows in 32 bit address on mode work?

A:	The FASTDISK driver supplied by Western Digital will check for the LBA Translation signature in the Enhanced Drive Parameter Table. If the signature is valid, the driver will access the hard disk in LBA mode thus supporting drives greater than 528 MB.

Q:	How will OS/2 work?

A:	During boot initialization, both MS OS/2 1.31 and IBM OS/2 2.1 will perform an Identify Drive command to obtain the total capacity of the drive. If the drive is greater than 528 MB, it will then access the drive parameter table via Int 41h or Int 46h and check to see if the Int 13h number of heads is greater than 16. If so, it will check for the AXh translation signature and if valid, will obtain the IDE interface level CHS information from the Enhanced Drive Parameter Table and use these parameters to access the hard disk. Note that LBA addressing is not used; OS/2 simply uses the CHS values returned by the drive on the Identify Drive command. The user can optionally use the BASEDEV=IBM1S506.ADD /LBA option in CONFIG.SYS in order to have OS/2 access the drive using LBA addressing.

If the AXh Translation signature was not found, then more than 528 MB can still be accessed as long as the HPFS file system is used. In this case OS/2 will work like Netware and use the same number of heads and sectors/track as Int 13h but will increase the number of cylinders accessed in order to obtain the total capacity of the drive.

Q:	How will Windows NT work?

A:	Same as OS/2 2.1 except no LBA addressing option is available in CONFIG.SYS.

Q:	How will Novell Netware work?

A:	The user should select the Automatic Configuration option in CMOS/SETUP for the drive setup. Netware 3.11 and 4.0 will perform an Identify Drive command to obtain the total capacity of the drive. It will access the drive using the same number of heads and sectors/track as those used by Int 13h but will increase the number of cylinders in accordance with the total capacity of the drive.

Q:	How will SCO UNIX work?

A:	The user should select the Automatic Configuration option in CMOS/SETUP for the drive setup. SCO UNIX 3.2.4 will obtain the drive parameters via Int 41h/46h and use those cylinder, head and sector/track values to access the drive. Note that the CMOS drive table pointed to by Int 41h/46h should contain the cylinder, heads, and sectors/track values returned by the drive on the Identify Drive command. SCO UNIX is not limited to 1,024 cylinders and thus supports IDE drives larger than 528 MB.

SCO UNIX also supports a "Fully Configurable Installation" that allows the user to define manually the cylinder, heads, and sectors/track values. Thus the user can enter more than 1,024 cylinders for situations where the drive table was set to 1,024 cylinders even through the drive reported more than 1,024 cylinders on the Identify Drive command.

Diagnostic Compatibility

Diagnostics that use Int 13h to access the hard disk will work fine with a BIOS that performs LBA translation (Norton Utilities, Checkit, Spinrite). Only software packages that attempt to access the hard disk directly while using the Int 13h level CHS information instead of obtaining the true drive geometry via the Identify Drive command will have a problem. We are not aware of any current software packages that have this problem.

Counter Proposals

Having the Int 13h BIOS perform an LBA translation is not the only way to break the 528 MB barrier. One other often discussed way is to have the BIOS translate the CHS address at the Int 13h interface to the CHS parameters being used at the drive interface. This scheme requires no effort at all on the drive vendor side, and is favored on the BIOS implementor side, as it results in less code, a critical issue within today's BIOS ROM.

Western Digital feels that LBA translation is the best solution for the long term because it provides a clean and efficient way for future operating system drivers to access IDE drives. Generally speaking, operating system companies do not like physical addressing (cylinder, head, sector) and prefer logical addressing. This can be seen in that device drivers in today's operating systems already deal with storage devices in LBA mode. They typically have to convert this LBA to a CHS value in order to either call the Int 13h BIOS or access the IDE drive directly. Operating system companies' use of logical addressing will only become more necessary in the future, as operating systems provide enhanced plug and play capabilities that are designed to accommodate hot docking and undocking of mass storage peripherals. If IDE drives supported LBA addressing, future operating system drivers could access the drive directly in LBA mode, bypassing the translation from LBA to CHS.

Another solution is the Int 13h Extensions Functional Specification as proposed by Microsoft and IBM, which defines "packets" that are provided as inputs when Int 13h is called. These packets define LBA addresses, not CHS addresses, and will support IDE drives with up to 137 GB of capacity. The purpose of Int 13h Extensions is to support drives with more than 1,024 cylinders and to add support for software control of drive locking for removable media. Int 13h Extensions is slated to be supported by future versions of Windows. Appendix K contains the comprehensive Int 13h Extensions interface specification based upon published information available from both Microsoft and IBM.

If Int 13h Extensions is supported by the BIOS, but not by the IDE drive, the BIOS would have to convert the LBA to a CHS in order to access the drive. This becomes tedious when one considers that drives from different vendors and drives of different capacities all have different CHS geometries.

LBA Translation Test Results

Below is a list of operating systems/applications that have been successfully tested in Western Digital's FIT Lab on a BIOS that implements the proposal described above. The test drive was a WDC AC2540, which has Identify Drive parameters of 1048 x 16 x 63. The test BIOS implemented the Enhanced Drive Parameter Table as defined above. The Int 13h Function 8 parameters were 523 x 32 x 63, and the drive level parameters were 1048 x 16 x 63. LBA addressing was used to access the drive. Tested were:

MS DOS 5.0/Windows 3.1

 	MS DOS 5.0/Windows 3.1/32 Bit*

MS DOS 6.0/Windows 3.1

MS DOS 6.0 DBLSPACE

MS OS/2 1.3

IBM OS/2 2.1**

Windows NT 3.1

Norton Utilities 7.0 Speed Disk & Disk Doctor

Spinrite 2.0/3.1

Checkit 3.0

QAPLUS/FE 5.11

Fastback Plus 3.0

McAffee Virus Scan 8.4 B89

Western Digital Benchmark Suite, Including:

Coretest 2.92

QBench 1.21

PC Bench 7.0 Disk Harmonic

WinBench 3.1 Disk Winmark

Notes:

* Using Western Digital supplied driver

** Compatible but not tested due to test system problem

*** Novell NetWare 3.11 and 4.0 and SCO UNIX require a non-translating drive type. Drives larger than 528 MB are still supported, however. (Support in NetWare and SCO UNIX is described earlier in this document.)

Conclusion

Performing LBA translation in the BIOS is a simple yet effective way to break the 528 MB barrier with IDE drives. LBA addressing lays the groundwork for future operating systems to access IDE drives in a clear and logical manner. In addition, the concept of a translating drive type or Enhanced Drive Parameter Table is already endorsed by Microsoft with Windows NT and IBM with OS/2 2.1


Proposal to Support High Speed IDE Host Transfers

Rev 3.1,  Oct 6, 1993

High Speed Host Transfers

Local bus has become a mandatory feature within new PC systems, primarily driven by the requirements for high performance video. The two primary methods of local bus attachment are VESA Local Bus (VL) and PCI. The advent of local bus has forced the industry to answer the question:

"Does local bus IDE attachment make sense?"

The answer to this question is based on both marketing and technical reasons.

Technical Reasons for Local Bus IDE

Video makes clear sense to be attached to the local bus due to it being 100% electrical in nature, thus higher speed host transfers result in improved performance that is perceptible to the end user. The dual electrical and mechanical nature of a disk drive makes it less clear that disk drives belong on the local bus.

The performance of a disk drive is a combination of a number of different areas, with the primary contributors being:

1. Mechanical Latencies

* Actuator Move Time or seek time

* Spindle Move Time or spindle speed

2. Media Transfer Rates

3. Controller Capabilities

* Cache Type

* Read Cache

* Write Cache

* Cache Size

* Buffer Bandwidth

* Error Correction Capabilities

* Host Transfer Rate

The system manufacturer only controls the system host transfer rate capabilities. All the other elements of disk drive performance are controlled by the disk drive manufacturer.

Higher host transfer rate capabilities are directly beneficial during a cache hit since there is no mechanical latency involved in this case. Due to the advent of write cache and ever more sophisticated read cache, the hit ratio is increasing on newer disk drives. Coretest is the classic industry benchmark that can be utilized to test the combined host transfer rate capabilities of the system and disk drive.

Higher host transfer rate capabilities are less important during random and sequential operations as the duration of the host transfer is very small in comparison to the mechanical latencies of random or sequential operation.

Sequential I/O performance is primarily a function of media transfer rates. Current generation Caviar products utilize zoned recording, with the outer zone having a 3.75 Mbyte/sec media transfer rate. Next generation Caviar products will increase outer zone media transfer rates to 6.00 Mbyte/sec. In both cases, the drive media rates exceed the ISA bus host transfer rate capabilities.

When the drive media rates exceed the host transfer rates, it is possible to be unable to sequentially read or write an entire track during one revolution. The result is that "blown revolutions" occur, which reduces performance by 50% or more. The solution to this problem is to provide data buffering such that the host transfer rate and media transfer rates are appropriately buffered.

Past disk drive buying behavior has shown that customers are willing to accept smaller data buffers on lower capacity, cost focused disk drives. These same customers are willing to accept larger data buffers on higher capacity, performance focused disk drives.

Unfortunately, the media data rates are a function of capacity/platter and not overall drive capacity. This is best illustrated in the latest entry level disk drive, the 170 Mbyte. The Western Digital AC1170 was planned to utilize a 32K buffer; however, it was produced with a 64K buffer, as its media transfer rates were faster than the ISA bus IDE host transfer rates on a majority of systems. The direct cost of this problem is the addition of one 32Kx8 SRAM.

To complicate matters, customers are beginning to expect both read cache and write cache. This feature forces the single data buffer to be subdivided into read cache and write cache segments. This trend further reduces the amount of data buffering available for read buffering. Write cache performance improves as the amount of data buffer allocated to write caching increases.

Collectively, these technical issues require that host transfer rates be increased in order to both offer higher performance and to better control the cost of low capacity disk drives.

The bottom line is simple -- as the media rates on newer drives increase beyond the host transfer rate, the disks' buffer size must be increased to prevent the drives from losing a 13ms revolution while reading or writing sequential data. In other words, without faster host transfer rates, newer drives may actually transfer large blocks of data more slowly than older, slower drives with the same size buffer.

Marketing Reasons for Local Bus IDE

As PC's have become commodity items, perceptions have become more important. It is not surprising that all new systems introduced in 1993 have had some form of local bus video support as this has become a mandatory marketing feature based upon customer awareness that local bus increases performance.

This customer awareness that local bus increases performance has been transferred over to disk drives. As discussed earlier, the mechanical nature of disk drives makes this a more complex feature/benefit sell; nevertheless, a system with local bus IDE is perceived as superior to a system without it.

As already discussed, the growing mismatch between ISA host transfer capabilities and media transfer rates is forcing disk drive suppliers to place ever larger, more expensive data buffers on both low capacity and high capacity drives. Thus from a cost perspective, the system OEM is either going to pay based on a local bus IDE port within the system or based on a disk drive with a larger data buffer.

Although local bus IDE today means the addition to the motherboard of moderately priced logic that is typically $3-$5, this feature is likely to be incorporated within next generation chipsets and next generation Super I/O devices.

As part of our Enhanced IDE Program, Western Digital is working with leading chipset and Super I/O suppliers in order to drive local bus IDE support into next generation devices.

IDE Data Transfer Methods

IDE fundamentally offers two forms of 16 bit host transfers, PIO and DMA. PIO is based on using the CPU to perform the data transfer (Processor I/O) , while DMA does not involve the CPU and instead uses another system component to perform data transfers (Direct Memory Access). DMA offers the benefit that the CPU is freed from performing data transfer and may instead execute from its L1 and L2 caches during a DMA data transfer.

PIO data transfers are based on a two cycle transfer:

IDE Read:	CPU I/O Read Cycle then CPU Memory Write Cycle

IDE Write: 	CPU Memory Read Cycle then CPU I/O Write Cycle

PIO data transfers are 512 bytes (256 words) and are followed by an Interrupt.

Block PIO (BPIO) is identical to PIO, except that "n" blocks of 512 bytes (256 words) are transferred prior to issuing the Interrupt. BPIO reduces system Interrupt processing overhead and allows for improved performance. For compatibility reasons Block PIO is performed when Read Multiple and Write Multiple Commands are received by the IDE drive after the receipt of a Set Multiple command. Systems that desire to support Block PIO require Int 13h BIOS changes and operating system device drivers. Western Digital has developed device drivers that support BPIO for Windows 3.11, Microsoft OS/2 1.31 and Novell NetWare 3.11.

Block PIO Performance Issues

Block PIO has the potential to both improve and hurt performance. Cache hits are improved due to the lowered host interrupt processing. Write performance is improved due to getting data into the buffer faster. Read performance can actually decline slightly due to the Block Mode Read transferring the last group of "n" sectors after reading the last sector into the buffer. This actually extends the data transfer time relative to standard PIO mode. For this reason, it is suggested that the blocking factor be kept small. Benchmarks that test host transfer rates, such as Coretest, perform better with larger blocking factors. Given this trade-off, Western Digital suggests blocking factors between 4-8.

Blind Data Transfer Issues

Both PIO and BPIO transfers are "blind" transfers. This is due to the fact that both are accomplished using the InString and OutString x86 instructions programmed for 256 words (PIO) or "n"*256 words (BPIO). This places a constraint on the disk drive that data must be valid within the cycle time constraints of the system. Due to this constraint, the host transfer rate capabilities of the drives have always been specified based on the worst case condition. Blind transfers differ from "throttled" transfers in that the drive does not have a throttle mechanism. Another way to look at this is that the host controls the data transfer and the drive responds.

Throttled DMA Data Transfer Benefits

DMA data transfers are "throttled" data transfers in that the drive's REQ signal is used to inform the host that a data word is ready to transfer. The DMA protocol is then for the host to respond with an ACK and an actual data transfer. The primary benefit of DMA is that it allows the drive to control the data transfer, whereas using PIO the host controls the data transfer.

The Need for Throttled PIO Data Transfer Capabilities

All disk drives contain a data buffer. This data buffer is shared among:

1. The host data transfers to/from the buffer

2. The media data transfers to/from the buffer

3. Error Correction data transfers to/from the buffer

4. Drive CPU data transfers to/from the buffer

The data transfer capabilities of the disk data buffer are a combination of memory width, memory type, memory speed, and buffer management control logic design issues. All of the Big 5 (Conner, Maxtor, Quantum, Seagate, Western Digital) disk drive suppliers utilize 8 bit wide buffers on their IDE disk drives. Disk drive data buffers are either implemented using DRAM or SRAM. DRAM offers larger data buffers, but typically requires two or three devices (with/without parity) and does not offer the transfer capabilities of equal speed SRAM due to the need to refresh DRAM. Memory access time directly limits the maximum transfer rate of the memory. Buffer control logic often imposes fixed maximums on the transfer rate of the data buffer, often less than the memory is capable of.

Collectively what this all means is that each disk drive has a fixed amount of data buffer bandwidth. This data buffer bandwidth must be shared between host, media, ECC, and CPU needs. The host port is the lowest priority port. Based on the blind nature of PIO data transfers, the amount of bandwidth guaranteed to the host must be the worst case value. Consider the following example:

BLIND	AVERAGE	MAXIMUM

Total buffer bandwidth	10.0 Mbytes

Maximum media requirements:	-4.0 Mbytes	80% (-3.2)	-0.0

Maximum ECC requirements	-0.8 Mbytes	12% (-0.1)	-0.0

Maximum CPU requirements	-0.2 Mbytes	01% (-0.0)	-0.0

Maximum host bandwidth	 5.0 Mbytes	6.7 Mbytes	10 Mbytes

This example illustrates that the specification for the drive would be only 5.0 Mbytes/sec of bandwidth. If the disk was inactive, the ECC would also be inactive, as would the CPU, then the total available bandwidth would be 10 Mbyte/sec. It is due to the blind nature of PIO transfers that the drive is specified with only 5.0 Mbyte/sec of bandwidth. If a throttle mechanism is available, then the transfer capabilities of the drive could be specified as 10 Mbyte/sec. This is best seen in the Identify Drive timing mode responses of the WDAC2340 Drive. Whereas the drive reports that it supports Mode 1 PIO transfer capabilities (383 ns/5.22 Mbyte/sec) it reports that it supports Mode 2 Singleword DMA transfer capabilities (240 ns/8.33 Mbytes/sec). This difference is due to PIO being a blind transfer, while DMA is a throttled transfer.

Throttled PIO Data Transfer Benefits

The IDE interface also defines an I/O Channel Ready signal that can be used to throttle PIO data transfers. I/O Channel Ready is generated by the drive and thus allows the drive to control the data transfer. As can be seen by the transfer chart above, throttling the host interface allows the drive to increase its average transfer rate from 5.0 to 6.7 Mbytes/sec. It also allows the drive to achieve cache hit benchmarks of 10Mbytes/sec.

The original definition of I/O Channel Ready for IDE drives proved impractical to actually implement in a system. The first issue was that the IDE-specified timing for I/O Channel Ready Setup time was longer than the "ISA Spec" (aka IBM AT implementation) for this signal (35 ns vs 20 ns). For all practical purposes, this eliminated this as an option for all ISA bus based IDE ports, or the majority of the systems shipped until the advent of local bus. The other practical limitation of I/O Channel Ready was that the common disk drive implementation required that a jumper be added to the drive in order to enable the I/O Channel Ready capability. Jumpers are not an acceptable OEM solution. The final issue is that the drive did not have the ability to report that I/O Channel Ready was supported and if so whether it was enabled or disabled.

Current Activities To Enhance I/O Channel Ready

The advent of local bus removed the ISA imposed timing problem from the use of I/O Channel Ready. The Local Bus Working Group of the Small Form Factor (SFF) Committee developed a specification for I/O Channel Ready support within a local bus environment, which has recently been approved by SFF. The specification is included later in this document, as Appendix A. The specification defines not only how to enable/disable I/O Channel Ready, but also how to determine the status of I/O Channel Ready. The activities of the SFF committee regarding defining faster I/O Channel Ready PIO and DMA data transfer capabilities are discussed below, in a later paragraph of Section 2.

Singleword DMA vs Multiword DMA

Singleword DMA is the ATA name for a DMA data transfer protocol based on a REQ/ACK handshake for each data transfer. Multiword DMA is the ATA name for a DMA data transfer based on REQ being held active while data is available, thus the ACK cycle controls the transfers. Multiword DMA offers greater transfer capabilities than Singleword DMA.

Slave DMA vs Master DMA

There are two forms of DMA data transfers, Slave mode and Master mode. Slave mode is based on a REQ/ACK transfer between the Slave device (disk drive) and the system DMA controller. The system DMA controller then transfers the data directly into system memory by generating its own Memory Read and Memory Write control strobes. Master mode is based on the device itself incorporating a DMA controller such that it can transfer data directly into system memory.

From a cost perspective, it is cheaper to have a single, high speed, system DMA controller that connects to multiple Slave DMA devices. Master mode devices are primarily popular in environments where the system DMA controller is slow.

DMA versus PIO IDE Data Transfers

PIO is the traditional method used to transfer IDE data and is supported within all BIOS and all operating system device drivers.

From a historical perspective, the PC/XT utilized DMA to support its disk data transfers due to the DMA controller being faster than the CPU PIO (8088 at 4.77 Mhz) in this machine.

With the advent of the PC/AT, the CPU PIO speed (80286 at 8.0 Mhz) was greatly increased, while the DMA speed was the same as the XT (2.0 Mbyte/sec). As a result, the original PC/AT hard disk controller used PIO data transfers. As IDE evolved from this original PC/AT hard disk controller, it too supported PIO data transfers. Based on this, the system Int 13h BIOS and the embedded operating system devices drivers have continued to support PIO data transfer capabilities.

Type B DMA

The arrival of EISA brought with it a faster DMA, called Type B. Type B DMA offered 4.0 Mbyte/sec transfer rates. Note that this is faster than standard ISA PIO. Western Digital developed tools to assist system OEMs in supporting Type B DMA. This included implementation details pertaining to hardware and BIOS modifications as well as the development of device drivers for Windows 3.1, OS/2 1.31, and NetWare 3.11. These BIOS changes and device drivers are necessary as the standard BIOS and embedded operating system device drivers only support PIO data transfers. It is important to note that DMA IDE drivers are not needed for compatibility, instead they only provide incremental performance. This is due to the embedded BIOS and operating system device driver support for PIO IDE.

Type F DMA

The arrival of PCI brings with it yet another, faster DMA, called Type F. Type F is defined to support 8.33 Mbyte/sec and 6.67 Mbyte/sec data transfer rates. Type F DMA is supported in the Intel SIO PCI to ISA Bridge device. The Intel SIO device supports 6.67 Mbyte/sec Type F DMA data transfers. Western Digital expects PCI chipsets from third party vendors to support 8.33 Mbyte/sec Type F DMA support. The Intel PCI to EISA Bridge chipset does not implement Type F data transfers, but does support Type B data transfers. As with Type B DMA, system Int 13h BIOS changes will need to be made to support Type F DMA.

Scatter/Gather

The arrival of PCI brings with it a much needed companion feature to DMA, Scatter/Gather data transfer ability. The need for Scatter/Gather is due to the way that virtual operating systems such as Windows 3.1, OS/2, NetWare, and Windows NT manage their memory. The underlying concept is that the actual I/O request for, say, 16K bytes of data may have to be transferred to, say, four different memory addresses due to the paged memory architecture of these operating systems.

Scatter/Gather is a feature that allows a single 16K I/O to be issued to the disk drive, while the DMA controller is given a Scatter/Gather Descriptor Table which describes the starting address and byte count for each of the four different memory addresses. Without Scatter/Gather support, this 16k I/O would have required four separate 4K I/Os to the disk drive and four separate transactions programming the system DMA controller. Western Digital feels that Scatter/Gather is a requirement for systems that implement DMA. Both the Intel PCI to ISA and PCI to EISA chipsets support Scatter/Gather data transfer abilities.

Western Digital will again support Type F DMA and Scatter/Gather via Western Digital developed device drivers. The development schedule for these drivers is currently unpublished awaiting functionality assessments and schedules of the Intel PCI to ISA bridge and PCI to EISA chipsets. The target operating systems that will be supported are Microsoft Windows 3.1, IBM OS/2 2.1, and Novell NetWare 3.1x and 4.0. The Microsoft Windows NT Hardware Abstraction Layer (HAL) does not currently contain advanced PCI DMA services, and consequently drivers in NT do not have access to such services. Advanced PCI DMA services will be supported by Microsoft in a later version of Windows NT.

Small Form Factor Local Bus Working Group

An earlier section of this document discussed the work that the Small Form Factor Committee Local Bus Working Group has done in the area of standardizing I/O Channel Ready PIO. This same group has also defined (and SFF has approved) faster transfer capabilities for IDE to address the much faster transfer capabilities of local bus. Western Digital chairs the Local Bus Working Group.

The current ATA 4a specification defines Transfer Timing mode information within the Identify Drive response data as follows:

PIO Transfers

Mode	Cycle Time	Burst Transfer Rate

 0	600 ns	 3.33 Mbyte/sec

 1	383 ns	 5.22 Mbyte/sec

 2	240 ns	 8.33 Mbyte/sec

Singleword DMA Transfers

Mode	Cycle Time	Burst Transfer Rate

0	 960 ns	 2.08 Mbyte/sec

1	 480 ns	 4.16 Mbyte/sec

2	 240 ns	 8.33 Mbyte/sec

Multiword DMA Transfers

Mode	Cycle Time	Burst Transfer Rate

0	480 ns	 4.16 Mbyte/sec

The current SFF proposal defines new IORDY PIO Mode and IORDY cycle time words in the Identify Drive response data. The IORDY PIO Mode 3 proposal is based on a 180 ns cycle time comprised of a 120 ns CPU I/O Read followed by a 60 ns CPU Memory Write cycle.

The IORDY Mode 3 basically defines a 120 ns CPU I/O Read to the IDE drive. The following summarizes the maximum transfer capabilities under a variety of system cycle times:

    Cycle Times

 IDE	Memory	Total	Mbyte/sec

 120ns	60 ns	180 ns	11.11

 120ns	90 ns	210 ns	9.52

 120ns	120 ns	240 ns	8.33

The reason for the added IORDY cycle time word is to allow configuration of a high speed host based IDE port that is capable of supporting the 120 ns IDE cycle time, but may support a system memory cycle time equal to or greater than 60ns.

In order to identify that a drive supports IORDY, Word 49, bit 10 of the Identify Drive data has been defined. In order to identify that a drive capable of supporting IORDY indeed has enabled it, Word 51, bit 15 of the Identify Drive data has been defined.

The current SFF proposal also defines a new Multiword DMA Mode 1 which is based on a 150 ns cycle time, or 13.33 Mbyte/sec. DMA is specified at a faster rate than PIO based on the IDE cable having fewer high speed signals controlling the data transfer.

Local Bus IDE Design Suggestions within a VL Environment

First Generation Designs

A large number of first generation "local bus IDE" solutions have been developed. These solutions reside on either the motherboard or are plug in VL adapters. The majority of the plug in VL adapters are multi-function boards that offer "local bus IDE".

All of the motherboard based first generation "local bus IDE" solutions implement a 16 bit IDE data port that is mapped to the local bus. The other IDE task file registers are addressed via the ISA bus. Many of these motherboard based "local bus IDE" solutions are implemented via a direct connection to the CPU. All data transfers take place using either PIO or BPIO.

The details behind the logic necessary to support "local bus IDE" is discussed in an Appendix of this document. Initial implementations implemented this logic via PALs. The system cost of this "local bus IDE" is $3.00 to $5.00.

Several of the VL adapters that support "local bus IDE" have implemented two transfer modes; 16 bit compatible mode and 32 bit higher performance mode. The 32 bit higher performance mode offers higher levels of effective host transfer performance, as it combines two 16 bit IDE I/O cycles with one 32 bit CPU memory cycle. By contrast, the 16 bit compatible mode requires two 16 bit IDE I/O cycles and two 16 bit CPU memory cycles. 32 bit higher performance mode requires BIOS Int 13h support and operating system device drivers; if these are not present, standard 16 bit compatible mode will be used.

Western Digital recommends that market making OEM customers implement Local Bus IDE within a VL environment with the following attributes:

1. Mandatory support for high speed PIO data transfers via I/O Channel Ready throttle mechanism selectable on a drive by drive basis.

2. Mandatory support of default ATA timing for all non data task file registers.

3. Mandatory support of default ATA timing for ALL task registers including data, selectable on a drive by drive basis.

4. Selection of I/O Channel Ready Enable via the contents of Identify Drive data based upon the SFF committee proposal.

5. Selection of PIO modes and I/O Channel Ready PIO mode data transfer rates based upon the SFF committee proposal.

6. Optional 256 word prefetch for data transfers selectable on a drive by drive basis.

(Note: Data prefetch counter should be reset on the following events:

*  Write to CMD Register

*  IRQ from drive.)

The primary benefit of these types of local bus solutions is that the high speed system IDE port need only be initialized during the POST time; there are no runtime Int 13h BIOS issues or device driver issues. These POST changes are summarized as follows:

1. Initialize the IDE port to a compatible timing mode.

2. Obtain all the attached drives' Identify Drive data.

3. If an attached drive supports the SFF committee proposal for local bus IDE, then enable I/O Channel Ready hardware for that drive.

4. If an attached drive supports the IORDY PIO Mode 3 transfer capability, then set-up the high speed data port to its fastest mode for that drive. If not, select the ATA default transfer rate for that drive.

5. If both drives support mode 3 PIO but one of the drives reports a slower cycle time, then the host system must decide between programming both mode 3 drives to the slower timing, or programming one of the drives' data port to the default timing.

Generally speaking, if the slower drive is faster than the faster drive's average transfer rate (Word 66 in SFF Spec.) then the system should program both drives to utilize the slower drive's timing.

Western Digital leaves to the OEMs the decision regarding whether these same capabilities should be supported via Set-up in order to allow user involvement in this process. This approach has both pros and cons.

Western Digital believes that the $3.00 to $5.00 cost associated with the PALs necessary to implement a local bus IDE solution will disappear once this capability is incorporated into both core logic chipsets and Super I/O devices.

Local Bus IDE Design Suggestions within a PCI Environment

PCI allows the development of both high speed "local bus IDE" and high speed Type F DMA IDE. Each has its own trade-offs.

High Speed PIO Based Design

A later section of this document provides design schematics and state diagrams for a "PCI local bus IDE" solution. These schematics are intended for motherboard based solutions as they utilize both ISA and PCI signals. Western Digital estimates that the PAL cost of this design is approximately $5.00 to $7.50.

The benefits of this solution are primarily in the areas of compatibility. Added performance is obtained without the need for any BIOS Int 13h modifications or operating system device driver modifications. The BIOS POST changes described above in the VL section are identical for this solution. Again, it is left to the OEM to determine their strategy regarding user control via Set-up.

As part of our enhanced IDE program, Western Digital is working with leading chipset and Super I/O suppliers. We strongly believe that second generation PCI chipsets will include equivalent functionality to the above described PAL solution internal to the chipset.

Western Digital is exploring facilitating lower cost, higher functionality, higher integration solutions that would provide a PCI local bus IDE solution via a single device.

High Speed DMA Scatter/Gather Solution

The benefit of this approach is that it adds no incremental cost to the system as the capabilities are already supported within Intel's first generation PCI chipsets. This solution requires both BIOS Int 13h modifications and operating system device drivers in order to support the added performance of DMA Scatter/Gather. Unlike SCSI, these modifications are not required to provide functionality. The PIO IDE capabilities provide both functionality and compatibility. The DMA Scatter/Gather capabilities offer added performance of 6.6 Mbyte/sec to 8.33 Mbyte/sec host data transfers.

The BIOS changes are related to the following areas:

1. Determine if drive supports Type F via Identify Drive data. This can be done by sensing if the drive supports Mode 2 singleword DMA or Mode 1 multiword DMA.

2. Determine if the machine is ISA or EISA. If it is ISA, then utilize 6.6 Mbyte/sec Type F DMA. If it is EISA, then use 4.0 Mbyte/sec Type B DMA.

3. Int 13h BIOS has to be modified to program the DMA channel and send the drive READ DMA and WRITE DMA commands.

4. Determine the physical address for the I/O using either shift and add techniques or using Int 4Bh, DMA Services, if available in the system.

5. Western Digital does not suggest the use of Scatter/Gather under a BIOS environment; Scatter/Gather would be used only by drivers (e.g., Windows with 32-bit addressing On, OS/2, NetWare, Windows NT) which do not use the Int 13h BIOS interface.


Proposal to Support Dual IDE Channels

Rev 2.1, Oct. 8, 1993

Dual IDE Channels

The original IBM PC/AT (1984) System Hardware Map reserved system hardware resources to support two hard disk controller cards, each capable of supporting two hard drives.

Controller	Task File Address	Hardware Interrupt

Primary 	1F0h-1F7h/3F6h-3F7h	IRQ 14

Secondary	170h-177h/376h-377h	IRQ 15

The 1984 genre BIOS and operating system device drivers only supported the first, or primary hard disk controller.

The conversion to IDE occurred during the 1986 to 1988 time frame. IDE effectively integrated the controller function into each drive. The 40 pin IDE connector provided the connection necessary to support two hard disks. The Master/Slave protocol capabilities of IDE were developed to allow two IDE drives, each with its own controller, to mimic the previous solution of one physical controller capable of supporting two drives.

IDE was easily integrated into the system as it was 100% compatible with the previous controller with separate drive solution and required no BIOS or operating system device driver changes. Only simple hardware changes were necessary to design the 40 pin connector and its minimal decode and transceiver logic into the motherboard.

Things have changed considerably since the 1986 to 1988 time frame. Today's highly integrated silicon solutions integrate the IDE decode logic into either the core logic or the Super I/O devices, with the only external logic being transceivers and a 40 pin connector.

Today's leading BIOS suppliers and leading operating systems now support both the primary controller and the secondary controller. This increased system software support has not been integrated into either today's chipsets or today's Super I/O devices. This is one of the rare cases where the capabilities of the software exceed the capabilities of the hardware.

Today it is possible to support a secondary controller via a plug in ISA adapter that is jumper selectable to the secondary address and IRQ15. These low cost adapters typically contain a BIOS that is capable of co-residing with the system Int 13h BIOS such that support for four drives is guaranteed.

Western Digital believes that it is in the best interest of the system manufacturers if all new system designs incorporate dual IDE channels into the motherboards and have the BIOS capabilities to support them.

Dual channel IDE offers several worthwhile benefits.

Low Cost

The cost of a second IDE channel is less than $1.00. This is in part due to the fact that most core logic and most Super I/O devices have integrated the capability to support either the primary or secondary address decode logic and thus they develop the IDE CS0- and CS1- task file control strobes. Given the availability of this decode logic, the cost of the secondary port is simply the two eight bit transceivers, the recommended series resistors, and the 40 pin connector.

Design examples are given later in this document that illustrate how dual channel IDE solutions can be developed using the combined capabilities of both the core logic and the Super I/O devices. Key to these designs is the fact that the "shared floppy bit" (bit 7 in 3F6h) is not defined for the secondary controller, thus eliminating the requirement for bit 7 logic necessary on the primary port.

As part of our Enhanced IDE Program, Western Digital is working to insure that future generation core logic chip sets and Super I/O devices will include decode logic to allow both primary and secondary IDE ports to be interfaced directly to the core logic or Super I/O device.

Support for Four IDE Devices

Dual IDE channels offer support for four IDE devices and satisfy the expansion needs of the majority of the market. Whereas IDE has historically been a disk interface, it will grow to support other high volume storage devices, including CD-ROM and Tape.

IDE also offers the lowest possible cost of connection into a system. In comparison with SCSI, the cost of connection for IDE is simply the two eight bit transceivers, the series resistors, and the 40 pin connector. The total cost of these elements is less than $1.00. The lowest cost SCSI solution is a single chip motherboard LSI device such as the Adaptec 6260 or the NCR53C400 which typically cost from $5.00 to $10.00 each and bring with them the need for drivers and BIOS in order to even function.

Dual IDE channels allow this lowest possible cost of connection advantage to move to other peripherals that are growing in popularity. In doing so, system hardware resources are actually preserved, as today's CD-ROM solutions interface via either SCSI or native mode interfaces that consume a dedicated interrupt, whereas the interrupt consumed by the secondary IDE channel can be shared with another peripheral.

As part of our Enhanced IDE Program, Western Digital is working to insure that non-disk IDE peripherals are brought to the market, specifically IDE CD-ROM and IDE QIC-80/DC2xxx Tape. The details behind this activity are discussed later in this document.

Parallel I/O's

Although each IDE channel is capable of supporting two IDE devices, only a single command can be executed per channel.

Dual channel IDE systems are capable of simultaneously executing two commands, with the benefit being increased I/O performance. It is possible to configure a system with two disk drives, such that one is on the primary port and one on the secondary port. This configuration will offer higher performance than a dual drive/single channel configuration under an I/O intensive environment.

Support for Fast and Slow Peripherals

Today's fastest IDE disk drives have access times of 13 ms, whereas today's fastest CD-ROM drives have access times of 200 ms. If these devices were to share a single 40 pin IDE connector, then under very I/O intensive environments the slower CD-ROM device would effectively slow down the much faster disk drive, due to the IDE interface only supporting one command per channel.

Dual IDE channels allow the fast device to be placed on one port and the slow device be placed on the other port. If this is done, it is possible to generate high speed, local bus transfer IDE timings for the primary port, and not do so for the secondary port. This might be an optimum solution, since it may not be beneficial to generate high speed, local bus transfer IDE timings for the secondary port in this case, due to the slow speed of the peripherals.

The easiest way to remember this is:

* Primary Channel = Primary Storage = Disk

* Secondary Channel = Secondary Storage = CD-ROM and Tape

On the other hand, the typical user is not likely to be simultaneously demanding data from both the hard drive and the CD-ROM drive, thus it is still possible to share an IDE CD-ROM drive and an IDE disk drive on the same port. This is the configuration expected to be utilized by the aftermarket upon the advent of IDE CD-ROM drives.

Built in System Support for Mirroring and Duplexing

Network Operating Systems such as Novell NetWare and Microsoft Windows NT Advanced Services are designed to operate in commercial environments where the value of the data stored on the disk drives is much higher than the value of the disk drive itself. Despite ever more reliable disk drives, environments like these cannot accept the risks of data loss or system down-time due to disk drive failure.

These operating systems both support two forms of data redundancy aimed at keeping the data safe and the system up, while allowing for potential drive failure -- albeit at the expense of additional drive and controller cost.

Mirroring is the first level of redundancy. A pair of "mirrored" drives is generated, with each reading and writing the same data. If one drive fails, the other drive still provides access to the data. A mirrored drive subsystem also provides better read performance than an unmirrored drive subsystem, since the drive with the first available data transfers the data to the system.

Duplexing is the second level of redundancy. A "duplexed" storage subsystem utilizes separate controller hardware to interface the drives into the system. Whereas mirroring is designed to overcome disk drive failure, duplexing is designed to overcome controller failure.

In today's PC environment, SCSI is most often used to develop a mirrored, duplexed system via the use of four SCSI drives and two SCSI host bus adapters. The alternative dual channel IDE solution provides the same functionality at a much lower cost due to the elimination of two expensive SCSI host adapters. Instead, with IDE, the motherboard adds a single, less than $1.00 cost, 40 pin IDE connector.

The IDE.DSK driver within the standard release of Novell NetWare 3.1, 3.11, and 4.0 is capable of supporting four IDE channels, and thus eight drives. Aftermarket IDE adapter board suppliers have developed solutions which support this capability of NetWare.

BIOS POST Changes Required to Support Secondary Address

Western Digital suggests that the system Set-up utility only allow the user to support either auto-configure or auto-translate drive types on the secondary channel. The intent here is to avoid using too many additional CMOS bytes in order to save the drive type for each drive.

The suggested approach is to determine the drive type selected (auto-configure or auto-translate) and then to build either a Drive Parameter Table or an Extended Drive Parameter Table (EDPT) within the Extended BIOS Data Area of system RAM.

Whereas Int 41h and Int 46h return the configuration parameters for the first and second drives on the system, there is no similar equivalent functionality for the third and fourth drives. It is suggested that the third and fourth Drive Parameter Tables be contiguous with the first and second Drive Parameter Tables within the Extended BIOS Data Area, at offset 32 from the first Drive Parameter Table.

BIOS Runtime Changes Required to Support Secondary Address

The BIOS must be able to determine the physical location of the drive based on the Int 13h drive number. The same algorithms used to control the first and second drive on the primary controller should be mapped to support the third and fourth drives on the secondary controller.

Int 13h, function 08h, Read Parameters, should be capable of returning the drive parameters for all four drives.

Dual Channel Support Under DOS

DOS 5.0 and later will support up to seven disk drives. This facility has long been utilized by SCSI host adapters. As long as the system BIOS Interrupt 13h supports primary and secondary IDE, then DOS will also.

Dual Channel Support Under Windows 3.1

Since Windows 3.1 is actually an application running under DOS, it uses the DOS file system and device drivers. Thus, the discussion of Dual Channel Support Under DOS above also applies for Windows 3.1; that is, Windows 3.1 under DOS 5.0 and later will support up to seven disk drives.

However, Windows 3.1 also includes a new, "32 bit enhanced mode disk access" capability. Use of 32 bit enhanced mode results in the installation of a "Fastdisk" virtual device driver that makes calls directly to the IDE disk drives. This method does not utilize the BIOS.

The current Fastdisk driver in Windows 3.1 only attempts to install itself after a detailed examination of the hard disk(s) present on the primary controller. A system that supports two drives on the primary controller and two drives on the secondary controller will operate the primary controller drives through 32 bit enhanced mode and will operate the secondary controller drives through the BIOS.

Western Digital has developed an enhanced "Fastdisk" driver (WDCTRL) that supports advanced IDE features for the drives on the primary channel only. Western Digital is considering further enhancements to this driver to support advanced IDE features on the secondary channel.

Dual Channel Support Under Novell NetWare 3.0/3.1/4.0

Novell NetWare's ISA.DSK driver is hard coded to support four IDE channels:

Task File	Interrupt

Primary	1F0	14

Secondary	170	15 or 10

Third	1E8	12 or 11

Fourth	168	10 or 9

NetWare boots from a DOS partition located on a drive on the primary channel. NetWare determines the existence of drives on the Secondary, Third, and Fourth channels via issuing Identify Drive commands to these drives in order to obtain their drive parameters. Third party suppliers such as GSI, 17951-H Skypark Circle, Irvine, CA 92714 (714-261-7949) manufacture quad IDE port boards for Novell NetWare operating environments.

Dual Channel Support Under IBM OS/2 2.11

IBM OS/2 2.0 and 2.1 supports four IDE drives on dual IDE channels via its IBM1S505.ADD driver.

Dual Channel Support Under Microsoft/IBM OS/2 1.31

OS/2 1.31 supports four IDE drives on dual IDE channels via its ESDI.BID driver.

Dual Channel Support Under Microsoft Windows NT

The Beta 2 release of NT did not include support for dual channel IDE. Dual channel IDE support will be in the final release of Windows NT.


Western Digital Support Utilities
Western Digital Support Utilities And Drivers

WDSWITCH Utility

Western Digital FastDisk Driver WDCDRV.386

CAVIAR.EXE Configuration Utility

WDATIDE Utility


WDSWITCH Utility

REVISION:  1.00

Warning: use this program as a last resort. You may be able to use the included Disk Manager software to obtain full capacity from the drive, or you may be able to obtain a BIOS upgrade which will support the drive at full capcity. If you are using this program because you are unable to obtain 32-bit Disk Access in Microsoft Windows or WFWG, use the Western Digital 32-bit Disk Access driver WDCDRV.386 instead. WDSWITCH.EXE is a one-shot utility. It need be run only once to obtain the desired results. If you use this utility to set the drive to 1,023 cylinders by using the command line option SS, you can reverse the effect by running this utility with the command line option SL. This program will only work on the AC2540 drive. Attempts to run this program on any other Western Digital drive will produce an error message.

PROGRAM CHARACTERISTICS:

- modifies the cylinder value the drive will report to the BIOS (1,048cyl = 540MB /1,023cyl  = 528MB)

- supports 2 drives (master and/or slave)

- quits if escape hit

SL	- set large 1,048 cylinders (540 Mb) for AC2540

SS	- set small 1,023 cylinders (528 Mb) for AC2540

?	- show the user the version number command line help options and quit.

To Use:

Run WDSWITCH for drive zero (C: or Master), WDSWITCH 2 for drive 1 (D: or Slave) support.

COMMAND LINE OPTIONS:

WDSWITCH SS	set AC2540 to 528 Mb option, drive zero (C:)

WDSWITCH SS 2	set AC2540 to 528 Mb option, drive one (D:)

WDSWITCH SL	set AC2540 to 540 Mb option, drive zero (C:)

WDSWITCH SL 2	set AC2540 to 540 Mb option, drive one (D:)


Western Digital FastDisk Driver

Features of WDCDRV.386 Version 2.5

The Western Digital Fastdisk driver for Windows 3.1 and WFWG 3.11 implements the following features:

1. Support of advanced PIO and DMA transfer modes for WDC Caviar drives.

2. Use of PIO block mode transfers on WDC Caviar drives.

3. Uses scatter/gather DMA transfers, when supported by system hardware.

4. Automatic determination of DMA mode and channel.

5. Automatic determination of current blocking factor for block mode.

CAVIAR.EXE Configuration Utility Overview

This program, supplied in the file WIN31.EXE, and available for downloading separately, allows the user to change the operating mode of WDCDRV.386. This program automates the process of selecting the desired operating modes for the 32-bit Disk Access driver. This automation simplifies the configuration process and prevents the user from choosing incorrect option values for the various modes. Help is also provided on each option to assist the user in understanding the meaning and effect of the various options.

Fastdisk Driver Introduction

The WDC Caviar Fastdisk driver allows optimal operation of the Western Digital Corp. Caviar IDE drives with Microsoft Windows 3.1. This Fastdisk driver enables Windows 3.1 to operate in 32-bit protected memory mode when running on a i386 or higher processor in Windows Enhanced Mode. A Fastdisk driver such as WDCDRV.386 provides several benefits to the user.

The first benefit is increasing the number of DOS sessions that can be open at once. Without a Fastdisk driver program the number of DOS sessions is limited by the amount of physical memory. Swap space provided by a permanent or temporary swap file is not usable by these DOS sessions. The Fastdisk driver allows DOS sessions to utilize virtual memory. The second benefit is increased performance in many cases. The WDC Caviar Fastdisk driver utilizes advanced DMA and PIO transfer modes provided by the latest WDC Caviar drives. Since many PC system BIOS do not support these advanced transfer modes the data transfer rates will be increased substantially under Windows when running with this Fastdisk driver. The third benefit is faster switching between applications. Since the Fastdisk driver allows disk transfers such as overlay operations to occur in 32-bit protected-mode, less switching between protected and real modes is required to perform disk transfers. This is most noticeable between multiple DOS sessions.

Fastdisk Driver Installation

Installation of the WDCDRV.386 Fastdisk driver requires editing the SYSTEM.INI file. The Western Digital Setup program can perform this automatically. However, if you choose to perform this activity yourself the procedure involves making some minor edits in the [386Enh] section of SYSTEM.INI file. You can use any editor capable of editing standard DOS text files such as the EDIT program that comes with MS-DOS 5.0 and later.

In [386Enh] section replace line:

device=*wdctrl

with:

device=wdcdrv.386

Start Windows 3.1 and verify that the WDCDRV.386 sign-on message appears indicating the version and other information for the Fastdisk driver program.

This driver is available for downloading from the following sources:

•	WD BBS 714 753-1234 (up to 14.4bps, 8 data bits, 1 stop bit, No parity)

•	WD anonymous FTP Server at ftp.wdc.com

•	WD WWW Server at www.wdc.com

•	WD Compuserve Forum in Library 1 (go wdc)

•	WD AOL Forum in Library 1 (go wdc)

•	WD Microsoft On-line Forum in Library 1 (go wdc)

The driver is located in a compressed file named WIN31.EXE. This file contains the driver, the configuration utility CAVIAR.EXE, a README. file, and a Windows SETUP.EXE program.


WDATIDE Utility

This utility scans the media and remaps any grown defects on a Western Digital drive. It also provides performance data such as seek times and data access times. The lastest release is version 3.6, which supports the AC2700 (730Mb) and AC31000 (1,083Mb) drives.

Warning: this utility performs a destructive surface scan. Make certain that your data is safely backed-up to tape before running this utility.

COMMAND LINE OPTIONS:

To run the menu-driven test, type 'WDATIDE' from the DOS prompt. The following options may be included on the command line after 'WDATIDE':

L = open NEW log file WDATIDE.LOG

S = skip pause at end of 'no menu' run

R = relocate sectors marked as 'bad sectors'

D = operate on second drive if F option chosen

1 = select first drive, run quick scan with no menu or C option

2 = select second drive, run quick scan with no menu or C option

C = comprehensive analysis, no menu used with options 1 or 2

The 'L' option may be used at anytime with the above line options. It will show the drive ID information and any error that occurs. The old WDATIDE.LOG will be overwritten. (only use this option when running the test from a floppy, since hard disk data corruption will occur!!!)

PROGRAM CHARACTERISTICS:

  - retries disabled

  - cache disabled

  - identifies drive models and number of drives

  - menu driven

MENU OPTION DESCRIPTIONS:

  MAIN MENU SELECTION:

    0 - Quick Surface Scan

    1 - Comprehensive Analysis

    2 - Performance Data

    3 - Select Drive

    4 - List of WD drives

    5 - Help

    6 - Park Drives and Quit"

 MENU SELECTION "0 - Quick Surface Scan" description:

 1. Read sequentially, a track at a time. No writes are issued.

 2. Performs appropriate defect management if errors are detected: See section below for details regarding defect management.

 3. Will save user data when conditions permit. Some conditions will not allow the customer data to be retrieved.

 MENU SELECTION "1 - Comprehensive Analysis" description:

 1. Prompts user before starting that data will be lost, ESCAPE to exit.

 2. Read scan of surface first as in selection zero above.

 3. Writes/Read sequentially, the entire surface a track at a time. Each track is written with 9 data patterns, and 10 reads are issued after each write. So each track is read a minimum of 90 times, more if errors occur. The data patterns are:

       PATTERN:

      A: 0031304dc3bad57bc44b75602e358da99986c947dbb0

      B: 6633

      C: 33cb

      D: cb4cf730

      E: 2222

      F: 136b31136bb3

      G: c086043021800

      H: random data

      I: 0000

 4. Performs appropriate defect management: See section below for details regarding defect management.

 5. Will not save user data, this selection WILL DESTROY all customer data.

 MENU SELECTION "2 - Performance Data" description:

 1. Data collected will be displayed based on drive selected.

 2. If no drive is selected or not accessible the message 'Can't establish physical parameters' will be displayed.

 3. The following data will be displayed. If the L option is selected it will be logged:

        Track to Track SEEK:	shown in milliseconds.

        Average random SEEK:	 shown in milliseconds.

        Full stroke SEEK:	shown in milliseconds.

        DATA transfer TEST:	B: = block size, data shown in kilobytes/sec.

  4. This selection is not restricted to drive list maintained by this program.

  MENU SELECTION "3 - Select Drive" description:

 1. Prompts user to enter 0, 1, or ESCAPE to exit.

 2. If drive is present the Model number, Serial number, Firmware and Cylinder/Heads/Sector per-track, will be displayed under the corresponding DRIVE NUMBER.

 3. If drive a is entered but not accessible, the information in 2 above will be replaced with 'DID NOT RESPOND', the bottom window will show 'NO drive is SELECTED'.

 4. If a drive is selected and accessible the drive number in the top window will blink and bottom window will show 'DRIVE # is SELECTED'. If the L option is selected the information in 2 above will be logged.

 5. This selection is not restricted to drive list maintained by this program.

DEFECT MANAGEMENT DETAILS:

If an error is detected while reading a track, the following steps occur:

1) If a Bad Block error is detected, then the sector is re-formatted as no longer bad. If R option sector will be relocated.

2) If an error occurs during any read, the relocation algorithm is executed, and re-verification of the track is repeated.

Relocation Algorithm Details:

If a servo error occurs, the track is relocated.

If an ID Not Found error occurs, the sector is relocated.

If a physical track already has 3 relocated sectors, the track is relocated.

If an ECC or DAM error occurs, the sector is relocated.

Since retries are disabled, correctable ECC errors are reported as uncorrectable and are relocated.

REVISION HISTORY:

  3.1   12/04/92 rbn  First field release

  3.2   1/25/93 rbn  Add AC2420

  3.3   4/22/93 rbn  Add AC1210, AL2120

  3.4   7/13/93 rbn  Add AL2170, AC2540, AC1270

  3.5   10/20/93 rbn  Add DEBUG flag. Fix ID compare.

  3.6   02/17/94 rbn  add AC2700,AC31000


Known Issues and Solutions

Windows 3.1 and the Microsoft Fastdisk driver *WDCTRL

Problem: Windows does not start when AC2540 is setup to 1048 Cylinder

Windows 3.1 compares INT13, Function 8 (which is restricted to 1024 Cylinder) to the CMOS Setup values: If the values are different it gives an Error message and Windows does not start. This happens when auto-detection in Setup was used (results in 1048 Cylinder) and the Hard disk was pre-installed with 1024 Cylinders.

If you don't have an Enhanced BIOS with LBA support you should set the CMOS values to 1024 Cylinder.

Use the WDSWITCH utility to set the drive to 1024 Cylinder!

If you have a BIOS with LBA support use the Western Digital WDCDRV.386 Driver to support > 528 MB.

General: if the MAIN BIOS only can access 528 MB in CHS mode, Windows only supports 528 MB.

Problem: - Windows does not start in 32 bit mode when translated BIOS is used

e.g. Translated Parameters may be 524CYL / 32SEC / 63Hds for the AC2540; situation is same as above

Windows and WFWG 3.1x and WD FastDisk driver WDCDRV.386 Ver 2.5

- does not work with DOS 5.0 EMM386.EXE

- Does not support LBA mode when BIOS/LB driver does not support LBA

- With AC2540 Driver cannot make use of the 12 MB (528 to 540MB) if DOS / BIOS does not support LBA

- driver will not load if BIOS with LBA does not set the Axh signature of the EDPT

- when temporary Swap file is used the driver takes BIOS Blocking factor

- new driver is expected in February 1995

- available in self-extracting archive file WIN31.EXE from

- WD BBS (714) 753-1234

- WD FTP Server (ftp.wdc.com)

- WD WWW Server (www.wdc.com)

- WD Compuserve Forum (go WDC) Library 1

- WD America On-line Forum (WDC)

- WD Microsoft On-line Service (go wdc)

Windows 3.11 and Appian 1.27 driver

- does not support 32 file access (switch it to 16 bit mode). Fixed in release 1.40.

Windows 3.11 and Appian 1.40 driver

- supports 32 file and BIOS access

- Appian Windows driver revision is 1.04 when Appian 1.40 driver is mentioned

Novell and Ports OCall adapter with APPIAN Driver 1.27 / 1.40 driver

- When Local Bus IDE is used the chip must be initialized to work on the LB with Mode 3.

Therefore start the Server with DOS Partition, run the driver and afterwards run the Server


Trouble-Shooting

Are you having installation problems with your Enhanced IDE configuration?

You don't see the expected performance? Windows does not start?

Following are some suggestions for diagnosing problems

Please read through this before you report a problem to your dealer or distributor

- Are the Setup-parameters correct?

 - look to DMA, Standard PIO, Block mode, values for Cylinders /Heads/Sectors

- Are Master and Slave jumper settings on the Hard disks correct?

  - take a look to the installation manual and compare the right jumper settings

- Are there possible PIO, IRQ or DMA conflicts of your LB EIDE Board with other peripheral cards?

  - look to possible conflicts (remove other Cards if you are not sure and retest your system)

- Does the local Bus EIDE board support Mode 3 with 11.1 MBytes per second?

 - Some cards mention 8.33 MB/s as Mode 3!

- Does your LB EIDE Board only support up to 8.33 MBytes/s (Mode 2) Transfer rate?

- In this case you cannot use Mode 3 on the CAVIAR drives! You need to set the jumpers on the LB Board to Mode 1 ( 5.22 MBytes/s) Transfer rate!

- Are you running the local Bus Board at 50 MHz frequency?

Functionality on 50MHz VESA Local Bus system is not guaranteed because the VESA connector is defined for 40 MHz. Add wait states in your BIOS Setup and on the Local Bus card.

In that case some systems are not working stable on the local bus, everything can happen! Try your configuration on a 33 or 40 MHz system and see if it is working.

- Are the jumper settings on the LB EIDE card set to the right speed/modes?

- sometimes you set a jumper to add one wait state. Try this.

- sometimes you can switch between the bus speeds 33/40/50 MHz: are these jumper settings correct?

- set the Transfer rate to the correct values

- sometimes you can set IORDY support by jumper, is the jumper setting correct?

- Does the HDD support mode 3 and IORDY?

- does it support mode 3, LBA, IORDY? (Master and slave?)

- does Slave drive support mode 3?

- Does your MAIN-BIOS support LBA (INT 13 extensions) to support Capacities of > 528 MB?

- If you don't use a BIOS/TSR, a Disk manager or a BIOS with LBA you cannot make use of more than 528 within DOS and Windows (use WDSWITCH program to set the WDAC2540 to 1024 Cylinder)

- If you have embedded LBA / Block mode and EIDE support use the WD Fastdisk driver!

- If you have a LB EIDE Board verify that the driver supports LBA Mode.

- Driver installations:

- Is the system working without DOS driver? normally it should

just make a bootable Floppy disk with the LB driver to avoid other driver conflicts and test the minimum configuration

- Can the driver be configured to other configurations? e.g. switch modes, disable Block mode ... try other configurations; have a look to the Installation manual / installation text files

- Does the driver support LBA and Block mode to support > 528 MB?

- Does the DOS / Novell driver detect the right System- and hard disk configuration?

- Does the DOS / Novell driver support the attached Hard disk?

- Your BIOS has LBA support but Windows does not start with 32 bit ON? The MS Fastdisk driver does not support LBA and Block mode. Look to problems within Windows.

- I don't see high performance with my Benchmark program

- use Coretest to see the maximum performance,

- do you have Block mode support? (Transfer of multiple sectors with one Interrupt)

On a 486DX/33MHz with EIDE you should get around 8 MBytes/s Transfer rate with Coretest; if not, check DOS driver installation and block mode transfer capabilities

- problems with Windows: does not start after you have installed the AC2540

- Windows does not start when AC2540 is setup to 1048 Cylinder: If you don't have an extended BIOS with LBA support you should set the CMOS values to 1024 Cylinder. Use the WDSWITCH utility to set the drive to 1024 Cylinders.

- do you use 32 BIT ON modes? Try your configuration at first in 16 bit (32 BIT OFF) modes!

- If you have a LBA BIOS use the Fastdisk driver from the LB EIDE Board manufacturer for LBA support!

- try the WD Fastdisk driver if you have a Motherboard with embedded EIDE support (LBA, DMA...)

- if you recognize Problems with 32 BIT ON Mode and Drives < 528 MB: turn off LBA mode in BIOS (or set it to standard mode) when you use the WD Fastdisk driver on a Motherboard with embedded EIDE support (LBA, DMA...)

- problems with ATAPI CD-ROMs

- Does it support mode 3? If not, you can have conflicts when Master timing and slave timing are the same and set to mode 3 and the CD-ROM does not support Mode 3

- Does the chip on the LB card allow to program Master Slave independently?

Additional Help:

If you want to report a problems please give us as much information as possible to reproduce the problem:

1. System configuration Product name, BIOS version, CPU, CPU speed, Motherboard manufacturer, Busclock, Cache, does BIOS support LBA (INT 13 extensions)...

2. DOS / Windows / Operating system versions

setup information: listing of CONFIG.SYS, AUTOEXEC.BAT, [386Enh] section of SYSTEM.INI.

3. BIOS settings like Auto-config, DMA transfer, Standard PIO transfer.

4. Other add on cards configuration with I/O add. , IRQ number and DMA channel

Soundblaster, Network, SCSI adapter, Video adapter...

5. Local Bus adapter manufacturer, which chip is used on the add on board, jumper settings,

6. Local Bus drivers for DOS, which version is used

7. Windows Fastdisk driver, which driver and which version is used?

which 32 BIT modes are used (e.g., DMA, Scatter/Gather, Block Mode)?

does it work if 32-Bit Disk Access is OFF?

8. Hard disk product name, Configuration (CCC Code), Partitions,


Enhanced IDE System Overview


Micro Firmware BIOS Upgrade

Micro Firmware, of Norman, Oklahoma, provides Phoenix BIOS upgrades for Gateway 2000 machines utilizing the Micronics VL-bus JX30 motherboard. The current version which supports EIDE is 4.03. Micro Firmware can be contacted at (800) 767-5465 or (405) 321-8333.


Microid Research BIOS Upgrade

Microid Research BIOS (MR BIOS) upgrades can be obtained form Unicore Software in West Andover Massachsetts by contacting sales at (800) 800-BIOS (800 800-2467). The current version is MR BIOS 1.66. Only v1.66 and above build a valid EDPT which enables 32-bit disk access. Specify your motherboard manufacturer, model, and BIOS maker and revision when ordering.


Trademarks

Copyright Western Digital. All Rights reserved.

Microsoft and MS-DOS are registered trademarks and Windows and Windows NT are trademarks of Microsoft Corporation.

IBM, OS/2, PS/2, PC/XT, PC/AT; PowerPC are trademarks of International Business Machines Corporation.

Netware and Novell are registered trademarks of Novell Inc.

Pentium, i386 (INTEL 386) and i486 (INTEL 486) are registered trademarks of Intel Corporation

Caviar, Paradise, CacheFlow, and Cacheflow3 are registered Trademarks of Western Digital Corporation.


WDCDRV.386 Error Messages

Click on message number

1.	WDCDRV can not load due to conflict with another virtual device.

2.	WDCDRV can not load. Unrecognized disk software installed.

3.	WDCDRV Validation Failed At Phase 01,00.

4.	This program tried to access your hard disk in a way that is incompatible  with the Windows 32bit disk access feature (WDCTRL). This may cause your system to become unstable.

5.	WDCDRV Validation Failed at Phase 09,1F.

6.	Application Error: Control Caused a Load Segment Failure in module CPWIN386.CPL at address 0001:3CCA.

7.	WDCDRV Validation Failed at Phase 0A,1F.

8.	None. Windows For Workgroups locks up after the customer exits WFWG and then restarts it.

9.	None. WFWG locks up when the customer starts Windows.

10.	Fatal Error #2 - Turn Off Your Computer Now!

11.	WDCDRV Validation Failed at Phase 07,2F.


WDCDRV can not load due to conflict with another virtual device

Probable Cause:

1.	The line

 device=*int13

 is probably missing from the [386Enh] section of SYSTEM.INI.

or

2.	There is another VxD (Virtual Device Driver) loaded through the [386Enh] section of SYSTEM.INI. This is probably the SYMEVNT.386 driver from the Norton Desktop for Windows or the Norton Utilities v8.0. This driver must be removed for 32bit disk access to load.

or

3. 	The CMD Windows VxD CMD640x.386 or the CMD DOS TSR driver CMD640x.SYS is loaded. If using these two drivers. WDCDRV.386 is redundant and should not be loaded. This is seen on the Gateway BATIP-3 Anigma 486 PCI motherboard. These drivers provide EIDE functionality and 32-bit Disk Access.

Action:

1.	Insert the line

device=*int13

in the [386Enh] section of SYSTEM.INI.

or

2.	Remove the SYMEVNT.386 driver from SYSTEM.INI file. Or contact Symantec for an updated version of this driver.

or

3.	Try to identify other recently installed VxDs or other device drivers that attempt to program the hard disk controller I/O ports directly. Remove them if you want to continue using WDCDRV.386.


Unrecognized disk software installed
 WDCDRV can not load. Unrecognized disk software installed.

Probable Cause:

1.	The most probable cause is STEALTH mode in QEMM v7.0x.

or

2.	This error can also mean that a DOS device driver has hooked the ROM BIOS Int 13h incorrectly. WDCDRV checks for correct hooking of the interrupt by looking at the address of the interrupt handler. If it is not in conventional memory, and WDCDRV is loading , WDCDRV considers the address incorrect. Begin removing device drivers that hook Int 13h until you can successfully enable FastDisk. These device drivers can be identified by most diagnostic programs. If you still have problems, verify that all device drivers that hook Int 13h are up to date and follow Microsofts guidelines for hooking disk interrupts.

Action:

1.	Removing the option ST:M (or ST:F) from the QEMM command line will disable STEALTH completely.

or

2.	Use the command line options XSTI=13 X=ssss-nnnn, where ssss is the segment address of the Int 13h handler and nnnn is the offset address. Information on obtaining the correct numbers for ssss and nnnn are contained in the file XSTI.TEC on the Quarterdeck BBS and on their Compuserve forum.

or

3.	Download the driver 32BDAFIX.SYS from the Quarterdeck BBS or the WD BBS at (714) 753-1234. The file name is 32BDA.ZIP.

or

4.	Run FINDHOOK.COM (available on the WD BBS at 714 753-1234 in the compressed file FHOOK.COM) to identify the software hooking Int 13h. Determine if this software is critical to proper system operation. If it is not, remove it. If it is critical, do not use 32bit disk access.


Validation Failed At Phase 01,00
WDCDRV Validation Failed At Phase 01,00

Probable Cause:

1.	The values returned by Int 13h Function 8h (Read Drive Parameters) do not match the values stored in the Drive Parameter Table or Enhanced Drive Parameter Table pointed to by Int 41h (drive C:) or Int 46h (Drive D:). This can happen if the STEALTH feature of QEMM v6.0 and above relocates the DPT or EDPT to protected mode memory. Since the FastDisk device is in its initialization phase and running in real mode, it cannot access the DPT or EDPT and cannot verify the the values contained therein match the BIOS Int 13h Function 8h values.

or

2.	The BIOS is operating the drive in LBA (Logical Block Addressing) mode but has not built a valid Enhanced Drive Parameter Table. Either the signature is invalid (does not conform to the Axh pattern) or the checksum is invalid.

Action:

1.	Removing the command line option ST:M (or ST:F) from the QEMM command line will disable STEALTH completely.

or

2.	Customer can also use the command line options XSTI=13  x=ssss-nnnn, where ssss is the segment address of the Int 13h handler and nnnn is the offset address. Information on the correct numbers for ssss and nnnn are found in the file XSTI.TEC on the Quarterdeck BBS or their Compuserve forum. These options prevent Stealth from relocating the Drive Parameter Tables and the Int 13h handler.

or

3.	Download the driver 32BDAFIX.SYS from the Quarterdeck BBS or the WD BBS at 714 753-1234. The file name is 32BDA.ZIP. This driver from Quarterdeck allows WDCDRV.386 to work even with Stealth loaded.

or

4.	Run WDTBLCHK.EXE to determine if the BIOS is operating the drive in LBA mode and whether it has created a valid EDPT. If there is no valid Enhanced Drive Parameter Table, WDCDRV cannot determine the translation mode and therefore cannot load. A BIOS upgrade is necessary in this case.


This Program
This program tried to access your hard disk in a way that is incompatible with the Windows 32bit disk access feature (WDCTRL). This may cause your system to become unstable.

Probable Cause:

A device driver, TSR, or application tried to access the harddisk controller ports directly while WDCDRV was loaded. WDCDRV returns an error code without performing the operation. This is probably a Virus Checker writing directly to the drive. This also occurs with the DOS UNDELETE program when run from a DOS window.

Action:

Find the application or device driver that attempted to program the harddisk controller ports directly. If you discover that the offending application or device is essential to the operation of your system, your only alternative is to disable FastDisk. Disable the 32bit disk access checkbox in the Change Virtual Memory Settings dialog in the 386 Enhanced section of the Control Panel.

Do not run the DOS Undelete program from within Windows. Exit Windows and run the program from DOS.


Validation Failed at Phase 09,1F
WDCDRV Validation Failed at Phase 09,1F

Probable Cause:

1.	You attempted to use WDCDRV.386 in a system with no Western Digital high capacity drive installed. WDCDRV.386 will only load if there is at least one Western Digital drive in the system.

or

2.	The drive is connected to a caching controller.

Action:

1.	Remove the line

device=WDCDRV.386

from the [368Enh] section of SYSTEM.INI.

or

2.	Obtain a 32-bit Disk Access driver from the manufacturer of the caching controller


Load Segment Failure
Application Error: Control Caused a Load Segment Failure in module CPWIN386.CPL at address 0001:3CCA

Probable Cause:

WDCDRV.386 has a Block Count set which is greater than 0 and Windows For Workgroups is using 32Bit FIle Access which uses Scatter/Gather DMA. This only occurs under the following conditions:

Windows For Workgroups is in use

32-bit File Access is enabled

WDCDRV.386 is loaded

ROCKET.BIN is loaded in config.sys

Action:

1.	Run the CAVIAR.EXE program and set the WDCDRV.386 Block Count to zero (0). If the customer has the older version of CAVIAR.EXE have them insert the following line in the [WDCDRV] section of SYSTEM.INI:

BLOCKINGFACTOR=0

or

2.	Place the command line option /W=1 (or /W=1,1 for a two drive system) on the device=rocket.bin command line. This disables block writes in rocket.


Validation Failed at Phase 0A,1F
 WDCDRV Validation Failed at Phase 0A,1F

Probable Cause:

The BIOS has built an invalid Enhanced Drive Parmeter Table.

Action:

1.	Run WDTBLCHK to verify that there is an invalid EDPT or no Enhanced Drive Parameter Table.

2.	A BIOS upgrade is necessary.


Windows For Workgroups locks up
 Windows For Workgroups locks up after the customer exits WFWG and then restarts it.

Probable Cause:

Customer is running WFWG on top of Novell Netware 3.12 and using the Microsoft supplied ODI support layer VxD MSODISUP.386 (in the [386Enh] section of SYSTEM.INI). WDCDRV.386 v2.5 is incompatible with the Microsoft supplied ODI support driver MSODISUP.386.

Action:

1.	Disable WDCDRV.386. This allows network drivers to load.

2.	Start WFWG with the /N command line option. This prevents the network drivers from loading and allows 32-bit Disk Access but no network access.


WFWG locks up
 WFWG locks up when the customer starts WFWG.

Probable Cause:

Customer is running WDCDRV with DMA transfers set to "Auto-Detect" and the motherboard PCI-EIDE chipset does not properly implement DMA transfers.

Action:

1.	Start Windows with the command line option /D:F to prevent WDCDRV.386 from loading.

2.	Run CAVIAR.EXE and disable DMA transfers and Scatter/Gather DMA.


Fatal Error #2
 Fatal Error #2 - Turn Off Your Computer Now!

Probable Cause:

Machine has a Phoenix BIOS v4.03 dated prior to July 1994 (7/94). This BIOS does not build a valid Enhanced Drive Parmeter Table yet it performs LBA translations.

Action:

1.	Start Windows with the command line option /D:F to prevent WDCDRV.386 from loading.

2.	Disable WDCDRV.386.

3.	Obtain a BIOS upgrade from the motherboard/system OEM. One is available from Phoenix, but only to the OEM.


Validation Failed at Phase 07,2F
WDCDRV Validation Failed at Phase 07,2F.

Probable Cause:

1.	Disk Manager is being used in a system which auto-detects the drive's correct CHS geometry and which supports the drive at full capacity. Since the BIOS in this system is performing translation, the effect of loading Disk Manager is to have double translation.

or

2.	The drive is attached to a caching controller. Caching controllers return their own ID in response to an Identify Drive Command from WDCDRV.386. Since WDCDRV.386 is looking for a Western Digital drive ID (e.g., AC31000-00H), it assumes that the drive is not  a WD drive and refuses to load.

Action:

1.	Remove Disk Manager. It is not needed.

or

2.	Disconnect the drive from the caching controller or do not use WDCDRV.386


CAVIAR.EXE Utility

Configuration Utility Overview

This program allows the user to change the operating mode of the WDC Caviar Fastdisk driver for Windows 3.1. This program automates the process of selecting the desired operating modes for the Fastdisk driver. This automation simplifies the configuration process and prevents the user from choosing incorrect option values for the various modes. Help is also provided on each option to assist the user in understanding the meaning and effect of the various options.

CAVIAR.EXE Configuration Screen

Enable DMA

If you enable DMA transfers, the Fastdisk driver will automatically perform DMA transfers, when possible. The Fastdisk driver may not use DMA transfers on all transfers even when DMA is enabled. Transfers that occur on odd addresses or that require Scatter/Gather type transfers when such hardware does not exist in the computer system will cause the Fastdisk driver to, temporarily not use DMA transfers for that request.

Enable Scatter/Gather

Scatter/Gather is an optimization of the normal DMA transfer mode. The Windows operating system cannot always maintain disk buffers on adjacent addresses. What this means is that all the blocks for a particular read or write operation may not be in areas of memory that are next to one another. If Scatter/Gather is not enabled, the Fastdisk driver must resort to non-DMA (or PIO) transfer modes when this situation occurs. Scatter/Gather transfer mode effectively enables the DMA hardware to combine or gather all of these scattered disk buffers into a single DMA operation automatically. Special DMA hardware is required in your computer to allow this mode. Please be sure your computer hardware supports this feature before enabling it.

Enable Intel DMA3

This option enables use of DMA channel 3 on some Intel motherboards. This is also often referred to as the CSL option.

DMA Mode

This allows you to select the DMA hardware mode to use. You can always select the "Auto-detect" option which will automatically determine the correct DMA mode to use for your computer system. Selecting one of the modes listed in the DMA Mode list-box will pick you preferred DMA mode but this driver can still choose a lesser mode if the mode you selected is not available on your computer. For example, if you selected mode F on a computer without mode F DMA capability the driver would use DMA mode B automatically. However, if you chose mode B and your hardware supported mode F the driver would not automatically switch to Mode F since that is a higher performance DMA mode.

DMA Channel

This allows you to select the DMA channel the Fastdisk driver use. This also has an auto-detect option that will automatically determine the correct DMA channel. It is recommended that you choose the auto-detect option. Choosing the incorrect DMA channel may result in loss of data. Letting the Fastdisk driver automatically determine the DMA channel is the safest method for DMA channel selection.

Blocking Factor

Block mode is a special PIO transfer mode.Rather than generating interrupts for every disk sector transferred block mode generates interrupt for every block of disk sectors transferred. The blocking factor allows you to choose the number of disk sectors per block to be utilized. If you choose the auto-detect option the Fastdisk driver will use either the current blocking factor if the drive is currently operating in block mode. Many new computer systems can operate Caviar drives in block mode and this is the blocking factor that the Fastdisk driver will detect when it starts. It is often a good idea to use the blocking factor chosen by the computer system manufacturer. If block mode is not enabled and the auto-detect option is chosen then the Fastdisk driver will use the default blocking factor read from the Caviar drives connected. Choosing any value other than Auto-detect will force the Fastdisk driver to use that blocking factor if it is supported by the drive. When you exit Windows the Fastdisk driver will reset the blocking factor to the original value it had when you entered Windows.

Fastdisk Driver Introduction

The WDC Caviar Fastdisk driver allows optimal operation of the Western Digital Corp. Caviar IDE drives with Microsoft Windows 3.1. This Fastdisk driver enables Windows 3.1 to operate in 32-bit disk transfer mode when running on a i386 or higher processor in Windows Enhanced mode. A Fastdisk driver such as the WDC Caviar driver provides several benefits to the user.

The first benefit is increasing the number of DOS sessions that can be open at once. Without a Fastdisk driver program the number of DOS sessions is by the amount of physical memory. Swap space provided by a permanent or temporary swap file is not usable by these DOS sessions. The Fastdisk driver allows DOS sessions to utilize virtual memory. The second benefit is increased performance in many cases. The WDCDRV.386 Fastdisk driver utilizes advanced DMA and PIO transfer modes provided by the latest WDC Caviar drives. Since many PC system BIOS do not support these advanced transfer modes the data transfer rates will be increased substantially under Windows when running with this Fastdisk driver.The third benefit is faster switching between applications. Since the Fastdisk driver allows disk transfers such as overlay operations to occur in 32-bit enhanced mode less switching between protected and real modes is required to perform disk transfers. This is most noticeable between multiple DOS sessions.


Fastdisk Driver Installation

Installation of the WDCDRV.386 Fastdisk driver requires editing the SYSTEM.INI file. The Western Digital Setup program can perform this automatically. However, if you choose to perform this activity yourself the procedure involves making some minor edits in the [386enh] section of SYSTEM.INI file. You can use any editor capable of editing standard DOS text files such as the EDIT program that comes with MS-DOS 5.0 and later.

In [386enh] section replace line:

device=*wdctrl

with:

device=wdcdrv.386

Start Windows 3.1 and verify that the WDCDRV.386 sign-on message appears indicating the version and other information for the Fastdisk driver program.

Features

The Western Digital Corp. Fastdisk driver for Windows 3.1 implements the following features:

1. Support of advanced PIO and DMA transfer modes for WDC Caviar drives.

2. Use of PIO block mode transfers on WDC Caviar drives.

3. Uses scatter/gather DMA transfers, when supported by system hardware.

4. Automatic determination of DMA mode and channel.

5. Automatic determination of current blocking factor for block mode.


Disk Compression Issues and Hard Disk Installation

DoubleSpace and DrvSpace

Cluster Size Limitation

Neither DoubleSpace nor DrvSpace will compress a drive/partition with clusters larger than 8kb. This is a limitation of the compression software and not the hard drive. This means that in order to use either DoubleSpace or DriveSpace, you must create partitions that are less than 512Mb in size. For example, a Western Digital AC31000 drive would need to be partitioned with a primary DOS partition of aproximately 512Mb and an extended DOS partition containing 2 logical drives each of which is approximately 260Mb. It would also be possible to create drives of less than 256Mb since this would reduce the cluster size to 4kb and save considerable space on the uncompressed drives.

Overview Of Disk Compression

The use of disk compression utilities to increase available hard disk space is becoming more common. When PC disk subsystems are upgraded with additional storage (adding a second hard drive), configuration issues may arise that make access to the existing compressed data difficult. This document was created to address some of the common disk compression issues encountered when installing a second hard drive.

The following disk compression products are covered:

DoubleSpace (included in Microsoft MS-DOS versions 6.0 & 6.20)

DriveSpace (included in Microsoft MS-DOS version 6.22)

While other less common disk compression utilities exist - and are not discussed in this document - contacting the software manufacturer for technical support is always the best idea. Some phone numbers for the manufacturers of disk compression utilities are located at the end of this document.

ISSUES SPECIFIC TO DOUBLESPACE AND DRIVESPACE

If you are installing a second hard drive in your computer and your existing drive is compressed with DoubleSpace or DriveSpace, it is easiest to install the new drive as the secondary/slave drive. After

installing the new drive as the slave, if you are unable to access one or more of your compressed drives, run the DBLSPACE.EXE or DRVSPACE.EXE program and choose Mount from the Drive menu. This

lists any unmounted compressed volume files and provides the option to mount the compressed volume(s).

 If you wish to make the new drive the primary/master drive and your existing drive the secondary/slave drive be sure to follow the special instructions for DoubleSpace/DriveSpace users as specified in the following sections.

NOTE: If you encounter problems using DoubleSpace or DriveSpace, contact Microsoft MS-DOS support at the number listed at the end of this document.

GENERAL INSTALLATION RECOMMENDATIONS

 The installation instructions below will allow the drive to be used as either a bootable master or slave drive. If the ability to boot drive D: at some later time is not an issue, use DOS's FDISK and FORMAT or

 Disk Manager to configure drive D: and skip sections I, II and III.

I. BEFORE YOU START

a. Make sure you have the following:

1. A bootable DOS disk with FDISK.EXE and FORMAT.COM.

2. Record the Cylinder/Head/Sector information for your existing hard drive currently specified in your CMOS setup.

3. Master/Slave jumper information for your existing hard drive.

4. If you use Microsoft DoubleSpace or DriveSpace disk compression on your existing drive AND you are installing the new drive as the primary/master drive, carry out steps 1 - 6 in the "Special Instructions For Users of DoubleSpace/DriveSpace" section (below) before proceeding with section Ib.

b. Temporarily install the Caviar drive as the only hard drive.

1. No jumpers are required to support standalone mode on the Caviar drive.

2. Make sure the 40 pin IDE cable is disconnected from the existing drive.

3. Boot the system and configure the C: drive parameters through your system configuration utility for the AC2540 use 1024 cyl, 16 heads and 63 sectors.

c. Start the system from a bootable DOS disk in floppy drive A:.

1. For a bootable DOS installation, continue at section IIa.

2. For a bootable DISK MANAGER installation, continue at section IIIa.

 II. USING DOS (528mB BOOTABLE, NON-Disk Manager installation)

a. At the A:> prompt, type FDISK and press return.

1. Choose option 1 (default), Create DOS partition... Press enter.

2. Choose option 1 (default), Create primary DOS partition. Press enter.

3. Accept the default "Y" use all available space for DOS partition and set the partition active.

4. Press any key to continue.

5. Press any key to reboot from the bootable DOS disk.

b. At the A> prompt, type FORMAT C: /S and press return.

1. Answer "Y" to Destroy all data on non-removable disk.

2. The screen should report FORMATTING 504 MB.

c. When Format is complete, remove the floppy from drive A: and reboot.

1. Check to make sure the drive boots properly to drive C:.

a. If the drive boots properly, continue with step d.

b. If the drive does not boot properly, rerun steps starting at Ic.

d. Turn off the computer and re-install your existing drive along with the new drive.

1. Set the drive jumpers for primary/master drive (drive C:) and secondary/slave drive (drive D:) as appropriate.

e. Start the system and change the CMOS drive data for drives C: D:.

1. Configure the C: and D: drive parameters through your system configuration utility. C: drive parameters refer to the primary/master drive and D: drive is the secondary/slave.

f.	Reboot the system from the C: drive.

1. The boot process should complete successfully and bring you to the C> prompt.

g.	If you use Microsoft DoubleSpace or DriveSpace disk compression on your existing drive AND you installed the new drive as the primary/master drive, carry out steps 6 - 9 in the "Special Instructions for Users of DoubleSpace/DriveSpace" section (below) to re-enable the disk compression.

h.	This completes the installation of your new drive. If you change to the new drive and run the CHKDSK command, it should report approximately 527,500,000 bytes total disk space.

III. USING DISK MANAGER (540mB BOOTABLE)

a.	At the A> prompt, insert the Disk Manager disk, type DM and press enter.

1. Choose option E, Easy Disk Installation.

2. When prompted, insert your bootable disk in drive A:.

b.	When installation completes, remove the floppy from drive A: and reboot.

1. Check to make sure the drive boots properly to drive C:.

a. If the drive boots properly, continue with step c.

b. If the drive does not boot properly, rerun steps starting at Ic.

c.	Turn off the computer and re-install your existing drive along with the new drive.

1. Set the drive jumpers for primary/master drive (drive C:) and secondary/slave drive (drive D:) as appropriate.

d.	Start the system and change the CMOS drive data for drives C: D:.

1. Configure the C: and D: drive parameters through your system configuration utility. C: drive parameters refer to the primary/master drive and D: drive is the secondary/slave.

e.	If you are leaving your existing drive as the primary/masterdrive, reboot the system from the C: drive and carry out steps e1 and e2.

1. Insert the Disk Manager floppy, change to that floppy drive and type DMCFIG and press enter.

2. Follow instructions and allow DMCFIG to modify CONFIG.SYS. This will copy the proper files onto your existing C: drive to support the Disk Manager partition on drive D:.

f.	If you use Microsoft DoubleSpace or DriveSpace disk compression on your existing drive AND you installed the new drive as the primary/master drive, carry out steps 6 - 9 in the "Special Instructions for Users of DoubleSpace/DriveSpace" section (below) to re-enable the disk compression.

g.	Reboot the system from the C: drive.

1. The boot process should complete successfully.

2. If you change to the new drive and run the CHKDSK command, it should report approximately 539,750,000 bytes total disk space.

SPECIAL INSTRUCTIONS FOR USERS OF DOUBLESPACE OR DRIVESPACE

IMPORTANT: Follow the instructions in the "General Installation Recommendations" section above. You will be referred to this section if it is appropriate.

STEPS TO TAKE BEFORE INSTALLING THE NEW DRIVE AS THE MASTER DRIVE

1.	Copy the DBLSPACE.EXE (or DRVSPACE.EXE) file to the bootable disk you created in Step Ia1.

2.	Use the ATTRIB command to remove the hidden and system attributes from the DBLSPACE.BIN and DBLSPACE.INI (or DRVSPACE.BIN and DRVSPACE.INI) files. These files are located in the root of drive C: (or the root of the host for drive C: if C: is compressed). For example, if drive C: is compressed and H: is the host for C:, type the following commands:

ATTRIB -H -S H:\DBLSPACE.BIN

ATTRIB -H -S H:\DBLSPACE.INI

Note: DriveSpace users substitute DRVSPACE for DBLSPACE.

3.	Copy these files to the bootable DOS disk you created in Step Ia1. For example:

COPY H:\DBLSPACE.BIN A:\DBL.BIN

COPY H:\DBLSPACE.INI A:\DBL.INI

Note: DriveSpace users substitute DRVSPACE/DRV for DBLSPACE/DBL.

4.	Use MS-DOS Edit to edit the A:\DBL.INI file and delete the ActivateDrive= line(s). For example, if drive C: is compressed and hosted on drive H:, delete the line that reads:

ActivateDrive=H,C0

5.	Save the A:\DBL.INI file and exit from Edit.

 STEPS TO TAKE AFTER INSTALLING THE NEW DRIVE AS THE MASTER DRIVE

6.	At the DOS prompt, carry out the following command:

 DIR C:\*.BIN /A

If you do not see the DBLSPACE.BIN or DRVSPACE.BIN file in the root of C, copy the BIN file from the boot disk you created before installing the new drive. For example:

COPY A:\DBL.BIN C:\DBLSPACE.BIN

-- or --

COPY A:\DRV.BIN C:\DRVSPACE.BIN

7.	Copy the INI file from the boot disk you created in 1a to the root of your C: drive. For example:

COPY A:\DBL.INI C:\DBLSPACE.INI

-- or --

COPY A:\DRV.INI C:\DRVSPACE.INI

8.	Restart your computer from drive C.

9.	Run the DBLSPACE.EXE/DRVSPACE.EXE program from the DOS boot disk and choose Mount from the Drive menu. Select the volume file to mount from the list provided. Repeat this step for each unmounted compressed volume file.

DISK MANAGER INSTALLATIONS

If after moving the Caviar drive to the D: drive position the blue banner for Disk Manager is not displayed or the message "BAD OR MISSING XBIOS.OVL" is displayed during boot up, follow these steps to correct this error.

1.	Boot the system from a bootable DOS 6.X diskette in drive A:. Check that drive C: is fully accessible and all files are present.

2.	Insert the Disk Manager floppy, change to that floppy drive and type DMCFIG and press enter.

3.	Follow instructions and allow DMCFIG to modify CONFIG.SYS. This will copy the proper files onto your existing C: drive to support the Disk Manager partition on drive D:.

4.	Remove the floppy from drive A: and reboot. Proper access to the Disk Manager partition on drive D: should now be established.

COMPRESSION UTILITY MANUFACTURERS SUPPORT NUMBERS

CubeIt - SoftLogic Solutions, main number (603) 627-9900

support number (603) 644-5555

BBS number (603) 644-5556

DoubleSpace or DriveSpace - Microsoft, main number (206) 882-8080

MS-DOS support (206) 646-5104

BBS number (206) 936-6735

FastTips service (800) 936-4200

Stacker - STAC Electronics, main number (619) 431-7474

BBS number (619) 431-5956

FAXback service (619) 431-8585

SuperStor - AddStor (no longer in business)


Windows Fastdisk Information
Windows 32-bit Disk Access Information

The following information is from Microsoft Corporation

Copyright © Microsoft Corporation 1993. MS Development Library

Microsoft On-line Service

What is 32-bit Disk access?

The Risk of 32-bit Disk Access

Third Party 32-bit Disk Access Driver

WFWG Setup may not detect existing 32-bit Disk Access Drivers

WFWG Cannot Run 32-Bit File Access with NE2000 ODI Driver

32-bit Disk Access driver and DOS 6.2 Doublespace

WFWG System is slow after 32-bit Disk Access is enabled


WFWG Setup and 32-bit File Access

WFWG Setup May Not Detect Existing 32-Bit Disk Access Drivers

PSS ID Number: Q106082

Article last modified on 11-05-1993

The information in this article applies to:

 - Microsoft Windows for Workgroups version 3.11

SYMPTOMS

When you upgrade a Windows 3.1 or Windows for Workgroups 3.1 installation to Windows for Workgroups 3.11, Setup may not detect existing 32-Bit Disk Access drivers. As a result, Setup may add a second set of entries for the default 32-Bit Disk Access drivers, resulting in an error message at startup.

CAUSE

Windows for Workgroups Setup does not check for a path statement when looking for 32-Bit Disk Access drivers. For example, it would find DEVICE=CPQWDCTRL.386 but would not find DEVICE=C:\CPQ\CPQWDCTL.386.

RESOLUTION

To work around this problem, edit the SYSTEM.INI file and remove the following lines from the [386Enh] section:

  device=*wdctrl

  device=*int13


Cannot
Cannot Run 32-Bit File Access with NE2000 ODI Driver

Cannot Run 32-Bit File Access with NE2000 ODI Driver

PSS ID Number: Q106140

Article last modified on 11-15-1993

The information in this article applies to: - Microsoft Windows for Workgroups version 3.11

SYMPTOMS

When you load the Novell NE2000.COM ODI driver and use 32-bit file Access with the Real Mode Mapper (RMM.D32), you may experience a five-second delay when loading applications. This may also cause Windows for Workgroups to load more slowly.

CAUSE

This delay occurs because the NE2000.COM driver is causing RMM.D32 to generate a time-out, and the time-out value is hard coded to be five seconds. Once the application loads, it then runs as fast as it should because it has been stored in cache memory (VCACHE.386).

This problem is in the NE2000.COM MLID and only occurs when IPXODI, which is needed to access NetWare servers, is loaded.

The NE2000 MLIDs known to cause this are from the Novell DOSUP7 client files dated 1/18/93, DOSUP8 client files dated 7/30/93, and version 1.34 dated 6/3/91.

RESOLUTION

Disable 32-Bit File Access.

If you are using an NE2000-compatible board, load the MLID that came with the network interface card to see if the problem goes away.


32-bit File Access and Dos 6.2 Doublespace

32-Bit File Access Requires MS-DOS 6.2 DoubleSpace

PSS ID Number: Q106248

Article last modified on 11-07-1993

The information in this article applies to:

 - Microsoft Windows for Workgroups version 3.11

 - Microsoft MS-DOS operating systems versions 6.0 and 6.2

SUMMARY

To use 32-bit file access (VFAT) with DoubleSpace, Microsoft Windows for Workgroups version 3.11 requires that you install MS-DOS 6.2.

MORE INFORMATION

Windows for Workgroups 3.11 does not allow 32-bit file access on a system that has the DBLSPACE.BIN file from MS-DOS 6.0 loaded. MS-DOS 6.2 is required for compatibility with 32-bit file access.

If DBLSPACE.BIN from MS-DOS 6.0 is loaded in memory, the 32-bit file access option is disabled. If you are using MS-DOS 6.0 and do not have any compressed drives mounted but DBLSPACE.BIN is loaded in memory, 32-bit file access is still unavailable. You must unload DBLSPACE.BIN from memory to enable 32-bit file access.

To unload DBLSPACE.BIN, proceed as follows:

1. Remove the system and hidden attributes from the DBLSPACE.INI file in the root directory of your startup drive by typing the following at the MS-DOS command prompt and then pressing ENTER:

attrib -s -h -r c:\dblspace.ini

2. Rename the DBLSPACE.INI file by typing the following at the MS-DOS command prompt and then pressing ENTER:

ren C:\dblspace.ini dblspace.ino

3. Restart your computer by pressing CTRL+ALT+DEL.

If you want to use any compressed drives on your system, you must rename the DBLSPACE.INO file to DBLSPACE.INI and restart your computer.


System Slows When 32-bit is Enabled
System is slow when 32-bit is enabled

System Slows After 32-Bit File Access Is Enabled

PSS ID Number: Q106266

Article last modified on 11-07-1993

The information in this article applies to:

 - Microsoft Windows for Workgroups version 3.11

SYMPTOM

Your system seems slower after you enable 32-bit file access.

CAUSE

Enabling 32-bit file access can result in slower system performance in the following situations:

Windows for Workgroups version 3.11 is in a low-memory situation after enabling VFAT.

Running VFAT/VCACHE with SMARTDrive may place Windows for Workgroups into a low-memory situation because memory used by SMARTDrive is not available to VCACHE.386 and vice-versa.

Since VCACHE.386 provides the caching on VFAT-enabled drives and network drives, while SMARTDrive caches CD-ROM drives and floppy disk drives, it is possible that systems with too large apercentage of memory allocated to caching have some performance reduction.

VFAT is unable to mount.

This can happen as a result of one or more of the following problems (note that the numbers below correspond to the numbered steps in the "VFAT is Unable to Mount" subsection of this article):

1. The real-mode network redirector has been loaded into memory.

2. A memory-resident program or device driver has a file open while Windows loads.

3. The drive is involved in a SUBST, ASSIGN, or JOIN action.

Because of the way they alter apparent disk characteristics, the SUBST.EXE, ASSIGN.COM, and JOIN.EXE programs are not compatible with installable file systems (IFS), such as 32-bit file access. These utilities can't be used if 32-bit file access is enabled.

4. The cache size selected is too large or invalid.

5. Required components are missing, corrupted, or not in the specified directory.

WORKAROUND

Low-Memory Situation

If you are in a low-memory situation (that is, you are running both SMARTDrive and VFAT), make sure that the amount of memory allocated to SMARTDrive's WinCacheSize and the cache size allocated to VCACHE.386 do not exceed roughly 30 percent of total system RAM.

For example, on a machine with 4 megabytes (MB) RAM, if you have allocated 1024 kilobytes (K) to VCACHE, set the SMARTDrive WinCacheSize to 128K. To do this, use a command similar to the following

C:\WINDOWS\smartdrv.exe <1024> <128>

where <1024> is the InitCacheSize (the cache size in MS-DOS) and <128> is the size of the cache in Windows.

VFAT Is Unable to Mount

If VFAT is unable to mount, try the following:

1. You can unload the real-mode network redirector by typing "net stop" (without the quotation marks) at the MS-DOS command prompt before starting Windows for Workgroups.

2. To ensure that no device driver or terminate-and-stay-resident (TSR) program has any files open upon entering Windows for Workgroups, clean start the machine.

3. Do not use the SUBST, ASSIGN, or JOIN utilities with 32-bit file access enabled. If you must use one of these utilities, disable 32-bit Disk Access first.

4. Verify that the cache size selected is valid. For more information, see the "Low-Memory Situation" section above.

5. The components used by VFAT vary depending on the system's hard disk drive (HD) controller type and whether or not disk compression (such as DoubleSpace or Stacker) is used.

NOTE: VFAT cannot load on a volume compressed with MS-DOS 6.0 DoubleSpace. This problem was resolved in MS-DOS 6.2.

IMPORTANT: The SYSTEM.INI file entries shown in the examples below are made by Control Panel and do not require manual editing. These examples are provided to show the component files involved and to aid in troubleshooting. You should avoid manually editing your SYSTEM.INI file.

Example 1: Uncompressed WD 1003 Compatible Drive

Western Digital 1003 or ST506 compatible drives without compression require the following entries in the [386Enh] section of the SYSTEM.INI file:

[386Enh]

device=*BLOCKDEV

device=*PAGEFILE

device=*int13

device=*wdctrl

device=vcache.386

device=vfat.386

All entries marked with an asterisk (*) are contained in the WIN386.EXE file. All files should be located in your Windows SYSTEM subdirectory unless otherwise noted.

Example 2: Compressed or Not WD 1003-Compatible Drive

If the drive is compressed, or if another hard disk in the machine is not WD 1003 compatible, then the line "device=*BLOCKDEV" should be replaced with the following:

device=IOS.386

device=VXDLDR.386.

In addition, the Real Mode Mapper (RMM.D32) must exist in the \WINDOWS\SYSTEM subdirectory.

Example 3: Not WD 1003-Compatible Drive

If 32-bit disk access cannot be used by a particular hard disk controller (because it is not WD 1003 compatible), the VFAT entries for the SYSTEM.INI file's [386Enh] section should include the following:

[386Enh]

device=*PAGEFILE

device=vcache.386

device=vfat.386

device=IOS.386

device=VXDLDR.386

Again, RMM.D32 must exist in the \WINDOWS\SYSTEM directory.

MORE INFORMATION

VFAT is a 32-bit virtual MS-DOS file allocation table (FAT) file system and can only mount on hard disk volumes. If 32-bit disk access drivers are not available for a particular hard disk controller, additional handling of INT 13h calls is required. The IOS.386,VXDLDR.386, and RMM.D32 files provide this functionality and allow VFAT/VCACHE to work on these drives. (Drives affected include most SCSI and ESDI drives, a few IDE drives, and compressed volumes residing on any type of hard disk)

32-bit disk access drivers may also be provided by an original equipment manufacturer (OEM) to work with a specific hard disk controller, replacing Microsoft's *WDCTRL. As a troubleshooting step, these drivers should be temporarily disabled and IOS.386, VXDLDR.386, and RMM.D32 should be used instead.


The Risk of 32-bit Disk Access

Microsoft has identified machines where WDCTRL can crash the system, usually in cases where hard disk controllers appear to be 1003 compatible, but are not. WDCTRL has been made as safe as possible. Each time it starts, it tests to ensure that it communicates properly with the hard drive controller. After much redundant checking, WDCTRL tries to read data from the disk, and, if that passes, it tries writing to the disk and reading it back. Only if all this passes does FastDisk continue and Windows is started.

However, there are drives that appear to be 1003 compatible but are not, and that are not detected. Also, there can be problems even with compatible controllers on some portable computers, specifically those that power down the hard disk to conserve power without telling the running software. If the disk is powered down and back up while its state is being tracked by WDCTRL, the state information will be incorrect, and serious damage can result.

This is why 32-bit disk access is not turned on by default. You must decide to turn it on in the Control Panel. For OEMs who preinstall Windows on a known system, however, 32-bit disk access can be turned on by default in complete safety.

If the initial WDCTRL tests fail, you will not know that anything is wrong. You just wont receive the benefit of 32-bit disk access. If a later test fails, an error message appears, warning you that something has gone wrong and advising you to reboot.


Third Party 32-bit Disk Access Driver
Third Party 32-bit Disk Access Drivers

Western Digital ships a FastDisk device with Retail Drive Upgrade Kits, and with drives shipped through distribution. This driver is named WDCDRV.386. Western Digital is also working with all the major hardware and disk-software vendors and many of them are already working on FastDisk devices of their own.

Many VL bus and PCI bus add-in adapters also ship with FastDisk devices written by the board vendor.


Microsoft On-line Service

The following are numbers for popular BBSs. These numbers will help you log on to the service from any city in the country. Listed below each BBS are the appropriate forums from which information or support for Windows for Workgroups is available.

Microsoft Product Support Services Download Service

(MSDL) (206) 936-MSDL.

America On-line (AOL) 1 800-555-1212

CompuServe 1-800-848-8990

GEnie™ 1-800-638-9636

Windows Driver Library

The Windows Driver Library is for all users of Windows who own peripheral devices not supported in the Windows or Windows for Workgroups retail package.

The WDL will include the Windows 3.1 compatible device drivers that are not included in the Windows 3.1 or Windows for Workgroups 3.1 retail box, including Printer, Display, Network, Fastdisk and VDD and Grabbers for the display drivers. All drivers in the WDL are compatibility tested by Microsoft. The WDL will be updated regularly as new and improved drivers become available.

The WDL will be distributed on network services including CompuServe, GEnie, ONLine, APCUG, and Microsoft PSS Download Service. The WDL is free of charge when downloaded from these services. The WDL is also available on disk for a fee from Microsoft Customer Service at

1-800-426-9400 (Outside the U.S,. contact your Microsoft subsidiary.)

The Windows Technical Support Library

This service will help users who are either PC support professionals or who support Windows for Workgroups users in their organization. This Library provides better and faster access to the information needed to solve Windows for Workgroups technical support problems. It will also help you update and customize the Windows for Workgroups Resource Kit with up-to-date technical information related to specific applications, hardware devices, and networks.

The Windows for Workgroups Technical Support Library will be available by referencing the appropriate forums on network services such as GEnie and CompuServe or free of charge by calling Microsoft PSS Download Service. To have information faxed or mailed, call Microsoft Product Support Services.


What is 32-bit Disk Access?

Figure 1: Disk access without FastDisk

32-bit disk access replaces the disk BIOS. Like MSCDEX, it serves as a device driver that talks to the hard drive controller, watching for INT 13H calls and handling them directly or passing them on to the BIOS.

32-bit disk access must exactly match the hard drive controller, not the specific hard drive. Windows 3.1 supports the standard introduced by Western Digital for 1003 controllers. This standard supports all types of hard drive controllers except ESDI and SCSI. And 32-bit disk access is an open standard that Microsoft promotes to all manufacturers of hard disk controllers, so they can write a FastDisk device to support this functionality for their hardware.

However, 32-bit disk access is not required. If you dont have a FastDisk device installed, your system will run the same way it did in Windows 3.0.

For Windows 3.1 in 386 enhanced mode:

* 32-bit disk access speeds up disk access.

* 32-bit disk access allows you to run more non-Windows applications, and it speeds up the system when you are running non-Windows applications in the background.

* 32-bit disk access provides a new mechanism for ISVs to write powerful disk utilities.

FastDisk Speeds Up Disk Access

On many machines, the disk BIOS is slow and unwieldy. When a FastDisk replaces the BIOS functions, many systems show impressive performance improvements. Also, 32-bit disk access allows Windows to handle BIOS requests in protected mode, rather than in real mode. Under 386 enhanced mode, the disk-reading sequence described at the beginning of this article becomes more complicated, because Windows and Windows applications run in protected mode, yet the system must switch to real mode (or virtual 8086 mode) in the background to run code such as MS-DOS and the BIOS. Switching modes is time consuming.

Figure 2: Disk access in 386 enhanced mode without FastDisk

For this process in 386 enhanced mode, the system begins in virtual mode while running the application. When the application makes a call to read from a file, Windows traps this interrupt and switches to protected mode, where several virtual devices check the call for actions they need to perform. If none of the devices intervenes, Windows hands the call to MS-DOS and switches back to virtual mode. MS-DOS finds the requested location on the disk, then generates an INT 13H call to the BIOS. Again, Windows traps that call and switches to protected mode for additional processing before handing it back to the BIOS, then switches back to virtual mode. The BIOS passes the call to the hard drive controller to set the physical read in motion, waits until that physical read is finished and returns from the INT 13H call. Windows switches back to protected mode to perform more processing, then returns to virtual mode to let MS-DOS see the return and perform more processing before returning from INT 21H back to protected mode. Windows again performs additional processing before finally switching back to virtual mode for the application that started this process.

Figure 3: Disk access in 386 enhanced mode with FastDisk

With 32-bit Disk Access, a FastDisk device is inserted to trap INT 13H calls and handle them in protected mode. This saves two mode transitions and perhaps more, because MS-DOS might have performed many INT 13H calls for the task.

FastDisk Allows You to Run More Non-Windows Applications

Users often complain that when the Help About dialog box shows, for example, 14 MB of free memory they can run large Windows applications, but they get out-of-memory messages when trying to start another non-Windows application. And even though all that memory is available, the Windows applications run slowly and hit the disk constantly.

These discrepancies occur because of the difference between virtual memory (of which you often have a great deal) and physical RAM (which is usually still limited). Virtual memory might be four times the amount of physical RAM, or even more under Windows 3.1. Although virtual memory is great for Windows applications, it doesnt always fill the need.

Each non-Windows application runs in its own virtual machine, taking up 640K or more of virtual memory. But when that virtual machine is running, all of it must occupy physical RAM, even if the application is idle in the background.

Windows applications can be paged to disk so that only the parts being used take up physical memory. But paging for non-Windows applications presents problems. If part of a non-Windows application were allowed to be paged to the disk, it might happen to be the applications data buffer. Windows would think that its okay, because it can read the data back when the application tries to touch it. But suppose the application makes a call to MS-DOS to read data from the disk into that buffer. MS-DOS begins handling the call, then sends an INT 13H call to the BIOS, which in turn talks to the hard disk controller until data begins to be transferred into the buffer. Windows see that it needs to page the buffer thats currently on disk back into memory, but it cant call MS-DOS, because MS_DOS is already busy and cannot be reentered if Windows calls again, the call fails. Windows cant read the data by calling the BIOS, because the BIOS is also in the middle of a call and also cant be reentered. So Windows cant let the current call finish until it pages in the buffer, and it cant page the buffer back in until the current call finishes.

The only way to ensure that this situation does not occur has been to avoid paging in anything while the non-Windows application is in the middle of an MS-DOS or BIOS call. Windows has done this by never paging an active non-Windows application out to disk. In other words, all 640K or more of that virtual machine had to be in physical memory.

This rapidly reduces free RAM. The Help About box might show that your system has plenty of memory, but it is virtual memory. If you try to start another non_Windows application, which requires yet another 640K of physical RAM, it cant be done.

In Windows 3.0, if you had a swap file, Windows could page using INT 13H BIOS calls. Windows 3.1 can do this with calls to the 32-bit disk access system, which can queue multiple requests and is completely reentrant. It doesnt rely on MS-DOS or the BIOS, so it can always page data in from the hard drive. The application in the virtual machine can be completely paged, no longer taking up physical RAM.

With 32-bit Disk Access, if you start three non-Windows applications, and then start another, it will work. When the Help About dialog box shows 14 MB, you can actually use all 14 MB.

FastDisk Makes the System More Responsive for Non-Windows Applications

By paging non-Windows applications with 32-bit Disk Access, Windows can free more RAM for running multiple non-Windows applications. You can run more applications, and the system runs more quickly.

You may also notice a difference when switching between non-Windows applications. Without 32-bit-access, if a non-Windows application were configured so that it could not run in the background, then it could be swapped out to disk. But when you press ALT+TAB, it could take a long time for the applica-tion to be read into RAM. By paging with 32-bit disk access, Windows can load it into just the amount of memory that the application is actually using, so task switching becomes almost instantaneous.

FastDisk Enables New Classes of Applications

32-bit disk access devices provide services to other virtual devices. Those services can also be provided to applications. New applications and utilities will soon appear that rely completely on 32-bit disk access. These utilities might, for example, allow applications to perform asynchronous I/O, reading and writing unobtrusively in the background, or might use a FastDisk for a tape drive to back up your system from inside Windows. These applications could not be written without 32_bit disk access, but this means that 32-bit Disk Access will be required for some applications.