Difference between revisions of "RX01/02 floppy drive"

From Computer History Wiki
Jump to: navigation, search
m (Layout: fmt)
m (External links: bah, typos!)
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:rx01.jpg|250px|thumb|right|An RX01 floppy drive chassis]]
+
{{Infobox Disk drive
 +
| name = RX01/RX02
 +
| manufacturer = [[Digital Equipment Corporation]]
 +
<!-- | controller = -->
 +
| capacity = 256 Kbytes (RX01), 512 Kbytes (RX02)
 +
| transfer rate = 4 usec/data bit (FM); 2 usec/data bit (MFM) (diskette to drive buffer); 1.2 usec/bit (uffer to CPU interface)
 +
| average access time = 262 ms
 +
| rpm = 360 rpm ± 2.5%
 +
| revolution time = 166 ms/rev nominal
 +
| one track seek = 6 msec/track maximum
 +
<!-- | average seek = -->
 +
<!-- | maximum seek = -->
 +
| surfaces = 1
 +
| tracks = 77
 +
| sectors = 26
 +
| words per sector = 64 16-bit
 +
| tracks per inch = 48 tracks/inch
 +
| density = 3200 bpi (maximum, on inner track)
 +
| recording method = FM (RX01), FM and MFM (RX02)
 +
| physical size = 19" W x 10-1/2" H x 16-1/2" L (pair of drives)
 +
<!-- | weight =  pounds -->
 +
| power consumption = 460 VA
 +
}}
  
The '''RX01''' and '''RX02''' floppy drives were [[DEC]]'s first floppy drives, and were used on a number of computers, such as the [[PDP-8]] and [[PDP-11]]. They used 8" floppies, compatible with the [[IBM 3740]] floppy drive; the media were single-sided, single-density, floppies, which came pre-formatted. (The RX0x drives are not capable of formatting blank floppies.) Data was protected with a [[CRC]], compatible with that used by the IBM 3740.
+
[[Image:rx01.jpg|250px|thumb|left|An RX01 floppy drive system]]
  
The drives are mostly identical, except that the RX02 supports optional double-density operation. This double-density is '''not''' the same as the 'normal' double-density 8" floppy, but a unique-to-DEC format. Both drives provide 26 sectors per track (1-26), and 77 tracks per floppy (0-76), for a total of 2002 sectors. Single-density sectors hold 128 bytes, and double-density sectors hold 256 bytes, for a maximum total capacity of 256KB for the RX01, and 512KB for the RX02.
+
The '''RX01''' and '''RX02''' floppy drives were [[DEC]]'s first floppy drives, and were used on a number of computers, such as the [[PDP-8 family|PDP-8]] and [[PDP-11]].
  
[[Image:rx02.jpg|thumb|left|An RX02 floppy drive]]
+
They used 8" floppies, compatible with the [[IBM 3740]] floppy drive; the media were single-sided, single-density, floppies, which came pre-formatted. (The RX0x drives are not capable of formatting blank floppies.) Data was protected with a [[CRC]], compatible with that used by the IBM 3740.
  
Single-density recording uses a double frequency (FM) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code (MFM). In an especially bizarre design choice, in both single- and double-density media, the sector '''''headers''''' are all recorded using FM coding; on double-density media, the '''''data''''' portions of sectors are recorded with MFM.
+
The drives are essentially identical, except that the RX02 supports optional double-density operation. This double-density is '''not''' the same as the 'normal' double-density 8" floppy, but a unique-to-DEC format. Single-density recording uses a double frequency ([[Frequency Modulation|FM]]) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code ([[Modified Frequency Modulation|MFM]] - below).
  
An RX02 can (under program control) write either single- or double-density media; single-density media written on an RX02 are readable on an RX01.
+
In an somewhat unusual design choice, on both single- and double-density media, the sector '''''headers''''' are recorded using FM coding, but on double-density media, the '''''data''''' portions of sectors are recorded with MFM.
  
The RX02 included the M7744 Controller and M7745 Read-Write card. Each drive cabinet holds a pair of drives (the left-hand drive is always drive 0).
+
[[Image:rx02.jpg|thumb|right|An RX02 floppy drive system]]
  
Both drives have [[UNIBUS]] and [[QBUS]] controllers; the [[RX11]] and [[RX211]] for the UNIBUS, and [[RXV11]] and [[RXV21]] for the QBUS. The first of each pair are for the RX01, and are programmed I/O; the latter are for the RX02, and provide [[DMA]] data transfer.
+
Both drives provide 26 sectors per track (1-26), and 77 tracks per floppy (0-76), for a total of 2002 sectors. Single-density sectors hold 128 bytes, and double-density sectors hold 256 bytes, for a maximum total capacity of 256KB for the RX01, and 512KB for the RX02. An RX02 can (under program control) write either single- or double-density media; single-density media written on an RX02 are readable on an RX01.
  
There are also as RK8E (RX01 only) and RK28 controllers for the [[PDP-8]]. The maximum number of drives supported by a single controller is two. The RX02 can be strapped to emulate an RX01, in which case the RX01 controllers (RX11 and RXV11) can support them.
+
The RX01 included the M7726 Controller and M7727 Read-Write card; the RX02 included the M7744 Controller and M7745 Read-Write card. Each drive cabinet holds a pair of drives (the left-hand drive is always drive 0), along with an H771 power supply.
  
These drives were used as primary mass storage devices for later low-cost PDP-11 systems, such as the [[LSI-11]], and as such as 'console' floppies for the LSI-11 console computer in the [[VAX 11/780]].
+
Both drives have [[UNIBUS]] and [[QBUS]] controllers; the [[RX11 floppy controller|RX11]] and [[RX211 floppy controller|RX211]] for the UNIBUS, and [[RXV11 floppy controller|RXV11]] and [[RXV211 floppy controller|RXV21]] for the QBUS. The first of each pair are for the RX01, and are programmed I/O; the latter are for the RX02, and provide [[DMA]] data transfer.
 +
 
 +
The RX02 can be strapped to emulate an RX01, in which case the RX01 controllers (RX11 and RXV11) can support them. There are also as RK8E (RX01 only) and RK28 controllers for the PDP-8. The maximum number of drives supported by a single controller is two.
 +
 
 +
These drives were used as primary mass storage devices for later low-cost PDP-11 systems, such as the [[LSI-11]], and as such, as 'console' floppies for the LSI-11 console computer in the [[VAX 11/780]].
  
 
==Coding systems==
 
==Coding systems==
Line 23: Line 49:
 
[[Image:rx01b.jpg|150px|thumb|right|Another RX01]]
 
[[Image:rx01b.jpg|150px|thumb|right|Another RX01]]
  
In the single-density double frequency (FM) coding, there is a flux reversal every clock time, and an additional flux reversal in the middle of the bit for a '1' bit; for '0' bits, there is no flux reversal. In the double-density Miller coding (MFM), a flux reversal indicates a '1' bit, and no flux reversal indicates a '0'; a clock is recorded only between data 'zeros'.
+
Since the maximum flux reversal rates are the same for FM, and MFM, but with the latter having with a data rate double that of the FM, the same hardware can thus hold twice as many bits with the MFM coding.
 
 
Since the maximum flux reversal rates are the same for FM, and MFM with a data rate double that of the FM, the same hardware can thus hold twice as many bits with the MFM coding.
 
  
 
The actual MFM encoding used is modified slightly to prevent a false sector header preamble (in FM coding) from being created within a double density data area (in MFM).
 
The actual MFM encoding used is modified slightly to prevent a false sector header preamble (in FM coding) from being created within a double density data area (in MFM).
Line 41: Line 65:
 
* Header CRC (2 bytes)
 
* Header CRC (2 bytes)
  
This is followed by an 11-byte gap (0's or 1's), a 6-byte sync field (0's), and a Data mark (recorded in FM); this is also a flux reversal string which does not form a bit string, and there are 4 versions: single- and double-density, and normal and 'deleted'. This is followed by either 128 or 256 bytes of data, and a two-byte CRC (bother in either FM, or MFM).
+
This is followed by an 11-byte gap (0's or 1's), a 6-byte sync field (0's), and a Data mark (recorded in FM). This is also a flux reversal string which does not form a bit string, and there are 4 versions: single- and double-density, and normal and 'deleted'. This is followed by either 128 or 256 bytes of data, and a two-byte CRC (both in either FM, or MFM).
  
 
==Layout==
 
==Layout==
  
DEC normally left track 0 unused (to hold bootstraps).
+
DEC normally left track 0 unused (although it was not used to hold bootstraps). This was because the standard IBM format reserved track 0 for special purposes.
 +
 
 +
They also used an idiosyncratic layout of the 'logical' sectors on a floppy, intended to maximize the performance: the first logical sector of each data track was offset by six 'physical' sectors from the 'first' sector of the preceding track, and sequential logical sectors were on alternating physical sectors.
  
They also used an idiosyncratic layout of the 'logical' sectors on a floppy, intended to maximize the performance: the first logical sector of each data track was offset by six 'physical' sectors from the 'first' sector of the preceding track. No description has been located, but this fragment of [[C]] code implements the logical to physical sector translation:
+
This fragment of [[C programming language|C]] code implements the logical to physical sector translation:
 
<pre>#define NSECT  26
 
<pre>#define NSECT  26
  
 
track = (blkno / NSECT);
 
track = (blkno / NSECT);
 
i = ((blkno % NSECT) << 1);
 
i = ((blkno % NSECT) << 1);
if (i >= NSECT )
+
if (i >= NSECT)
 
i++;
 
i++;
 
sector = (((i + (6 * track)) % NSECT) + 1);
 
sector = (((i + (6 * track)) % NSECT) + 1);
 
track++;</pre>
 
track++;</pre>
 +
The second through fourth lines do the interleave (they effectively form a rotate); the next line performs the 6-sector offset. (The '+1' is because sectors are numbered 1-26, not 0-25; the last line is to avoid track 0.)
  
==Specifications==
+
==Bootstraps==
 +
 
 +
DEC ROM bootstraps for the RX0x load physical sectors 1, 3, 5 and 7 from track 1; in other words, they use the DEC 'logical' layout. On single-density media, where sectors are 128 bytes, loading 4 sectors loads 512 bytes, which is the standard DEC block size (most bootstraps are tailored to fit into one DEC disk block, which is what most DEC ROM bootstraps load). On double-density media, this loads 1024 bytes, but the second block is usually ignored.
 +
 
 +
==Other Specifications==
  
 
* Seek error rate - 1 in 1<sup>6</sup> seeks  
 
* Seek error rate - 1 in 1<sup>6</sup> seeks  
 
* Soft data error rate - 1 in 10<sup>9</sup> bits read or written
 
* Soft data error rate - 1 in 10<sup>9</sup> bits read or written
 
* Hard data error rate - 1 in 10<sup>12</sup> bits read or written
 
* Hard data error rate - 1 in 10<sup>12</sup> bits read or written
* Data transfer rate
 
** Diskette to controller buffer - 4 usec/data bit (FM); 2 usec/data bit (MFM)
 
** Buffer to CPU interface - 1.2 usec/bit
 
* Track-to-track move - 6 msec/track maximum
 
 
* Head settle time - 25 msec maximum
 
* Head settle time - 25 msec maximum
* Rotational speed - 360 rpm ± 2.5%; 166 ms/rev nominal
+
 
* Bit density maximum (on inner track) - 3200 bpi (FM) or modified (MFM)
+
The average access time of 262 ms is computed as follows:
* Track density - 48 tracks/inch
+
 
* Average access - 262 ms, computed as follows:
+
* Seek - 77 tracks/3 X 6 msec = 154 msec
** Seek - 77 tks/3 X 6 msec = 154 msec
+
* Settle - 25 msec
** Settle - 25 msec
+
* Rotate - 166 msec/2 = 83 msec
** Rotate - 166 msec/2 = 83 msec
+
 
 +
==External links==
 +
 
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx01/EK-RX01-OP-001_RX11UM_Nov76.pdf RX8/RX11 floppy disk system user's manual ] (EK-RX01-OP-001)
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx01/EK-RX01-MM-002_maint_Dec76.pdf RX8/RX11 floppy disk system maintenance manual] (EK-RX01-MM-002)
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx01/RX01_Schem.pdf RX01 Engineering Drawings]
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx02/EK-RX02-UG-001_UsersGuide_Jul78.pdf RX02 Floppy Disk System User's Guide] (EK-RX02-UG-001)
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx02/EK-0RX02-TM-001_RX02_Tech_Oct78.pdf Floppy Disk System Technical Manual] (EK-0RX02-TM-001)
 +
* [https://bitsavers.computerhistory.org/pdf/dec/disc/rx02/MP00629_RX02_Sep78.pdf RX02 Field Maintenance Print Set] (MP00629)
 +
* [http://www.chdickman.com/rx02/ DEC RX01/RX02 Floppy Disk System]
  
 
[[Category: DEC Disk Drives]]
 
[[Category: DEC Disk Drives]]
 
{{PDP-11}}
 

Revision as of 21:19, 12 January 2022


RX01/RX02
Manufacturer: Digital Equipment Corporation
Capacity: 256 Kbytes (RX01), 512 Kbytes (RX02)
Transfer Rate: 4 usec/data bit (FM); 2 usec/data bit (MFM) (diskette to drive buffer); 1.2 usec/bit (uffer to CPU interface)
Average Access Time: 262 ms
Revolutions per Minute: 360 rpm ± 2.5%
1/2 Revolution Time: 166 ms/rev nominal
One Track Seek Time: 6 msec/track maximum
Total Surfaces: 1
Tracks per Surface: 77
Sectors per Track: 26
Words per Sector: 64 16-bit
Tracks per Inch: 48 tracks/inch
Density: 3200 bpi (maximum, on inner track)
Recording Method: FM (RX01), FM and MFM (RX02)
Physical Size: 19" W x 10-1/2" H x 16-1/2" L (pair of drives)
Power Consumption: 460 VA


An RX01 floppy drive system

The RX01 and RX02 floppy drives were DEC's first floppy drives, and were used on a number of computers, such as the PDP-8 and PDP-11.

They used 8" floppies, compatible with the IBM 3740 floppy drive; the media were single-sided, single-density, floppies, which came pre-formatted. (The RX0x drives are not capable of formatting blank floppies.) Data was protected with a CRC, compatible with that used by the IBM 3740.

The drives are essentially identical, except that the RX02 supports optional double-density operation. This double-density is not the same as the 'normal' double-density 8" floppy, but a unique-to-DEC format. Single-density recording uses a double frequency (FM) coding (compatible with IBM 3740 devices), and double-density uses a modified Miller code (MFM - below).

In an somewhat unusual design choice, on both single- and double-density media, the sector headers are recorded using FM coding, but on double-density media, the data portions of sectors are recorded with MFM.

An RX02 floppy drive system

Both drives provide 26 sectors per track (1-26), and 77 tracks per floppy (0-76), for a total of 2002 sectors. Single-density sectors hold 128 bytes, and double-density sectors hold 256 bytes, for a maximum total capacity of 256KB for the RX01, and 512KB for the RX02. An RX02 can (under program control) write either single- or double-density media; single-density media written on an RX02 are readable on an RX01.

The RX01 included the M7726 Controller and M7727 Read-Write card; the RX02 included the M7744 Controller and M7745 Read-Write card. Each drive cabinet holds a pair of drives (the left-hand drive is always drive 0), along with an H771 power supply.

Both drives have UNIBUS and QBUS controllers; the RX11 and RX211 for the UNIBUS, and RXV11 and RXV21 for the QBUS. The first of each pair are for the RX01, and are programmed I/O; the latter are for the RX02, and provide DMA data transfer.

The RX02 can be strapped to emulate an RX01, in which case the RX01 controllers (RX11 and RXV11) can support them. There are also as RK8E (RX01 only) and RK28 controllers for the PDP-8. The maximum number of drives supported by a single controller is two.

These drives were used as primary mass storage devices for later low-cost PDP-11 systems, such as the LSI-11, and as such, as 'console' floppies for the LSI-11 console computer in the VAX 11/780.

Coding systems

Another RX01

Since the maximum flux reversal rates are the same for FM, and MFM, but with the latter having with a data rate double that of the FM, the same hardware can thus hold twice as many bits with the MFM coding.

The actual MFM encoding used is modified slightly to prevent a false sector header preamble (in FM coding) from being created within a double density data area (in MFM).

Low-level format

A sector contains the following fields (header first):

  • Preamble (8 bytes of '0')
  • Address mark (1 byte, a unique flux reversal string which does not form a bit string)
  • Track number (1 byte)
  • Zeros (1 byte)
  • Sector number (1 byte)
  • Zeros (1 byte)
  • Header CRC (2 bytes)

This is followed by an 11-byte gap (0's or 1's), a 6-byte sync field (0's), and a Data mark (recorded in FM). This is also a flux reversal string which does not form a bit string, and there are 4 versions: single- and double-density, and normal and 'deleted'. This is followed by either 128 or 256 bytes of data, and a two-byte CRC (both in either FM, or MFM).

Layout

DEC normally left track 0 unused (although it was not used to hold bootstraps). This was because the standard IBM format reserved track 0 for special purposes.

They also used an idiosyncratic layout of the 'logical' sectors on a floppy, intended to maximize the performance: the first logical sector of each data track was offset by six 'physical' sectors from the 'first' sector of the preceding track, and sequential logical sectors were on alternating physical sectors.

This fragment of C code implements the logical to physical sector translation:

#define NSECT   26

track = (blkno / NSECT);
i = ((blkno % NSECT) << 1);
if (i >= NSECT)
	i++;
sector = (((i + (6 * track)) % NSECT) + 1);
track++;

The second through fourth lines do the interleave (they effectively form a rotate); the next line performs the 6-sector offset. (The '+1' is because sectors are numbered 1-26, not 0-25; the last line is to avoid track 0.)

Bootstraps

DEC ROM bootstraps for the RX0x load physical sectors 1, 3, 5 and 7 from track 1; in other words, they use the DEC 'logical' layout. On single-density media, where sectors are 128 bytes, loading 4 sectors loads 512 bytes, which is the standard DEC block size (most bootstraps are tailored to fit into one DEC disk block, which is what most DEC ROM bootstraps load). On double-density media, this loads 1024 bytes, but the second block is usually ignored.

Other Specifications

  • Seek error rate - 1 in 16 seeks
  • Soft data error rate - 1 in 109 bits read or written
  • Hard data error rate - 1 in 1012 bits read or written
  • Head settle time - 25 msec maximum

The average access time of 262 ms is computed as follows:

  • Seek - 77 tracks/3 X 6 msec = 154 msec
  • Settle - 25 msec
  • Rotate - 166 msec/2 = 83 msec

External links