STORAGE DEVICE WITH FLASH MEMORY AND DATA STORAGE METHOD
First Claim
1. A method of storing write data in a storage device including a flash memory and a cache memory, the method comprising:
- receiving a write command in the storage device, wherein the write command comprises write data to be stored in the flash memory and a logical block address (LBA) in the flash memory at which the write data is to be stored;
determining whether the LBA exists in the cache memory;
if the LBA exists in the cache memory, comparing the write data with cache data stored in the cache memory at a location associated with the LBA, and if the write data and the cache data are the same, terminating operation of the storage device without programming the write data to the flash memory, else updating an error detection information lookup table entry associated with the LBA and programming the write data to the flash memory; and
if the LBA does not exist in the cache memory, updating the error detection information lookup table entry associated with the LBA and programming the write data to the flash memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of storing write data in flash memory incorporated in a storage device, the method includes; receiving write data and a logical block address (LBA) for the flash memory, determining whether the LBA exists in the cache memory, if the LBA exists in the cache memory, comparing the write data with cache data stored in the cache memory at a location associated with the LBA, and if the write data and the cache data are the same, terminating operation of the storage device without programming the write data to the flash memory, else updating an error detection information lookup table entry associated with the LBA and programming the write data to the flash memory, and if the LBA does not exist in the cache memory, updating the error detection information lookup table entry associated with the LBA and programming the write data to the flash memory.
30 Citations
15 Claims
-
1. A method of storing write data in a storage device including a flash memory and a cache memory, the method comprising:
-
receiving a write command in the storage device, wherein the write command comprises write data to be stored in the flash memory and a logical block address (LBA) in the flash memory at which the write data is to be stored; determining whether the LBA exists in the cache memory; if the LBA exists in the cache memory, comparing the write data with cache data stored in the cache memory at a location associated with the LBA, and if the write data and the cache data are the same, terminating operation of the storage device without programming the write data to the flash memory, else updating an error detection information lookup table entry associated with the LBA and programming the write data to the flash memory; and if the LBA does not exist in the cache memory, updating the error detection information lookup table entry associated with the LBA and programming the write data to the flash memory. - View Dependent Claims (2, 3, 4, 5, 13)
-
-
6. A method of storing write data in a storage device including a flash memory and a cache memory, the method comprising:
-
receiving a write command in the storage device, wherein the write command comprises write data to be stored in the flash memory and a logical block address (LBA) in the flash memory at which the write data is to be stored; determining whether the LBA exists in the cache memory; if the LBA does not exist in the cache memory, reading data from the flash memory with reference to the LBA and storing the read data to the cache memory at a location associated with the LBA as cache data; if the LBA exists in the flash memory and if the LBA does not exist in the cache memory, then comparing the write data with the cache data, and if the write data and the cache data are the same, terminating operation of the storage device without programming the write data to the flash memory, else updating an error detection information lookup table entry associated with the LBA and programming the write data to the flash memory. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A storage device comprising:
-
an interface unit configured to receive a write command from a host, wherein the write command comprises write data to be stored in the flash memory and a logical block address (LBA) in the flash memory at which the write data is to be stored; a controller configured to control operation of a flash memory and a cache memory, and further configured to determining whether the LBA exists in the cache memory; if the LBA exists in the cache memory, the controller is configured to compare the write data with cache data stored in the cache memory at a location associated with the LBA, and if the write data and the cache data are the same, terminate operation of the storage device without programming the write data to the flash memory, else update an error detection information lookup table entry associated with the LBA and program the write data to the flash memory; and if the LBA does not exist in the cache memory, the controller is configure to update the error detection information lookup table entry associated with the LBA and program the write data to the flash memory. - View Dependent Claims (12, 14, 15)
-
Specification