WO1999034366A1 - Automated multi-track transfers - Google Patents

Automated multi-track transfers Download PDF

Info

Publication number
WO1999034366A1
WO1999034366A1 PCT/US1998/026831 US9826831W WO9934366A1 WO 1999034366 A1 WO1999034366 A1 WO 1999034366A1 US 9826831 W US9826831 W US 9826831W WO 9934366 A1 WO9934366 A1 WO 9934366A1
Authority
WO
WIPO (PCT)
Prior art keywords
track
transfer
psa
sector
skip
Prior art date
Application number
PCT/US1998/026831
Other languages
French (fr)
Inventor
Graeme M. Weston-Lewis
David M. Springberg
Original Assignee
Lsi Logic Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lsi Logic Corporation filed Critical Lsi Logic Corporation
Publication of WO1999034366A1 publication Critical patent/WO1999034366A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1281Servo information
    • G11B2020/1284Servo information in servo fields which split data fields
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Definitions

  • the present invention relates to storage devices and more particularly to data transfers with a disk drive.
  • FIGURE 1 illustrates an example of a platter 100.
  • Platter 100 contains embedded servo fields, gaps or wedges S1-S4 that extend radially from aperture 110. Typically, there are more servo fields than shown in FIGURE 1 and the servos do not have to be aligned.
  • Platter 100 also includes zones Zl and Z2 where zone Zl is defined by aperture 110 and circumference 115. Zone Z2 is defined by circumferences 115 and 120. Typically, each zone contains multiple tracks that are each divided into multiple sectors. As shown, zones Zl and Z2 each include one track where the track of zone Zl is divided into sectors 1-6 and the track of zone Z2 is divided into sectors 1-11.
  • Servo fields S 1 -S4 contain data that is pre-written during the manufacture of the disk drive that contains the platter.
  • the servo data may include the location of the specific servo field and the track of the platter.
  • Servo fields S1-S4 are used to position the heads of the disk drive for read/write operations.
  • Data are stored on platter 100 between servo fields S1-S4 in the sectors. It is very common for at least one sector on platter 100 to be split into one or more fragments by a servo field.
  • the data is recorded in a density defined as bits-per-inch (BPI).
  • BPI bits-per-inch
  • the disk rotation speed must be increased while the data read/write rate is held constant or the disk rotation speed is maintained at a constant while the data read/write rate is increased. Since the former is impractical, the latter has been chosen for conventional disk drives.
  • the data read/write rate is increased as the data is stored farther from aperture 110. However, due to certain considerations, this rate is increased only for each zone, i.e., the data read/write rate for all the tracks in a zone is the same.
  • certain pulses are provided to a disk controller.
  • a sector pulse is provided at the beginning of each sector.
  • a servo pulse is typically provided during or at the end of a servo field or wedge.
  • An index pulse is provided once every platter revolution.
  • a built-in track skew is provided.
  • the skew is the amount of sectors it takes to seek to a new track and settle on that track so that a transfer can occur.
  • Track skew can be as high as twenty percent of the time for a complete platter revolution. More track skew requires more time to provide a multi-track transfer.
  • Physical latency includes the time required for a head to settle on a track when switching between heads. After manufacture of the disk drive, the heads move relative to each other through decreased mechanical tolerances or temperature. This movement causes uncertainty as to the position of the heads. The decreased mechanical tolerance can be of such magnitude that the heads can be on different tracks.
  • Physical latency also includes the time required to provide current to the head actuator to move the head. Furthermore, typically at least two servo pulses are required to determine that a head is on the correct track. Seek performance results determine the actual track skew, which results are from tests performed by the disk drive manufacturer. The disk drive is then formatted accordingly.
  • a microprocessor is interrupted at the end of each track.
  • the microprocessor then communicates with the servo control to seek to the next track of the cylinder (i.e., switch heads).
  • a disk formatter is programmed to start transferring from a target physical sector address of that next track.
  • the present invention is a method to minimize the firmware overhead and seek time for multi-track transfers.
  • the present invention provides a transfer control table.
  • the table is used to manage sector defects or other transfer adjustments.
  • Each entry of the table contains an affected physical sector address (PSA) and a corresponding control instruction.
  • the control instruction includes an action such as an interrupt /branch, take no action, skip the sector or skip the following indicated sectors.
  • the interrupt/branch instruction activates a bit that causes a preferred interrupt to a sequencer when the last sector of a track has been read or written. Consequently, the microprocessor is interrupted only at the end of the multi-track transfer.
  • the table is either entirely generated at the same time or is generated to provide for a single track transfer. In the latter case, the remaining table entries for a multi-track transfer are generated during one or more platter revolutions or track seeks by the firmware.
  • FIGURE 1 is a plan view of a disk drive platter
  • FIGURE 2 is a block diagram of a disk controller
  • FIGURE 3 illustrates the physical sector addresses of a track on a disk drive platter
  • FIGURE 4 is a table showing the correspondence between the physical sector and logical block addresses according to another aspect of the present invention
  • FIGURE 5 illustrates multiple disk platters having the corresponding logical block addresses adjusted for track skew according the FIGURE 9 table
  • FIGURE 6 is a multi-track transfer control table according to the FIGURE 9 aspect of the present invention.
  • FIGURE 2 shows a disk controller 300.
  • Head 310 is coupled to a preamplifier and filter circuit 320.
  • Preamplifier and filter circuit 320 is coupled to read/write channel 330 that is coupled to servo processor 340 and integrated data controller and bus interface 350.
  • Servo processor 340 is coupled to head positioning or actuator 365 via drivers circuit 360.
  • Servo processor is also coupled to a bus 370.
  • Bus 370 is coupled to a drivers and spindle motor controller 375, a microcontroller 380, a ROM 385 and integrated data controller and bus interface 350.
  • Drivers and spindle motor controller 375 is coupled to spindle motor 390.
  • Integrated data controller and bus interface 350 is coupled to a buffer memory 395 and is coupled to a peripheral/host bus 397. Included in integrated data controller and bus interface 350 is a disk formatter 351 that utilizes a high speed byte wide data path between the disk (not shown) and buffer memory 395. Positioning logic in formatter 351 is provided to handle sector defect, split and
  • Integrity logic in formatter 351 uses four bytes of buffer memory CRC to encode the LSA (logical sector address) as a host-to-disk integrity check. Formatter 351 receives from servo processor 340 information about where the head is positioned over the disk before any data can be transferred.
  • a positional PSA counter is loaded at each servo gap and increments for every sector pulse thereafter. While the sequencer is not running, the PSA counter is loaded at each servo gap; if the sequencer is running, then the PSA counter is verified at each servo gap to ensure sector pulse integrity. On seeks, the PSA counter will synchronize to the new zone on the sector pulse after the next servo gap. The PSA counter always runs, and so will reflect the true position for a zone after being synchronized to that zone.
  • the microprocessor preferably loads a list of PSA addresses into the buffer to control track transfers.
  • the list also known as a transfer control table, is used to manage defects or other transfer adjustments.
  • This list is preferably stored in a reserved segment of buffer memory 395 (FIGURE 2).
  • Each entry contains the affected PSA, a bit to signify whether the LSA should be incremented, an action, an interrupt /branch bit and, preferably, parity.
  • the increment bit should be set for logically skipped sectors and reset for defective sectors.
  • the interrupt/branch bit causes a preferred maskable interrupt and a branch flag typically when the last sector of a track has been read or written.
  • the action is preferably a "no-op,” stop, single step, or start and stop skips.
  • the no-op action informs formatter 351 to to continue with normal functions. This action applies when the last sector of a track has been transferred and the head must change tracks.
  • a stop action usually occurs when the last track sector is transferred.
  • a single skip instruction informs formatter 351 to skip to the next PSA, whereas the start and stop skip actions cause formatter 351 to skip from start PSA to an end PSA when there are multiple contiguous sectors to be skipped.
  • This list preferably is in the same order as the programmed transfer; that is from the first PSA to the last PSA within the programmed data transfer, including any wrap-overs through zero.
  • each entry of the transfer control table will be loaded and used for comparison to the start PSA to determine action. There is a separate address pointer for this transfer control table.
  • the process starts on a table pointer write and stops when the sequencer stops.
  • the start of the table is loaded first, and each subsequent entry is loaded as the current entry is used.
  • This provides for a "prefetch" scheme in that it is known before arriving at a pre-determined sector what action should be take. There is no ceiling to the list and the address pointer will increment to load entries until the sequencer stops.
  • a dummy entry preferably is added after the last valid entry since an additional entry will be fetched after the last one is used.
  • a dummy entry is also preferred when no defects are present on the target track. In this case, to ensure no PSA match occurs, an illegal value (such as 03FFh) should be used.
  • a start PSA register indicates the beginning of the transfer, and a stop threshold register indicates the length of the transfer.
  • a transfer counter register is reset upon a sequencer start and it is incremented at the same time as the LSA counter; that is, it is incremented each time the start PSA is incremented and the sector is not a defect.
  • the transfer length should be set to the total amount of sectors that are either transferred or skipped.
  • FIGURE 3 shows a track 800 on a surface of a platter (not shown).
  • the track as shown has eight sectors 0-7, which represent the physical sector addresses (PSAs).
  • PSAs physical sector addresses
  • LSAs logical sector addresses
  • FIGURE 4 shows a table indicating three tracks TO, Tl, T2 of the same cylinder, each track having eight sectors with PSAs 0-7 (shown at the top of the table). A separate head is associated with each track.
  • Each sector of the table is labeled with an LSA in hexadecimal.
  • the LSAs for track TO correspond one-to-one with the PSAs.
  • the LSAs for Tl and T2 do not correspond one-to-one with the PSAs.
  • LSA 8 is skewed three sectors to PSA 3.
  • LSA 10 is skewed three sectors (relative to track Tl) to PSA 6. In this manner, the track skew is compensated.
  • the physical relationship between the LSAs of tracks TO, Tl and T2 is shown in FIGURE 5.
  • This method of the present invention uses firmware to generate a multi-track transfer table when a transfer request is received by a disk drive, usually from a host.
  • This table illustrated in FIGURE 6, can be stored in the buffer memory of a drive controller or any other available memory.
  • the firmware then informs a disk formatter state machine (e.g., writeable control store) that utilizes the table where the table is located.
  • the disk controller receives a transfer request from a host. For example, the host can be requesting a read of twenty sectors with LSAs 0-19.
  • a logical-to-physical address conversion is performed that converts the first LSA into a target cylinder, head (track) and startPSA.
  • the firmware then generates a table from that cylinder, track and start PSA as shown in FIGURE 6.
  • the first PSA corresponding to the first LSA of the transfer request is stored in memory.
  • a corresponding control instruction is stored in the table that provides instructions to the drive controller.
  • the first line or entry of the table shown in FIGURE 6 stores PSA 0, which corresponds to LSA ???
  • the corresponding control instruction is a "no operation" NOP.
  • the second line or entry also has PSA 0 stored. This instruction will not be executed until all the sectors have been read.
  • the corresponding control instruction preferably will cause a signal to be generated that will inform the servo controller to seek to the next track.
  • the other corresponding control operation is that the information of sector 0 of track TO should be skipped since it has already been read.
  • the firmware knows that because of the track skew, PSAs 0, 1 and 2 of track Tl must be skipped. Accordingly, the multi -track transfer table of FIGURE 6 has PSA 1 entered along with the control instruction start skip. PSA 2 is also saved with the corresponding control instruction stop skip.
  • LSA 8 (PSA 3 of Tl) starts the read operation again for track Tl
  • the second occurrence of LSA 8 will signify that track switch must occur. Therefore, when the corresponding PSA 3 of track Tl is encountered for the second time, a WCS branch is initiated and the same steps for the second entry of PSA 0 are repeated. PSAs 3, 4 and 5 of track T2 must be skipped because of track skew.
  • the multi- transfer table of FIGURE 6 has PSA 4 entered along with the control instruction start skip and PSA 5 entered with corresponding control instruction stop skip.
  • LSA 10 (PSA 6 of T2) starts the read operation again for track T2.
  • disk drives have defective sectors. The present invention compensates for such sectors by providing a table entry for the defective sector.
  • the corresponding control instruction will be at least a skip sector instruction. In this situation, the LSA counter may not be incremented.
  • the drive controller maintains the number of transferred sectors. In this case, when that number is twenty, the transfer is complete.
  • the multi-track transfer table has a termination entry after PSA 5 that is a value that is unobtainable, such as 3FF.
  • the multi-track transfer control table and transfer length counter it is possible to set up a multi-cylinder transfer. For example, a multiple cylinder transfer could be set up, and the microprocessor would not get an end of transfer interrupt until the end of the transfer.
  • the microprocessor is interrupted only once for a multi-track transfer (at the end) instead at the end of each track as previously described. In this manner, the track skew is minimized.
  • the microprocessor can take the following steps to initiate a multi-track transfer:
  • the first track Transfer Control table entries must be built up for a normal track transfer.
  • the start skip PSA should be the final track PSA plus one; the end skip PSA should be the start skip PSA plus the number of sectors for track skew. In the case that the LSA is skewed in terms of physical location to account for track skew, the skip should be a "defect" skip so that the LSA is not incremented by the skipped sectors. If it is desired to increment the LSA during the seek, a combination of regular and defect skips can be implemented to achieve the desired amount of LSA adder.
  • An End Of Track signal can be generated by programming the start skip PSA with the Interrupt/Branch bit set. The sequencer can be programmed to branch on this bit and could set an OUTPUT pin to inform the Servo system that it should initiate a seek to the next track.
  • the transfer length should be set to the total amount of sectors that are either transferred or skipped "normally"; the defect skips should not be included in the transfer length.
  • the flexibility of this method is not limited to cylinder transfers; the transfer may be as large as the system allows.
  • the only other limiting factors are counter sizes: the PSA is 10 bits (Ik sectors/track) and the transfer length counter is 16 bits (64k sectors per transfer maximum). Any of these limiting factors could be easily expanded. This scheme can be made more efficient by interlocking the servo logic seek function in a customized application.
  • the present invention provides at least a threefold advantage: reduction in the chances of a revolution penalty when the microprocessor is busy with other functions and should be servicing a transfer interrupt; reduction of the track seek latency; and freeing microprocessor bandwidth for other functions.

Abstract

The present invention is a method to minimize the firmware overhead for multi-track transfers. To this end, the present invention provides a transfer control table. The table is used to manage sector defects or other transfer adjustments. Each entry of the table contains an affected PSA and a corresponding control instruction. The control instruction includes an action such as an interrupt/branch, take no action, skip the sector or skip the following indicated sectors. The interrupt/branch bit causes preferably when the last sector of a track has been read or written. The table is either entirely generated at the same time or is generated to provide for a track transfer. In the latter case, the remaining table entries are generated during the platter revolution or the track seek. The method provides for minimum microprocessor intervention. To that end, the microprocessor is interrupted only at the end of the multi-track transfer.

Description

AUTOMATED MULTI-TRACK TRANSFERS
1. Field of the Invention
The present invention relates to storage devices and more particularly to data transfers with a disk drive.
2. Background of the Invention
Computer disk drives contain media that store data. The media typically are multiple platters that magnetically store the data. FIGURE 1 illustrates an example of a platter 100. Platter 100 contains embedded servo fields, gaps or wedges S1-S4 that extend radially from aperture 110. Typically, there are more servo fields than shown in FIGURE 1 and the servos do not have to be aligned. Platter 100 also includes zones Zl and Z2 where zone Zl is defined by aperture 110 and circumference 115. Zone Z2 is defined by circumferences 115 and 120. Typically, each zone contains multiple tracks that are each divided into multiple sectors. As shown, zones Zl and Z2 each include one track where the track of zone Zl is divided into sectors 1-6 and the track of zone Z2 is divided into sectors 1-11.
Servo fields S 1 -S4 contain data that is pre-written during the manufacture of the disk drive that contains the platter. The servo data may include the location of the specific servo field and the track of the platter. Servo fields S1-S4 are used to position the heads of the disk drive for read/write operations. Data are stored on platter 100 between servo fields S1-S4 in the sectors. It is very common for at least one sector on platter 100 to be split into one or more fragments by a servo field. The data is recorded in a density defined as bits-per-inch (BPI). The BPI remains the same over the entire area of platter 100. Tracks located radially farther from aperture 110 than other tracks will have a greater length and will, therefore, be able to store more data. To exploit this increased storage capability, either the disk rotation speed must be increased while the data read/write rate is held constant or the disk rotation speed is maintained at a constant while the data read/write rate is increased. Since the former is impractical, the latter has been chosen for conventional disk drives. Specifically, the data read/write rate is increased as the data is stored farther from aperture 110. However, due to certain considerations, this rate is increased only for each zone, i.e., the data read/write rate for all the tracks in a zone is the same. As platter 100 rotates, certain pulses are provided to a disk controller. A sector pulse is provided at the beginning of each sector. A servo pulse is typically provided during or at the end of a servo field or wedge. An index pulse is provided once every platter revolution.
Associated with disk drive multi-track transfers are factors such as physical (i.e., mechanical) latency and instruction execution speed by a local processor. To compensate for the physical latency and instruction execution, a built-in track skew is provided. The skew is the amount of sectors it takes to seek to a new track and settle on that track so that a transfer can occur. Track skew can be as high as twenty percent of the time for a complete platter revolution. More track skew requires more time to provide a multi-track transfer.
Physical latency includes the time required for a head to settle on a track when switching between heads. After manufacture of the disk drive, the heads move relative to each other through decreased mechanical tolerances or temperature. This movement causes uncertainty as to the position of the heads. The decreased mechanical tolerance can be of such magnitude that the heads can be on different tracks.
Physical latency also includes the time required to provide current to the head actuator to move the head. Furthermore, typically at least two servo pulses are required to determine that a head is on the correct track. Seek performance results determine the actual track skew, which results are from tests performed by the disk drive manufacturer. The disk drive is then formatted accordingly.
From the instruction execution aspect of a multi-track transfer, a microprocessor is interrupted at the end of each track. The microprocessor then communicates with the servo control to seek to the next track of the cylinder (i.e., switch heads). Once the seek is performed, a disk formatter is programmed to start transferring from a target physical sector address of that next track. Furthermore, there is a non-deterministic time latency due to microprocessor arbitration and processing interrupts, and physical execution time of the interrupt.
In the process of a transfer, there is a risk that the disk channel may be "starved" if the end-of-track interrupt is not timely executed. The risk is a revolution latency may be incurred. For example, a five microsecond delay in the microprocessor to service an interrupt may cause a revolution penalty. This in turn may cause greater than a five millisecond time penalty in performance. Thus, there is a critical time issue for servicing interrupts. A need exists for a method of multi -track transfers that minimizes microprocessor firmware overhead and reduces the amount of track skew. The present invention meets this need.
3. Summary of the Invention The present invention is a method to minimize the firmware overhead and seek time for multi-track transfers. To this end, the present invention provides a transfer control table. The table is used to manage sector defects or other transfer adjustments. Each entry of the table contains an affected physical sector address (PSA) and a corresponding control instruction. The control instruction includes an action such as an interrupt /branch, take no action, skip the sector or skip the following indicated sectors. The interrupt/branch instruction activates a bit that causes a preferred interrupt to a sequencer when the last sector of a track has been read or written. Consequently, the microprocessor is interrupted only at the end of the multi-track transfer. The table is either entirely generated at the same time or is generated to provide for a single track transfer. In the latter case, the remaining table entries for a multi-track transfer are generated during one or more platter revolutions or track seeks by the firmware.
Numerous other advantages and features of the present invention will become readily apparent from the following detailed description of the invention and the embodiments thereof, from the claims and from the accompanying drawings in which details of the invention are fully and completely disclosed as a part of this specification.
4. Brief Description of the Drawing In the drawings,
FIGURE 1 is a plan view of a disk drive platter;
FIGURE 2 is a block diagram of a disk controller;
FIGURE 3 illustrates the physical sector addresses of a track on a disk drive platter; FIGURE 4 is a table showing the correspondence between the physical sector and logical block addresses according to another aspect of the present invention;
FIGURE 5 illustrates multiple disk platters having the corresponding logical block addresses adjusted for track skew according the FIGURE 9 table; and
FIGURE 6 is a multi-track transfer control table according to the FIGURE 9 aspect of the present invention.
5. Detailed Description of the Preferred Embodiments
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will be described herein in detail a specific embodiment thereof with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not to be limited to the specific embodiment described.
FIGURE 2 shows a disk controller 300. Head 310 is coupled to a preamplifier and filter circuit 320. Preamplifier and filter circuit 320 is coupled to read/write channel 330 that is coupled to servo processor 340 and integrated data controller and bus interface 350. Servo processor 340 is coupled to head positioning or actuator 365 via drivers circuit 360. Servo processor is also coupled to a bus 370.
Bus 370 is coupled to a drivers and spindle motor controller 375, a microcontroller 380, a ROM 385 and integrated data controller and bus interface 350. Drivers and spindle motor controller 375 is coupled to spindle motor 390. Integrated data controller and bus interface 350 is coupled to a buffer memory 395 and is coupled to a peripheral/host bus 397. Included in integrated data controller and bus interface 350 is a disk formatter 351 that utilizes a high speed byte wide data path between the disk (not shown) and buffer memory 395. Positioning logic in formatter 351 is provided to handle sector defect, split and
PSA calculations for data seek and transfer operations between the disk and the host. Integrity logic in formatter 351 uses four bytes of buffer memory CRC to encode the LSA (logical sector address) as a host-to-disk integrity check. Formatter 351 receives from servo processor 340 information about where the head is positioned over the disk before any data can be transferred.
A positional PSA counter is loaded at each servo gap and increments for every sector pulse thereafter. While the sequencer is not running, the PSA counter is loaded at each servo gap; if the sequencer is running, then the PSA counter is verified at each servo gap to ensure sector pulse integrity. On seeks, the PSA counter will synchronize to the new zone on the sector pulse after the next servo gap. The PSA counter always runs, and so will reflect the true position for a zone after being synchronized to that zone.
The microprocessor preferably loads a list of PSA addresses into the buffer to control track transfers. The list, also known as a transfer control table, is used to manage defects or other transfer adjustments. This list is preferably stored in a reserved segment of buffer memory 395 (FIGURE 2). Each entry contains the affected PSA, a bit to signify whether the LSA should be incremented, an action, an interrupt /branch bit and, preferably, parity. The increment bit should be set for logically skipped sectors and reset for defective sectors. The interrupt/branch bit causes a preferred maskable interrupt and a branch flag typically when the last sector of a track has been read or written.
The action is preferably a "no-op," stop, single step, or start and stop skips. The no-op action informs formatter 351 to to continue with normal functions. This action applies when the last sector of a track has been transferred and the head must change tracks. A stop action usually occurs when the last track sector is transferred. A single skip instruction informs formatter 351 to skip to the next PSA, whereas the start and stop skip actions cause formatter 351 to skip from start PSA to an end PSA when there are multiple contiguous sectors to be skipped.
This list preferably is in the same order as the programmed transfer; that is from the first PSA to the last PSA within the programmed data transfer, including any wrap-overs through zero. During the data transfer, each entry of the transfer control table will be loaded and used for comparison to the start PSA to determine action. There is a separate address pointer for this transfer control table.
The process starts on a table pointer write and stops when the sequencer stops. The start of the table is loaded first, and each subsequent entry is loaded as the current entry is used. This provides for a "prefetch" scheme in that it is known before arriving at a pre-determined sector what action should be take. There is no ceiling to the list and the address pointer will increment to load entries until the sequencer stops. Note that a dummy entry preferably is added after the last valid entry since an additional entry will be fetched after the last one is used. Preferably, a dummy entry is also preferred when no defects are present on the target track. In this case, to ensure no PSA match occurs, an illegal value (such as 03FFh) should be used. A start PSA register indicates the beginning of the transfer, and a stop threshold register indicates the length of the transfer. A transfer counter register is reset upon a sequencer start and it is incremented at the same time as the LSA counter; that is, it is incremented each time the start PSA is incremented and the sector is not a defect. The transfer length should be set to the total amount of sectors that are either transferred or skipped. After the sequencer is started, the positional PSA is compared with the start PSA on each SECTOR pulse. A comparison of the positional PSA is also done with the Transfer Control PSA. A start flag will be generated to the sequencer if the positional PSA matches the start PSA, the sector is not a defect/skip, and the buffer is ready. Any combination of skips and defects may be programmed within the transfer. When the transfer counter equals the transfer length register, a stop flag is generated to the sequencer. Further discussion is provided in copending U.S. Patent Application No. 08/ , September 30, 1996, entitled "HEADERLESS FORMATTED DISK DRIVE," assigned to the assignee of the present invention and incorporated herein by reference.
Turning to the method of multi -track transfers, reference will be made to FIGURES 3-6. FIGURE 3 shows a track 800 on a surface of a platter (not shown). The track as shown has eight sectors 0-7, which represent the physical sector addresses (PSAs). Coincidentally the logical sector addresses (LSAs) correspond one-to-one with the PSAs since the shown track has no errors.
To compensate for the time required for a head seek between tracks of the same cylinder ("track skew"), the LSAs are shifted. To illustrate, FIGURE 4 shows a table indicating three tracks TO, Tl, T2 of the same cylinder, each track having eight sectors with PSAs 0-7 (shown at the top of the table). A separate head is associated with each track.
Each sector of the table is labeled with an LSA in hexadecimal. Note that the LSAs for track TO correspond one-to-one with the PSAs. The LSAs for Tl and T2 do not correspond one-to-one with the PSAs. For track Tl , LSA 8 is skewed three sectors to PSA 3. For track T2, LSA 10 is skewed three sectors (relative to track Tl) to PSA 6. In this manner, the track skew is compensated. The physical relationship between the LSAs of tracks TO, Tl and T2 is shown in FIGURE 5.
This method of the present invention uses firmware to generate a multi-track transfer table when a transfer request is received by a disk drive, usually from a host. This table, illustrated in FIGURE 6, can be stored in the buffer memory of a drive controller or any other available memory. The firmware then informs a disk formatter state machine (e.g., writeable control store) that utilizes the table where the table is located. In operation, the disk controller receives a transfer request from a host. For example, the host can be requesting a read of twenty sectors with LSAs 0-19. A logical-to-physical address conversion is performed that converts the first LSA into a target cylinder, head (track) and startPSA. The firmware then generates a table from that cylinder, track and start PSA as shown in FIGURE 6. The first PSA corresponding to the first LSA of the transfer request is stored in memory. A corresponding control instruction is stored in the table that provides instructions to the drive controller. The first line or entry of the table shown in FIGURE 6 stores PSA 0, which corresponds to LSA ??? The corresponding control instruction is a "no operation" NOP.
The second line or entry also has PSA 0 stored. This instruction will not be executed until all the sectors have been read. The corresponding control instruction preferably will cause a signal to be generated that will inform the servo controller to seek to the next track. The other corresponding control operation is that the information of sector 0 of track TO should be skipped since it has already been read.
The following steps can be performed with the steps above or can be performed while the steps above are being performed. The firmware knows that because of the track skew, PSAs 0, 1 and 2 of track Tl must be skipped. Accordingly, the multi -track transfer table of FIGURE 6 has PSA 1 entered along with the control instruction start skip. PSA 2 is also saved with the corresponding control instruction stop skip.
Since LSA 8 (PSA 3 of Tl) starts the read operation again for track Tl, the second occurrence of LSA 8 will signify that track switch must occur. Therefore, when the corresponding PSA 3 of track Tl is encountered for the second time, a WCS branch is initiated and the same steps for the second entry of PSA 0 are repeated. PSAs 3, 4 and 5 of track T2 must be skipped because of track skew. The multi- transfer table of FIGURE 6 has PSA 4 entered along with the control instruction start skip and PSA 5 entered with corresponding control instruction stop skip. LSA 10 (PSA 6 of T2) starts the read operation again for track T2. Typically, disk drives have defective sectors. The present invention compensates for such sectors by providing a table entry for the defective sector. The corresponding control instruction will be at least a skip sector instruction. In this situation, the LSA counter may not be incremented.
The drive controller maintains the number of transferred sectors. In this case, when that number is twenty, the transfer is complete. Preferably, the multi-track transfer table has a termination entry after PSA 5 that is a value that is unobtainable, such as 3FF.
Through the use of the multi-track transfer control table and transfer length counter, it is possible to set up a multi-cylinder transfer. For example, a multiple cylinder transfer could be set up, and the microprocessor would not get an end of transfer interrupt until the end of the transfer. The microprocessor is interrupted only once for a multi-track transfer (at the end) instead at the end of each track as previously described. In this manner, the track skew is minimized.
The microprocessor can take the following steps to initiate a multi-track transfer:
1. A Transfer Control table for each track must be calculated.
2. For each seek between tracks, the number of sector skew must be calculated; the skew is the amount of sectors it takes to seek to a new track and settle on that track so that a transfer can occur. 3. The first track Transfer Control table entries must be built up for a normal track transfer.
4. Skip start and skip end entries should be added. The start skip PSA should be the final track PSA plus one; the end skip PSA should be the start skip PSA plus the number of sectors for track skew. In the case that the LSA is skewed in terms of physical location to account for track skew, the skip should be a "defect" skip so that the LSA is not incremented by the skipped sectors. If it is desired to increment the LSA during the seek, a combination of regular and defect skips can be implemented to achieve the desired amount of LSA adder. An End Of Track signal can be generated by programming the start skip PSA with the Interrupt/Branch bit set. The sequencer can be programmed to branch on this bit and could set an OUTPUT pin to inform the Servo system that it should initiate a seek to the next track.
5. The next track Transfer Control table is built on top of the skip entries. 6. Each successive track follows this method.
7. The transfer length should be set to the total amount of sectors that are either transferred or skipped "normally"; the defect skips should not be included in the transfer length.
The flexibility of this method is not limited to cylinder transfers; the transfer may be as large as the system allows. The only other limiting factors are counter sizes: the PSA is 10 bits (Ik sectors/track) and the transfer length counter is 16 bits (64k sectors per transfer maximum). Any of these limiting factors could be easily expanded. This scheme can be made more efficient by interlocking the servo logic seek function in a customized application.
The present invention provides at least a threefold advantage: reduction in the chances of a revolution penalty when the microprocessor is busy with other functions and should be servicing a transfer interrupt; reduction of the track seek latency; and freeing microprocessor bandwidth for other functions.
Numerous variations and modifications of the embodiment described above may be effected without departing from the spirit and scope of the novel features of the invention. It is to be understood that no limitations with respect to the specific device illustrated herein are intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.

Claims

WE CLAIM:
1. A method of multi-track transfers comprising the step of generating a multi-track transfer control table.
2. The method of claim 1 wherein the table includes physical sector addresses.
3. The method of claim 2 wherein the table includes control instructions that correspond to the addresses.
4. The method of claim 3 wherein the instructions control sector skips.
5. A method to minimize track skew comprising the steps of: monitoring addresses; and initiating track seeks upon certain addresses without microprocessor intervention.
6. The method of claim 5 further comprising the step of skipping at least one sector after a track seek.
PCT/US1998/026831 1997-12-30 1998-12-16 Automated multi-track transfers WO1999034366A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/999,160 US6134063A (en) 1997-12-30 1997-12-30 Automated multi-track transfers
US08/999,160 1997-12-30

Publications (1)

Publication Number Publication Date
WO1999034366A1 true WO1999034366A1 (en) 1999-07-08

Family

ID=25545980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/026831 WO1999034366A1 (en) 1997-12-30 1998-12-16 Automated multi-track transfers

Country Status (2)

Country Link
US (1) US6134063A (en)
WO (1) WO1999034366A1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487631B2 (en) * 1999-02-02 2002-11-26 Qlogic Corporation Circuit and method for monitoring sector transfers to and from storage medium
US6684287B1 (en) * 1999-09-21 2004-01-27 Hitachi Global Storage Technologies Turning read/write performance for disk drives with very high track density
US6604178B1 (en) * 1999-11-30 2003-08-05 International Business Machines Corporation Hard disk drive employing neural network for performing expected access time calculations
US6795894B1 (en) * 2000-08-08 2004-09-21 Hewlett-Packard Development Company, L.P. Fast disk cache writing system
US7007114B1 (en) 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7219182B2 (en) 2003-03-10 2007-05-15 Marvell International Ltd. Method and system for using an external bus controller in embedded disk controllers
US7027241B2 (en) * 2003-10-14 2006-04-11 Hitachi Global Storage Technologies Netherlands B.V. Defect management for HDD with variable index architecture
US7139150B2 (en) 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US8166217B2 (en) 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US8032674B2 (en) 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7386661B2 (en) * 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
TWI771079B (en) * 2021-06-24 2022-07-11 群聯電子股份有限公司 Mapping information management method, memory storage device and memory control circuit unit

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075804A (en) * 1989-03-31 1991-12-24 Alps Electric Co., Ltd. Management of defect areas in recording media
US5283790A (en) * 1989-12-25 1994-02-01 Hitachi, Ltd. External storage apparatus and defective block reassignment processing method therefor
EP0631277A2 (en) * 1993-06-22 1994-12-28 Quantum Corporation ID-less data sector format and data controller for disk drive
GB2285166A (en) * 1993-12-23 1995-06-28 Ibm A system and method for skip-sector mapping in a data recording disk drive
WO1995024038A1 (en) * 1994-03-03 1995-09-08 Cirrus Logic, Inc. Defect management for automatic track processing without id field
US5740358A (en) * 1992-06-25 1998-04-14 Cirrus Logic, Inc. Defect management and split field processing in disk storage systems
US5818654A (en) * 1994-06-13 1998-10-06 Seagate Technology, Inc. Apparatus and process for managing defective headerless sectors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631723A (en) * 1984-06-08 1986-12-23 Honeywell Information Systems Inc. Mass storage disk drive defective media handling
US4811124A (en) * 1987-07-24 1989-03-07 Advanced Micro Devices, Inc. Defect skipping mechanism for disk drives
US5319627A (en) * 1991-11-04 1994-06-07 Matsushita Graphic Communication System, Inc. Method for managing a defect in an optical disk by assigning logical addresses based upon cumulative number of defects in the disk
US5473761A (en) * 1991-12-17 1995-12-05 Dell Usa, L.P. Controller for receiving transfer requests for noncontiguous sectors and reading those sectors as a continuous block by interspersing no operation requests between transfer requests
US5523903A (en) * 1993-12-23 1996-06-04 International Business Machines Corporation Sector architecture for fixed block disk drive
US5983309A (en) * 1994-07-27 1999-11-09 Seagate Technology, Inc. Autonomous high speed address translation with defect management for hard disc drives
US5568606A (en) * 1994-10-11 1996-10-22 International Business Machines Corporation Method and apparatus for maximizing effective disk capacity using adaptive skewing
EP0718827A2 (en) * 1994-12-22 1996-06-26 International Business Machines Corporation System and method for target track determination in a data storage disk drive
US5812755A (en) * 1995-09-01 1998-09-22 Adaptec, Incorporated Logical and physical zones for management of defects in a headerless disk drive architecture
US5812335A (en) * 1995-09-01 1998-09-22 Adaptec, Inc. Programmable data transfer without sector pulses in a headerless disk drive architecture
TW332284B (en) * 1995-10-30 1998-05-21 Sony Co Ltd Method and apparatus for controlling access to a recording disk
US5835930A (en) * 1996-04-09 1998-11-10 International Business Machines Corporation One or more logical tracks per physical track in a headerless disk drive
US5822142A (en) * 1996-07-26 1998-10-13 Western Digital Corporation Method of mapping logical sectors to physical sectors in a disk drive sparing partition
US6026463A (en) * 1997-09-10 2000-02-15 Micron Electronics, Inc. Method for improving data transfer rates for user data stored on a disk storage device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075804A (en) * 1989-03-31 1991-12-24 Alps Electric Co., Ltd. Management of defect areas in recording media
US5283790A (en) * 1989-12-25 1994-02-01 Hitachi, Ltd. External storage apparatus and defective block reassignment processing method therefor
US5740358A (en) * 1992-06-25 1998-04-14 Cirrus Logic, Inc. Defect management and split field processing in disk storage systems
EP0631277A2 (en) * 1993-06-22 1994-12-28 Quantum Corporation ID-less data sector format and data controller for disk drive
GB2285166A (en) * 1993-12-23 1995-06-28 Ibm A system and method for skip-sector mapping in a data recording disk drive
WO1995024038A1 (en) * 1994-03-03 1995-09-08 Cirrus Logic, Inc. Defect management for automatic track processing without id field
US5818654A (en) * 1994-06-13 1998-10-06 Seagate Technology, Inc. Apparatus and process for managing defective headerless sectors

Also Published As

Publication number Publication date
US6134063A (en) 2000-10-17

Similar Documents

Publication Publication Date Title
US6134063A (en) Automated multi-track transfers
US6219729B1 (en) Apparatus and method for providing for efficient communication between high and low-level processing engine of a disk drive formatter
US5128810A (en) Single disk emulation interface for an array of synchronous spindle disk drives
US5818654A (en) Apparatus and process for managing defective headerless sectors
US6295176B1 (en) Apparatus and process for identifying sectors in a headerless sector data track
US6487631B2 (en) Circuit and method for monitoring sector transfers to and from storage medium
JPS63216122A (en) Multiple copy recording of data
US6389508B1 (en) Information storing apparatus having a data prewrite unit
US7433149B1 (en) Media surface with servo data in customer data region
US20010010605A1 (en) Read/write control system for a disk drive
US6327641B1 (en) Method of implementing a geometry per wedge (GPW) based headerless solution in a disk drive formatter and a computer program product incorporating the same
US6710963B2 (en) Disk controller for detecting hang-up of disk storage system
US6154331A (en) Disk formatter write gate look-ahead device
US4647991A (en) Disk channel controller
JPH01171044A (en) Method for positioning block of memory
JP3150242B2 (en) Disk unit
EP0080878A2 (en) Cache memory and method of control for use with magnetic disks
WO1998014939A1 (en) Headerless formatted disk drive
JP2748056B2 (en) Disk controller
EP0109306A2 (en) Cache memory apparatus for computer
JP2732951B2 (en) Data transfer control method
WO1998015063A1 (en) A method of data protection
EP0417900B1 (en) Disk storage system with access control
JPH04254969A (en) Recording data protection means for draw type recording system
JPS6381663A (en) Data checking system for magnetic disk

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase