US12147356B2ActiveUtilityA1

Storage device adaptively supporting plurality of protocols

Assignee: SAMSUNG ELECTRONICS CO LTDPriority: Nov 5, 2018Filed: Sep 27, 2021Granted: Nov 19, 2024
Est. expiryNov 5, 2038(~12.3 yrs left)· nominal 20-yr term from priority
Inventors:Suengchul Ryu
G06F 3/0661G06F 3/0656G06F 3/0634G06F 13/42G06F 3/0679G06F 3/0629G06F 13/1668G06F 3/0658G06F 3/0626
56
PatentIndex Score
0
Cited by
33
References
16
Claims

Abstract

A storage device includes a memory device and a controller. The controller includes a programmable logic device which is reconfigurable, based on requests which are received from an outside of the storage device, to adaptively support a plurality of protocols depending on the requests. As the programmable logic device is programmed to support a first protocol among the plurality of protocols based on a first request which is received from the outside of the storage device with regard to the first protocol, the programmable logic device processes the first request in compliance with the first protocol, and the controller communicates with the memory device based on the first request such that the memory device stores or outputs data corresponding to the first request.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       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. 
 
 
     
     
       2. The storage device of  claim 1 , wherein the controller further comprises a first switch circuit configured to provide a packet of the packets to one of the fixed-protocol circuit and the programmable logic device. 
     
     
       3. The storage device of  claim 1 , wherein when the protocol is the first protocol, the protocol manager is further configured to control a first switch circuit such that the first packet is provided to the fixed-protocol circuit. 
     
     
       4. The storage device of  claim 1 , wherein the protocol manager is further configured to control a first switch circuit such that the corresponding packet is provided to the programmable logic device when the protocol is not the first protocol. 
     
     
       5. The storage device of  claim 4 , wherein when the protocol is the third protocol and the programmable logic device is programmed to the first state, the protocol manager is further configured to reprogram the programmable logic device to the second state and then provide the second request of the third packet to the programmable logic device. 
     
     
       6. The storage device of  claim 5 , wherein the controller further comprises a buffer configured to buffer the packet, while the programmable logic device is reprogrammed from the first state to the second state. 
     
     
       7. The storage device of  claim 1 , wherein the first configuration data and the second configuration data are stored in the nonvolatile memory device. 
     
     
       8. The storage device of  claim 1 , wherein the controller further comprises a memory interface circuit configured to exchange data with the nonvolatile memory device based on the packets processed by the fixed-protocol circuit or the programmable logic device. 
     
     
       9. The storage device of  claim 1 , wherein the controller further comprises a host interface circuit configured to receive the packets from the external host through a network. 
     
     
       10. A storage device comprising:
 a nonvolatile memory device; and 
 a controller including a fixed-protocol circuit, a protocol manager, and a programmable logic device, 
 wherein the protocol manager is configured to determine, based upon information within a plurality of packets that is received from an external host of the storage device, at least one protocol of a plurality of protocols that corresponds to at least one request, respectively, included within each packet of the plurality of packets, 
 wherein the fixed-protocol circuit is configured to implement a first protocol of the plurality of protocols such that the nonvolatile memory device stores or outputs data corresponding to a first packet of the plurality of packets that is received from the external host of the storage device, the first packet corresponding to the first protocol, 
 wherein the programmable logic device is reconfigurable, based on the plurality of packets that are received from the external host, to adaptively implement the plurality of protocols such that the nonvolatile memory device stores or outputs data corresponding to the plurality of packets, 
 wherein, when a second packet of the plurality of packets corresponding to a second protocol of the plurality of protocols is received from the external host, the programmable logic device is programmed, based on first configuration data, to a first state for implementing the second protocol, which is indicated by a first protocol information field in a header of the second packet, to process a first request within the second packet based on the second protocol such that the nonvolatile memory device stores or outputs data corresponding to the second packet, 
 wherein, when a third packet of the plurality of packets corresponding to a third protocol of the plurality of protocols is received from the external host, the programmable logic device is programmed, based on second configuration data, to a second state for implementing the third protocol, which is indicated by a second protocol information field in a header of the third packet, to process a second request within the third packet based on the third protocol such that the nonvolatile memory device stores or outputs data corresponding to the third packet, and 
 wherein the first protocol, the second protocol, and the third protocol are different from each other. 
 
     
     
       11. The storage device of  claim 10 , wherein the protocol manager is configured to control programming of the programmable logic device such that the programmable logic device is programmed to the first state in response to determination that the second protocol is not implemented by the fixed-protocol circuit. 
     
     
       12. The storage device of  claim 10 , wherein the protocol manager is configured to:
 identify the third protocol corresponding to the third packet received from the external host, and 
 output a control signal such that the second configuration data for programming the programmable logic device to the second state for implementing the third protocol is output from the nonvolatile memory device or is received from the external host. 
 
     
     
       13. The storage device of  claim 10 , wherein the controller further comprises a host interface circuit configured to receive the packets from the external host through a network. 
     
     
       14. A storage device comprising:
 a protocol manager configured to determine, based upon information within a plurality of packets, at least one protocol from a plurality of protocols that corresponds to a request included within each of the plurality of packets, 
 a first fixed-protocol circuit that implements a first protocol of the plurality of protocols in response to receiving a first request identifying the first protocol; 
 a first programmable logic device that is reprogrammed from a first state to a second state for implementing a second protocol of the plurality of protocols, which is different from the first protocol and is indicated by a first protocol information field in a header of one packet of the plurality of packets, in response to receiving a second request for the second protocol; 
 a first switch circuit configured to selectively provide a first path or a second path based on the first request and the second request, the first path being through the first fixed-protocol circuit and the second path being through the first programmable logic device; 
 a second fixed-protocol circuit configured to implement an operation of the first protocol; 
 a second programmable logic device configured to implement the operation of the second protocol; and 
 a second switch circuit configured to selectively provide a third path or a fourth path based on the first request and the second request, the third path being through the second fixed-protocol circuit and the fourth path being through the second programmable logic device, wherein: 
 in response to receiving the second request, the first switch circuit is configured to provide the second path, and the first fixed-protocol circuit performs the operation of the first protocol and 
 the first programmable logic device is configured to perform the operation of the second protocol. 
 
     
     
       15. The storage device of  claim 14 , further comprising:
 a buffer configured to buffer a packet obtained from the second request without outputting the packet, while reconfiguration from the first state to the second state is performed, wherein the buffer does not buffer a packet obtained from the first request. 
 
     
     
       16. The storage device of  claim 15 , wherein in response to the reconfiguration from the first state to the second state being completed:
 the buffer is configured to output the buffered packet, and 
 the first programmable logic device is configured to perform synchronization with a timing of processing the buffered packet and processes the buffered packet based on a synchronized timing.

Join the waitlist — get patent alerts

Track US12147356B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.