US-12625770-B2 - Data storage device, data storage system and computing system for snapshot operations
Abstract
In an embodiment of the disclosed technology, a data storage device includes at least one memory device including a plurality of memory regions configured to store data, a first controller configured to allocate the plurality of memory regions according to a memory allocation request of one or more host devices, and a second controller configured to: generate, in response to a snapshot request of a first host device among the one or more host devices, snapshot data corresponding to at least part of the data stored in at least part of the plurality of memory regions allocated to the first host device; and store the snapshot data into an auxiliary storage device coupled to the second controller.
Inventors
- Hyeong Soo Kim
- Dong Kyun Kim
Assignees
- SK Hynix Inc.
Dates
- Publication Date
- 20260512
- Application Date
- 20240124
- Priority Date
- 20230907
Claims (17)
- 1 . A data storage device comprising: at least one memory device including a plurality of memory regions configured to store data; a first controller configured to allocate the plurality of memory regions according to a memory allocation request of one or more host devices; and a second controller configured to: generate, in response to a snapshot request of a first host device among the one or more host devices, snapshot data corresponding to at least part of the data stored in at least part of the plurality of memory regions allocated to the first host device; and store the snapshot data into an auxiliary storage device coupled to the second controller, wherein the second controller is configured to transmit a data movement command for the snapshot data to a data movement management module included in the auxiliary storage device, wherein the snapshot data is stored into the auxiliary storage device by the data movement management module.
- 2 . The data storage device according to claim 1 , wherein the second controller is configured to: generate, in response to the snapshot request, first snapshot data for data stored in a first memory region allocated to a first virtual machine operating in the first host device, among the memory regions allocated to the first host device; and store the first snapshot data into the auxiliary storage device.
- 3 . The data storage device according to claim 2 , wherein the first controller is configured to suspend transmission of a data transmission request or a data reception request by the first virtual machine during a snapshot operation period during which the second controller generates the first snapshot data and stores the first snapshot data into the auxiliary storage device.
- 4 . The data storage device according to claim 3 , wherein the first controller is configured to transmit the data transmission request or the data reception request by a second virtual machine operating in the first host device during the snapshot operation period.
- 5 . The data storage device according to claim 1 , wherein the second controller is configured to: receive a movement completion signal from the data movement management module upon storing the snapshot data in the auxiliary storage device; and transmit, in response to the movement completion signal, a data storage completion signal for the snapshot data to the first host device.
- 6 . The data storage device according to claim 1 , further comprising: a data movement management module configured to move the snapshot data to the auxiliary storage device.
- 7 . The data storage device according to claim 6 , wherein the second controller transmits, to the data movement management module, a data movement command for the snapshot data to store the snapshot data in the auxiliary storage device.
- 8 . The data storage device according to claim 7 , wherein the data movement management module moves the snapshot data to the auxiliary storage device in response to the data movement command.
- 9 . The data storage device according to claim 1 , wherein, in response to a backup request from a second host device among the one or more host devices, the second controller stores, into the auxiliary storage device, data stored in at least a part of memory regions allocated to the second host device among the plurality of memory regions.
- 10 . The data storage device according to claim 1 , wherein, in response to a rollback request of the first host device, the second controller restores, to the memory regions allocated to the first host device, the snapshot data stored in the auxiliary storage device.
- 11 . The data storage device according to claim 1 , wherein the auxiliary storage device is not directly connected to the one or more host devices.
- 12 . The data storage device according to claim 11 , wherein the first controller communicates with the one or more host devices through a first interface, and the second controller communicates with the auxiliary storage device through a second interface different from the first interface.
- 13 . The data storage device according to claim 1 , wherein the auxiliary storage device is located outside the second controller.
- 14 . The data storage device according to claim 13 , wherein the auxiliary storage device is disposed in the data storage device.
- 15 . The data storage device according to claim 13 , wherein the auxiliary storage device is located outside the data storage device.
- 16 . A data storage device comprising: at least one memory device including a plurality of memory regions configured to store data; a first controller configured to allocate the plurality of memory regions according to a memory allocation request of one or more host devices; a second controller configured to: generate, in response to a snapshot request of a first host device among the one or more host devices, snapshot data corresponding to at least part of the data stored in at least part of the plurality of memory regions allocated to the first host device; and store the snapshot data into an auxiliary storage device coupled to the second controller; and an auxiliary memory configured to store the memory allocation request and the snapshot request.
- 17 . A computing system comprising: at least one host device; and a data storage device including a plurality of memory regions configured to store data, and configured to: allocate the plurality of memory regions according to a memory allocation request of the at least one host device; and store, into an auxiliary storage device, in response to a snapshot request of the at least one host device, snapshot data corresponding to at least part of the data stored in a memory region of the plurality of memory regions allocated to a first virtual machine operating in the at least one host device among the plurality of memory regions, wherein the data storage device suspends transmission of a data transmission request or a data reception request by the first virtual machine during a snapshot operation period during which the data storage device stores the snapshot data into the auxiliary storage device, wherein the data storage device transmits the data transmission request or the data reception request by a second virtual machine operating in the at least one host device during the snapshot operation period.
Description
PRIORITY CLAIM AND CROSS-REFERENCE TO RELATED APPLICATION This patent document claims the priority and benefits of Korean Patent Application No. 10-2023-0119178 filed on Sep. 7, 2023, which is incorporated herein by reference in its entirety. TECHNICAL FIELD Various embodiments of the disclosed technology generally relate to a data storage device, a data storage system and a computing system. BACKGROUND A data storage device may include a memory device including a plurality of memory cells. According to a request of a host device, the data storage device may store data in the memory device or may provide data stored in the memory device to the host device. Each of a plurality of host devices may perform data processing using a data storage device which is separately connected to the host device. Also, each of the plurality of host devices may perform data processing by using, together with the remaining host devices, a data storage device connected to the plurality of host devices. Since each host device performs data processing using together a data storage device which is separately connected to the host device and a data storage device which is connected to the plurality of host devices, it is possible to improve data processing performance by the host device. However, in the case of the data storage device which is connected to the plurality of host devices, data transmission and reception speed may be lower compared to a data storage device which is connected to each host device, and since a bandwidth between a host device and the data storage device is limited, limitations may exist in improving data processing performance by the host device. SUMMARY The disclosed technology can be implemented in some embodiments to effectively perform a snapshot operation for data stored in a data storage device connected to a plurality of host devices. In some embodiments, a snapshot operation for data stored in a data storage device used by a plurality of host devices is performed through an auxiliary storage device connected to the data storage device, and is separately performed from a snapshot operation for data stored in a local memory adjacent to a host device, and accordingly, a snapshot operation for data stored in the data storage device is performed while preventing or reducing communication delay between the host device and the data storage device. In an embodiment, a data storage device may include at least one memory device including a plurality of memory regions configured to store data, a first controller configured to allocate the plurality of memory regions according to a memory allocation request of one or more host devices, and a second controller configured to: generate, in response to a snapshot request of a first host device among the one or more host devices, snapshot data corresponding to at least part of the data stored in at least part of the plurality of memory regions allocated to the first host device; and store the snapshot data into an auxiliary storage device coupled to the second controller. In an embodiment, a data storage system may include an auxiliary storage device, and a data storage device including a plurality of memory regions configured to store data, and configured to allocate the plurality of memory regions according to a memory allocation request of at least one host device, generate, in response to a snapshot request of the at least one host device, snapshot data corresponding to at least part of the data stored in at least part of the plurality of memory regions allocated to the at least one host device among the plurality of memory regions, and store the snapshot data into the auxiliary storage device. In an embodiment, a computing system may include at least one host device, and a data storage device including a plurality of memory regions configured to store data, and configured to allocate the plurality of memory regions according to a memory allocation request of the at least one host device, and store, into an auxiliary storage device, in response to a snapshot request of the at least one host device, snapshot data corresponding to at least part of the data stored in a memory region of the plurality of memory regions allocated to a first virtual machine operating in the at least one host device among the plurality of memory regions. In an embodiment, a data storage device may include: at least one memory device including a plurality of memory regions; a first controller configured to allocate the plurality of memory regions according to a memory allocation request of one or more host devices; and a second controller configured to generate, in response to a snapshot request of a first host device among the one or more host devices, snapshot data for at least a part of memory regions allocated to the first host device, and store the snapshot data in an auxiliary storage device. In an embodiment, a data storage system may include: an auxiliary storage device; and a