1. A method comprising: receiving by a cache system a command from a virtual machine; and if the received command is a read command then, issuing the read command from the cache system across a network to a remote flash memory if previously issued read commands from the cache system across the network to the remote flash memory did not incur network latency problems, and returning a remote flash memory read command result from the cache system to the virtual machine, else issuing the read command from the cache system to a local flash memory if previously issued read commands from the cache system to the local flash memory did not incur local flash memory read latency problems, and returning a local flash memory read command result from the cache system to the virtual machine, else issuing the read command from the cache system to a storage system and issue a false write command to the local flash memory if previously issued false write commands from the cache system to the local flash memory did not incur local flash memory write latency problems, and returning a storage system read command result from the cache system to the virtual machine, else if the received command is a true write command then, issuing the true write command from the cache system to the local flash memory if previously issued true write commands from the cache system to the local flash memory did not incur local flash write latency problems, else issuing the true write command from the cache system to the storage system, and returning a true write command result from the cache system to the virtual machine.