1. An apparatus comprising: a non-volatile main storage; a volatile, primary cache mirroring a first portion of the main storage; a non-volatile secondary cache mirroring a second portion of the main storage; and a processor configured to: cause a new segment of data to be copied to the primary cache in response to a data read access request from a host; determine a criterion for copying of data from the primary cache to the secondary cache, wherein the criterion gives higher priority to segments having addresses not yet selected for reading by the host; and in response to the new segment of data being copied into the primary cache, copy a selected segment of data from the primary cache to the secondary cache in response to the selected segment satisfying the criterion.