1. A method for maintaining data in a first cache and second cache, wherein a backup cache maintains a backup copy of data in the first cache, and wherein the first cache is used to cache a first set of data in a storage system and the second cache is used to cache a second set of data in the storage system, comprising: detecting an unavailable state of the first cache; in response to detecting the unavailable state, blocking requests to the first set of data and allocating at least one space in the second cache for data in the backup cache; allowing requests to the first set of data to proceed after the at least one space is allocated in the second cache and before the data in the backup cache is copied to the at least one allocated space in the second cache; and copying the data from the backup cache to the allocated at least one space in the second cache after the requests to the first set of data are allowed to proceed.