Meta data handling within a flash media controller
AssigneeLSI Corporation
InventorsVinay Ashok Somanache, Michael S. Hicken, Pamela S. Hempstead, Timothy W. Swatosh, Jackson L. Ellis, Martin S. Dell
Life of this patent
Estimating the term…
Abstract
A method for handling meta data stored in a page of a flash memory within a flash media controller. The method generally includes (i) defining the meta data on a per context basis, where the context is defined on a per page basis, (ii) when a size of the meta data is less than or equal to a predefined threshold, storing the complete meta data within a structure of the context, and (iii) when the size of the meta data is greater than the predefined threshold, defining meta data pointers within the context.
Claims15
A method for handling meta data stored in a page of a flash memory within a flash media controller, said method comprising:
- defining a context on a per page basis, wherein said context comprises a data structure providing all information needed by the flash media controller to execute a flash transaction and any associated transfer to or from a system buffer, said data structure including one or more fields defined for meta data associated with said flash transaction;
- defining said meta data on a per context basis;
- when a size of said meta data associated with said flash transaction is less than or equal to a predefined threshold, storing said meta data associated with said flash transaction completely within the one or more fields defined for meta data in the data structure of the context, wherein during a flash program cycle, said meta data from the data structure of the context is stored in a flash target and during a read cycle, the meta data read from the flash target is stored back in the data structure of the context;
- and
- when the size of said meta data associated with said flash transaction is greater than the predefined threshold, defining meta data pointers identifying a location external to said context where the meta data associated with the flash transaction is or is to be stored and storing the meta data pointers in the one or more fields defined for meta data within the data structure of the context.
An apparatus comprising:
- a flash memory comprising a plurality of flash media devices, said flash memory being organized as a plurality of pages;
- a flash media controller configured to store meta data in one or more pages of said flash memory, wherein (i) said flash media controller defines a context on a per page basis and said meta data on a per context basis, (ii) the context comprises a data structure providing all information needed by the flash media controller to execute a flash transaction and any associated transfer to or from a system buffer, (iii) said data structure includes one or more fields defined for meta data associated with said flash transaction, (iv) when a size of said meta data associated with said flash transaction is less than or equal to a predefined threshold, said flash media controller stores the complete meta data within the one or more fields defined for meta data in the data structure of the context, such that during a flash program cycle said flash media controller stores the meta data from the data structure of the context in a flash target and during a read cycle said flash media controller stores the meta data read from the flash target back into the data structure of the context, and (v) when the size of the meta data associated with said flash transaction is greater than the predefined threshold, said flash media controller defines meta data pointers identifying a location external to said context where the meta data associated with the flash transaction is or is to be stored and stores the meta data pointers in the one or more fields defined for meta data within the data structure of the context.
A flash memory system comprising:
- means for defining meta data on a per context basis, where a context is defined on a per page basis, said context comprises a data structure providing all information needed by said defining means to execute a flash transaction and any associated transfer to or from a system buffer, and said data structure includes one or more fields defined for meta data associated with said flash transaction;
- means for storing the complete meta data associated with said flash transaction within the one or more fields defined for meta data within the data structure of the context when a size of said meta data associated with said flash transaction is less than or equal to a predefined threshold, wherein during a flash program cycle, said meta data from the data structure of the context is stored in a flash target and during a read cycle, the meta data read from the flash target is stored back in the data structure of the context;
- and
- means for defining meta data pointers identifying a location external to said context where the meta data associated with the flash transaction is or is to be stored and storing the meta data pointers in the one or more fields defined for meta data within the data structure of the context when the size of the meta data associated with said flash transaction is greater than the predefined threshold.
Dependencies are inferred from the claim text.