METHOD OF AND CONTROLLER FOR HANDLING MEDIUM DEFECTS IN A DISC DRIVE SYSTEM

Abstract: A remapping technique for handling medium defects in a disc drive system is disclosed. Each surface on each disc is divided into a number of tracks with the corresponding tracks on all discs defining a cylinder. Each surface is further divided into a plurality of sectors. Each sector in each cylinder not having a defect is assigned a logical address in a predeter­ mined order such that, as the discs rotate and as the head address increments within a cylinder, each succeeding defect-free sector within that cylinder has a logical address which is related by a predetermined algorithm to the logical address of the preceding defect-free sector. Defective sectors are labelled with an appropriate unique pattern in their head­ ers so that they can be identified and distinguished from logical address numbers. A predetermined number of sectors at the end of each cylinder are allocated as spares, the number of spares being at least as large as the number of potentially defective sectors in a cylinder and the number of spares to which logical addresses are assigned being equal to the number of non-spare sectors which are defective. In using the technique, each defect-free sector in a cylinder is located and assigned its logical address. In transferring information, the header address of a sector in a cylinder held in a data buffer (29) is compared (33) with the logical address expected at that logical in a register (31). If the addresses match the data at that sector is transferred by sequencing logic (35). If the addresses do not match the header address at the next physical sector is compared with the expected address. The procedure is repe­ ated until the address at a physical sector match with the logical expected address. However, if the sequence of mis-­ matches exceeds a predetermined number, counted in a counter (45), the sequencing operation is terminated and an error signal generated by a detector (47). The technique elimi­ nates moving the heads radially inward or radially outward to spare stacks allocated for data belonging in defective sectors as in most prior art systems.

Description: METHOD OF AND CONTROLLER FOR HANDLING MEDIUM DEFECTS IN A DISC DRIVE SYSTEM The present invention relates generally to disc drive systems and more particularly to an improved method and controller for handling medium defects, i.e. defects on the disc surfaces, in such disc drive systems. Disc drive systems are well known in the art and commonly used as peripheral data storage devices in data processing systems. These discs, or platters as they are often called, are constructed to have a plurality of concentric rings or tracks on each surface and the digital information is stored on these tracks. Information is written onto a track or read off of a track through a head, which is positioned over an appropriate location on track and moved in and out readily, as desired, to go from one track to another. Logically, these discs are also divided into a plurality of sectors and a separate block of digital information is stored in each sector on a track. Thus, the locations for storing data can be identified or addressed in terms of the particular disc, the particular surface (top or bottom) on the disc, the particular track and the particular sector on the disc surface. In most prior art disc drive systems, the sectors are assigned addresses defining their physical locations in this manner. In the course of manufacturing the discs, small defects will often occur on the disc surfaces. For example, in the case of magnetic discs, i.e. discs coated on one or both of their surfaces with a layer of magnetic material similar to that used on magnetic tape, there may be small areas in which there is an insufficient amount of magnetic material. This results in areas in which data cannot be stored. If the width of a track is large relative to the width of a defective area, the defect may not make the sector where it is located nonuseable. However, if the width of a defective area is as large orlargerthan the width of a track, the sector where the defect is located will in most all cases be non-useable. As disc technology has advanced, the track widths of discs have become increasingly smaller. As a result, a disc surface on a disc having high track densities will usually contain one or more sectors containing defects and not be useable for storing data. In the past, the problem of medium defects on a disc has been handled very often by allocating a certain number of tracks on each disc surface near the centre of the disc as spares to serve as alternative locations for the non-useable sectors. When the head of the disc drive system is at a defective sector, the disc drive system controller, on notification thereof through an appropriate flag, will move the head radially inward to the track containing the alternative location for that sector, cause the head to read or write the data at that alternative location and then move the head radially outward to the original track where it was located. One of the disadvantages of this technique for handling defective sectors is that the movement of the head is slow relative to the speed of rotation of the disc. Consequently moving the head radially inward to one of the spare tracks and then back outward to the original track will produce a time delay, which is undesirable. Another problem with this approach is that the number of tracks allocated as spares, such as two, is usually fixed and cannot be changed according to the requirements of a particular platter. For example, if a disc has only a few or no defective sectors, the spare tracks or portions thereof will be effectively wasted. On the other hand, after a period of time, the number of defective sectors may exceed the number of spare sectors that are available to handle defective sectors. Another technique that has been employed to handle defective sectors has involved allocating one or more outer (as opposed to inner) tracks on a disc surface as spare tracks. Although physically different, this approach also suffers from the shortcomings noted above. Another technique that has been employed to handle defective areas has involved increasing the overall length of a sector so that even if it may contain a small defect over a portion thereof, it does not necessarily render the entire sector non-useable for storingablock of data. Although this technique eliminates having to move the heads radially inward or outward to tracks having alternative sector locations, it reduces the total number of sectors in a track on a disc and hence the amount of data that can be stored. In US Patent 4,228,501 there is disclosed a technique for transferring data between a host central processor and a disc drive system wherein the differences in time required to transfer data to or from the disc drive system and the time required to transfer data to or from the host central processor are accommodated by placing data from the disc drive system into a temporary buffer storage element. In addition, the sectors are addressed in a logical manner. In particular, each third physical sector on the disc is designated as the next sequential logical sector. It is an object of this invention to provide an improved method for handling medium defects in a disc drive system, which does not necessitate moving the heads inwardly or outwardly to alternative sector locations and which does not involve changing the size of the sectors. It is a further object of this invention to provide an improved controller for use in reading and writing data in a disc drive system. The method and the disc controller according to the invention are defined in claims 1 and 5 respectively. An advantage of the method according to the invention is that the number of spare sectors is programmable and can be easily changed. The disc sectors are always accessed contiguously but only those sectors with logical addresses are used in data transfers which take place on the basis of logical rather than physical addresses. It will be understood that the present invention is based on the concept of by-passing or skipping over defective sectors. Each surface on each disc in the disc drive system is divided into a number of tracks or concentric rings with the tracks on the disc at the same radial distance from the centre defining a cylinder. Each surface on each disc is further divided into a plurality of sectors, each of which may be used to store a block of data if not defective. Each defect-free sector in each cylinder is assigned a logical address in sequential order such that as the sectors pass under the heads of the disc drive system as the discs rotate and as the head address increments within a cylinder, each succeeding defectfree sector within that cylinder has a logical address which is generated from the logical address of the preceeding defectfree sector. Defective sectors are labelled with an appropriate unique pattern in their headers so that they can be easily identified and distinguished from logical address numbers. A predetermined number of sectors at the end of each cylinder are allocated as spares to compensate for non-useable sectors, the number being at least as large as the number of potentially defective sectors in a cylinder. Thus, in any one cylinder there will be a predetermined number of sectors having logical addresses. In using the technique, each defect-free sector is first identified and then assigned its logical address. In reading or writing information, the header address of a sector is compared with the logical address expected at that sector. If they match, the data at that sector is transferred. If the header information and expected logical address do not match the header address at the next physical sector is compared with the expected logical address. The procedure is continued as long as there is a mis-match. If, however, the sequence of mis-matches exceeds a predetermined number, the sequencing operation is terminated and an error signal generated. The invention may be embodied in a controller which, amongst other things, controls the transfer of data between the disc drive system and a main memory in a data processing system. The controller includes a data buffer for temporary storage of header information of a current sector in the disc drive system, an expected disc address register in which may be placed the expected logical address for that sector location, a next disc address generator for generating the next expected logical address which is placed into the expected disc address register after a data transfer has been made, comparison means for comparing the header information in the data buffer with the logical address in the expected disc address register and sequencing logic coupled to the comparison means for either signalling the disc drive system to transfer data, signalling the disc drive system to end a transfer of signalling the next disc address generator to inhibit generating the next logical address to be placed in the expected disc address register while the header information at the next physical sector is placed into the data buffer and compared by the comparison means with the logical address at present in the next disc address register. The invention will be described in more detail, by way of example, with reference to the accompanying drawings, in which: Fig 1 is a view of a portion of a disc, Fig 2 is a block diagram of a system embodying the present invention, Fig 3 is a flow chart illustrating the invention, Fig 4 is a schematic diagram of some of the main components in the sequencing logic in the controller shown in Fig 2, Fig 5 is a schematic diagram of some of the other main components in the sequencing logic shown in Fig 2; and Figs 6 and 7 are schematic views of certain other components in the controller in the apparatus of Fig 2. The present invention is directed to a novel technique for treating defects in the disc surfaces in a disc drive system. The technique involves assigning each sector in a cylinder that does not contain a defect a logical address number in sequential order so that as the sectors within a cylinder pass under the heads in the disc drive system each succeeding defect-free sector has a logical address that is generated in accordance with a predetermined algorithm from the logical address of the preceeding defect-free sector. As examples, the sequence of logical addresses may be such that each succeeding defect-free sector has a logical address one greater than the logical address of the preceeding defect-free sector or a logical address one less than the logical address of the preceeding defect-free sector or a logical address greater or less than the preceeding defect-free sector by some other constant value. Also, a pseudo-random sequencing of logical addresses may be employed. In order to allow for defective and hence non-used sectors, a predetermined but variable number of spare sectors chosen is at least as large as the maximum number of defective sectors that may be present in a cylinder, this information being supplied by the manufacturer of the discs. Thus, each cylinder will have a predetermined number of useable sectors having logical addresses. In using the technique, an address (in the header) of a sector is compared with an expected (logical) address for the sector at that physical location. If the two addresses match, the data is read from or written into the sector, as desired. If the two addresses do not compare, the address at the next physically located sector is compared with the same expected (logical address). The process is continued until there is either a match or the number of mis-matches exceeds a predetermined arbitary number. If the number of mis-matches exceeds the predetermined arbitrary number, the sequencing is terminated and an error signal emitted. The invention is not limited to any particular disc drive system, is not limited to any particular type of discs ti.e. hard or "floppy", magnetic or non-magnetic), is not limited to any particular size discs and is not limited to disc drive systems having more than one disc. Also, the invention applies to discs in which data is stored on one surface or on both surfaces. In Fig 1, there is shown a portion of the top surface disc 22, the disc being, for illustrative purposes, of the type on which data is stored on the top surface and on the bottom surface. Disc 11 can be divided into a number (n) of tracks, three such tracks being shown and labelled Track 0, Track 1 and Track "m". Each track can be further divided into a plurality of separate physical sectors on each of which a block of data words can be stored. For example, the surface shown of disc platter 11 may comprise 53 physical sectors, identifiable as physical sectors 0-52, some of which are shown in the portion illustrated in Fig 1 and labelled Physical Sector 52, Physical Sector 0, Physical Sector 2, etc. The top and bottom surfaces of disc 11 can also be identified numerically. In a disc drive system containing a plurality of discs arranged in a stack, the tracks on all disc surfaces at the same radial distance from the centre will collectively define a cylinder. Thus, the outermost tracks on all surfaces (i.e. tracks 0) may be defined collectively as cylinder 0, the next tracks as cylinder 1, and so forth. For example, if each disc contains 880 tracks there will be 880 cylinders, each cylinder including the corresponding track on each disc surface. Thus, each location on which data can be stored can be addressed in terms of its disc number, surface, cylinder and sector. Usually, the disc number and surface will be combined into a single number called the head number; that is, the top surface of the first disc will be numbered 0, the bottom surface of the first disc numbered 1, the top surface of the next disc numbered 2 and so forth. In the general case a cylinder consists of n tracks on n surfaces where n is 1 or a larger integer. According to the technique of this invention, a plurality of sectors, such as fourteen, at the end of each cylinder, are allocated as spares and each remaining sector in each cylinder that does not contain a defect is assigned a logical address number in sequential order. In the specific example herein described the logical addresses are such that each succeeding defect free sector has a logical address one larger than the preceeding defect-free sector. The number of spare sectors is at least as larger as the number of potentially defective sectors in a cylinder according to the disc manufacturer's specifications. The logical address designations for this specific example may be better understood in the chart below of a single cylinder 0 in a multi-disc system having 880 cylinders, n = 16 heads (8 discs) and 53 sectors per disc, with defective sectors at head 0, physical sector 3; head 0, physical sector 7; head 1, physical sector 7; and head 1, physical sector 8. Thus, if there are fourteen spare sectors. the number of defective sectors in that cylinder, according to the manufacturer's specification is no greater than fourteen. HEAD NUMBER PHYSICAL SECTOR NUMBER LOGICAL SECTOR NUMBER O 0 0 0 1 1 0 2 2 0 3 (Defective) (None Assigned) 0 4 3 O 5 4 0 6 5 0 7 (Defective) (None Assigned) 0 8 6 O 9 7 o 10 8 0 52 50 1 6 57 1 7 (Defective) (None Assigned) 1 8 (Defective) (None Assigned) 1 9 58 As can be seen, since head 0, physical sector 3 is defective it does not contain a logical sector number. Instead, logical sector number 3, which would have been assigned to head 0, physical sector 3 if it was not effective, is assigned to head 0, physical sector 4. Since there are 4 defective physical sectors, the first four of the last fourteen physical sectors will contain logical addresses (the last four logical addresses for the cylinder) and the remaining ten spare sectors will remain unused. The logical addresses for some of the sectors on cylinder 0, head 0, track 0, with defects as noted above, are also shown on Fig 1. A system 21 for implementing the technique of the invention is shown in Fig 2. System 21 includes a disc drive system 23 having at least one magnetic disc (not shown) for storing data, a main memory 25 and a controller 27 for controlling the transfer of data between disc drive system 23 and main memory 25. For simplicity, portions of controller 27 not pertinent to the invention are not shown. Controller 27 includes data buffers 29 which receive header information (i.e. the address of a sector) from disc drive system 23, and a set of expected disc address registers 31 for holding a logical expected address of a sector within a cylinder. System 21 further includes a compare logic 33 for comparing the address currently in data buffers 29 with the address in expected disc address registers 31. Compare logic 33 outputs either a match (equal) signal or a non-match (not equal) signal. This signal is sent to a sequencing logic 35. If the signal is match then the head of the disc drive system 23 is at the physical sector location corresponding to the logical sector address and a signal is sent to disc drive system 23 over line 37 to transfer data. The header information at the next physically located sector is then fed into data buffers 29. At the same time, expected disc address registers 31 is incremented by a next disc address generator 39 to the next logical address and the comparison repeated. (If the logical address sequence were in a decreasing rather than an increasing order, then the address in registers 31 would be decremented by the next disc address generator 39). The procedure is continued as long as the addresses match until the data message is transferred. After the transfer has been completed a signal is sent to disc drive system 23 over line 41 to end the transfer. On the other hand, if the signal compare logic 33 outputs a "non-match" signal to sequencing logic 35, a signal is sent to a next disc address generator43 over line 43 to inhibit incrementing the expected disc address registers 31 and the logical address at present in the expected disc address registers 31 is compared with the address at the next physically located sector. At the same time a skip counter 45 previously set to a predetermined number, such as eight, is decremented. If the count reaches zero, an error signal is sent out over line 49 by a signal detector 47 to the sequencing logic to terminate the sequencing. Alternatively, the counter could be constructed to increment rather than decrement and the detector device constructed to emit a signal after the counter has incremented to a predetermined number. The predetermined number in the counting mechanism is chosen such that it is greater than the maximum number of defective sectors which may be present in a cylinder and thus greater than the maximum number of skips that may be needed to line up the proper physical sector with its logical address. In Fig 3 there is illustrated a flow chart 51 of the procedure described above. The header of a current sector on a track is read, at block 53, and compared with a logical address, at block 55. If there are no defective sectors before the current sector, the logical address will be at the corresponding physical location and the addresses will compare. Data is then transferred at block 57, and the procedure continued, at block 59 by updating the header to the next physical location, at block 61, incrementing the logical address, and then reading the header at that next physical sector, at block 53. If there are previous sectors that are defective, or, if the sector being read is defective the addresses will not compare. In this case, the skip counter is decremented, at block 63 and an inhibit signal is sent out to inhibit incrementing of the logical address. If the maximum skip count is exceeded, at block 65, an error signal is sent out at block 67. In Figs 4 and 5 are illustrated some of the components of sequencing logic 35. These components include seven PROMS numbered 71-1 to 71-7 which contain the microcode listings of the program for use in the invention, a sequencer chip 73 which drives the addresses to PROMS 71, and 8 bit buffer 75 for holding the error status, a pair of multiplexers 77-1 and 77-2 signallying the condition of the skip count to the sequencer, a pair of 8-bit latches 79-1 and 79-2 which give the starting addresses to sequencer chip 73, a pair of 8-bit latches 81-1 and 81-2 which load numerical constants into sequencer chip 73 and a decoder chip 83 which drives the logic in the circuit. In Fig 6 and 7 are illustrated additional components in controller 27. These components include a data processor 80 having four chips 8eel, 80-2, 80-3, and 80-4, condition code register 83 which maintains the status of skip counter 45, a "look ahead" carry generator 85 which speeds up the operation of the data processor 80 and four 8 bit buffers 87-1 and 87-2, 87-3 and 87-4 which buffer data to and from data processor 80.

Claims: CLAIMS 1. A method of handling medium defects in a disc drive system of the type wherein data is recorded in sectors arranged in a plurality of cylinders each comprising one or more tracks on one or more disc surfaces, and wherein physically consecutive sectors have logical addresses related in accordance with a predetermined algorithm, characterised in that spare sectors are provided at the end of each cylinder, the logical addresses are assigned to defect-free sectors, skipping defective sectors so that each defect-free sector has its logical address determined in accordance with the said algorithm from the logical address of the immediately preceding defect free sector, and data read and write operations are conducted using only the sectors with the logical addresses. 2. A method according to claim 1, characterised in that the logical addresses are recorded in the defect-free sectors, the expected next logical address is computed from the current logical address, compared with the logical address read from the next sector until a match occurs, and so on iteratively, and data read and write operations are conducted in accordance with the logical addresses when matches occur. 3. A method according to claim 2, characterised in that the number of mis-matches is counted for each expected logical address and an error. is signalled if the counted number reaches a predetermined value. 4. A method according to claim 1, 2 or 3, characterised in that the predetermined algorithm consists in incrementing logical addresses by one. 5. A disc controller for implementing a method according to claim 1 and comprising a buffer (29) for receiving data read from a disc, including a disc sector logical address, characterised by a register (31) for an expected next logical address, a next address generator (39) for generating the new expected next logical address from the current expected next logical address, in accordance with the predetermined algorithm, a comparator (33) for comparing the logical addresses in the buffer (29) and the register (31), and sequencing logic (35) controlling read and write operations in accordance with the logical addresses when the comparator (33) signals a match, the sequencing means allowing the next address generator (39) to operate each time a match occurs but not when a mismatch occurs. 6. A disc controller according to claim 5, characterised by means (45) for counting mismatches and means (47) which signal an error if the count of mismatches on any expected next logical address reaches a predetermined value.

Inventors: CALDARA, STEPHEN A.
Applicants: DATA GENERAL CORPORATION
Application year: 1984
Main classification: G11B5
IPC codes: G11B20, G06F3