Additive library for data structures in a flash memory
First Claim
Patent Images
1. A method for writing data to a data structure implemented in a flash memory, the method comprising:
- receiving a write request from a client at the flash memory, wherein the flash memory includes a controller and a library that includes a plurality of calls that are performed by the controller, wherein the controller is configured to perform the write request, and wherein the write request is to write an update to a data structure stored in the flash memory in accordance with a particular call;
determining, by the controller, how to implement the write request in the flash memory, wherein the controller overwrites a location in the flash memory when an overwrite operation can be performed, wherein the update is written to an in-memory table or to a new location in the flash memory when the overwrite operation cannot be performed.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for managing data structures in a flash memory. A library is provided that supports read requests and write requests. The library allows reads and writes to be implemented without requiring the client to understand how the data structure is implemented in the flash memory.
203 Citations
20 Claims
-
1. A method for writing data to a data structure implemented in a flash memory, the method comprising:
-
receiving a write request from a client at the flash memory, wherein the flash memory includes a controller and a library that includes a plurality of calls that are performed by the controller, wherein the controller is configured to perform the write request, and wherein the write request is to write an update to a data structure stored in the flash memory in accordance with a particular call; determining, by the controller, how to implement the write request in the flash memory, wherein the controller overwrites a location in the flash memory when an overwrite operation can be performed, wherein the update is written to an in-memory table or to a new location in the flash memory when the overwrite operation cannot be performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium comprising computer executable instructions that, when executed by a processor, perform a method for writing data to a data structure implemented in a flash memory, the method comprising:
-
receiving a write request from a client at the flash memory, wherein the flash memory includes a controller and a library that includes a plurality of calls that are performed by the controller, wherein the controller is configured to perform the write request wherein the write request is to write an update to a data structure stored in the flash memory in accordance with a particular call; determining, by the controller, how to implement the write request in the flash memory, wherein the controller overwrites a location in the flash memory when an overwrite operation can be performed, wherein the update is written to an in-memory table or to a new location in the flash memory when the overwrite operation cannot be performed. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for reading data from a data structure implemented in a flash memory, the method comprising:
-
receiving a read request from a client at the flash memory for data stored in a data structure, wherein the read request includes a location in the data structure, wherein the flash memory is associated with a library and a controller that are configured to support write requests and read requests, wherein the library includes a plurality of calls configured to perform the read requests and the write requests in the flash memory; reading the data from the data structure at the location in the data structure stored in the flash memory; applying updates to the data that are stored in an in-memory table, wherein the updates stored in the in-memory table correspond to writes to the requested data that were stored in the in-memory table instead of being written to the flash memory; and returning the updated data to the client in response to the read request. - View Dependent Claims (18, 19, 20)
-
Specification