CXL controller with data flow control, host device and electronic device
By introducing storage optimization modules and storage control modules into the CXL controller, analyzing data flows and adjusting transmission operations according to the traffic mode, the problems of reduced throughput at high traffic and wasteful power consumption at low traffic in CXL high-speed link system are solved, and the problem of reduced throughput at high traffic is realized. Bandwidth increase and power consumption reduction.
Patent Information
- Application Number
- CN202411303163.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2025-01-07
AI Technical Summary
In high-speed link systems based on CXL technology, long-term backvoltage at high traffic leads to reduced data throughput and increased latency, and the system power consumption is wasted at low traffic.
A CXL controller with data flow control is designed, including CXL high-speed link interface, storage optimization module and storage control module. By performing analysis operations on the data flow, determining the traffic mode, and adjusting the data flow transmission operation according to the traffic mode. , to control the transmission of data streams.
Improves the bandwidth of the CXL high-speed link system, reduces power consumption, and enhances the robustness of the system.
Smart Images

Figure CN119271587A_ABST
Abstract
Description
Technical Field
[0001] The embodiments disclosed in the present application relate to the field of storage technology, and more particularly, to a CXL controller, a host device, and an electronic device with data flow control. Background Art
[0002] CXL (Compute Express Link) technology is a new type of high-speed interconnect technology that provides high-bandwidth and low-latency connections to achieve effective interconnection of computing and storage resources, thereby improving system performance and efficiency. However, in high-speed link systems based on CXL technology, there are problems such as long-term back pressure during high traffic, resulting in reduced data throughput and increased latency, and the system still operating normally during low traffic, resulting in power consumption waste. Summary of the invention
[0003] According to an embodiment of the present application, the present application proposes a CXL controller, a host device and an electronic device with data flow control to solve the above problems.
[0004] A first aspect of the present application discloses a CXL controller with data flow control, comprising: a CXL high-speed link interface, a storage optimization module and a storage control module; the storage optimization module is arranged between the CXL high-speed link interface and the storage control module, and the storage optimization module is also connected to a host device through the CXL high-speed link interface; wherein the storage optimization module is used to: receive a data stream from the host device through the CXL high-speed link interface; perform a parsing operation on the data stream, and determine a traffic pattern of the data stream according to the parsing result; determine a transmission operation of the data stream based on the traffic pattern of the data stream; and the storage control module is used to: control the transmission of the data stream according to the transmission operation of the data stream.
[0005] In some embodiments, the storage optimization module includes: a data analysis module, connected to the host device through the CXL high-speed link interface; and a data arbitration module, connected to the data analysis module; wherein the data analysis module is used to perform analysis operations on the data stream, obtain attribute information corresponding to the data stream, and generate a control signal in response to obtaining the attribute information corresponding to the data stream; the data arbitration module is used to generate a traffic mode signal corresponding to the data stream in response to the control signal and according to the attribute information corresponding to the data stream, wherein the traffic mode signal represents the traffic mode of the data stream.
[0006] In some embodiments, the data parsing module is further configured to send attribute information corresponding to the data stream to the host device through the CXL high-speed link interface, so that the host device controls the flow of subsequent data streams sent through the CXL high-speed link interface.
[0007] In some embodiments, the attribute information corresponding to the data stream includes at least one of the following or a combination thereof: access frequency; traffic size; address distribution; read and write operations.
[0008] In some embodiments, the traffic mode includes at least a first mode, a second mode and a third mode, wherein the first mode, the second mode and the third mode are used to indicate that the traffic size of the data stream decreases in sequence; the transmission operation of the data stream corresponding to the first mode is a first transmission operation, wherein the first transmission operation includes controlling the receiving interval of the data stream; the transmission operation of the data stream corresponding to the second mode is a second transmission operation, wherein the second transmission operation includes increasing the background operation; the transmission operation of the data stream corresponding to the third mode is a third transmission operation, wherein the third transmission operation includes entering low power consumption.
[0009] In some embodiments, the storage optimization module also includes: a flow control module, connected to the data analysis module and the data arbitration module, for receiving the data flow from the data analysis module, and receiving the traffic pattern signal from the data arbitration module, so as to determine the transmission operation of the data flow based on the traffic pattern of the data flow.
[0010] In some embodiments, based on the traffic pattern of the data stream, the transmission operation of the data stream is determined, including: in response to the traffic pattern signal indicating the first mode, determining that the transmission operation of the data stream is the first transmission operation; in response to the traffic pattern signal not indicating the first mode, and the traffic pattern signal indicating the second mode, determining that the transmission operation of the data stream is the second transmission operation; in response to the traffic pattern signal not indicating the second mode, and the traffic pattern signal indicating the third mode, determining that the transmission operation of the data stream is the third transmission operation; in response to the traffic pattern signal not indicating the third mode, determining that the transmission operation of the data stream is to control the data stream to pass directly to the.
[0011] In a second aspect, the present application discloses a host device, which is connected to a CXL controller via a CXL high-speed link interface and is used to send a data stream to the CXL controller so that the CXL controller receives the data stream and transmits it; wherein the host device includes a host optimization module, which is connected to the CXL controller via the CXL high-speed link interface and is used to receive attribute information corresponding to the data stream from the CXL controller via the CXL high-speed link interface, and control the flow of subsequent data streams sent to the CXL high-speed link interface according to the attribute information corresponding to the data stream.
[0012] In some embodiments, the attribute information corresponding to the data stream includes at least one of the following or a combination thereof: access frequency; traffic size; address distribution; read and write operations.
[0013] In a third aspect, the present application discloses an electronic device, comprising a CXL controller, a host device and a storage medium, wherein the CXL controller connects the host device and the storage medium, the CXL controller comprises the CXL controller with data flow control described in the first aspect, and the host device comprises the host device described in the second aspect.
[0014] The beneficial effects of the present application are as follows: the CXL controller includes a CXL high-speed link interface, a storage optimization module and a storage control module, wherein the storage optimization module is used to receive a data stream from a host device through the CXL high-speed link interface, perform a parsing operation on the data stream to determine a traffic pattern of the data stream, and then determine a transmission operation of the data stream based on the traffic pattern of the data stream; the storage control module is used to control data stream transmission according to the transmission operation of the data stream, thereby realizing control of the data transmission flow of the high-speed link, improving the bandwidth of the CXL high-speed link system, reducing power consumption and enhancing the robustness of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The present application will be further described below in conjunction with the accompanying drawings and implementation methods, in which:
[0016] Figure 1 is a schematic diagram of the structure of a CXL controller according to an embodiment of the present application;
[0017] Figure 2 is a schematic diagram of the structure of a CXL controller according to an embodiment of the present application;
[0018] Figure 3 is a schematic diagram of a flow chart for determining a flow pattern according to an embodiment of the present application;
[0019] Figure 4 is a schematic structural diagram of a host device according to an embodiment of the present application;
[0020] Figure 5is a flow chart of a data storage method according to an embodiment of the present application;
[0021] Figure 6 It is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0022] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0023] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects associated before and after are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, and can mean including any one or more elements selected from the set consisting of A, B, and C. In addition, the terms "first", "second", and "third" in this application are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features.
[0024] In order to enable those skilled in the art to better understand the technical solution of the present application, the technical solution of the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0025] See also Figure 1 , Figure 1 1 is a schematic diagram of the structure of a CXL controller according to an embodiment of the present application. The CXL controller 10 comprises a CXL high-speed link interface 101 , a storage optimization module 110 and a storage control module 120 , wherein the storage optimization module 110 is arranged between the CXL high-speed link interface 101 and the storage control module 120 .
[0026] The storage optimization module 110 is connected to the host device 20 via the CXL high-speed link interface 101, and then the storage optimization module 110 receives the data stream sent by the host device 20 via the CXL high-speed link interface 101, performs a parsing operation on the data stream to obtain a corresponding parsing result, and then determines the traffic pattern of the data stream according to the parsing result. For example, the storage optimization module 110 pre-processes the data stream to obtain data information in the data stream, and determines the traffic pattern of data transmission according to the data information of the data stream.
[0027] Further, the storage optimization module 110 determines the transmission operation of the data stream based on the traffic pattern of the data stream. The traffic pattern of the data stream may include multiple traffic patterns. For example, the storage optimization module 110 may determine the corresponding data stream transmission operation according to any traffic pattern of the multiple traffic patterns, that is, the traffic size of the data stream during transmission may be adjusted according to the traffic pattern of the data stream, so that the storage control module 120 controls the data stream to be transmitted to an external device according to the transmission operation of the data stream. For example, the storage control module 120 is used to control the data stream to be transmitted to a storage medium according to the transmission operation of the data stream, that is, the storage control module 120 converts the data stream into a corresponding protocol of the storage medium, and controls the data stream transmission according to the determined data stream transmission operation, so as to complete the transmission of the data stream in the CXL controller 10.
[0028] In this embodiment, the CXL controller includes a CXL high-speed link interface, a storage optimization module and a storage control module, wherein the storage optimization module is used to receive a data stream from a host device through the CXL high-speed link interface, perform a parsing operation on the data stream to determine a traffic pattern of the data stream, and then determine a transmission operation of the data stream based on the traffic pattern of the data stream; the storage control module is used to control data stream transmission according to the transmission operation of the data stream, thereby realizing control of the data transmission flow of the high-speed link, improving the bandwidth of the CXL high-speed link system, reducing power consumption and enhancing the robustness of the system.
[0029] See also Figure 2 , Figure 2 The storage optimization module 110 includes a data analysis module 1101 and a data arbitration module 1102 . The data analysis module 1101 is connected to the host device 20 via the CXL high-speed link interface 101 , and the data arbitration module 1102 is connected to the data analysis module 1101 .
[0030] The data analysis module 1101 is used to perform analysis operations on the data stream, obtain attribute information corresponding to the data stream, and generate a control signal in response to the attribute information corresponding to the data stream. For example, after the storage optimization module 110 receives the data stream from the host device 20 through the CXL high-speed link interface 101, the data analysis module 1101 performs analysis and extraction operations on the data stream to obtain the attribute information corresponding to the data stream. Then, in response to the data analysis module 1101 obtaining the attribute information corresponding to the data stream, it generates a control signal and transmits it to the data arbitration module 1102. The control signal can be used to control the operation of the data arbitration module 1102.
[0031] The data arbitration module 1102 is used to generate a flow pattern signal corresponding to the data flow in response to the control signal and according to the attribute information corresponding to the data flow, and the flow pattern signal indicates the flow pattern of the data flow. For example, the data arbitration module 1102 receives the control signal from the data analysis module 1101, and in response to the control signal, the data arbitration module 1102 generates a flow pattern signal corresponding to the data flow according to the flow size corresponding to the data flow, and the flow pattern signal indicates the flow pattern of the data flow, that is, the flow pattern signal can be used to determine the flow size of the data flow when transmitting.
[0032] In some embodiments, the attribute information corresponding to the data stream includes at least one of the following or a combination thereof: access frequency; traffic size; address distribution; read and write operations.
[0033] The data analysis module 1101 performs analysis and extraction operations on the data stream to obtain attribute information corresponding to the data stream. The data arbitration module 1102 generates a traffic pattern signal corresponding to the data stream based on the attribute information corresponding to the data stream, wherein the attribute information corresponding to the data stream includes at least one of access frequency, traffic size, address distribution, and read and write operations or a combination thereof. For example, the data arbitration module 1102 can generate traffic pattern signals of different traffic sizes based on the traffic size corresponding to the data stream, the access frequency of a single address, etc.
[0034] In some embodiments, Figure 2 As shown, the storage optimization module 110 also includes a flow control module 1103 , and the flow control module 1103 is connected to the data analysis module 1101 and the data arbitration module 1102 .
[0035] The flow control module 1103 is used to receive the data stream from the data analysis module 1101, receive the traffic mode signal from the data arbitration module 1102, and then determine the traffic mode of the data stream based on the traffic mode signal, determine the transmission operation of the data stream, that is, regulate the transmission flow size of the data stream through the flow control module 1103.
[0036] In some embodiments, the traffic mode includes at least a first mode, a second mode and a third mode, wherein the first mode, the second mode and the third mode are used to indicate that the traffic size of the data stream decreases in sequence; the transmission operation of the data stream corresponding to the first mode is a first transmission operation, wherein the first transmission operation includes controlling the receiving interval of the data stream; the transmission operation of the data stream corresponding to the second mode is a second transmission operation, wherein the second transmission operation includes increasing the background operation; the transmission operation of the data stream corresponding to the third mode is a third transmission operation, wherein the third transmission operation includes entering low power consumption.
[0037] The traffic mode includes at least a first mode, a second mode and a third mode, wherein the first mode, the second mode and the third mode are used to indicate that the traffic size of the data stream decreases in sequence, for example, the first mode is a high traffic mode, and the corresponding traffic size is AGB / s, the second mode is a low traffic mode, and the corresponding traffic size is B GB / s, the third mode is a no traffic mode, and the corresponding traffic size is CGB / s, A>B>C, wherein A, B, and C can be specific values or three range values without intersection according to actual conditions, and this application does not make specific limitations.
[0038] The data arbitration module 1102 responds to the control signal and generates a traffic pattern signal corresponding to the data stream according to the attribute information corresponding to the data stream. The traffic pattern signal represents the traffic pattern of the data stream. For example, the data arbitration module 1102 arbitrates the access frequency, traffic size, address distribution and read and write operations of the data stream transmitted by the data analysis module 1101, and automatically divides the real-time data stream into different traffic patterns, thereby generating a corresponding traffic pattern signal, wherein the traffic pattern can be divided according to the traffic size of the data stream per unit time, the access frequency of a single address, etc.
[0039] For example, the flow control module 1103 receives the data stream from the data analysis module 1101 and receives the flow mode signal from the data arbitration module 1102, and then determines the transmission operation of the data stream based on the flow mode of the data stream corresponding to the flow mode signal. For example, if the data arbitration module 1102 determines that the flow mode of the data stream is the first mode, the flow control module 1103 can perform the first transmission operation on the data stream in the first mode. The first transmission operation is to control the receiving interval operation of the data stream, that is, to implement the current limiting back pressure operation on the data stream in the high flow mode, and each interval can be configured with a number of cycles before receiving the data in the high flow mode. Alternatively, if the data arbitration module 1102 determines that the flow mode of the data stream is the second mode, the flow control module 1103 can perform the second transmission operation on the data stream in the second mode. The second transmission operation is to increase the background operation, that is, the centralized refresh of the storage medium, the internal data movement required for long-term work, etc. Alternatively, if the data arbitration module 1102 determines that the traffic mode of the data flow is the third mode, the flow control module 1103 can perform a third transmission operation on the data flow in the third mode. The third transmission operation is to enter a low power consumption operation. When there is no traffic, low power consumption operation is performed on the link to enter a low power consumption mode.
[0040] Further, in some embodiments, based on the traffic pattern of the data stream, the transmission operation of the data stream is determined, including: in response to the traffic pattern signal indicating the first mode, determining the transmission operation of the data stream as the first transmission operation; in response to the traffic pattern signal not indicating the first mode, and the traffic pattern signal indicating the second mode, determining the transmission operation of the data stream as the second transmission operation; in response to the traffic pattern signal not indicating the second mode, and the traffic pattern signal indicating the third mode, determining the transmission operation of the data stream as the third transmission operation; in response to the traffic pattern signal not indicating the third mode, determining the transmission operation of the data stream as controlling the data stream to pass through.
[0041] In response to the traffic mode signal sent by the data arbitration module 1102 indicating the first mode, the flow control module 1103 determines that the transmission operation of the data stream is the first transmission operation, that is, the receiving interval operation of the data stream is performed on the data stream in the first mode. In response to the traffic mode signal not indicating the first mode, and the traffic mode signal indicating the second mode, the flow control module 1103 determines that the transmission operation of the data stream is the second transmission operation, that is, the background increase operation is performed on the data stream in the second mode. In response to the traffic mode signal not indicating the second mode, and the traffic mode signal indicating the third mode, the flow control module 1103 determines that the transmission operation of the data stream is the third transmission operation, that is, the data stream in the third mode enters a low power consumption operation. Further, in response to the traffic mode signal not indicating the first mode, not indicating the second mode, and not indicating the third mode, the flow control module 1103 determines that the transmission operation of the data stream is to control the data stream to pass through, for example, directly to an external storage medium.
[0042] In this embodiment, in response to different traffic mode signals, different transmission operations of the data stream are determined, so that in high traffic mode, the receiving interval can be controlled by the CXL controller 10, thereby improving the robustness of the system; in low traffic mode, the background operation is increased by the CXL controller 10, which can significantly reduce the blocking of the link due to the necessary background operations during high traffic, thereby improving the bandwidth of the system; in no traffic mode, the power consumption of the system is reduced by entering the low power consumption mode.
[0043] The flow control module 1103 receives the data stream from the data analysis module 1101, receives the flow mode signal from the data arbitration module 1102, and then determines the flow mode of the data stream based on the flow mode signal, and determines the transmission operation of the data stream, wherein the flow control module 1103 determines the flow mode of the data stream based on the flow mode signal, and determines the transmission operation of the data stream, such as Figure 3 As shown, Figure 3 This is a flow chart of determining a flow pattern according to an embodiment of the present application, which is as follows:
[0044] S31: Determine whether the traffic mode of the data flow is the first mode.
[0045] For example, the flow control module 1103 determines whether the flow mode of the data flow is the first mode based on the flow mode signal, and the first mode may be a high flow mode.
[0046] One of the judgment results of step S31: the traffic mode of the data flow is the first mode, and step S32 is executed.
[0047] The second judgment result of step S31: the traffic mode of the data flow is not the first mode, and step S33 is executed.
[0048] S32: Determine that the transmission operation of the data stream is the first transmission operation.
[0049] In response to the traffic mode of the data flow being the first mode, a first transmission operation is performed on the data flow in the first mode, where the first transmission operation is an operation of controlling a receiving interval of the data flow.
[0050] S33: Determine whether the traffic mode of the data flow is the second mode.
[0051] The flow control module 1103 determines whether the flow mode of the data flow is the second mode, and the second mode may be a low flow mode.
[0052] One of the judgment results of step S33: the traffic mode of the data flow is the second mode, and step S34 is executed.
[0053] The second judgment result of step S33: the traffic mode of the data flow is not the second mode, and step S35 is executed.
[0054] S34: Determine that the transmission operation of the data stream is the second transmission operation.
[0055] In response to the traffic mode of the data flow being the second mode, a second transmission operation is performed on the data flow in the second mode, and the second transmission operation is an increased background operation.
[0056] S35: Determine whether the traffic mode of the data flow is the third mode.
[0057] The flow control module 1103 determines whether the traffic mode of the data flow is the third mode, and the third mode may be a no-flow mode.
[0058] One of the judgment results of step S35: the traffic mode of the data flow is the third mode, and step S36 is executed.
[0059] The second judgment result of step S35: the traffic mode of the data flow is not the third mode, and step S37 is executed.
[0060] S36: Determine that the transmission operation of the data stream is the third transmission operation.
[0061] In response to the traffic mode of the data flow being the third mode, a third transmission operation is performed on the data flow in the third mode, and the third transmission operation is entering a low power consumption operation.
[0062] S37: Determine that the transmission operation of the data stream is the fourth transmission operation.
[0063] In response to the traffic mode of the data flow not being the third mode, a fourth transmission operation is performed on the data flow, such as controlling the data flow to pass directly to the external storage medium at a medium traffic mode.
[0064] In some embodiments, the data parsing module 1101 is further configured to send attribute information corresponding to the data stream to the host device 20 via the CXL high-speed link interface 101 , so that the host device 20 controls the flow of subsequent data streams sent via the CXL high-speed link interface 201 .
[0065] The data analysis module 1101 sends the attribute information corresponding to the data stream to the host device 20 through the CXL high-speed link interface 101, for example, sends the attribute information corresponding to the real-time transmitted data stream to the host device 20, so that after receiving the attribute information corresponding to the current data stream, the host device 20 identifies the transmission mode of the data stream, and then controls the flow of subsequent data streams sent through the CXL high-speed link interface 201, that is, adjusts the flow transmission size of the current data stream.
[0066] See also Figure 4 , Figure 42 is a schematic diagram of the structure of a host device according to an embodiment of the present application, wherein the host device 20 is connected to a CXL controller, which may be the CXL controller 10 described above, and the host device 20 is used to send a data stream to the CXL controller 10 so that the CXL controller 10 receives the data stream and transmits it.
[0067] In some embodiments, the host device 20 includes a host optimization module 210, which is connected to the CXL controller 10 via the CXL high-speed link interface 201, and is used to receive attribute information corresponding to the data flow from the CXL controller 10 via the CXL high-speed link interface 201, and control the flow of subsequent data flows sent to the CXL high-speed link interface 201 according to the attribute information corresponding to the data flow.
[0068] For example, the host optimization module 210 may include a traffic feedback module and a host flow control module, and the CXL high-speed link interface 201 is arranged between the traffic feedback module and the host flow control module. The traffic feedback module is used to receive feedback information from the CXL controller 10 through the CXL high-speed link interface 201, pre-process the feedback information, and send the pre-processing result to the host flow control model, wherein the feedback information includes attribute information corresponding to the data flow sent by the CXL controller 10, such as data information of the current data flow; the host flow control module is used to receive the pre-processing result sent by the traffic feedback model, identify the flow mode of the current data flow of the host device 20, and control the flow control according to the flow load condition, so that the host flow control module controls the flow of subsequent data flows sent to the CXL high-speed link interface 201, and adjusts the flow transmission size of the current data flow.
[0069] In this embodiment, the host device 20 is connected to the CXL controller 10 via the CXL high-speed link interface 201, and is used to receive attribute information corresponding to the data flow from the CXL controller 10 via the CXL high-speed link interface 201, and control the flow of subsequent data flows sent to the CXL high-speed link interface 201 according to the attribute information corresponding to the data flow, thereby realizing the control of the sending flow size by the host device 20 and improving the robustness of the system.
[0070] In some embodiments, the attribute information corresponding to the data stream includes at least one of the following or a combination thereof: access frequency; traffic size; address distribution; read and write operations.
[0071] The host device 20 receives attribute information corresponding to the data stream from the CXL controller 10 through the CXL high-speed link interface 201, and controls the flow of subsequent data streams sent to the CXL high-speed link interface 201 according to the attribute information corresponding to the data stream, wherein the attribute information corresponding to the data stream includes at least one of access frequency, flow size, address distribution, and read and write operations, or a combination thereof. For example, the host device 20 can control the flow size of subsequent data streams sent to the CXL high-speed link interface 201 according to the flow size corresponding to the data stream, the access frequency of a single address, etc.
[0072] See also Figure 5 , Figure 5 The method may be performed by the CXL controller 10 , and the CXL controller 10 is connected to the host device 20 .
[0073] It should be noted that if there are substantially the same results, the method of the present application is not limited to Figure 5 The process sequence shown is limited.
[0074] In some possible implementations, the method may be implemented by a processor calling computer-readable instructions stored in a memory, such as Figure 5 As shown, the method may include the following steps:
[0075] S51: A data stream is received from a host device via a CXL high-speed link interface.
[0076] The CXL controller 10 receives the data stream sent by the host device 20 through the CXL high-speed link interface 101 .
[0077] S52: Perform a parsing operation on the data flow to determine a traffic pattern of the data flow.
[0078] The CXL controller 10 performs a parsing operation on the data stream to determine a flow pattern of the data stream. For example, the CXL controller 10 pre-processes the data stream to obtain data information in the data stream, and determines a flow pattern of data transmission according to the data information of the data stream.
[0079] S53: Determine a transmission operation of the data stream based on the traffic pattern of the data stream, so as to control the data stream to be transmitted to the storage medium according to the transmission operation of the data stream.
[0080] The CXL controller 10 determines the transmission operation of the data stream based on the traffic mode of the data stream. The traffic mode of the data stream may include multiple traffic modes. For example, the CXL controller 10 may determine the transmission operation of the corresponding data stream according to any traffic mode of the multiple traffic modes, that is, the traffic size of the data stream during transmission may be adjusted according to the traffic mode of the data stream. Thus, the CXL controller 10 controls the data stream to be transmitted to the storage medium according to the transmission operation of the data stream, so as to complete the transmission of the data stream in the CXL controller 10.
[0081] In some embodiments, the traffic mode includes at least a first mode, a second mode and a third mode, wherein the first mode, the second mode and the third mode are used to indicate that the traffic size of the data stream decreases in sequence; the transmission operation of the data stream corresponding to the first mode is a first transmission operation, wherein the first transmission operation includes controlling the receiving interval of the data stream; the transmission operation of the data stream corresponding to the second mode is a second transmission operation, wherein the second transmission operation includes increasing the background operation; the transmission operation of the data stream corresponding to the third mode is a third transmission operation, wherein the third transmission operation includes entering low power consumption.
[0082] For example, the first mode is a high-flow mode, and the corresponding flow size is A GB / s; the second mode is a low-flow mode, and the corresponding flow size is B GB / s; the third mode is a no-flow mode, and the corresponding flow size is C GB / s, A>B>C, where A, B, and C can be specific values or three range values without intersection according to actual conditions, and this application does not make any specific limitations.
[0083] In this embodiment, in response to different traffic mode signals, different transmission operations of the data stream are determined, so that in high traffic mode, the host side can control the sending traffic and the controller side can control the receiving interval, thereby improving the robustness of the system; in low traffic mode, by increasing background operations, the blockage of the link due to the necessary background operations in high traffic can be significantly reduced, thereby improving the bandwidth of the system; in no traffic mode, the power consumption of the system is reduced by entering the low power consumption mode.
[0084] like Figure 6As shown, it is a schematic diagram of the structure of an electronic device according to an embodiment of the present application, the electronic device 60 includes a CXL controller 610, a host device 620 and a storage medium 630, wherein the CXL controller 610 is connected to the host device 620 and the storage medium 630, the CXL controller 610 includes the above-mentioned CXL controller 10 with data flow control, the host device 620 includes the above-mentioned host device 20, wherein the CXL controller 610 receives a data stream from the host device 620, performs a parsing operation on the data stream to determine a flow pattern of the data stream, and determines a transmission operation of the data stream based on the flow pattern of the data stream, so as to control the data stream to be transmitted to the storage medium 630 according to the transmission operation of the data stream. For details about the CXL controller 10 and the host device 20, please refer to the description in the above-mentioned embodiment, which will not be described here.
[0085] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0086] In the several embodiments provided in the present application, it should be understood that the disclosed methods and related devices can be implemented in other ways. For example, the above-described related device implementations are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication disconnection shown or discussed can be through some interfaces, indirect coupling or communication disconnection of devices or units, which can be electrical, mechanical or other forms.
[0087] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0088] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0089] It is easy for a person skilled in the art to know that many modifications and changes can be made to the device and method while maintaining the teaching content of the present application. Therefore, the above disclosure should be considered as limited only by the scope of the appended claims.
Claims
1. A CXL controller with data flow control, characterized in that: include: CXL high-speed link interface, storage optimization module and storage control module; The storage optimization module is arranged between the CXL high-speed link interface and the storage control module, and the storage optimization module is also connected to the host device through the CXL high-speed link interface; Wherein, the storage optimization module is used for: receiving a data stream from the host device via the CXL high-speed link interface; Performing a parsing operation on the data flow, and determining a flow pattern of the data flow according to the parsing result; Determining a transmission operation of the data flow based on a traffic pattern of the data flow; The storage control module is used for: The data stream transmission is controlled according to the transmission operation of the data stream.
2. The CXL controller according to claim 1, characterized in that: The storage optimization module includes: a data analysis module connected to the host device via the CXL high-speed link interface; and A data arbitration module, connected to the data analysis module; The data parsing module is used to perform a parsing operation on the data stream to obtain attribute information corresponding to the data stream, and generate a control signal in response to obtaining the attribute information corresponding to the data stream; The data arbitration module is used to generate a traffic mode signal corresponding to the data flow in response to the control signal and according to the attribute information corresponding to the data flow, wherein the traffic mode signal represents the traffic mode of the data flow.
3. The CXL controller according to claim 2, characterized in that: The data analysis module is further configured to send attribute information corresponding to the data flow to the host device through the CXL high-speed link interface, so that the host device controls the flow of subsequent data flows sent through the CXL high-speed link interface.
4. The CXL controller according to claim 2, characterized in that: The attribute information corresponding to the data stream includes at least one of the following or a combination thereof: Frequency of visits; Traffic volume; Address distribution; Read and write operations.
5. The CXL controller according to claim 4, characterized in that: The traffic mode includes at least a first mode, a second mode and a third mode, wherein the first mode, the second mode and the third mode are used to indicate that the traffic size of the data flow decreases in sequence; The transmission operation of the data stream corresponding to the first mode is a first transmission operation, wherein the first transmission operation includes controlling a receiving interval of the data stream; The transmission operation of the data stream corresponding to the second mode is a second transmission operation, wherein the second transmission operation includes increasing the background operation; The transmission operation of the data stream corresponding to the third mode is a third transmission operation, wherein the third transmission operation includes entering low power consumption.
6. The CXL controller according to claim 5, characterized in that: The storage optimization module also includes: The flow control module is connected to the data analysis module and the data arbitration module, and is used to receive the data flow from the data analysis module and receive the flow pattern signal from the data arbitration module to determine the transmission operation of the data flow based on the flow pattern of the data flow.
7. The CXL controller according to claim 6, characterized in that: Determining a transmission operation of the data flow based on a traffic pattern of the data flow includes: In response to the traffic mode signal indicating the first mode, determining the transmission operation of the data flow to be the first transmission operation; In response to the traffic mode signal not indicating the first mode and the traffic mode signal indicating the second mode, determining the transmission operation of the data flow to be the second transmission operation; In response to the traffic mode signal not indicating the second mode and the traffic mode signal indicating the third mode, determining the transmission operation of the data stream to be the third transmission operation; In response to the traffic mode signal not indicating the third mode, determining the transmission operation of the data flow to control the data flow to pass through.
8. A host device, characterized in that: Connecting to a CXL controller via a CXL high-speed link interface, and configured to send a data stream to the CXL controller, so that the CXL controller receives the data stream and transmits it; The host device includes a host optimization module, which is connected to the CXL controller through the CXL high-speed link interface, and is used to receive attribute information corresponding to the data flow from the CXL controller through the CXL high-speed link interface, and control the flow of subsequent data flows sent to the CXL high-speed link interface according to the attribute information corresponding to the data flow.
9. The CXL controller according to claim 8, characterized in that: The attribute information corresponding to the data flow includes at least one of the following or a combination thereof: access frequency; traffic size; address distribution; read and write operations.
10. An electronic device, characterized in that: The electronic device comprises a CXL controller, a host device and a storage medium, wherein the CXL controller connects the host device and the storage medium, the CXL controller comprises the CXL controller with data flow control according to any one of claims 1 to 7, and the host device comprises the host device according to claim 8 or 9.