Patent ID: 8645619

Claim:
A method comprising: throttling accesses to a flash memory device that is part of a storage system that comprises the flash memory device and a second memory device, the throttling performed by logic external to the flash memory device, the throttling comprising: calculating a lifespan throttling factor responsive to an estimated remaining lifespan of the flash memory device; calculating a throughput throttling factor responsive to an estimated maximum throughput of the flash memory device; calculating a maximum throttling factor responsive to the lifespan throttling factor and the throughput throttling factor; determining whether the maximum throttling factor exceeds a threshold; and in response to determining that the maximum throttling factor exceeds the threshold, performing at least one of data size throttling, prefetch window size throttling, and usage throttling; and writing data to at least one of the flash memory device and the second memory device in response to the at least one of data size throttling, prefetch window size throttling, and usage throttling.