| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0611 (2013.01); G06F 3/0688 (2013.01)] | 20 Claims |

|
1. A method of operating a storage device, the method comprising:
receiving first information from a host device, the first information associated with an operation of the storage device;
receiving second information,
the second information being internally generated based on a plurality of write requests, a plurality of read requests, and the operation of the storage device,
the plurality of write requests and the plurality of read requests being received from the host device;
transmitting a plurality of program commands and a plurality of read commands to a plurality of nonvolatile memories,
the plurality of program commands and the plurality of read commands corresponding to the plurality of write requests and the plurality of read requests, respectively; and
transmitting suspension commands to at least one of the plurality of nonvolatile memories,
the suspension commands being generated based on the first information and the second information, and
the suspension commands being used to temporarily suspend program operations performed based on the plurality of program commands,
wherein a number of the suspension commands and a timing of the suspension commands are controlled and adaptively changed based on the first information and the second information, and
in response to changing at least one of the plurality of write requests and the plurality of read requests, the number of the suspension commands and the timing of the suspension commands are adaptively changed.
|