Method and system for data structure management
First Claim
Patent Images
1. A method for managing data structures in a storage device of a system, said method comprising:
- receiving a request in a firmware application for data located in a storage device, said firmware application being executed in said storage device but not directly accessing said storage device;
determining a current memory configuration of said system;
determining a location of a reference data structure in a memory based on said current memory configuration, said reference data structure comprising a plurality of parameters corresponding to said datawhen said reference data structure does not yet exist,i) gathering a plurality of condensed data elements comprised in a plurality of hardware devices of said system, the plurality of condensed data elements comprising a plurality of addressing elements condensed into a binary value;
ii) processing said plurality of condensed data elements to extract said plurality of addressing elements;
iii) converting said plurality of addressing elements into a temporary data structure;
iv) storing said temporary data structure in a local memory as said reference data structure; and
returning said location of said reference data structure to said firmware application.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed to a method and system for allowing data structures to be moved between storage locations of varying performance and cost without changing the application firmware. In one embodiment, rather than application firmware directly accessing memory, the application firmware requests a data structure by parameters, to which the implementation returns a pointer. The parameters can be, for example, the logical block address of a data sector, and the data structure can be mapping and associated information of that logical block address (LBA) to a location in the flash device.
54 Citations
21 Claims
-
1. A method for managing data structures in a storage device of a system, said method comprising:
-
receiving a request in a firmware application for data located in a storage device, said firmware application being executed in said storage device but not directly accessing said storage device; determining a current memory configuration of said system; determining a location of a reference data structure in a memory based on said current memory configuration, said reference data structure comprising a plurality of parameters corresponding to said data when said reference data structure does not yet exist, i) gathering a plurality of condensed data elements comprised in a plurality of hardware devices of said system, the plurality of condensed data elements comprising a plurality of addressing elements condensed into a binary value; ii) processing said plurality of condensed data elements to extract said plurality of addressing elements; iii) converting said plurality of addressing elements into a temporary data structure; iv) storing said temporary data structure in a local memory as said reference data structure; and returning said location of said reference data structure to said firmware application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of managing the storage of data structures in a storage device, the method comprising:
-
mapping a logical address corresponding to a sector in a flash memory to a physical address of said flash memory; converting said physical address to a data structure comprising a plurality of data elements; storing said data structure in a derived location in a local memory when said data structure exists, when said data structure does not yet exist, i) gathering a plurality of condensed data elements comprised in a plurality of hardware devices coupled to said storage device, the plurality of condensed data elements comprising a plurality of addressing elements condensed into a binary value; ii) processing said plurality of condensed data elements to extract said plurality of addressing elements; iii) converting said plurality of addressing elements into a temporary data structure; and iv) storing said temporary data structure as said data structure in said local memory. - View Dependent Claims (16, 17, 18)
-
-
19. A system comprising a flash memory device, a plurality of storage components and a hardware device including a processor and a cache, the system comprising a plurality of program instructions, which when executed by the processor causes the system to implement a method of managing data structure requests in a system, said plurality of program instructions comprising:
-
instructions to map a logical address corresponding to a sector in a flash memory to a physical address of said flash memory; converting said physical address to a data structure comprising a plurality of data elements; instructions to store said data structure in a derived location in a local memory when said data structure exists, when said data structure does not yet exist, i) gathering a plurality of condensed data elements comprised in a plurality of hardware devices coupled to said storage device, the plurality of condensed data elements comprising a plurality of addressing elements condensed into a binary value; ii) processing said plurality of condensed data elements to extract said plurality of addressing elements; iii) converting said plurality of addressing elements into a temporary data structure; and iv) storing said temporary data structure as said data structure in said local memory. - View Dependent Claims (20, 21)
-
Specification