Pre-organization of Data
First Claim
1. A method of writing data to a file system in a non-volatile memory, the method comprising:
- opening a file stream for writing to a file in the file system;
attaching a life expectancy value to the file stream, the life expectancy value being a prediction of a length of time the data to be written will be stored in the file system;
writing the data to the file stream; and
causing the data written to the file stream to be written to the non-volatile memory according to the life expectancy value attached to the data.
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.
334 Citations
24 Claims
-
1. A method of writing data to a file system in a non-volatile memory, the method comprising:
-
opening a file stream for writing to a file in the file system; attaching a life expectancy value to the file stream, the life expectancy value being a prediction of a length of time the data to be written will be stored in the file system; writing the data to the file stream; and causing the data written to the file stream to be written to the non-volatile memory according to the life expectancy value attached to the data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 to a file in the file system, attaching a life expectancy value to the file stream, the life expectancy value being a prediction of a length of time the data to be written will be stored in the file system, writing the data to the file stream, and closing the file stream and thereby causing the data written to the file stream to be stored in the non-volatile memory according to the life expectancy of the data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. 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; and control circuitry performing operations including directing the data controller to receive data to be initially written to the non-volatile memory and to receive an associated life expectancy value, 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 received data to the selected erasable block of the non-volatile memory. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. 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 an associated life expectancy value, 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. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification