ALTERNATE STORAGE OF REPEATED DATA WITHIN A DATA STORAGE DEVICE

Information

  • Patent Application
  • 20070226394
  • Publication Number
    20070226394
  • Date Filed
    March 27, 2007
    17 years ago
  • Date Published
    September 27, 2007
    16 years ago
Abstract
A data storage device having capabilities for alternate storage of repeated data and methods for alternate storage of repeated data within a data storage device. In one example embodiment, a method is disclosed for a data storage device to alternately store data within the data storage device. First, the data storage device identifies a data pattern that is present at a plurality of physical addresses on the data storage device. Next, the data storage device writes the data pattern to a single physical address. Then, the data storage device remaps the logical address of each of the plurality of physical addresses to the single physical address. Finally, the data storage device allocates a new logical address for each of the plurality of physical addresses. In this example method, the identifying, writing, remapping, and allocating are performed by the data storage device without regard to data file boundaries.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

To further clarify certain aspects of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are disclosed in the appended drawings. It is appreciated that these drawings depict only example embodiments of the invention and are therefore not to be considered limiting of its scope. Aspects of the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:



FIG. 1A discloses an example host computer system and hard disk drive;



FIG. 1B discloses example data storage on a recording media of a hard disk drive with respect to logical block addresses and physical block addresses;



FIG. 2A discloses an example alternately stored data table;



FIG. 2B discloses an example address allocation table;



FIG. 3 discloses an example method for storing data;



FIG. 4 discloses an example method for retrieving data; and



FIG. 5 discloses an example method for handling data overwrite requests.


Claims
  • 1. A method for storing data, the method comprising: identifying a data pattern that is present at a plurality of physical addresses on a data storage device;writing the data pattern to a single physical address;remapping the logical address of each of the plurality of physical addresses to the single physical address; andallocating a new logical address for each of the plurality of physical addresses;wherein the identifying, writing, remapping, and allocating are performed without regard to data file boundaries.
  • 2. The method as recited in claim 1, wherein identifying a data pattern that is present at a plurality of physical addresses comprises using the Lempel-Ziv-Welch algorithm to identify a data pattern that is present at a plurality of physical addresses.
  • 3. The method as recited in claim 1, wherein writing the data pattern to a single physical address comprises writing the data pattern to a single physical address located on the data storage device.
  • 4. The method as recited in claim 1, wherein writing the data pattern to a single physical address comprises writing the data pattern to a single physical address located on a second data storage device.
  • 5. The method as recited in claim 1, wherein remapping the logical address of each of the plurality of physical addresses to the single physical address comprises making one or more entries in an alternately stored data table.
  • 6. The method as recited in claim 1, wherein allocating a new logical address for each of the plurality of physical addresses comprises making one or more entries in an address allocation table.
  • 7. The method as recited in claim 1, wherein the method is performed in connection with a data storage device that comprises one of a disk storage device, a flash storage device, or a tape storage device.
  • 8. A method for retrieving data, the method comprising: receiving a request for data stored at a plurality of logical addresses on a data storage device;translating the plurality of logical addresses to a single physical address;retrieving, for each of the plurality of logical addresses, data from the single physical address; andtransmitting the retrieved data;wherein the receiving, translating, retrieving, and transmitting are performed without regard to data file boundaries.
  • 9. The method as recited in claim 8, wherein translating the plurality of logical addresses to a single physical address comprises searching an alternately stored data table for an entry for each of the plurality of logical addresses.
  • 10. The method as recited in claim 8, wherein the single physical address is located on the data storage device.
  • 11. The method as recited in claim 8, wherein the single physical address is located on a second data storage device.
  • 12. A method for handling data overwrite requests, the method comprising: receiving a request to overwrite data at a logical address on a data storage device;determining whether data stored at a physical address corresponding to the logical address is alternately stored data;if the data stored at the corresponding physical address is alternately stored data: determining whether an original physical address corresponding to the logical address is free;if the original physical address is free, remapping the logical address to the original physical address and storing the data specified in the overwrite request at the original physical address; orif the original physical address is not free, marking the logical address as bad and reporting the bad logical address; andif the data stored at the corresponding physical address is not alternately stored data, storing the data specified in the overwrite request at the corresponding physical address.
  • 13. The method as recited in claim 12, wherein determining whether the data stored at a physical address corresponding to the logical address is alternately stored data comprises searching an alternately stored data table for an entry for the logical address.
  • 14. The method as recited in claim 12, wherein determining whether the original physical address corresponding to the logical address is free comprises checking a flag in a table entry in an address allocation table.
  • 15. The method as recited in claim 12, wherein the corresponding physical address is located on the data storage device.
  • 16. The method as recited in claim 12, wherein the corresponding physical address is located on a second data storage device.
  • 17. The method as recited in claim 12, wherein the request is received from a host computer system.
  • 18. The method as recited in claim 12, wherein remapping the logical address to the original physical address comprises deleting an entry corresponding to the logical address from an alternately stored data table and deleting an entry corresponding to the logical address from an address allocation table.
  • 19. The method as recited in claim 12, wherein marking the logical address as bad comprises marking the logical address as bad in a defect management table.
  • 20. The method as recited in claim 12, wherein the method is performed in connection with a data storage device that comprises one of a disk storage device, a flash storage device, or a tape storage device.
Provisional Applications (1)
Number Date Country
60786138 Mar 2006 US