Method and apparatus for storing data in flash memory
First Claim
Patent Images
1. A method comprising:
- receiving a request to download data into flash memory;
halting the downloading of the data into the flash memory until the flash memory is initialized, wherein the initialization includes reclaiming space in the flash memory to accommodate the request, reserving the space in the flash memory to ensure the space is not used in a manner not associated with the request, and storing pointers in a second memory to indicate different locations within the flash memory where the data is to be stored within the flash memory; and
storing the data into the flash memory based on the pointers stored in the second memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, a method includes receiving a request to download data into flash memory. The method also includes halting the downloading of the data into the flash memory until the flash memory is initialized. The initialization includes storing pointers in a memory to different locations within the flash memory where the data is to be stored. Additionally, the method includes storing the data into the flash memory based on the pointers stored in the memory.
-
Citations
26 Claims
-
1. A method comprising:
-
receiving a request to download data into flash memory; halting the downloading of the data into the flash memory until the flash memory is initialized, wherein the initialization includes reclaiming space in the flash memory to accommodate the request, reserving the space in the flash memory to ensure the space is not used in a manner not associated with the request, and storing pointers in a second memory to indicate different locations within the flash memory where the data is to be stored within the flash memory; and storing the data into the flash memory based on the pointers stored in the second memory. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
receiving a request from an external device to store data into a flash memory of a device, wherein the request includes the size of the data; in response to receiving the request, initializing the flash memory of the device prior to receiving the data, wherein the initializing comprises; determining whether the size of free space within the flash memory is greater than the size of the data; upon determining that the size of the free space within the flash memory is not greater than the size of the data, reclaiming space in the flash memory to accommodate the request; reserving the space in the flash memory to ensure the space is not used in a manner not associated with the request; and storing pointers, in a separate memory, to indicate a number of different locations within the flash memory where the free space is located. - View Dependent Claims (6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a flash memory partitioned into blocks; a random access memory coupled to the flash memory; a write unit coupled to the flash memory and the random access memory, wherein the write unit is to receive a first request to download data into the flash memory and wherein the write unit is to download the data into the flash memory; and an initialize unit coupled to the flash memory, the random access memory and the write unit to initialize the flash memory in response to receiving the request to download data by reclaiming space in the flash memory to accommodate the request, reserving the space in the flash memory to ensure the space is not used to comply with a second request received by the write unit until the first request is completed, and storing pointers, prior to downloading the data into the flash memory, in the random access memory to indicate the number of the blocks within the flash memory that are free to store the data. - View Dependent Claims (11, 12, 13)
-
-
14. A system comprising:
-
a server coupled to a network; and a cellular telephone wirelessly coupled to the network, wherein the cellular telephone comprises; a flash memory partitioned into blocks; a random access memory coupled to the flash memory; a processor coupled to the flash memory and the random access memory, the processor to execute a number of instructions, which when executed by the processor causes the processor to; receive a request, from the server, to download data into the flash memory; halt the downloading of the data into the flash memory until the flash memory is initialized, wherein the initialization includes reclaiming space in the flash memory to accommodate the request, reserving the space in the flash memory to ensure the space is not used in a manner not associated with the request, and storing pointers in the random access memory to indicate the number of the blocks within the flash memory where the data is to be stored; and store the data into the flash memory based on the pointers stored in the random access memory. - View Dependent Claims (15, 16, 17)
-
-
18. A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform operations comprising:
-
receiving a request to download data into flash memory; halting the downloading of the data into the flash memory until the flash memory is initialized, wherein the initialization includes reclaiming space in the flash memory to accommodate the request, reserving the space in the flash memory to ensure the space is not used by a device not associated with the request, and storing pointers in a second memory to indicate different locations within the flash memory where the data is to be stored; and storing the data into the flash memory based on the pointers stored in the second memory. - View Dependent Claims (19, 20, 21)
-
-
22. A machine-readable medium that provides instructions, which when executed by a machine, causes the machine to perform operations comprising:
-
receiving a request from an external device to store data into a flash memory of a device, wherein the request includes the size of the data; in response to receiving the request, initializing the flash memory of the device prior to receiving the data, wherein the initializing comprises; determining whether the size of free space within the flash memory is greater than the size of the data; reclaiming space in the flash memory to accommodate the request; reserving the space in the flash memory to ensure the space is not in a manner not associated with the request, upon determining that the size of the free space within the flash memory is not greater than the size of the data, reclaiming space within the flash memory; generating headers for each of a number of different locations within the flash memory where the free space is located; storing the headers into the number of different locations within the flash memory; storing pointers, in a second memory, to the number of different locations within the flash memory to indicate where the free space is located within the flash memory; transmitting a signal to the external device to transmit the data after the initialization of the flash memory is completed; receiving the data into a number of buffers within the device; and storing the data within the number of buffers into the number of different locations within the flash memory where the free space is located. - View Dependent Claims (23, 24, 25, 26)
-
Specification