Patent ID: 8429318
Filing Date: 2013-04-23
Classification: G06F

Abstract:
1. A method for writing data into non-volatile memory in an expansion memory card with a software driver, the method comprising: issuing a first data write operation from operating system software to a software driver for first write data; transferring the first write data to a volatile memory buffer within a memory controller controlling access to one or more non-volatile memory devices (NVMDs) organized in one or more memory channels; initiating the first data write operation to one of one or more channel controllers in the memory controller, wherein each of the one or more channel controllers to control one or more NVMDs organized on the same memory channel; issuing a second metadata write operation from the operating system software to the software driver for second write data; in response to the second metadata write operation, storing a first delayed write request in a channel controller of the memory controller as a first stored delayed write request, wherein the first stored delayed write request identifies a starting address of a delayed write buffer in a volatile memory in the memory controller and wherein the first stored delayed write request further identifies a first starting NVMD address to which the second write data is to be stored in a memory channel comprising one or more NVMDs; transferring the second write data associated with the second metadata write operation to the delayed write buffer; and before completion of the first data write operation and the second metadata write operation to one or more NVMDs, notifying the operating system software that the first data write operation and the second metadata write operation are guaranteed to be completed with a probability greater than fifty percent, even if a power failure occurs thereafter.