Differentiated storage service provision method and Ethernet SSD
The Ethernet SSD system uses MPLS to differentiate storage traffic by encapsulating packets with label stacks, addressing QoS challenges in network storage by routing through appropriate paths based on storage and network parameters.
Patent Information
- Application Number
- JP2018221123
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-01-23
- Filing Date
- 2018-11-27
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2038-11-27
AI Technical Summary
Existing storage traffic schemes fail to distinguish between storage and non-storage traffic, leading to difficulties in implementing guaranteed quality of service (QoS) for input/output operations, which can be further slowed down by network congestion.
An Ethernet SSD system utilizing Multiprotocol Label Switching (MPLS) to identify and differentiate storage traffic by encapsulating data packets into MPLS packets with label stacks, matching service requests to Label Switched Paths (LSPs) based on storage and network parameters, and using a label lookup table (LLT) to manage QoS.
The system effectively identifies storage traffic and provides guaranteed QoS for input/output requests, ensuring differentiated service levels by routing through appropriate paths based on QoS requirements.
Smart Images

Figure 0007605578000001 
Figure 0007605578000002 
Figure 0007605578000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a network storage device, and in particular to an ethernet (registered trademark: omitted below) solid state drive (eSSD). [Background technology]
[0002] Non-Volatile Memory Express over Fabrics (NVMe-oF) allows a host computer to perform input / output (I / O) operations directly with an SSD over a network. NVMe-oF SSDs enable isolated, remote direct-attached storage with minimal latency.
[0003] Common methods of communicating with SSDs include Remote Direct Memory Access (RDMA), RDMA over Converged Ethernet (RoCE), iWARP (Internet Wide Area RDMA Protocol), and "NVMe-over-TCP" (NVMe-over Transmission Control Protocol).
[0004] Existing storage traffic methods lack a means to distinguish between storage and non-storage traffic. Since it is not possible to distinguish between storage traffic and non-storage traffic, it is difficult to implement a guaranteed quality of service (QoS) for input / output. Additionally, switches and routers are limited in their buffering and can further slow I / O in unpredictable ways due to network congestion. Therefore, there is a need for an improved networking system. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] U.S. Pat. No. 6,205,488 [Patent Document 2] U.S. Patent No. 7,535,917 [Patent Document 3] U.S. Patent No. 7,599,360 [Patent Document 4] U.S. Patent No. 9,059,912 [Patent Document 5] U.S. Patent No. 9,210,075 [Patent Document 6] U.S. Pat. No. 9,419,892 [Patent Document 7] U.S. Patent No. 9,450,864 [Patent Document 8] U.S. Patent No. 9,588,901 [Patent Document 9] U.S. Pat. No. 9,608,908 [Patent Document 10] US Patent Application Publication No. 2013 / 0290361 Summary of the Invention [Problem to be solved by the invention]
[0006] The present invention has been made in consideration of the problems in the conventional network storage devices described above, and an object of the present invention is to provide an Ethernet SSD, which is a network storage device that identifies storage traffic and provides a guaranteed Quality of Service (QoS) for I / O requests, and a method for providing differentiated storage services thereof. [Means for solving the problem]
[0007] In order to achieve the above object, a method for providing differentiated storage services according to the present invention provides differentiated storage services, and the method includes receiving at least one packet from a remote host via a MultiProtocol Label Switching (MPLS) network using an Ethernet (registered trademark: hereinafter, omitted) SSD (ethernet Solid State Drive: eSSD). One receiving an input / output (I / O) service request including a parameter of One matching the input / output service request to a label switched path (LSP) based on the parameters; and routing the input / output service request by the Ethernet SSD through the MPLS network according to the LSP. The above The storage traffic stream connecting the remote host to the Ethernet SSD is start and The input / output service request includes a high-speed QoS requirement or a low-speed QoS requirement for input / output, which is another parameter for distinguishing the input / output service request from other requests. The step of matching the input / output service request to a label switched path (LSP) by the Ethernet SSD includes matching the input / output (I / O) service request to the LSP using the at least one parameter by using a label lookup table (LLT) stored in a memory in the Ethernet SSD, the label lookup table (LLT) including information regarding mapping of MPLS labels to the Ethernet SSD. It is characterized by:
[0008] before The LLT is preferably stored in the Ethernet SSD. The storage traffic stream preferably includes at least MPLS packets. Preferably, the method further comprises encapsulating, via the Ethernet SSD, the first data packet into an MPLS packet, the MPLS packet including an MPLS header having a label stack associated with the LSP. Preferably, the first data packet includes one of a Remote Direct Memory Access (RDMA) packet, a Converged Ethernet RDMA packet (RDMA over Converged Ethernet (RoCE)), an Internet-wide RDMA packet, or an NVMe-over-TCP packet. Preferably, said at least one parameter includes at least one storage parameter. It is preferable that the at least one storage parameter includes at least one of the following: QPID (Queue Pair ID), SQID (Submission Queue ID), CQID (Completion Queue ID), NVMe Controller ID (CNTID), Namespace ID (NSID), LBA range from <start LBA> to <end LBA>, NVMe Stream ID, Host ID, NVMe Subsystem (NQN) ID, Time-based ID, Date-based ID, and NVM Set ID. Preferably, said at least one parameter includes at least one network parameter.
[0009] In order to achieve the above object, the present invention provides an Ethernet Solid State Drive (eSSD) that includes an Ethernet connection device, a memory, and a processor configured to execute a plurality of commands from the memory, the plurality of commands, when executed by the processor, transmitting to the processor at least one command from a remote host via a Multi-Protocol Label Switching (MPLS) network using the Ethernet connection device. One receiving an input / output (I / O) service request including a parameter of One Based on the parameters, the I / O service request is matched to a Label Switched Path (LSP), and the Ethernet connection device is used to transmit the service request according to the LSP through the MPLS network. The above The storage traffic stream connecting the remote host to the Ethernet SSD is The input / output service request includes a high-speed QoS requirement or a low-speed QoS requirement for input / output, which is another parameter for distinguishing the input / output service request from other requests, and the input / output service request is matched to the LSP using the at least one parameter using a label lookup table (LLT) stored in the memory, the label lookup table (LLT) including information regarding mapping of MPLS labels to the Ethernet SSD. It is characterized by:
[0010] In order to achieve the above object, a method for providing differentiated storage services according to the present invention provides differentiated storage services, comprising: an Ethernet SSD receiving at least one packet from a remote host via a Multi-Protocol Label Switching (MPLS) network; One receiving an input / output (I / O) service request including a parameter of One matching the input / output service request to a label switched path (LSP) based on the parameters; encapsulating, by the Ethernet SSD, the first data packet into an MPLS packet; and transmitting, by the Ethernet SSD, the first data packet from the Ethernet SSD according to the LSP through the MPLS network. The above Storage traffic streams carrying MPLS packets to remote hosts start and wherein the input / output service request is sent to the LSP using a label lookup table. One and the MPLS packet includes an MPLS header having a label stack associated with the LSP. The input / output service request includes a high-speed QoS requirement or a low-speed QoS requirement for input / output, which is another parameter for distinguishing the request from other requests, and the label lookup table includes information on mapping of MPLS labels to the Ethernet SSD. It is characterized by: Effect of the Invention
[0011] According to the method and Ethernet SSD for providing differentiated storage services according to the present invention, it is possible to provide a network storage device that identifies storage traffic and provides a guaranteed Quality of Service (QoS) for I / O requests. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 is an exemplary block diagram of possible MPLS in an NVMe-oF Ethernet SSD system according to an embodiment of the present invention. [Diagram 2] FIG. 2 illustrates an exemplary MPLS packet according to one embodiment of the present invention. [Diagram 3] 1 is a flow chart illustrating a method for differentiating storage services using an exemplary MPLS according to an embodiment of the present invention. [Figure 4] FIG. 1 illustrates an exemplary eSSD MPLS network in which an Initiating Host is part of an MPLS network domain according to one embodiment of the present invention. [Diagram 5] FIG. 2 illustrates an exemplary eSSD MPLS network in which an initiating host resides outside the MPLS network domain in accordance with an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] Next, a specific example of an embodiment for implementing a method for providing differentiated storage services and an Ethernet SSD according to the present invention will be described with reference to the drawings.
[0014] The features of the present invention and the manner in which it is accomplished will become apparent from the detailed description of the embodiments and the accompanying drawings, in which: FIG. However, the present invention can be embodied in various forms and is not limited to the examples merely illustrated in this specification. Rather, such embodiments are provided as examples so that this disclosure will be thorough and complete, and will fully convey the features and functions of the present invention to those skilled in the art. Therefore, processes, elements, and techniques that are not necessary for a person skilled in the art to fully understand the features and functions of the present invention may not be described. Unless otherwise noted, like reference numbers indicate like elements in the accompanying drawings and written description, and therefore descriptions thereof will not be repeated. In the drawings, the relative sizes of components, layers and regions may be exaggerated for clarity.
[0015] In the following description, for purposes of explanation, various specific examples are set forth in order to provide a thorough understanding of the various embodiments. It will be apparent, however, that various embodiments may be practiced without these specific details, or without one or more equivalent configurations. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the various embodiments.
[0016] When an element, layer, region, or component is referred to as being "to," "connected," or "coupled" with another element, layer, region, or component, it may be "directly," "directly connected," or "directly coupled" to the other element, layer, region, or component, or there may be one or more intervening elements, layers, regions, or components. However, "directly connected" refers to one component that directly connects or couples the other component, without intermediate components. Meanwhile, other expressions describing the relationship between components, such as "between," "immediately between," or "adjacent" and "immediately adjacent," may be interpreted similarly. It should be noted that when an element or layer is referred to between two elements or layers, it should be understood that the element or layer may be between the two elements or layers, or there may still be one or more intervening elements or layers.
[0017] The terms used herein are merely for the purpose of describing particular embodiments and are not intended to limit the present invention. As used herein, the singular form "a" is intended to include the plural, unless the context clearly indicates otherwise. When the terms "comprise", "comprises", "possess", "having", "includes" and "including" are used herein, such terms specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the addition or presence of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term "and / or" includes any and all combinations associated with one or more listed items.
[0018] As used herein, the terms "substantially," "about," "approximately," and similar terms are used as terms of approximation and not as terms of degree, and are intended to account for inherent variations in measured or calculated values, as will be appreciated by those of ordinary skill in the art. As used herein, "about" or "approximately" includes a reference value within a range of acceptable deviations from a particular value, as determined by one of ordinary skill in the art, taking into account the measurement at issue and the error associated with the measurement of the particular quantity (i.e., the limitations of the measurement system). For example, "about" can mean within one or more standard deviations, or within ±30%, 20%, 10%, 5% of a stated value. In addition, when describing an embodiment of the present invention, the use of "may" refers to "one or more embodiments of the present invention." As used herein, the terms "use," "uses," and "used" can be considered synonymous with the terms "utilize," "utilizes," and "utilizes," respectively. In addition, the term "exemplary" means an example or illustration.
[0019] Certain embodiments may be implemented differently, and the order of certain processes may be performed differently than that described, for example, two processes shown in succession may be executed substantially simultaneously or may be performed in the reverse order from that described.
[0020] Various embodiments are described herein with reference to cross-sectional views which are schematic illustrations of embodiments and / or intermediate structures. As such, variations from the shapes of the illustrations as a result of, for example, manufacturing techniques and / or tolerances, should be expected. It should be noted that the specific structural or functional descriptions disclosed herein are set forth solely for purposes of illustrating embodiments in accordance with the inventive concepts. Thus, the embodiments disclosed in this application should not be construed as limited to the shapes of the specific regions illustrated, but should include deviations in shapes, for example, as a result of manufacturing. For example, an implanted region illustrated as a rectangle typically has rounded or curved features and / or a gradient of implant concentration at its edges, rather than being a binary transition from implanted to unimplanted. Similarly, a buried region formed by implantation may result in some implantation in the region between the buried region and the surface where the implantation occurs. Thus, the regions illustrated in the figures are schematic in nature, and the shapes are not intended to be illustrative of, or limiting, the actual shapes of the regions of a device.
[0021] The electronic or electrical devices and / or other related devices or configurations described herein according to embodiments of the present invention may be embodied using suitable hardware, firmware (e.g., ASIC), software, or a combination of software, firmware, and hardware. For example, the various configurations of these devices may be formed on a single integrated circuit (IC) chip or on separate integrated circuit chips. Additionally, the various configurations of these devices may be formed on a flexible printed circuit film, a tape carrier package (TCP), a printed circuit board (PCB), or on a single substrate. Moreover, the various configurations of these devices may be processes or threads driven by one or more computer processors (such as microprocessors) mounted in one or more computing devices, executing computer program instructions and interacting with other system configurations to perform various functions disclosed herein. The computer program instructions may be stored in memory mounted in the computing device using standard memory devices such as random access memory (RAM). The computer program instructions may also be stored in other non-transitory computer readable media (e.g., CD-ROM, flash drive, etc.). Further, those skilled in the art should appreciate that the functionality of various computing devices may be combined or integrated into a single computer device and the functionality of a particular computing device may be distributed across one or more computing devices without departing from the spirit and scope of the present invention.
[0022] Unless otherwise defined, all terms (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. In addition, terms defined in dictionary meanings should be interpreted in the context of the relevant art and / or description of the present invention, and should not be understood in an idealized or overly formal sense unless so defined.
[0023] Embodiments according to the present invention include systems and methods for differentiated storage services with NVMe-oF Ethernet SSDs using Multiprotocol Label Switching (MPLS). MPLS allows the use of labels associated with routing tables to identify paths between nodes instead of the traditional long network addresses. In one embodiment according to the present invention, an MPLS-enabled eSSD can be configured with the ability to function as an MPLS Label Edge Router (LER). Therefore, eSSD can not only encapsulate existing eSSD I / O packets into MPLS packets that include a label stack for the received traffic, but also strip MPLS packets in the received traffic. The storage and network parameters are used to classify traffic in / on the eSSD and to determine MPLS labels for routing. Thus, MPLS labels can be selected according to quality of service associated with storage and network parameters.
[0024] FIG. 1 is an exemplary block diagram of a possible MPLS in an NVMe-oF Ethernet SSD system according to an embodiment of the present invention. Referring to FIG. 1, in one embodiment of the present invention, an Ethernet SSD chassis (main body) 100 includes an Ethernet switch 110, a BMC (Base Management Controller) 120, a PCIe switch 130, and multiple eSSDs (140, 141, 142).
[0025] The eSSDs (140 to 142) are connected to a network 150 via an Ethernet switch 110. The eSSDs (140 to 142) are also connected to the BMC 120 via a PCIe switch 130. In one embodiment, the BMC 120 is configured to perform management operations on the eSSDs (140-142). For example, the BMC 120 may be configured to maintain a mapping of MPLS labels in a label lookup table (LLT) for each eSSD (140-142). An application 160 running on a remote host can utilize the I / O eSSDs (140-142) via an operating system (OS) / file system 170 and an "NVMe-oF" driver 180.
[0026] For example, in one embodiment, application 160 may have quality of service (QoS) requirements and network 150 includes an MPLS network. Based on quality of service (QoS) requirements, the NVMe-oF driver 180 generates MPLS packets that encapsulate I / O commands and include labels / label stacks for routing the I / O according to the QoS requirements of the application 160. The MPLS input / output commands are received by the eSSDs (140-142) that can function as MPLS label edge routers (LERs), which remove the input / output commands from the MPLS packets and perform the specified input / output functions. The eSSD can use MPLS packets to transport all data to and from the host required as part of command execution. The completion of the return command is encapsulated in an MPLS packet having a label that describes the return ingress / egress path selected by the eSSD (140-142) according to the QoS requirements.
[0027] FIG. 2 is a diagram illustrating an exemplary MPLS packet according to one embodiment of the present invention, and FIG. 3 is a flow chart illustrating a method for differentiating storage services using an exemplary MPLS according to one embodiment of the present invention. Referring to FIG. 2, in accordance with one embodiment of the present invention, an eSSD (140-142) is configured to function as an LER for an MPLS network.
[0028] As an LER, the eSSD (140-142) is configured to encapsulate data packets in MPLS packets 200 by adding an MPLS header that includes a label stack 210, which includes label switched paths (LSPs) for input and output streams and appropriate header information for traversing non-MPLS networks (e.g., legacy networks) and any data payload, and other MPLS data fields for legacy data packets.
[0029] Referring to FIG. 3, in one embodiment of the present invention, an eSSD (140 to 142) receives an I / O service request from a remote host via an MPLS network (step S300). In one embodiment, an I / O service request may include storage and other parameters to distinguish the requested I / O service request from other requests. For example, different storage traffic streams may be differentiated (eg, treated differently) by the network based on network conditions and QoS requirements for I / O. For example, for I / Os with high speed QoS requirements, shorter paths (e.g., faster paths) may be used, and for I / Os with low speed QoS requirements, longer paths (e.g., slower paths) may be used.
[0030] Upon receiving an input / output service request, the eSSD (140-142) removes the MPLS label stack and matches the input / output service request with an LSP based on the provided parameters (step S310). In one embodiment, matching the I / O service request includes matching the request using a Label-Lookup Table (LLT). For example, various storage parameters can be used to map storage traffic streams to LSPs.
[0031] The storage parameters may include a Queue Pair ID (QPID), a Submission Queue ID (SQID), a Completion Queue ID (CQID), an NVMe Controller ID (CNTID), a Namespace ID (NSID), an LBA range from <start LBA> to <end LBA>, an NVMe Stream ID, a Host ID, an NVMe Subsystem (NQN) ID, a Time-Based ID, a Date-Based ID, an NVM Set ID, or other storage parameters.
[0032] Note that in some embodiments, non-storage parameters, such as network header fields, can be used to map storage traffic streams to LSPs. A storage administrator can program how one or more storage parameters are mapped to each LSP. For example, a storage administrator can use the BMC 120 to program the LLT. The BMC 120 distributes the LLT to each of the connected eSSDs (140 to 142) via the PCIe switch 130 and the PCIe bus. Each eSSD (140 to 142) is assigned an LSP for an I / O request using the LLT.
[0033] In one embodiment, the same LLT is assigned to each eSSD (140-142), while in other embodiments, a unique LLT is assigned to one or more eSSDs (140-142). Once the I / O service request is matched with an LSP, a storage traffic stream is initiated (step S320). The output packet is encapsulated by the eSSD (140 to 142) into an MPLS packet that includes a label stack that defines the selected LSP (step S330).
[0034] In one embodiment, a conventional data packet 220, carrying a data payload and including any necessary information for routing the packet in the conventional network, is encapsulated in the MPLS packet 200 as the payload. For example, in one embodiment, conventional packets may include RDMA, RoCE, RoCE v2, iWARP, or NVMe-over-TCP packets. A conventional data packet 220 is encapsulated by adding an MPLS header.
[0035] In one embodiment, the MPLS header may include a label stack 210, a TTL field 211, a bottom of stack field (S) 212, a traffic class (TC) field 213, and one or more labels (214, 215, 216). In one embodiment, the TC field 213 can be used for QoS purposes. As described above, each label (214-216) is used to identify a leg in a path between nodes in the MPLS network (150) to configure an LSP. The label may be provided in the LLT, as described above.
[0036] FIG. 4 is an exemplary diagram illustrating an eSSD MPLS network in which an initiating host is part of an MPLS network domain according to one embodiment of the present invention. Referring to FIG. 4, in one embodiment, a remote host 400 is part of an MPLS network 420 .
[0037] In such an embodiment, a remote host 400 is configured to be connected to an LER 410 that encapsulates input / output traffic from the host for outgoing traffic and removes MPLS packet information for incoming / outgoing traffic. The MPLS network 420 includes a number of nodes for routing data that can be used to form a number of Label Switched Paths (LSPs). An eSSD 430 configured for MPLS communications is also connected to the MPLS network 420 to receive I / O requests from the remote host 400 .
[0038] In one embodiment, remote host 400 may include multiple storage traffic streams. For example, FIG. 4 shows a first storage traffic stream "J" and a second storage traffic stream "M." In one embodiment, each storage traffic stream can travel through MPLS network 420 according to an LSP. In the illustrated embodiment, a first storage traffic stream "J" is assigned the "K"th LSP, and a second storage traffic stream "M" is assigned the "N"th LSP.
[0039] FIG. 5 is an exemplary diagram illustrating an eSSD MPLS network where an initiating host resides outside the MPLS network domain in accordance with one embodiment of the present invention. As shown in FIG. 5, in one embodiment, the remote host 500 may not be directly connected to the MPLS network 520 .
[0040] In such an embodiment, the remote host 500 may transmit data over a conventional non-MPLS network 540 to an MPLS network 520 connected to an eSSD 530 using conventional packet formats. Each storage traffic data stream may travel over an uncontrolled shared network path through non-MPLS network 540 until the data reaches MPLS network 520 at LER 510 . LER 510 encapsulates incoming data into MPLS packets and removes MPLS packets from outgoing data (eg, data going to non-MPLS network 540).
[0041] For example, storage traffic stream “J” may connect remote host 500 to eSSD 530 via an uncontrolled shared network path, such as an LSP of “K” via MPLS network 520 and a non-MPLS network 540. Similarly, storage traffic stream “M” can connect remote host 500 to eSSD 530 via an uncontrolled shared network path via an “N”th LSP through MPLS network 520 and non-MPLS network 540. In this example, the storage traffic streams can be partially differentiated from each other and from other network traffic.
[0042] Accordingly, the embodiments disclosed in the present description provide a system and method for differentiated storage services with NVMe-oF Ethernet SSDs using MPLS. When using an MPLS network, the system can allocate LSPs according to a variety of storage and other parameters. Each LSP allows for different levels of service and provides a way to differentiate traffic through the network.
[0043] The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the technical scope of the present invention. [Industrial Applicability]
[0044] The present invention is preferably used in a network storage device in which a host computer performs I / O operations directly with an SSD via a network. [Explanation of symbols]
[0045] 100 Ethernet SSD Chassis (Main Unit) 110 Ethernet Switch 120 BMC 130 PCIe Switch 140, 141, 142, 430, 530 eSSD 150 Network 160 Applications 170 Operating System (OS) / File System 180 "NVMe-of" driver 200 MPLS packets 210 Label Stack 211 TTL Field 212 Stack Bottom Field(S) 213 Traffic Class (TC) field 214, 215, 216 Label 220 Data Packets 400, 500 remote hosts 410, 510 LER 420, 520 MPLS Network 540 Non-MPLS Networks
Claims
1. 1. A method for providing differentiated storage services, comprising: An Ethernet Solid State Drive (eSSD) is connected to a network using an Ethernet connection device, and receives an input / output (I / O) service request including at least one parameter from a remote host via a MultiProtocol Label Switching (MPLS) network included in the network; matching, by the Ethernet SSD, the I / O service request to a Label Switched Path (LSP) based on the at least one parameter; initiating, by the Ethernet SSD, a storage traffic stream connecting the remote host to the Ethernet SSD along the LSP through the MPLS network; The I / O service request includes a high-speed QoS requirement or a low-speed QoS requirement for I / O, which is the at least one parameter for distinguishing the I / O service request from other requests; The step of matching the I / O service request to a label switched path (LSP) by the Ethernet SSD includes matching the I / O service request to the LSP using a label lookup table (LLT) stored in a memory in the Ethernet SSD and using the at least one parameter; The Ethernet SSD can function as an MPLS Label Edge Router (LER); the Ethernet SSD further comprising encapsulating conventional data packets into MPLS packets, the conventional data packets including appropriate header information for traversing a non-MPLS network; the storage traffic stream includes at least the MPLS packets; the MPLS packet includes an MPLS header having a label stack associated with the LSP; the MPLS header further comprises one or more labels; The label is provided in the label lookup table (LLT).
2. The method of claim 1 , wherein the at least one parameter comprises at least one storage parameter.
3. 3. The method of claim 2, wherein the at least one storage parameter includes at least one of a Queue Pair ID (QPID), a Submission Queue ID (SQID), a Completion Queue ID (CQID), an NVMe Controller ID (CNTID), a Name Space ID (NSID), an LBA range from <start LBA> to <end LBA>, an NVMe Stream ID, a Host ID, an NVMe Subsystem (NQN) ID, a Time-Based ID, a Date-Based ID, and an NVM Set ID.
4. The method of claim 1 , wherein the at least one parameter includes at least one network parameter.
5. An ethernet SSD (eSSD) body, An Ethernet connection device; At least one Ethernet SSD; the at least one Ethernet SSD is connected to a network using the Ethernet connection device, and receives an input / output (I / O) service request, the input / output (I / O) service request including at least one parameter, from a remote host via a Multi-Protocol Label Switching (MPLS) network included in the network; Matching the I / O service request to a Label Switched Path (LSP) based on the at least one parameter; Initiating a storage traffic stream connecting the remote host to the Ethernet SSD via the MPLS network according to the LSP using the Ethernet connection device; The I / O service request includes a high-speed QoS requirement or a low-speed QoS requirement for I / O, which is the at least one parameter for distinguishing the I / O service request from other requests; The I / O service request is matched to the LSP using the at least one parameter using a label lookup table (LLT) stored in a memory of the Ethernet SSD; The Ethernet SSD can function as an MPLS Label Edge Router (LER); the Ethernet SSD further comprising encapsulating conventional data packets into MPLS packets, the conventional data packets including appropriate header information for traversing a non-MPLS network; the storage traffic stream includes at least the MPLS packets; the MPLS packet includes an MPLS header having a label stack associated with the LSP; the MPLS header further comprises one or more labels; The label is provided in the label lookup table (LLT).
6. 6. The Ethernet SSD main body of claim 5, wherein the conventional data packet comprises one of a remote direct memory access (RDMA) packet, a converged Ethernet RDMA packet (RoCE), an Internet wide area RDMA packet, or an NVMe-over-TCP packet.
7. 6. The Ethernet SSD main unit of claim 5, wherein the at least one parameter includes at least one storage parameter.
8. 8. The Ethernet SSD main body of claim 7, wherein the at least one storage parameter includes at least one of a Queue Pair ID (QPID), a Submission Queue ID (SQID), a Completion Queue ID (CQID), an NVMe Controller ID (CNTID), a Name Space ID (NSID), an LBA range from <start LBA> to <end LBA>, an NVMe Stream ID, a Host ID, an NVMe Subsystem (NQN) ID, a Time-Based ID, a Date-Based ID, and an NVM Set ID.
9. 6. The Ethernet SSD main unit of claim 5, wherein the at least one parameter includes at least one network parameter.
10. 1. A method for providing differentiated storage services, comprising: receiving, at the Ethernet SSD, an input / output (I / O) service request, the input / output (I / O) service request including at least one parameter, from a remote host via a Multi-Protocol Label Switching (MPLS) network connected to the network and included in the network using an Ethernet connection device; matching, by the Ethernet SSD, the I / O service request to a Label Switched Path (LSP) based on the at least one parameter; initiating, by the Ethernet SSD, a storage traffic stream transmitting MPLS packets from the Ethernet SSD to the remote host according to the LSP over the MPLS network; The I / O service request includes a high-speed QoS requirement or a low-speed QoS requirement for I / O, which is the at least one parameter for distinguishing the I / O service request from other requests; The step of matching the I / O service request to a label switched path (LSP) by the Ethernet SSD includes matching the I / O service request to the LSP using a label-lookup table stored in a memory in the Ethernet SSD and using the at least one parameter; The Ethernet SSD can function as an MPLS Label Edge Router (LER); the Ethernet SSD further comprising encapsulating conventional data packets into MPLS packets, the conventional data packets including appropriate header information for traversing a non-MPLS network; the storage traffic stream includes at least the MPLS packets; the MPLS packet includes an MPLS header having a label stack associated with the LSP; the MPLS header includes one or more labels; The label is provided in the label lookup table.
11. 11. The method of claim 10, wherein the at least one parameter includes at least one of a Queue Pair ID (QPID), a Submission Queue ID (SQID), a Completion Queue ID (CQID), an NVMe Controller ID (CNTID), a Name Space ID (NSID), an LBA range from <start LBA> to <end LBA>, an NVMe Stream ID, a Host ID, an NVMe Subsystem (NQN) ID, a Time-Based ID, a Date-Based ID, and an NVM Set ID.
12. The method for providing differentiated storage services according to claim 1 or 10, wherein the conventional data packets include one of a remote direct memory access (RDMA) packet, a converged Ethernet RDMA packet (RDMA over Converged Ethernet: RoCE), an Internet wide area RDMA packet, or an NVMe-over-TCP packet.
Citation Information
Patent Citations
Storage management system and storage management method
JP2005266933A
Storage system and data migration method therefor
JP2007286709A
Storage management device and file deletion control method
JP2010123084A
Multi-geography cloud storage
US20130290361A1
Internet protocol virtual private network realization using multi-protocol label switching tunnels
US6205488B1
