FLASH STORAGE DEVICE WITH READ CACHE
First Claim
1. A method of managing a flash storage device, the method comprising:
- storing, in a first memory, copies of data read from a flash memory in the flash storage device;
mapping a logical address in a read request received from a host system to a virtual unit address and a virtual page address;
checking a virtual unit cache tag table in the first memory based on the virtual unit address;
if a hit is found in the virtual unit cache tag table, checking a virtual page cache tag sub-table in the first memory based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address;
if a hit is found in the virtual page cache tag sub-table, reading data stored in the first memory mapped to the hit in the virtual page cache tag sub-table in response to the read request received from the host system.
9 Assignments
0 Petitions
Accused Products
Abstract
A flash storage device includes a first memory, a flash memory comprising a plurality of physical blocks, each of the plurality of physical blocks comprising a plurality of physical pages, and a controller. The controller is configured to store, in the first memory, copies of data read from the flash memory, map a logical address in a read request received from a host system to a virtual unit address and a virtual page address, and check a virtual unit cache tag table stored in the first memory based on the virtual unit address. If a hit is found in the virtual unit cache tag table, a virtual page cache tag sub-table stored in the first memory is checked based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address. If a hit is found in the virtual page cache tag sub-table, data stored in the first memory mapped to the hit in the virtual page cache tag sub-table is read in response to the read request received from the host system.
-
Citations
23 Claims
-
1. A method of managing a flash storage device, the method comprising:
-
storing, in a first memory, copies of data read from a flash memory in the flash storage device; mapping a logical address in a read request received from a host system to a virtual unit address and a virtual page address; checking a virtual unit cache tag table in the first memory based on the virtual unit address; if a hit is found in the virtual unit cache tag table, checking a virtual page cache tag sub-table in the first memory based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address; if a hit is found in the virtual page cache tag sub-table, reading data stored in the first memory mapped to the hit in the virtual page cache tag sub-table in response to the read request received from the host system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A flash storage device comprising:
-
a first memory; a flash memory comprising a plurality of physical blocks, each of the plurality of physical blocks comprising a plurality of physical pages; a controller, wherein the controller is configured to; store, in the first memory, copies of data read from the flash memory; map a logical address in a read request received from a host system to a virtual unit address and a virtual page address; check a virtual unit cache tag table stored in the first memory based on the virtual unit address; if a hit is found in the virtual unit cache tag table, check a virtual page cache tag sub-table stored in the first memory based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address; if a hit is found in the virtual page cache tag sub-table, read data stored in the first memory mapped to the hit in the virtual page cache tag sub-table in response to the read request received from the host system. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification