Meta data handling within a flash media controller
First Claim
Patent Images
1. 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.
9 Assignments
0 Petitions
Accused Products
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.
45 Citations
15 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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.
-
Specification