Browse Prior Art Database

Mechanism for Uniquely Identifying Logical Block Addresses Without Utilizing a Lookup Table on Reads

IP.com Disclosure Number: IPCOM000013506D
Original Publication Date: 2000-Aug-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 2 page(s) / 43K

Publishing Venue

IBM

Abstract

There are certain situations when a customer Logical Block Address (LBA) requires special handling. To perform any special handling on a LBA, a mechanism is needed to uniquely identify the LBA. The first thought that may come to mind is to place a unique data pattern on the LBA and restrict any customers from using this data pattern. This is an un-realistic restriction for customers, and therefore is typically not utilized. Another typical approach is to place unique LBAs in a lookup table. Each time a customer requests a data transfer, the lookup table is checked to see if any of the requested LBAs are listed. If they are, the special handling function is completed. If not, the data is transferred normally. There is a major performance drawback with using a lookup table to store information about unique LBAs. Prior to transferring data from any LBA, the lookup table must be scanned to determine whether the requested LBA is present. The time required to complete the lookup table scan results in a direct performance penalty for the customer. If the table scan is done in software, the performance penalty can be severe. The performance for accessing all LBAs is penalized in the lookup table scheme for what may be only a few LBAs that require special handling. This invention allows the unique identification of LBAs without compromising data access performance. Most data channels in hard disk drives contain hardware that randomizes the data stream before it is written to the media. The data is then un-randomized when it is read back from the media. This hardware is referred to as the randomizer. The randomizer provides a programmable feedback pattern to be used during media accesses. The intent is to use different feedback patterns on consecutive tracks and cylinders to provide additional data randomization from track to track. Ultimately, this improves the integrity of the customers data. Normally, the randomizer is always enabled to provide customers the highest data integrity. This invention involves disabling the randomizer when special handling on LBAs is required. If it is decided that a particular LBA will requires special handling, the data channel randomizer should be disabled and the LBA can be written with whatever unique data pattern is desired. This will be referred to as "marking the LBA". The data channel randomizer is then re-enabled and restored to its original setting. When the customer attempts to read data at a marked LBA, an Error Correction Code (ECC) error will be detected by the hardware for this LBA (see the ECC Summary for a further description of ECC). The error handling routine is then called to attempt to recover the erroneous data. Once all normal error recovery has been exhausted, a final step involves attempting to read the data with the randomizer disabled. If the data is read without an ECC error, this LBA is recognized as being marked for special handling. At this point, the data pattern can be examined to identify the specific unique handling routine to be used. Once the marked data has been identified, the data channel randomizer can be restored to its original setting. Special handling of the LBA may now proceed. The primary advantage of this marking mechanism is that it avoids any data access performance penalty on non-marked LBAs, while still providing the ability to uniquely mark LBAs. Non-marked data is accessed as fast as if there were no special marking provided. Access to marked LBAs does have some additional error recovery overhead. However, marked LBAs typically constitute a very small percentage of the total number of LBAs available and access to them is already limited by the amount of time it takes to perform the special handling function. Thus, the additional error recovery overhead is insignificant when compared to the overall Hard Disk Drive performance. ECC Summary

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

  Mechanism for Uniquely Identifying Logical Block Addresses Without Utilizing a Lookup Table on Reads

    There are certain situations when a customer Logical Block Address (LBA) requires special handling. To perform any special handling on a LBA, a mechanism is needed to uniquely identify the LBA. The first thought that may come to mind is to place a unique data pattern on the LBA and restrict any customers from using this data pattern. This is an un-realistic restriction for customers, and therefore is typically not utilized. Another typical approach is to place unique LBAs in a lookup table. Each time a customer requests a data transfer, the lookup table is checked to see if any of the requested LBAs are listed. If they are, the special handling function is completed. If not, the data is transferred normally. There is a major performance drawback with using a lookup table to store information about unique LBAs. Prior to transferring data from any LBA, the lookup table must be scanned to determine whether the requested LBA is present. The time required to complete the lookup table scan results in a direct performance penalty for the customer. If the table scan is done in software, the performance penalty can be severe. The performance for accessing all LBAs is penalized in the lookup table scheme for what may be only a few LBAs that require special handling. This invention allows the unique identification of LBAs without compromising data access performance.

Most data channels in hard disk drives contain hardware that randomizes the data stream before it is written to the media. The data is then un-randomized when it is read back from the media. This hardware is referred to as the randomizer. The randomizer provides a programmable feedback pattern to be used during media accesses. The intent is to use different feedback patterns on consecutive tracks and cylinders to provide additional data randomization from track to track. Ultimately, this improves the integrity of the customers data. Normally, the randomizer is always enabled to provide customers the highest data integrity. This invention involves disabling the randomizer when special handling on LBAs is required. If it is decided that a particular LBA will requires special handling, the data channel randomizer should be disabled and the LBA can be written with whatever unique data pattern is desired. This will be referred to as "marking the LBA". The data channel randomizer is then re-enabled and restored to its original setting. When the customer attempts to read da...