Patent ID: 8463742

Claim:
A method for managing data in a data storage system, the method comprising: receiving data to be stored in the data storage system; computing values corresponding to different respective portions of the received data; generating identifiers corresponding to different respective portions of the received data, with an identifier corresponding to a particular portion of data including the computed value corresponding to the particular portion of data and metadata indicating a location where the particular portion of data is being stored in the data storage system; receiving an indication that an identifier corresponding to one of the respective portions of the received data was previously stored in the index, and, in response, verifying that the indicated identifier still corresponds to the one of the respective portions of data; storing at least some of the identifiers in an index until the index reaches a predetermined size; and in response to determining that a first identifier corresponding to a first portion of data, received after the index reached the predetermined size, was not already stored in the index before the first portion of data was received, storing the first identifier in the index and designating for removal at least a second identifier corresponding to a second portion of data to be removed from the index such that the index does not exceed the predetermined size.