System and apparatus for enhancing data storage efficiency of a flash memory by reducing time for reorganizing data
First Claim
1. An apparatus for managing flash memory data, comprising:
- a flash memory including a flash memory buffer, a destination block, anda temporary block; and
a controller, external to the flash memory, comprising an external buffer;
wherein the controller is configured to receive a write command and data having a destination address corresponding to the destination block, store the data in the external buffer, and, responsive to the write command, write the data in the external buffer to the flash memory buffer; and
wherein the controller is further configured to determine if the flash memory buffer is full and, if the flash memory buffer is not full, the controller is configured to cause the data to be written to the temporary block.
0 Assignments
0 Petitions
Accused Products
Abstract
The system and apparatus for managing flash memory data includes a host transmitting data, wherein when the data transmitted from the host have a first time transmission trait and the address for the data indicates a temporary address, temporary data are retrieved from the temporary address to an external buffer. A writing command is then executed and the temporary data having a destination address are written to a flash memory buffer. When the flash memory buffer is not full, the buffer data are written into a temporary block of the flash memory. The writing of buffer data into the temporary block includes using an address changing command, or executing a writing command to rewrite the external buffer data to the flash memory buffer so that the data are written into the temporary block.
31 Citations
20 Claims
-
1. An apparatus for managing flash memory data, comprising:
-
a flash memory including a flash memory buffer, a destination block, and a temporary block; and
a controller, external to the flash memory, comprising an external buffer;wherein the controller is configured to receive a write command and data having a destination address corresponding to the destination block, store the data in the external buffer, and, responsive to the write command, write the data in the external buffer to the flash memory buffer; and wherein the controller is further configured to determine if the flash memory buffer is full and, if the flash memory buffer is not full, the controller is configured to cause the data to be written to the temporary block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for managing flash memory data, comprising:
-
a flash memory including a flash memory buffer, a destination block, and a temporary block; and a controller, external to the flash memory, comprising an external buffer; wherein the controller is configured to receive a write command and data having a destination address corresponding to the destination block, to store the data in the external buffer, and, responsive to the write command, to write the data in the external buffer to the flash memory buffer; and wherein the controller is further configured to determine if the flash memory buffer is full and, if the flash memory buffer is not full, the controller, responsive to the write command, is configured to re-assign a temporary address to the data, to write the data, having the re-assigned temporary address, in the external buffer to the flash memory buffer, and to write the data into the temporary block of the flash memory in accordance with the temporary address. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for managing flash memory data, comprising:
-
a flash memory including a flash memory buffer, a destination block, and a temporary block; a controller including a buffer external to the flash memory; and a host; wherein the controller is configured to receive, from the host, a write command and data having a destination address corresponding to the destination block, to store the data in the external buffer, and, responsive to the write command, write the data in the external buffer to the flash memory buffer; and wherein the controller is further configured to determine if the flash memory buffer is full and, if the flash memory buffer is not full, to cause the data to be written to the temporary block. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification