Flashware usage mitigation
First Claim
Patent Images
1. A method, comprising:
- receiving, at a memory control process of a device, a request for a flash memory of the device;
determining, by the memory control process of the device, whether the request is a program/erase (P/E) request or a read request;
in response to determining that the request is a read request, determining, by the memory control process, whether data associated with the read request is more recent on a random access memory (RAM) of the device or the flash memory of the device, wherein the data associated with the read request is read from the RAM when data associated with the read request is most recent on the RAM;
in response to determining that the request is a P/E request, storing, by the memory control process, the data associated with the P/E request in the RAM;
determining, by the memory control process, a given time interval to aggregate each of a plurality of P/E requests based on one or more of a total size of the flash memory, an amount of the flash memory allocated to one or more applications generating the plurality of P/E requests, a type of the flash memory, and a projected lifetime of the flash memory;
aggregating, by the memory control process, each of the plurality of P/E requests received over the given time interval into a single P/E operation; and
sending, from the memory control process, the single P/E operation to the flash memory at the given time interval to update the flash memory with the data stored in the RAM.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a memory control process of a device receives a plurality of program/erase (P/E) requests for a flash memory of the device. The memory control process then stores data associated with the plurality of P/E requests in a random access memory (RAM) of the device, and aggregates the plurality of P/E requests into a single P/E operation. The memory control process may then send the single P/E operation to the flash memory at a given interval to update the flash memory with the data stored in the RAM.
20 Citations
16 Claims
-
1. A method, comprising:
-
receiving, at a memory control process of a device, a request for a flash memory of the device; determining, by the memory control process of the device, whether the request is a program/erase (P/E) request or a read request; in response to determining that the request is a read request, determining, by the memory control process, whether data associated with the read request is more recent on a random access memory (RAM) of the device or the flash memory of the device, wherein the data associated with the read request is read from the RAM when data associated with the read request is most recent on the RAM; in response to determining that the request is a P/E request, storing, by the memory control process, the data associated with the P/E request in the RAM; determining, by the memory control process, a given time interval to aggregate each of a plurality of P/E requests based on one or more of a total size of the flash memory, an amount of the flash memory allocated to one or more applications generating the plurality of P/E requests, a type of the flash memory, and a projected lifetime of the flash memory; aggregating, by the memory control process, each of the plurality of P/E requests received over the given time interval into a single P/E operation; and sending, from the memory control process, the single P/E operation to the flash memory at the given time interval to update the flash memory with the data stored in the RAM. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus, comprising:
-
a processor configured to execute one or more processes; a flash memory; a random-access memory (RAM); and an operating system configured to store a memory control process executable by the processor, the memory control process when executed operable to; receive a request for the flash memory; determine whether the request is a program/erase (P/E) request or a read request; in response to determining that the request is a read request, determine whether data associated with the read request is more recent on the RAM or the flash memory, wherein the data associated with the read request is read from the RAM when data associated with the read request is most recent on the RAM; in response to determining that the request is a PE request, store the data associated with each of the plurality of the P/E request in the RAM; determine a given time interval to aggregate each of a plurality of P/E requests based on one or more of a total size of the flash memory, an amount of the flash memory allocated to one or more applications generating the plurality of P/E requests, a type of the flash memory, and a projected lifetime of the flash memory; aggregate each of the plurality of P/E requests received over the given time interval into a single P/E operation; and send the single P/E operation to the flash memory at the given time interval to update the flash memory with the data stored in the RAM. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A tangible, non-transitory, computer-readable media having software encoded thereon, the software when executed by a processor operable to:
-
receive a request for a flash memory of a device; determine whether the request is program/erase (P/E) request or a read request; in response to determining that the request is a read request, determine whether data associated with the read request is more recent on a random access memory (RAM) of the device or the flash memory of the device, wherein the data associated with the read request is read from the RAM when data associated with the read request is most recent on the RAM; in response to determining that the request is a PE request, store the data associated with the P/E request in the RAM; determine a given time interval to aggregate each of a plurality of P/E requests based on one or more of a total size of the flash memory, an amount of the flash memory allocated to one or more applications generating the plurality of P/E requests, a type of the flash memory, and a projected lifetime of the flash memory; aggregate each of the plurality of P/E requests received over the given time interval into a single P/E operation; and send the single P/E operation to the flash memory at the given time interval to update the flash memory with the data stored in the RAM.
-
Specification