Patent ID: 9075729
Filing Date: 2015-07-07
Classification: G06F

Abstract:
1. A storage system comprising: a plurality of non-volatile storage devices for storing user data; and a controller for controlling data transfer between the plurality of non-volatile storage devices and a host, wherein the controller includes a processor core circuit, a processor cache, a data transfer circuit, a drive interface circuit, and a primary storage device including a cache area for temporarily storing user data; wherein the processor core circuit is configured to ascertain contents of a command received from the host; wherein the processor core circuit is configured to ascertain a retention storage device of data to be transferred in the storage system in operations responsive to the command; wherein the processor core circuit is configured to determine whether to transfer the data via the processor cache in the storage system, based on a type of the command and the ascertained retention storage device; wherein, when the determination is to transfer read data from a non-volatile storage device via the processor cache, the processor core circuit is configured to provide the drive interface circuit with an instruction to add hint information to the read data indicating transfer of data to the processor cache; wherein, when the drive interface circuit receives the instruction, the drive interface circuit is configured to add the hint information to the read data from the non-volatile storage device and transfer the read data with the hint information to the data transfer circuit; wherein the data transfer circuit is configured to transfer the read data to the processor cache in accordance with the hint information therewith; and wherein the processor core circuit is configured to determine, based on a type of the non-volatile storage device storing the read data, whether to flush the read data out from the processor cache to the cache area of the primary storage device after transferring the read data in the processor cache to the host.