Ethernet-SSD self-adaptive Flash control method and device for network storage and calculation integrated architecture and medium

By adopting a network-aware adaptive Flash control method, the problems of network blind control, resource configuration fixation, and tenant-indiscriminate service of Ethernet-SSD are solved. This method achieves deep integration of network status and Flash storage, reduces latency, and improves resource utilization and multi-tenant service capabilities.

CN122069231APending Publication Date: 2026-05-19SHANDONG UNIV +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHANDONG UNIV
Filing Date
2026-02-25
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Traditional Flash control methods cannot adapt to the direct network connection characteristics, resource constraints, multi-tenant concurrent access, and real-time requirements of Ethernet-SSDs, resulting in problems such as blind network control, fixed resource configuration, and indiscriminate service for tenants, as well as fragmented storage networks.

Method used

By using a network-aware adaptive Flash control method, network status parameters are collected in real time, the network status at the next moment is predicted, the Flash access strategy is dynamically adjusted, latency-sensitive requests are prioritized, independent resources are allocated, parallel transmission and cache management are achieved, and storage and network performance are optimized in a coordinated manner.

Benefits of technology

It achieves adaptive matching between network status and Flash storage, reduces latency, improves resource utilization, meets the differentiated needs of multi-tenants, and enhances the overall performance of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122069231A_ABST
    Figure CN122069231A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of storage, and discloses an Ethernet-SSD self-adaptive Flash control method and device for a network storage and calculation integrated framework and a medium. The method comprises the following steps: establishing a network flow monitoring and prediction model, sensing a network congestion state, bandwidth change and delay jitter in real time, and when network congestion is detected, automatically adjusting Flash read-write priority to preferentially process delay-sensitive read operation; when the network bandwidth is sufficient, the system starts a batch write-in mode, and the data transmission efficiency is improved. A delay compensation algorithm is designed, and Flash reading operation is started in advance by predicting network round-trip time, so that Flash access delay is shielded. And a segmented parallel transmission strategy is adopted to split the big data block into a plurality of network packets for parallel transmission, so that the end-to-end delay is further reduced. The problems of high delay, low resource utilization, insufficient multi-tenant isolation and the like in the prior art are solved, and the overall performance of a network storage system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of storage technology, such as to an Ether-SSD adaptive Flash control method, device, and medium for network-integrated storage and computing architecture. Background Technology

[0002] Traditional network storage architectures employ a separate design of "compute nodes + network + storage nodes." Storage nodes are typically configured with complete server hardware (CPU, memory, operating system) and provide storage services to remote compute nodes via standard storage protocols (such as NVMe-oF and iSCSI). This architecture performs well in data center scenarios but suffers from high power consumption, high cost, and complex protocol stacks. To address these issues, the industry proposed the concept of Ethernet-SSD, which integrates the network interface directly into the SSD controller, enabling the SSD to directly receive and process storage requests via Ethernet. This architecture eliminates the need for components such as the CPU and operating system in traditional storage nodes, offering advantages such as low power consumption, low cost, and low latency.

[0003] However, Ethernet-SSDs face entirely different application environments and technical challenges compared to traditional SSDs: Direct network connectivity: Ethernet-SSDs are directly exposed to the network environment and need to handle concurrent access requests from multiple computing nodes. Network characteristics such as latency, bandwidth fluctuations, and packet loss retransmission directly impact storage performance, while traditional Flash control methods cannot perceive or adapt to changes in network conditions. Resource constraints: To reduce cost and power consumption, Ethernet-SSDs typically use embedded processors, resulting in significantly limited computing power and memory capacity compared to traditional storage servers. Traditional Flash control algorithms (such as complex FTL mapping tables and large-capacity cache management) struggle to operate effectively in resource-constrained environments. Multi-tenant concurrent access: In data center environments, a single Ethernet-SSD needs to provide storage services to multiple virtual machines or containers simultaneously. Different tenants have significantly different access patterns, QoS requirements, and security isolation requirements. Traditional Flash control methods lack multi-tenant awareness and cannot provide differentiated services. Real-time requirements: Network storage environments are latency-sensitive, especially in cloud computing and edge computing scenarios, where storage latency directly affects application response time. Traditional Flash control methods focus on throughput optimization but lack precise control over real-time performance.

[0004] The limitations of existing technologies are mainly reflected in the following aspects: Blind network control: Existing Flash controllers cannot sense network status and cannot dynamically adjust storage strategies based on network congestion, latency changes, etc. Fixed resource configuration: Traditional methods use static resource allocation, which cannot dynamically adjust the configuration of resources such as cache and queues according to actual load. Uniform tenant service: Existing methods use the same processing strategy for all access requests, failing to meet the differentiated needs of different tenants. Storage-network fragmentation: Storage control and network transmission are independent of each other, making it impossible to achieve collaborative optimization between storage and network.

[0005] Therefore, there is an urgent need to design a Flash control method specifically for Ethernet-SSD application scenarios. This method should have network awareness, resource adaptive adjustment, multi-tenant service capabilities, and storage network collaborative optimization capabilities.

[0006] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0007] To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments, but rather as a prelude to the detailed description that follows.

[0008] This disclosure provides an Ethernet-SSD adaptive Flash control method, device, and medium for network-in-memory computing architecture. It establishes a deep integration mechanism between network status and Flash storage control, and achieves adaptive matching between storage performance and network characteristics by driving storage optimization through network awareness.

[0009] In some embodiments, the Ethernet-SSD adaptive flash control method for network-in-memory computing architecture includes: Step A: Network awareness. Real-time collection of network state parameters and prediction of network state parameters for the next moment based on historical data to form a network state vector. The network state parameters include round-trip time, bandwidth, and packet loss rate. The network state vector includes the weighted average round-trip time, bandwidth, packet loss rate for the current moment, and the predicted network state parameters for the next moment. Step B: Adaptive scheduling. Based on the network state vector and the tenant's service level protocol requirements, the Flash access strategy is dynamically adjusted. First, it is determined whether the network is congested. If so, read requests that are sensitive to latency are processed first, and write requests are batch merged. Otherwise, data prefetching is started to load potentially accessed data into the cache in advance and open all read and write channels to achieve parallel read and write and parallel processing of multiple requests. Second, the resource allocation ratio is dynamically adjusted according to the tenant weight. Step C, Collaborative Optimization: Based on the predicted network state parameters for the next moment in the network state vector, Flash read operations are initiated in advance, allowing the data access latency to overlap with the network transmission time, and large data blocks are split into multiple segments for parallel transmission. As a preferred option, in step A, the weighted average round-trip delay is calculated using the exponentially weighted moving average method, and the calculation formula is as follows: , in The weighted average round-trip delay at the current moment. The weighted average round-trip delay of the previous moment. The round-trip delay sampled at the current moment. This is the weight decay coefficient.

[0010] As a preferred approach, in step A, a first-order autoregressive model is used to calculate the predicted network state parameters for the next time step. The calculation formula is as follows: , in The network state parameters for the next time step are predicted. These are the current actual network state parameters. These are the autoregressive coefficients. To predict the residual term.

[0011] As a preferred option, in step B, when the predicted packet loss rate at the next moment is greater than a set threshold or the weighted average round-trip delay at the current moment is greater than a set threshold, the network is determined to be in a congested state.

[0012] As a preferred option, in step B, independent Flash access queues, cache space, and network bandwidth are allocated to different tenants. The resource allocation ratio is dynamically adjusted using a weighted ratio based on the tenant's real-time load and priority. The calculation formula is as follows: , in For the bandwidth allocated to the i-th tenant, , Let be the priority weights of the i-th and j-th tenants, and n be the total number of tenants. The total available bandwidth is calculated using the predicted bandwidth for the next time step.

[0013] As a preferred option, in step C, the advance initiation of the Flash read operation involves: calculating the advance initiation time. , , The weighted average round-trip delay for the predicted next time step. For flash read time, if >0, then advance Time-based flash read operation is initiated.

[0014] As a preferred option, in step C, the number of segments k is selected based on the data size and the predicted available bandwidth. If the total data volume D is divided into k data segments for parallel transmission, the size of each data segment is... Transmission time is , To predict available bandwidth, a balance between latency and resource consumption is achieved by adjusting the value of k.

[0015] As a preferred option, this method also includes step D, cache management. When the network is in a non-congested state, data prefetching is initiated to load potentially accessed data into the cache in advance. When the network is in a congested state, hot data is prioritized to be retained in the cache.

[0016] In some embodiments, the Ethernet-SSD adaptive Flash control device for network in-memory computing architecture includes a network sensing module for real-time acquisition of network status parameters and prediction of network status parameters at the next moment based on historical data, forming a network status vector. The network status parameters include round-trip time, bandwidth, and packet loss rate, and the network status vector includes the weighted average round-trip time, bandwidth, packet loss rate at the current moment, and the predicted network status parameters at the next moment. The adaptive scheduling module is used to dynamically adjust the Flash access strategy based on the network state vector and the tenant's service level protocol requirements. First, it determines whether the network is congested. If so, it prioritizes processing read requests that are sensitive to latency and uses a batch merging method for write requests. Otherwise, it starts data prefetching, loads potentially accessed data into the cache in advance, and opens all read and write channels to achieve parallel read and write and parallel processing of multiple requests. Second, it dynamically adjusts the resource allocation ratio according to the tenant weight. The collaborative optimization module is used to initiate Flash read operations in advance based on the predicted network state parameters in the network state vector, so that the data access latency can overlap with the network transmission time, and to split large data blocks into multiple segments for parallel transmission. The cache management module is used to implement different levels of cache management based on network conditions. When the network is not congested, data prefetching is started to load potentially accessed data into the cache in advance. When the network is congested, hot data is prioritized to be retained in the cache.

[0017] In some embodiments, the storage medium stores program instructions that, when executed, perform the aforementioned Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture.

[0018] The Ethernet-SSD adaptive Flash control method, apparatus, and medium for network-in-memory computing architecture provided in this disclosure can achieve the following technical effects: A network-aware storage scheduling mechanism is implemented by establishing a network traffic monitoring and prediction model. This model senses network characteristics such as congestion status, bandwidth changes, and latency jitter in real time, and uses these parameters as input factors for Flash storage scheduling. When network congestion is detected, the system automatically adjusts Flash read / write priorities, prioritizing latency-sensitive read operations. When network bandwidth is sufficient, the system initiates batch write mode to improve data transmission efficiency.

[0019] Flash access optimization based on network latency compensation addresses the impact of network transmission latency on storage performance by designing a latency compensation algorithm. The system predicts the network round-trip time (RTT) and initiates Flash read operations in advance, overlapping data preparation time with network transmission time to mitigate Flash access latency. Simultaneously, a segmented parallel transmission strategy is employed, splitting large data blocks into multiple network packets for parallel transmission, further reducing end-to-end latency.

[0020] Multi-tenant isolation and adaptive resource management employs a tenant priority-based resource allocation algorithm to allocate independent Flash access queues, cache space, and bandwidth resources to different tenants. The system dynamically adjusts resource configurations based on tenant SLA (Service Level Agreement) requirements and real-time access patterns. High-priority tenants receive more Flash parallel channels and cache space, while low-priority tenants reuse remaining resources, achieving differentiated allocation and full utilization of resources.

[0021] The intelligent caching strategy for network storage collaboration establishes a network-state-aware cache management mechanism, optimizing cache replacement strategies based on network bandwidth and latency characteristics. When network bandwidth is sufficient, an aggressive prefetching strategy is adopted to load potentially accessed data into the cache in advance; when the network is congested, a conservative caching strategy is adopted to prioritize retaining hot data and reduce network transmission pressure.

[0022] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description

[0023] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrations and drawings do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are shown as similar elements. The drawings are not to be scaled. And wherein: Figure 1 This is a flowchart of the method described in Example 1; Figure 2 This is a schematic diagram of the device described in Example 2. Detailed Implementation

[0024] To provide a more detailed understanding of the features and technical content of the embodiments of this disclosure, the implementation of the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this disclosure. In the following technical description, for ease of explanation, several details are used to provide a full understanding of the disclosed embodiments. However, one or more embodiments may still be implemented without these details. In other cases, well-known structures and devices may be simplified in their depiction to simplify the drawings.

[0025] The terms "first," "second," etc., used in the embodiments of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this disclosure described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion.

[0026] Unless otherwise stated, the term "multiple" means two or more.

[0027] In this embodiment of the disclosure, the character " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B means: A or B.

[0028] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.

[0029] The term "correspondence" can refer to an association or binding relationship. The correspondence between A and B means that there is an association or binding relationship between A and B.

[0030] Example 1 For special application scenarios such as direct Ethernet-SSD connection networks, resource constraints, and multi-tenant concurrency, this embodiment discloses an adaptive Flash control method for Ethernet-SSD in a network-in-memory architecture. It establishes a deep integration mechanism between network status and Flash storage control, achieving deep integration control of network and storage through network traffic prediction-driven storage scheduling, Flash access optimization based on network latency compensation, and multi-tenant isolated storage resource management. This method includes the following steps: Step A: Network Awareness. This involves real-time acquisition of network state parameters and prediction of the next-moment network state parameters based on historical data, forming a network state vector. This vector drives adaptive decisions for subsequent Flash storage scheduling. Network state parameters include Round Trip Time (RTT), bandwidth, and packet loss rate. The network state vector includes the current weighted average RTT, bandwidth, packet loss rate, and the predicted network state parameters for the next moment.

[0031] To reduce the impact of short-term fluctuations on decision-making, this embodiment converts the collected round-trip delay into a weighted average round-trip delay using the Exponential Weighted Moving Average (EWMA) method. The calculation formula is as follows: , in The weighted average round-trip delay at the current moment. The weighted average round-trip delay of the previous moment. The round-trip delay sampled at the current moment. This is the weight decay coefficient.

[0032] Furthermore, this step also establishes a network state prediction model to predict future congestion trends. Specifically, a first-order autoregressive model can be used to calculate the predicted network state parameters for the next time step. The calculation formula is as follows: , in The network state parameters for the next time step are predicted. These are the current actual network state parameters. These are the autoregressive coefficients. To predict the residual term, we represent the random disturbance.

[0033] This embodiment predicts round-trip time, bandwidth, and packet loss rate, using the following formulas: , in To predict round-trip delays, To predict bandwidth, To predict packet loss rate, , , These are the autoregressive coefficients corresponding to round-trip delay, bandwidth, and packet loss rate, respectively, obtained through historical fitting.

[0034] The above calculations generate a detailed network state vector, which serves as an important basis for subsequent adaptive scheduling decisions.

[0035] The pseudocode for this step is as follows:

[0036] Step B, Adaptive Scheduling, dynamically adjusts Flash access policies based on network state vectors and tenant service level agreement (SLA) requirements. This step prioritizes latency-sensitive requests, processes write requests in batches, and dynamically allocates storage bandwidth according to multi-tenant weights to achieve performance optimization and resource isolation.

[0037] First, determine if the network is congested. If so, prioritize processing latency-sensitive read requests and batch merge write requests. Otherwise, initiate data prefetching to load potentially accessed data into the cache in advance and open all read and write channels to achieve parallel read and write and parallel processing of multiple requests. Second, dynamically adjust the resource allocation ratio based on tenant weight.

[0038] This embodiment determines the network state based on the predicted packet loss rate at the next time step and the weighted average round-trip delay at the current time step. When the predicted packet loss rate at the next time step is greater than a set threshold or the weighted average round-trip delay at the current time step is greater than a set threshold, the network is determined to be in a congested state. When the network is congested, batch merging of write requests is initiated. This is an optimization method for write operations (from the client to the SSD). Its core logic is to merge multiple scattered small write requests into a large request packet for transmission, aiming to significantly improve data transmission throughput by reducing the number of network interactions and protocol header overhead. Data prefetching is an optimization strategy for read operations (from the SSD to the client). When network bandwidth is sufficient, it utilizes idle resources and uses algorithms to predict the data that the user will access and load it from Flash into the cache in advance. The purpose is to mask the inherent physical read latency of Flash, so that the user can get a very fast response when the request is actually made. When network bandwidth is sufficient (non-congested state), all read and write channels inside Flash are opened. Data is written directly in parallel without accumulating, thus maximizing bandwidth utilization.

[0039] To achieve multi-tenant isolation, independent Flash access queues, cache space, and network bandwidth are allocated to different tenants. The resource allocation ratio is dynamically adjusted using a weighted ratio based on the tenant's real-time load and priority. The calculation formula is as follows: , in For the bandwidth allocated to the i-th tenant, , The priority weights for the i-th and j-th tenants are determined by factors such as network status and task urgency, where n is the total number of tenants. The total available bandwidth is calculated using the predicted bandwidth for the next time step.

[0040] This mechanism ensures that the Quality of Service (QoS) of high-priority tenants is effectively guaranteed, while preventing low-priority tasks from consuming too many resources during network congestion.

[0041] The pseudocode for this step is as follows:

[0042] Step C, Collaborative Optimization, is used to further reduce end-to-end storage latency and improve network transmission efficiency. This step designs a latency compensation mechanism that, based on the predicted network state parameters in the network state vector for the next time step, initiates Flash read operations in advance. This allows the data access latency to overlap with the network transmission time, effectively masking the inherent Flash access latency. Assume the Flash read time is... The predicted weighted average round-trip delay for the next time step is Then the start time advance for: ,like >0, then advance Pre-flash read operations are initiated at specific times. Reading in advance effectively masks the inherent access latency of Flash memory, thereby reducing the overall latency perceived by the user.

[0043] This step also introduces a segmented parallel transmission strategy, splitting large data blocks into several smaller blocks for parallel transmission to further reduce transmission latency and improve throughput. If the total data volume D is split into k data segments for parallel transmission, and each segment is the size of a single data segment... Ideally, the transmission time is , To predict available bandwidth, the formula above shows that the number of segments k is inversely proportional to the transmission delay. The larger the number of segments k, the smaller the data segment d, and the shorter the theoretical parallel transmission time T_parallel. This step reduces latency by dynamically adjusting the parameter k, that is, by choosing an appropriate k to achieve the optimal balance between latency and resource consumption. Specifically, this can be done by randomly specifying k or saving the previous k value for multiple adjustments.

[0044] The pseudocode for this step is as follows:

[0045] Step D: Cache Management. When the network is not congested, data prefetching is initiated to load potentially accessed data into the cache in advance. When the network is congested, frequently accessed data is prioritized for storage in the cache. Caching utilizes the principles of temporal and spatial locality. Temporal locality means that data recently accessed is likely to be accessed again soon, and spatial locality means that data adjacent to currently accessed data is likely to be accessed soon as well. Data prefetching retrieves this data and writes it to the cache, accelerating read and write speeds.

[0046] like Figure 1 As shown, the specific implementation process of this method is as follows: S01. Network status collection and prediction; S02, multi-tenant SLA and real-time load analysis; S03. Determine if the network is congested. If so, prioritize scheduling read requests that are sensitive to latency and perform batch merging operations on write requests. Otherwise, start large-scale prefetching and open all channels to achieve parallel read and write and parallel processing of multiple requests. S04, Adaptive scheduling decision (read / write priority, resource allocation ratio); S05, Delay compensation and segmented parallel transmission; S06, Cache Management and Dynamic Parameter Tuning.

[0047] In the above description, although data prefetching and read-ahead are similar in action, they are fundamentally different in their policy objectives and triggering mechanisms, and are not the same concept. "Read-ahead" is a timing compensation mechanism in the Cooperative Optimization (COM) module, its core being "time-based," that is, using predicted network RTT to trigger the read action in advance, ensuring that data preparation time overlaps with network transmission time, thereby physically masking Flash access latency. "Prefetching," on the other hand, is a cache management mechanism in the Adaptive Scheduling (ASM) module, its core being "data guessing," that is, using idle resources when bandwidth is sufficient to predict and load potentially accessed data blocks into the cache to improve the hit rate of subsequent requests. In short, data prefetching aims to offset current physical latency, while read-ahead invests in future access speed.

[0048] Example 2 This embodiment discloses an Ethernet-SSD adaptive Flash control method for network in-memory computing architecture, such as... Figure 2 As shown, it includes: The network awareness module is used to collect network state parameters in real time and predict the network state parameters for the next moment based on historical data, forming a network state vector. The network state parameters include round-trip time (RTT), bandwidth, and packet loss rate. The network state vector includes the weighted average RTT, bandwidth, packet loss rate for the current moment, and the predicted network state parameters for the next moment. In this embodiment, the network awareness module continuously monitors and extracts key network metrics such as RTT, effective bandwidth, and packet loss rate through lightweight probe packets and network interface statistics.

[0049] The adaptive scheduling module dynamically adjusts Flash access strategies based on network state vectors and tenant service level protocol requirements. It first determines network congestion; if congestion is present, latency-sensitive read requests are prioritized, while write requests are batch-merged. Otherwise, data prefetching is initiated, loading potentially accessed data into the cache in advance, and opening all read / write channels to achieve parallel read / write operations and multi-request parallelism, maximizing the parallel processing capabilities of Flash storage. To achieve multi-tenant isolation, ASM allocates independent Flash access queues, cache space, and network bandwidth to different tenants, and dynamically adjusts resource allocation ratios using a weighted ratio formula based on tenant real-time load and priority.

[0050] The collaborative optimization module is dedicated to further reducing end-to-end storage latency and improving network transmission efficiency. First, based on the predicted network state parameters in the network state vector, it initiates Flash read operations in advance, allowing data access latency to overlap with network transmission time. It also splits large data blocks into multiple segments for parallel transmission to further reduce transmission latency and improve throughput.

[0051] In this embodiment, the collaborative optimization module also provides a unified interface for monitoring and automatically tuning storage network performance, adjusting the above parameters (ΔT, k) in real time based on the performance indicators fed back by the system, thereby continuously improving system efficiency and stability.

[0052] The cache management module implements different levels of cache management based on network conditions. When the network is not congested, data prefetching is initiated to load potentially accessed data into the cache in advance. When the network is congested, frequently accessed data is prioritized for storage in the cache. Caching utilizes the principles of temporal locality and spatial locality. Temporal locality means that data recently accessed is likely to be accessed again soon, and spatial locality means that data adjacent to currently accessed data is likely to be accessed soon as well. Data prefetching retrieves these recently accessed data and writes them to the cache, accelerating read and write speeds.

[0053] Through the coordinated operation of the above modules, this device can realize the Flash control method described in Embodiment 1, achieve deep integration between network status and Flash storage control, solve the prominent problems of high latency, low resource utilization and insufficient multi-tenant isolation in the prior art, and significantly improve the overall performance of the network storage system.

[0054] Example 3 This disclosure provides a computer-readable storage medium storing computer-executable instructions configured to execute the above-described Ethernet-SSD adaptive Flash control method for a network-in-memory computing architecture.

[0055] The aforementioned computer-readable storage medium may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.

[0056] The technical solutions of this disclosure can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes one or more instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in this disclosure. The aforementioned storage medium can be a non-transitory storage medium, including: a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and other media capable of storing program code; it can also be a transient storage medium.

[0057] The foregoing description and accompanying drawings fully illustrate embodiments of this disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for descriptive purposes only and is not intended to limit the scope of protection. As used in the description herein, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Similarly, the term “and / or” as used herein means including one or more of the associated listed items and all possible combinations thereof. Additionally, when used in this application, the term "comprise" and its variations "comprises" and / or "comprising" refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Without further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, or apparatus that includes said element. In this document, each embodiment may focus on the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, the relevant parts can be referred to the description of the method section.

[0058] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this disclosure. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0059] The methods and products (including but not limited to devices and equipment) disclosed in the embodiments herein can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units may be merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed between each other may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to implement this embodiment according to actual needs. In addition, the functional units in the embodiments of this disclosure 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.

Claims

1. A method for adaptive Flash control of Ethernet-SSD for network in-memory computing architecture, characterized in that, include: Step A: Network awareness. Real-time collection of network state parameters and prediction of network state parameters for the next moment based on historical data to form a network state vector. The network state parameters include round-trip time, bandwidth, and packet loss rate. The network state vector includes the weighted average round-trip time, bandwidth, packet loss rate for the current moment, and the predicted network state parameters for the next moment. Step B: Adaptive scheduling. Based on the network state vector and the tenant's service level protocol requirements, the Flash access strategy is dynamically adjusted. First, it is determined whether the network is congested. If so, read requests that are sensitive to latency are processed first, and write requests are batch merged. Otherwise, data prefetching is started to load potentially accessed data into the cache in advance and open all read and write channels to achieve parallel read and write and parallel processing of multiple requests. Second, the resource allocation ratio is dynamically adjusted according to the tenant weight. Step C, Collaborative Optimization: Based on the predicted network state parameters for the next moment in the network state vector, Flash read operations are initiated in advance, allowing the data access latency to overlap with the network transmission time, and large data blocks are split into multiple segments for parallel transmission.

2. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step A, the weighted average round-trip delay is calculated using the exponentially weighted moving average method. The calculation formula is as follows: , in The weighted average round-trip delay at the current moment. The weighted average round-trip delay of the previous moment. The round-trip delay sampled at the current moment. This is the weight decay coefficient.

3. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step A, a first-order autoregressive model is used to calculate the predicted network state parameters for the next time step. The calculation formula is as follows: , in The network state parameters for the next time step are predicted. These are the current actual network state parameters. These are the autoregressive coefficients. To predict the residual term.

4. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step B, when the predicted packet loss rate at the next moment is greater than a set threshold or the weighted average round-trip delay at the current moment is greater than a set threshold, the network is determined to be in a congested state.

5. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step B, independent Flash access queues, cache space, and network bandwidth are allocated to different tenants. The resource allocation ratio is dynamically adjusted using a weighted ratio based on the tenant's real-time load and priority. The calculation formula is as follows: , in For the bandwidth allocated to the i-th tenant, , Let be the priority weights of the i-th and j-th tenants, and n be the total number of tenants. The total available bandwidth is calculated using the predicted bandwidth for the next time step.

6. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step C, the advance initiation of the Flash read operation involves calculating the advance in start time. , , The weighted average round-trip delay for the predicted next time step. For flash read time, if >0, then advance Time-based flash read operation is initiated.

7. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: In step C, the number of segments k is selected based on the data size and the predicted available bandwidth. If the total data volume D is divided into k data segments for parallel transmission, the size of each data segment is... Transmission time is , To predict available bandwidth, a balance between latency and resource consumption is achieved by adjusting the value of k.

8. The Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture according to claim 1, characterized in that: It also includes step D, cache management. When the network is in a non-congested state, data prefetching is started to load potentially accessed data into the cache in advance. When the network is in a congested state, hot data is prioritized to be retained in the cache.

9. A Ethernet-SSD adaptive Flash control device for a network-in-memory computing architecture, characterized in that: It includes a network sensing module, which is used to collect network state parameters in real time and predict the network state parameters at the next moment based on historical data to form a network state vector. The network state parameters include round-trip time, bandwidth and packet loss rate. The network state vector includes the weighted average round-trip time, bandwidth, packet loss rate at the current moment and the predicted network state parameters at the next moment. The adaptive scheduling module is used to dynamically adjust the Flash access strategy based on the network state vector and the tenant's service level protocol requirements. First, it determines whether the network is congested. If so, it prioritizes processing read requests that are sensitive to latency and uses a batch merging method for write requests. Otherwise, it starts data prefetching, loads potentially accessed data into the cache in advance, and opens all read and write channels to achieve parallel read and write and parallel processing of multiple requests. Second, it dynamically adjusts the resource allocation ratio according to the tenant weight. The collaborative optimization module is used to initiate Flash read operations in advance based on the predicted network state parameters in the network state vector, so that the data access latency can overlap with the network transmission time, and to split large data blocks into multiple segments for parallel transmission. The cache management module is used to implement different levels of cache management based on network conditions. When the network is not congested, data prefetching is started to load potentially accessed data into the cache in advance. When the network is congested, hot data is prioritized to be retained in the cache.

10. A storage medium storing program instructions, characterized in that, When the program instructions are executed, they perform the Ethernet-SSD adaptive Flash control method for network-in-memory computing architecture as described in any one of claims 1 to 8.