Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device
First Claim
1. A method for storing a multiplicity of user data units characterized by at least one of type or size on a mass storage device, the method comprising the steps of:
- receiving a data unit for mass storage on the mass storage device,decoding descriptor information accompanying the data unit, if any, wherein the descriptor information describes or provides an indication of a particular one of a plurality of data types for the data unit,determining a storage application programming interface (SAPI) descriptor for the data unit based at least in part upon decoding of the descriptor information,appending the SAPI descriptor to the data unit before storage upon a non-volatile storage medium of the mass storage device,selecting a storage algorithm from a plurality of predetermined available storage algorithms based upon the SAPI descriptor appended to the data unit and currently available storage locations on the non-volatile storage medium,determining at least one storage location of the non-volatile storage medium to store at least one copy of the data unit, andrecording the data unit at the at least one storage location.
18 Assignments
0 Petitions
Accused Products
Abstract
A storage application programming interface (SAPI) engine is included in a hard disk drive (HDD). The SAPI engine operation is based on intelligent recognition of a plurality of different data objects characterized by type and/or size. The SAPI engine assigns a SAPI descriptor to data objects during its analysis recognition process. The SAPI descriptor identifies the type of the data object, and is used by the HDD to map the data object to a unique logical object address (LOA) space of the HDD tailored to characteristics of the particular disk drive. Using the SAPI descriptor assigned by the SAPI engine enables the HDD to more efficiently store data objects being sent by applications on a host computing system to the disk drive. The efficient storage by the HDD provides a system having improved access performance.
132 Citations
6 Claims
-
1. A method for storing a multiplicity of user data units characterized by at least one of type or size on a mass storage device, the method comprising the steps of:
-
receiving a data unit for mass storage on the mass storage device, decoding descriptor information accompanying the data unit, if any, wherein the descriptor information describes or provides an indication of a particular one of a plurality of data types for the data unit, determining a storage application programming interface (SAPI) descriptor for the data unit based at least in part upon decoding of the descriptor information, appending the SAPI descriptor to the data unit before storage upon a non-volatile storage medium of the mass storage device, selecting a storage algorithm from a plurality of predetermined available storage algorithms based upon the SAPI descriptor appended to the data unit and currently available storage locations on the non-volatile storage medium, determining at least one storage location of the non-volatile storage medium to store at least one copy of the data unit, and recording the data unit at the at least one storage location.
-
-
2. A method for storing a multiplicity of user data blocks characterized by at least one of type or size on a hard disc drive, the method comprising the steps of:
-
receiving a data block into a temporary cache buffer storage area of the disc drive, analyzing the data block to determine a likely one of a plurality of predetermined data types for the data block, determining a storage application programming interface (SAPI) descriptor for the data block based at least in part upon a data type for the data block determined from the analyzing step, appending the SAP(descriptor to the data block before storage upon a rotating disc of the hard disc drive, selecting a storage algorithm from a plurality of predetermined available storage algorithms based upon the SAPI descriptor appended to the data block and currently available storage locations on the rotating disc, determining at least one storage location of the rotating disc to store at least one copy of the data block, and recording the data block at the at least one storage location. - View Dependent Claims (3, 4, 5)
-
-
6. In a mass storage device including a recording and playback medium, a data recording and playback mechanism for recording one or more units of user data to the recording and playback medium and for playing one or more units of user data back from the recording and playback medium, a physical interface connecting the mass storage to an external computing environment, and an embedded digital controller means in the mass storage device responsive to control values from the physical interface for controlling the recording and playback medium, a storage application program interface (SAPI) implementation engine comprising:
-
data recognition means for recognizing a data unit description for the one or more units of user data received from the external computing environment via the physical interface, wherein the data unit description provides an indication of a particular one of a plurality of data types, internal data generation means for analyzing the data unit, recognized by the data recognition means, to generate an internal SAPI descriptor for the one or more units of user data based at least in part upon the data unit description, and appending the internal SAPI descriptor to the one or more units of user data, internal storage strategy selection means for selecting a storage algorithm from a plurality of predetermined available storage algorithms for storing the one or more units of user data appended with the SAPI descriptor on the recording and playback medium, and storage control means within the embedded digital controller for storing the one or more units of user data on the recording and playback medium in accordance with the selected storage algorithm.
-
Specification