| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0631 (2013.01); G06F 3/0673 (2013.01)] | 17 Claims |

|
1. A device controller of a storage device including a non-volatile memory, comprising:
device resources;
a command fetch logic configured to peek a first command from a first submission queue from among a plurality of submission queues, and to fetch the first command from the first submission queue in response to determining that the first command is executable;
a command preprocessing logic configured to determine whether the first command peeked by the command fetch logic is executable based on a status of the device resources; and
a command processing logic configured to allocate the device resources to the first command fetched by the command fetch logic and execute the first command, in response to determining that the first command is executable,
wherein the command fetch logic is configured to peek a second command from a second submission queue among the plurality of submission queues, and
wherein the command preprocessing logic is configured to determine whether the second command is executable based on the status of the device resources, and to mark the second submission queue as in a waiting state of waiting for the device resources in response to determining that the second command is inexecutable.
|