Patent ID: 7596643
Filing Date: 2009-09-29
Classification: G06F,G11B

Abstract:
1. A storage subsystem, comprising: a controller coupled to non-volatile storage, said controller capable of writing data to, and reading data from, the non-volatile storage in response to commands received by the storage subsystem from a host system; and a volatile memory coupled to the controller, wherein the controller is configured to implement a write buffer in said volatile memory to buffer write data received from the host system on write operations, and to transfer said write data from the write buffer to the non-volatile storage, said buffer memory being capable of receiving data at a higher rate than the non-volatile storage, such that the storage subsystem is capable of receiving write data from the host system at a rate that exceeds a write speed of the non-volatile storage; wherein the controller is configured to adjust a size of the write buffer in response to commands from the host system so as to vary both a sustained write speed of the storage subsystem and a risk of data loss, such that the size of the write buffer is decreased when said write data is determined to be critical and is increased when said write data is determined to be non-critical.