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.