Pre-organization of data
First Claim
1. A method for writing files to a file system in a non-volatile memory, the method comprising:
- opening a file stream for writing a first file to the file system;
predicting a life expectancy value of the first file, wherein the life expectancy value is a prediction of a length of time the first file will remain stored in the file system;
attaching the life expectancy value to the file stream;
writing the first file to the file stream to cause the first file to be written to the non-volatile memory according to the life expectancy value attached to the file stream; and
identifying a second file having a similar life expectancy to the first file, wherein writing the first file to the file stream includes writing the first file to a buffer associated with an erasable block that is larger than each of the first file and the second file.
1 Assignment
0 Petitions
Accused Products
Abstract
In a method of writing data to a file system on a solid state drive, a file stream is opened for writing to a file in the file system. A life expectancy value predicting a length of time the data to be written will be stored in the file system is attached to the file stream. The data is written to the file stream and stored on the solid state storage device according to the life expectancy value attached to the data. In one embodiment, a unique identifier may be used as the life expectancy value for writing a group of related files predicted to be stored in the file system for substantially the same length of time. The life expectancy value may be predicted based on a file type of the file being written. The life expectancy value may be stored as metadata for the file being written.
25 Citations
20 Claims
-
1. A method for writing files to a file system in a non-volatile memory, the method comprising:
-
opening a file stream for writing a first file to the file system; predicting a life expectancy value of the first file, wherein the life expectancy value is a prediction of a length of time the first file will remain stored in the file system; attaching the life expectancy value to the file stream; writing the first file to the file stream to cause the first file to be written to the non-volatile memory according to the life expectancy value attached to the file stream; and identifying a second file having a similar life expectancy to the first file, wherein writing the first file to the file stream includes writing the first file to a buffer associated with an erasable block that is larger than each of the first file and the second file. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A processor-based device, comprising:
-
a processor; a non-volatile memory coupled to the processor; and an operating system that is executed by the processor, the operating system performing operations for writing data to a file system in the non-volatile memory, the operations including; opening a file stream for writing a file to the file system, predicting a life expectancy value of the file, wherein the life expectancy value is a prediction of a length of time the file will remain stored in the file system, attaching the life expectancy value to the file stream, and writing the file to the file stream to cause the file to be stored in the non-volatile memory according to the life expectancy of the data, wherein the non-volatile memory; includes an erasable block that is larger than each file in a plurality of files having a similar life expectancy to the file, and is coupled to a buffer that is associated with the erasable block, wherein writing the file to the file stream comprises writing the file to the buffer. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A device controller for accessing a non-volatile memory organized into a plurality of erasable blocks, the device controller comprising:
-
a data controller for communicating with a source of data; a bus controller for communicating with the non-volatile memory and the source of data; control circuitry configured to perform operations that include; directing the data controller to receive data to be initially written to the non-volatile memory and to receive a life expectancy value that is associated with the data, wherein the associated life expectancy value is predicted by an operating system and represents a predicted length of time the data will remain stored in a file system, selecting one of the plurality of erasable blocks to receive the data according to the associated life expectancy value, and directing the bus controller to write the data to the selected erasable block of the non-volatile memory, wherein a buffer is associated with the plurality of erasable blocks, each erasable block in the plurality of erasable blocks is larger than each file in a plurality of files having a similar life expectancy to the data, and writing the data to the selected erasable block comprises writing the data to the buffer. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An electronic device comprising:
-
a non-volatile memory organized into a plurality of erasable blocks; and a device controller coupled to the non-volatile memory and a data bus, the device controller performing operations including; receiving data to be initially written to the non-volatile memory and a life expectancy value that is associated with the data, wherein the life expectancy value is predicted by an operating system and represents a predicted length of time the data will remain stored in a file system, selecting one of the plurality of erasable blocks to receive the data according to the associated life expectancy value, and writing the received data to the selected erasable block, wherein each of the plurality of erasable blocks is larger than a portion of data associated with the life expectancy, and writing the data to the file stream comprises writing the data to a buffer that is associated with the selected erasable block. - View Dependent Claims (17, 18, 19, 20)
-
Specification