Programming an embedded flash storage device
First Claim
1. A method, comprising:
- sending, by a flash memory controller, a data unit and recovery metadata to an embedded flash storage device, wherein the recovery metadata is associated with a logical address of the data unit;
instructing the embedded flash storage device to initiate a write transaction;
performing stages of the write transaction and stages of a management process in parallel;
wherein the stages of the write transaction comprise;
programming, by the embedded flash storage device, the data unit and the recovery metadata to a flash memory unit of the embedded flash storage device;
informing, by the embedded flash storage device, the flash memory controller that the programming of the data unit and the recovery metadata succeeded; and
sending, by the flash memory controller, to a host computer a transaction completion indication in response to a successful completion of the write transaction; and
wherein the stages of the management process comprise;
updating, by the flash memory controller, a flash memory unit management data structure to reflect one or more of the recovery metadata and a physical address of the flash memory unit of the embedded flash storage device; and
programming, by the embedded flash storage device, the flash memory unit management data structure to the flash memory unit of the embedded flash storage device; and
comparing, by the flash memory controller, a content of the flash memory unit management data structure with a combination of the recovery metadata and the physical address of the flash memory unit.
9 Assignments
0 Petitions
Accused Products
Abstract
A method that includes sending to an embedded flash storage device (EFSD) and during a transaction, a data unit and recovery metadata that differs from a flash memory unit memory management data structure (FMUMMDS); instructing the EFSD to program the data unit and the recovery metadata to a group of flash memory cells; sending to the host computer a transaction completion indication in response to a successful completion of the programming and before a completion of a management process that comprises updating by the flash memory controller, the FMUMMDS to reflect (a) the recovery metadata and (b) physical address information related to the group of the flash memory cells; and programming, by the EFSD, the FMUMMDS to the flash memory unit; wherein the data structure is reconstructible based upon the recovery metadata and the physical address information related to the group of the flash memory cells.
-
Citations
20 Claims
-
1. A method, comprising:
-
sending, by a flash memory controller, a data unit and recovery metadata to an embedded flash storage device, wherein the recovery metadata is associated with a logical address of the data unit; instructing the embedded flash storage device to initiate a write transaction; performing stages of the write transaction and stages of a management process in parallel; wherein the stages of the write transaction comprise; programming, by the embedded flash storage device, the data unit and the recovery metadata to a flash memory unit of the embedded flash storage device; informing, by the embedded flash storage device, the flash memory controller that the programming of the data unit and the recovery metadata succeeded; and sending, by the flash memory controller, to a host computer a transaction completion indication in response to a successful completion of the write transaction; and wherein the stages of the management process comprise; updating, by the flash memory controller, a flash memory unit management data structure to reflect one or more of the recovery metadata and a physical address of the flash memory unit of the embedded flash storage device; and programming, by the embedded flash storage device, the flash memory unit management data structure to the flash memory unit of the embedded flash storage device; and comparing, by the flash memory controller, a content of the flash memory unit management data structure with a combination of the recovery metadata and the physical address of the flash memory unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium that includes instructions to be executed by a computerized system and include instructions for performing the steps of:
-
sending, by a flash memory controller, a data unit and recovery metadata to an embedded flash storage device, wherein the recovery metadata is associated with a logical address of the data unit; instructing the embedded flash storage device to initiate a write transaction; performing stages of the write transaction and stages of a management process in parallel; wherein the stages of the write transaction comprise; performing, by the embedded flash storage device, the data unit and the recovery metadata to a flash memory unit of the embedded flash storage device; informing, by the embedded flash storage device, the flash memory controller that the programming of the data unit and the recovery metadata succeeded; and sending, by the flash memory controller, to a host computer a transaction completion indication in response to a successful completion of the write transaction; and wherein the stages of the management process comprise; updating, by the flash memory controller, a flash memory unit management data structure to reflect one or more of the recovery metadata and a physical address of the flash memory unit of the embedded flash storage device; and programming, by the embedded flash storage device, the flash memory management data structure to the flash memory unit of the embedded flash storage device; and comparing, by the flash memory controller, a content of the flash memory unit management data structure with a combination of the recovery metadata and the physical address of the flash memory unit. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An embedded flash storage device comprising:
a flash memory controller, the flash memory controller operable to; send, by the flash memory controller, send a data unit and recovery metadata to the embedded flash storage device, wherein the recovery metadata is associated with a logical address of the data unit; instruct the embedded flash storage device to initiate a write transaction; perform stages of the write transaction and stages of a management process in parallel; wherein the stages of the write transaction comprise; programming by the embedded flash storage device, the data unit and the recovery metadata to a flash memory unit of the embedded flash storage device; informing, by the embedded flash storage device, the flash memory controller that the programming of the data unit and the recovery metadata succeeded; and sending, by the flash memory controller, to a host computer a transaction completion indication in response to a successful completion of the write transaction; and wherein the stages of the management process comprise; updating, by the flash memory controller, a flash memory unit management data structure to reflect one or more of the recovery metadata and a physical address of the flash memory unit of the embedded flash storage device; and programming, by the embedded flash storage device, the flash memory unit management data structure to the flash memory unit of the embedded flash storage device; and compare a content of the flash memory unit management data structure with a combination of the recovery metadata and the physical address of the flash memory unit. - View Dependent Claims (16, 17, 18, 19, 20)
Specification