Patent ID: 7822919

Claim:
A storage device using a nonvolatile cache memory, comprising: a host interface for receiving a write command including a destination and a first data block from a host device dealing with a first length as a read/write unit, a memory interface for a nonvolatile cache memory, a disk interface for a hard disk dealing with a second length as a read/write unit, and a controller for: determining whether the destination specifies the nonvolatile cache memory; determining whether a spindle motor of the hard disk is rotating; upon determining that the destination specifies the nonvolatile cache memory, writing the first data block to the nonvolatile cache memory; upon determining that the destination does not specify the nonvolatile cache memory and that the spindle motor is not rotating, writing the first data block to the nonvolatile cache memory; and upon determining that the destination does not specify the nonvolatile cache memory and that the spindle motor is rotating: reading out one of partial data and whole data of a second data block having starting end and terminating end addresses which surround and lie closest to starting end and terminating end addresses of the first data block from the hard disk; writing the second data block including the first data block from the hard disk to the nonvolatile cache memory; performing a data process on the first data block in the nonvolatile cache memory based on the write command; and writing the second data block including the first data block from the nonvolatile cache memory to the hard disk.