1. A method of caching data in a computer system having one or more processors, memory storing one or more storage management programs for execution by the one or more processors, non-volatile secondary storage and non-volatile cache memory, the non-volatile cache memory including a controller responsive to commands sent by the one or more processors of the computer system, the method comprising: receiving from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory; identifying write requests to write data to the non-volatile cache memory, each identified write request including an address or storage offset and write data; sequentially writing to the non-volatile cache memory the write data for the identified write requests, wherein sequentially writing comprises writing to sequentially arranged locations in an address space of the non-volatile cache memory; and storing in the computer system metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory.