1. Field of the Invention
The present invention relates to writing data onto a disk of a hard disk drive.
2. Background Information
Hard disk drives contain a plurality of magnetic heads that are coupled to rotating disks. The heads write and read information by magnetizing and sensing the magnetic fields of the disk surfaces. Each head is attached to a flexure arm to create a subassembly commonly referred to as a head gimbal assembly (“HGA”). The HGA's are suspended from an actuator arm. The actuator arm has a voice coil motor that can move the heads across the surfaces of the disks.
Data is stored on the disk as a series of ones and zeros. Each bit of data is typically written during an electronic timing window. A disk may be segmented into a plurality of individual magnetic areas. Each area is separated from an adjacent magnetic area by a non-magnetic space. Segmented disks can reduce the amount of magnetic interaction between magnetize areas of the disk. The difficulty with segmented disks is timing the writing to align with a magnetic area. For example, a head may write a bit when the write element is between two magnetic areas, causing magnetization of both areas. Such an event will create an additional bit in the bit stream.
It is difficult to detect such error bits because the read channel of the drive is continuously reading a stream of ones and zeros. Standard error correction techniques cannot typically account for added or dropped bits in a stream of data read from a disk. It would be desirable to detect and correct for added or dropped bits in a bitstream read from a disk of a hard drive.
A hard disk drive with a circuit that encodes a series of bits into a plurality of first codes and writes the first codes onto a disk. The first codes have a sequence so that when one of a plurality of second codes is read back from the disk and includes an extra bit, the second code can only be one of the first codes.
Disclosed is a hard disk drive with an encoder that writes data onto a disk in accordance with a plurality of first codes. Each code contains a plurality of digital bits. The first codes are selected so that if a bit is added or dropped during a write or read process the resulting bitstream can only be one of the selected first codes. This allows the bitstream to be accurately decoded to detect and correct for the added/dropped bit.
Referring to the drawings more particularly by reference numbers,
The disk drive 10 may include a plurality of heads 20 located adjacent to the disks 12. As shown in
Referring to
The hard disk drive 10 may include a printed circuit board assembly 38 that includes a plurality of integrated circuits 40 coupled to a printed circuit board 42. The printed circuit board 40 is coupled to the voice coil 32, heads 20 and spindle motor 14 by wires (not shown).
The read/write channel circuit 62 is connected to a controller 64 through read and write channels 66 and 68, respectively, and read and write gates 70 and 72, respectively. The read gate 70 is enabled when data is to be read from the disks 12. The write gate 72 is to be enabled when writing data to the disks 12. The controller 64 may be a digital signal processor that operates in accordance with a software routine, including a routine(s) to write and read data from the disks 12. The read/write channel circuit 62 and controller 64 may also be connected to a motor control circuit 74 which controls the voice coil motor 36 and spindle motor 14 of the disk drive 10. The controller 64 may be connected to a non-volatile memory device 76. By way of example, the device 76 may be a read only memory (“ROM”) that contains instructions that are read by the controller 64.
The write channel may include a encoder 80 that encodes the incoming data into a plurality of first codes. The encoder 80 may include a map that maps incoming bitstreams into outgoing bitstreams having a different binary pattern. The first codes are selected so that if a bit is added or dropped during the write or read process onto the disk, the resultant bitstream read from the disk will always include one of the first codes. The read channel has a decoder 82 that selects a first code word from a bitstream and maps the code back to the original bitstream.
The first codes can be selected with the following process. Assume the code words have N bits. First, there is generated a list of all possible N+1 code words. The +1 represents an error bit that was inadvertently added during a write or read process from the disk.
Then as shown in
Next a code word is selected and all rows with this code are noted and codes associated with these rows that are not the selected word are deselected and indicated by the cross-throughs in
In this example, the code word 111 can be selected to complete the process. The selected codes are used as the first codes generated by the encoder 80. The deselected codes are not used by the encoder 80. Thus when a corrupted bitstream is read from the disk, there can only be one correct code word. For example, the read code 0011 is always decoded as 001, not 011. The first codes are decoded by the decoder 82 and then mapped back to the original bitstream.
The technique shown in
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.
Number | Name | Date | Kind |
---|---|---|---|
6005727 | Behrens et al. | Dec 1999 | A |
6115198 | Reed et al. | Sep 2000 | A |
6167550 | Gray | Dec 2000 | A |
20030007270 | Bliss et al. | Jan 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20080112071 A1 | May 2008 | US |