# US 5,710,943 A · Time based data retention in a variable data rate disk drive

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,710,943 A
- Document ID: US5710943A
- Status: Granted
- Kind: A
- Application number: 08/497,299
- Filed: 1995-06-30
- Granted: 1998-01-20
- Earliest claimed: 1995-06-30
- Assignees: Maxtor Corporation
- Inventors: Scott Burton; Lance R. Carlson; Stephen R. Cornaby
- Web page: https://patentgrep.com/patent/US5710943A

## CPC

- G11B 19/04: Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
- G11B 20/10: Digital recording or reproducing
- G11B 20/18: Error detection or correction; Testing {, e.g. of drop-outs}
- G11B 20/1258: {where blocks are arranged within multiple radial zones, e.g. Zone Bit Recording or Constant Density Recording discs, MCAV discs, MCLV discs}
- G11B 2020/1282: {in embedded servo fields}
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)

## Abstract

The present invention provides a method and apparatus for assuring that the desired data is transferred between a variable rate disk drive and a host system during read and write operations. The invention involves retaining a variable amount of data in a buffer memory after the data has been transferred between the buffer memory and a magnetic disk with the variable amount of data retained based upon a predetermined fixed period of time associated with error conditions and a disk transfer rate. If an error condition is detected during a transfer of data between the buffer memory and the disk, all of the retained data may be retransferred after the error condition has been corrected.

## Claims

### Claim 1

A method for assuring that the desired data is transferred between a disk drive and a host system during read or write operations, comprising the steps of:
providing a disk onto which data may be written, wherein said disk includes a first concentric data track with a first radius and a second concentric data track with a second radius that is greater than said first radius, said first concentric data track containing less data than said second concentric data track over the same angular distance;
providing a spindle motor for rotating said disk at a substantially constant angular velocity;
providing means for transferring data between said disk and a host system, wherein said means for transferring data includes means for transferring data with said first concentric data track of said disk at a first data rate and said second concentric data track of said disk at a second data rate that is greater than said first data rate;
providing buffer means, located between said means for transferring and said host system, for providing temporary storage of data as said data is being transferred between said magnetic disk and said host system, said buffer having a predetermined number of data storage locations for the storage of said data;
receiving and storing data being transferred between said disk and said host system, in said buffer means;
retaining an amount of data in said buffer means for a predetermined period of time after said data has been transferred between said disk and said buffer means, for possible retransfer between said disk and said buffer means, said predetermined period of time being provided to one of said host and said disk drive before said data is transferred between said disk and said buffer means; releasing data storage locations in said buffer means for the storage of new data after data has been retained in said data storage locations for said predetermined period of time;
adjusting the amount of data retained by said buffer means, in said step of retaining, using information relating to whether data is being transferred between said disk and said buffer means at said first data rate or said second data rate to optimize data transfer performance between said disk and said buffer means;
monitoring said disk drive to detect the occurrence of an event, different from a determination of an error in the data transferred, that may cause the data transferred between said disk and said buffer means to be compromised; and
retransferring said data, when an event is detected in said step of monitoring, between said magnetic disk and said buffer means.

### Claim 2 (depends on 1)

The method, as claimed in claim 1, wherein:
said data being transferred between said disk drive and said host system is grouped into data sectors that each contain a predetermined number of data bits;
wherein said step of providing a disk includes providing a disk wherein said first and second concentric data tracks are each divided into an equal number of data regions that each contain at least a portion of a data sector;
wherein said first concentric data track contains fewer data sectors than said second concentric data track.

### Claim 3 (depends on 1)

The method, as claimed in claim 1, wherein:
said amount of data retained in said buffer means in said retaining step is related to the amount of data transferred between said disk and said buffer means in a substantially fixed amount of time.

### Claim 4 (depends on 2)

The method, as claimed in claim 2, wherein:
said information relating to whether data is being transferred between said disk and said buffer at a first data rate or a second data rate relates to a number of data sectors per data region in the track being accessed.

### Claim 5 (depends on 1)

The method, as claimed in claim 1, wherein:
said substantially fixed amount of time includes a multiple of a servo sampling interval.

### Claim 6 (depends on 2)

The method, as claimed in claim 2, wherein:
said step of adjusting includes adjusting the amount of data retained by said buffer means, in said step of retaining, so that all data sectors in said buffer that were most recently transferred between said buffer and said disk over a predetermined number of data regions are retained.

### Claim 7 (depends on 6)

The method, as claimed in claim 6, wherein:
said predetermined number of data regions is chosen based on error event detection times.

### Claim 8 (depends on 2)

The method, as claimed in claim 2, wherein:
said step of adjusting includes adjusting the number of data sectors that are retained as data is transferred between said buffer and said disk.

### Claim 9 (depends on 2)

The method, as claimed in claim 2, wherein:
said step of adjusting includes:
performing a data transfer between a predetermined track of said disk and said host system;
first counting the number of data sectors transferred between said buffer and a first data region on said predetermined track of said disk;
second counting, after said first counting, the number of data sectors transferred between said buffer and a second data region on said predetermined track of said disk;
increasing the number of data sectors being retained in said buffer means by the number of data sectors counted during said step of second counting; and
decreasing the number of data sectors being retained in said buffer means by the number of data sectors counted during said step of first counting.

### Claim 10 (depends on 1)

The method, as claimed in claim 1, wherein:
said step of monitoring includes monitoring to detect the occurrence of an event including one of the following: physical shock to said disk drive, misread servo data, misread ID data, and internal mechanical problems.

### Claim 11 (depends on 9)

The method, as claimed in claim 9, wherein:
the number of data sectors transferred between said buffer and said first data region of said disk includes a data sector for which transfer was initiated in a previous data region to said first data region and completed in said first data region; and
the number of data sectors transferred between said buffer and said second data region of said disk includes a data sector for which transfer was initiated in a previous data region to said second data region and completed in said second data region.

### Claim 12

A method for assuring that the desired data is transferred between a disk drive and an exterior environment during read or write operations, comprising the steps of:
providing a disk having a plurality of concentric tracks onto which data sectors may be written, said tracks each being divided into an equal number of data regions separated from one another by servo sample regions, wherein the number of data sectors stored in each data region varies between at least two of said plurality of concentric tracks;
providing a spindle motor for rotating said disk at a substantially constant velocity;
providing a read/write head for sensing data from a track of said disk during a read operation and for inducing data into a track of said magnetic disk during a write operation;
providing head location means for locating said head over a desired track of said magnetic disk in response to a signal from an exterior environment;
providing a variable data rate channel for reading data from and for writing data to said disk, the data rate of said channel depending upon the number of data sectors stored in each data region of said desired track;
providing buffer means, located between said channel and said exterior environment, for providing temporary storage of data as said data sectors are being transferred between said disk and said exterior environment during read and write operations, said buffer having a predetermined number of storage locations for storing a predetermined number of data sectors;
transferring data sectors between said disk and said exterior environment;
receiving and storing data sectors being transferred between said disk and said exterior environment, in said buffer means;
retaining a number of data sectors in said buffer means after said data sectors have been transferred between said disk and said buffer means, for possible retransfer between said disk and said buffer means, before releasing corresponding storage locations in said buffer means for the storage of new data sectors; and
adjusting the number of data sectors retained by said buffer means in said retaining step based on the number of data sectors transferred between said disk and said buffer means in a substantially fixed time period for providing efficient data transfer rate performance between said disk and said exterior environment.

### Claim 13 (depends on 12)

The method, as claimed in claim 12, further including the steps of:
monitoring said disk drive for the occurrence of an event that may cause the data sectors transferred between said disk and said buffer means to be compromised; and
retransferring, when an event is detected in said step of monitoring, said data sectors retained in said buffer, between said disk and said buffer means.

### Claim 14 (depends on 12)

The method, as claimed in claim 12, wherein:
said step of providing a disk further includes the step of providing a disk having an innermost track and an outermost track, wherein the number of data sectors stored in each data region increases from a minimum value at said innermost track to a maximum value at said outermost track.

### Claim 15 (depends on 12)

The method, as claimed in claim 12, wherein:
said step of adjusting includes determining the number of data sectors in said buffer means that were transferred between said buffer means and said disk over a predetermined number of data regions that were most recently traversed by said head.

### Claim 16 (depends on 12)

The method, as claimed in claim 12, wherein:
said step of adjusting includes:
performing a data transfer between a predetermined track of said disk and said exterior environment;
first counting the number of data sectors transferred between said buffer and a first data region on said predetermined track of said disk;
second counting, after said first counting, the number of data sectors transferred between said buffer and a second data region on said predetermined track of said disk;
increasing the number of data sectors being retained in said buffer means by the number of data sectors counted during said step of second counting; and
decreasing the number of data sectors being retained in said buffer means by the number of data sectors counted during said step of first counting.

### Claim 17 (depends on 12)

The method, as claimed in claim 12, wherein:
said substantially fixed time period is chosen based on error event detection times.

### Claim 18 (depends on 13)

The method, as claimed in claim 13, wherein:
said step of monitoring includes monitoring to detect the occurrence of an event including one of the following: physical shock to said disk drive, misread servo data, misread ID data, and internal mechanical problems.

### Claim 19

An apparatus for assuring that the desired data is transferred between a disk drive and an exterior environment during read and write operations, comprising:
a magnetic disk onto which data may be written in the form of magnetic polarity transitions, wherein said magnetic disk includes a first concentric data track with a first radius and a second concentric data track with a second radius that is greater than said first radius, said first concentric data track containing less data than said second concentric data track over the same angular distance;
a spindle motor for rotating said magnetic disk at a substantially constant angular velocity;
means for transferring data between said disk and said exterior environment, wherein said means for transferring data includes means for transferring data with said first concentric data track at a first data rate and said second concentric data track at a second data rate that is greater than said first data rate;
buffer means, located between said means for transferring and said host system, for providing temporary storage of data as said data is being transferred between said magnetic disk and said exterior environment, said buffer being capable of storing a predetermined amount of data;
data retaining means for retaining an amount of data in said buffer means for a predetermined period of time after said data has been transferred between said disk and said buffer means, for possible retransfer between said disk and said buffer means, before releasing corresponding data storage locations in said buffer means for the storage of new data;
buffer control means for adjusting the amount of data being retained by said data retaining means based on a substantially fixed time period for providing efficient data transfer rate performance between said magnetic disk and said exterior environment.

### Claim 20 (depends on 19)

The apparatus, as claimed in claim 19, further comprising:
means for sensing the occurrence of an event that may cause the data transferred between said magnetic disk and said buffer means to be compromised; and
means for retransferring said data retained in said buffer, after an event has been sensed by said means for sensing, between said magnetic disk and said buffer means.

### Claim 21 (depends on 19)

The apparatus, as claimed in claim 19, wherein:
said data being transferred between said disk drive and said exterior environment is divided into data sectors of constant length.

### Claim 22 (depends on 21)

The apparatus, as claimed in claim 21, wherein:
said buffer control means includes:
counter means for counting the number of data sectors for which transfer between said magnetic disk and said buffer was completed for each data region passed by a read/write head, and for resetting to zero after each data region is passed by said read/write head;
shift register means having a predetermined number of storage cells, said shift register means for shifting the value stored in said counter means into a first cell after each data region is passed by said read/write head, and for shifting the values stored in each remaining cell one cell toward a last cell after each data region is passed by said read/write head, said value stored in said last cell being shifted out of said shift register means; and
pointer means for storing a value which points to a location in said buffer means which marks the end of the data sectors being retained by said buffer means, wherein the value stored in said pointer means is incremented by the value stored in the last cell of said shift register means after each data region is passed by said read/write head and before said the value stored in said last cell is shifted out of said shift register.

### Claim 23 (depends on 1)

The method, as claimed in claim 1, wherein:
said step of retaining includes retaining said data for a substantially fixed amount of time before releasing said corresponding data storage locations.
