A method for performing adaptive write caching in a storage virtualization subsystem is disclosed. In this method, criteria associated with an operation state of the storage virtualizalion subsystem for performing write caching are first defined. Then, the characteristics of a stream of at least one write input/output (IO) request sent out by a host entity are analyzed to make a determination of whether the stream meets the criteria. Thereafter, a new write IO request by the subsystem from the host entity is received, and write caching is performed to write data associated with the new write IO request to a physical storage device (PSD) array according to the determination.