主权项 |
1. A FLASH-based solid state storage system comprising:
a system controller including an external communication bus interface adapted to receive WRITE requests from an external host, where each WRITE request includes a Logical Block Address (LBA) and a page of data to be stored at the LBA; a volatile memory space accessible to the system controller; a FLASH memory space containing a plurality of physical address locations, each physical address location being capable of storing a page of data; and one or more communication buses coupling the system controller to the FLASH memory space, wherein the system controller is configured to maintain a logical to physical translation table in the volatile memory space, where the logical to physical translation table includes both: (i) a first group of entries associating a LBA with a physical address location within the FLASH memory space where, for each such entry, data is stored within the physical address location within the FLASH memory space; and (ii) a second group of entries associating a LBA with one or more data identifiers, each data identifier and each physical address location, respectively, being stored in the logical to physical translation table as a predefined plurality of bits, where:
(a) each such data identifier is associated with a specific data string such that the same data identifier may be associated with two or more distinct LBAs in the second group of entries,(b) each such data string corresponds to a specific block of data and not to any physical address location within the FLASH memory space; and(c) no physical address location within the FLASH memory space includes stored data corresponding to any of the specific blocks of data that correspond to a data string; and wherein the system controller is configured to respond to a WRITE request containing a data string that is associated with a data identifier by storing an entry in the second group of entries and not accessing the FLASH memory space as a result of such WRITE request, and wherein the system controller is configured to respond to a READ request for data associated with a LBA in the second group of entries by providing a specific data string associated with the data identifier associated with that LBA without accessing the FLASH memory space as a result of the READ request. |