| CPC G06F 13/1668 (2013.01) | 16 Claims |

|
1. A storage device comprising:
a nonvolatile memory device; and
a controller configured to receive packets from an external host of the storage device and process the packets to control the nonvolatile memory device,
wherein the controller comprises:
a protocol manager configured to determine, based upon information within at least one packet, at least one protocol that corresponds to at least one request, respectively, included within the at least one packet,
a fixed-protocol circuit configured to process a first packet of the packets, the first packet including a first request, the first request corresponding to a first protocol determined by the protocol manager, and
a programmable logic device configured to process a second packet and a third packet of the packets, the second packet including a second request corresponding to a second protocol, and the third packet including a third request corresponding to a third protocol,
wherein the first protocol, the second protocol, and the third protocol are different from each other, and
wherein the programmable logic device is programmed between:
a first state, based on first configuration data, for implementing the second protocol, which is indicated by a first protocol information field in a header of the second packet, to process the second request within the second packet based on the second protocol; and
a second state, based on second configuration data, for implementing the third protocol, which is indicated by a second protocol information field in a header of the third packet, to process the third request within the third packet based on the third protocol.
|