A memory module is interposed between a host and a disk drive. The memory
module includes a solid-state nonvolatile memory used for caching data
sent by the host for storage in the disk drive. Caching takes place under
the control of a memory controller in the memory module and may be
transparent to the host. The disk drive may remain spun-down when data is
cached, saving power. The destination for host data may be determined
based on desired speed, power consumption and expected need for that
data. A host may send specific commands to the memory module to enable
additional functions.