Patent ID: 7424587
Filing Date: 2008-09-09
Classification: G06F

Abstract:
1. A method for managing reads and writes in a solid-state drive having a volatile memory portion and a non-volatile memory portion, comprising the steps of: (a) upon receiving a write request including an address and data, determining if the address is referenced at a first location in the volatile memory portion, and if so, overwriting any data at the first location, and if not, writing the data to a second location marked as available for writing in the volatile portion, and associating that location with the address; (b) upon receiving a read request including an address, determining if the address is referenced at a location in the volatile portion, and if so, reading data from that location, and if not, reading data from the address in the non-volatile portion; and (c) periodically comparing valid data volume in the volatile memory portion with a preset threshold, and upon exceeding the threshold, selecting data that has been longest in the volatile memory portion without alteration, moving that data from the volatile to the non-volatile portion, and marking the locations from which the data is moved as available for writing in the volatile portion.