Page allocation for flash memories
First Claim
Patent Images
1. A computer-implemented method to allocate pages in a flash memory, the method comprising:
- receiving a plurality of data elements and a write request to write the plurality of data elements to the flash memory, wherein the plurality of data elements comprises a plurality of files or file segments;
identifying, by a computing device, a correlation between a subset of the data elements based on correlation criteria by computing a correlation score for the subset of the data elements, wherein the correlation score is computed based on a statistical model associated with one or more of, a heuristic and a user-interaction record specifying the correlation criteria, wherein the subset of the data elements comprises consecutive video frames of a video file;
allocating, by the computing device, neighboring pages of the flash memory for storing the subset of the data elements;
writing, by the computing device, the subset of the data elements into the allocated pages;
receiving a series of read requests to read the subset of the data elements; and
reading, by the computing device, the subset of the data elements from the allocated pages and additional pages neighboring the allocated pages, wherein overlapping pages of the allocated pages and the additional pages within different read requests from the series of read requests are read once.
4 Assignments
0 Petitions
Accused Products
Abstract
Technologies are described herein for allocating pages in a flash memory. Some example technologies may receive multiple data elements and a write request to write the multiple data elements to the flash memory. Example technologies may identify a correlation between a subset of the data elements based on correlation criteria. Example technologies may allocate neighboring pages of the flash memory for storing the subset of the data elements. Example technologies may write the subset of the data elements into the allocated pages.
52 Citations
17 Claims
-
1. A computer-implemented method to allocate pages in a flash memory, the method comprising:
-
receiving a plurality of data elements and a write request to write the plurality of data elements to the flash memory, wherein the plurality of data elements comprises a plurality of files or file segments; identifying, by a computing device, a correlation between a subset of the data elements based on correlation criteria by computing a correlation score for the subset of the data elements, wherein the correlation score is computed based on a statistical model associated with one or more of, a heuristic and a user-interaction record specifying the correlation criteria, wherein the subset of the data elements comprises consecutive video frames of a video file; allocating, by the computing device, neighboring pages of the flash memory for storing the subset of the data elements; writing, by the computing device, the subset of the data elements into the allocated pages; receiving a series of read requests to read the subset of the data elements; and reading, by the computing device, the subset of the data elements from the allocated pages and additional pages neighboring the allocated pages, wherein overlapping pages of the allocated pages and the additional pages within different read requests from the series of read requests are read once. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium comprising computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:
-
receive a plurality of data elements and a write request to write the plurality of data elements to a flash memory, wherein the plurality of data elements comprises one or more of a HyperText Markup Language (HTML) file, a video file, and an image file; identify a correlation between a subset of the data elements based on correlation criteria, by computing a correlation score for the subset of the data elements, wherein the correlation score is computed based on a statistical model associated with one or more of a heuristic and a user-interaction record specifying the correlation criteria, wherein the subset of the data elements comprises consecutive video frames of the video file; allocate neighboring pages of the flash memory for storing the subset of the data elements; write the subset of the data elements into the allocated pages; and in response to a receipt of a series of read requests to read the subset of the data elements, read the subset of the data elements from the allocated pages and additional pages neighboring the allocated pages, wherein overlapping pages of the allocated pages and the additional pages within different read requests from the series of read requests are read once. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computing device, comprising:
-
a flash memory comprising a plurality of memory cells arranged to form a plurality of memory pages; and an operating system coupled to the flash memory and configured to; receive a plurality of data elements and a write request to write the plurality of data elements to the flash memory, wherein the plurality of data elements comprises a plurality of files or file segments; identify a correlation between a subset of the data elements based on correlation criteria by computing a correlation score for the subset of the data elements, wherein the correlation score is computed based on a statistical model associated with one or more of a heuristic and a user-interaction record specifying the correlation criteria; allocate neighboring pages of the flash memory for storing the subset of the data elements; write the subset of the data elements into the allocated pages; and in response to a receipt of a series of read requests to read the subset of the data elements, read the subset of the data elements from the allocated pages and additional pages neighboring the allocated pages, wherein overlapping pages of the allocated pages and the additional pages within different read requests from the series of read requests are read once. - View Dependent Claims (17)
-
Specification