I / O latency reduction system and method

The I/O latency reduction system addresses latency issues in storage systems by data striping and parallel processing, achieving reduced latency and improved system performance through optimized resource utilization and fault tolerance.

WO2025243294A1PCT designated stage Publication Date: 2025-11-27VOLUMEZ TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/IL2025/050424
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-20
Filing Date
2025-05-20
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

Latency issues in storage systems, particularly in cloud storage environments, impact system performance and user experience, especially in AI and ML operations, due to hardware limitations, data transfer rates, storage architecture, I/O operations, concurrency, and network latency, leading to reduced efficiency and increased operational costs.

Method used

An I/O latency reduction system that employs data striping of large I/O data segments into minimally sized segments, stored across different storage media, utilizing low granularity striping and parallel processing, with a benchmark engine to optimize latency and resource utilization, and incorporates erasure coding for redundancy.

Benefits of technology

Significantly reduces I/O latency by optimizing storage resource utilization and parallel processing, enhancing system performance and fault tolerance, while maintaining data integrity and reducing operational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IL2025050424_27112025_PF_FP_ABST
    Figure IL2025050424_27112025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided an I / O latency reduction system, comprising at: (i) least one computing platform comprising at least one storage volume having at least two storage media; (ii) a storage stack striping component designated to perform data striping of at least one large I / O data segment into several minimally sized I / O data segments, wherein the data striping is configured to logically segment and re / compose sequential data segments such that consecutive segments are stored on different storage media; and (iii) computing resources associated with each of the at least two storage media, wherein the data striping and storage of the minimally sized I / O data segments in different storage media is configured to be conducted parallelly, wherein the minimally sized I / O data segments are a obtained by a low granularity striping process, wherein the system is configured to increase amplification of the minimally sized IO data segments while replicating them, and wherein said data striping and re / composing is designated to be performed by the said computing resources associated with each of the at least two storage media.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] I / O LATENCY REDUCTION SYSTEM AND METHOD

[0002] FIELD OF THE INVENTION

[0003] The present invention generally relates to computing systems and methods having storage capabilities and, more particularly, to systems and methods designated to provide reduced latency capabilities of storage resource / s.

[0004] BACKGROUND OF THE INVENTION

[0005] Latency in storage systems may refer to the delay or latency experienced when accessing data stored on storage devices. There are several reasons for latency in storage systems, each with its own implications for system performance and user experience:

[0006] • Hardware limitations: The speed of storage devices, such as hard disk drives (HDDs), solid-state drives (SSDs), or network-attached storage (NAS) appliances, can impose latency. For example, HDDs have slower access times compared to SSDs due to mechanical components, leading to higher latency for read and write operations.

[0007] • Data transfer Rates: The rate at which data can be transferred between the storage device and the computer system affects latency. Higher data transfer rates result in lower latency, while slower transfer rates increase latency, especially for large data transfers. • Storage architecture: The architecture of the storage system, including the arrangement of storage devices, RAID configurations, and network topology, can impact latency. Complex storage architectures may introduce additional processing overhead or bottlenecks, leading to latency issues.

[0008] • I / O operations: The number and type of Input / Output (I / O) operations performed by applications and users can affect storage latency. High I / O workloads, especially random or small-sized I / O operations, can increase latency as the storage system processes multiple requests concurrently.

[0009] • Concurrency and contention: Concurrent access to storage resources by multiple users or applications can create contention and increase latency. Contentious access patterns, such as multiple users accessing the same file or storage volume simultaneously, can lead to queuing delays and higher latency.

[0010] • Network latency: In networked storage environments, such as cloud storage or NAS, network latency can contribute to overall storage latency. Factors such as network congestion, packet loss, and distance between the storage system and the client can impact latency.

[0011] Implications of latency in storage systems include reduced System Performance. High latency can degrade system performance, leading to slower response times for data access and retrieval operations. Significant latency may also cause decreased user experience, users may experience delays and sluggishness when interacting with applications or accessing files stored on latency-prone storage systems. Latency can impact the performance of latency- sensitive workloads, such as database transactions, real-time analytics, and video streaming, leading to disruptions or degradation in service quality. Another aspect may affect organizations that may incur higher operational costs due to the need for additional hardware resources or optimization efforts to mitigate latency issues in storage systems. Furthermore, latency-related performance issues can disrupt business operations, impact productivity, and affect customer satisfaction, leading to potential revenue loss or reputational damage.

[0012] This problem is especially pronounced in the context of artificial intelligence (Al) and machine learning (ML) training / inference operations training / inference operation, because the operation of said training / inference operations places demands on relevant databases that can often far exceed the capacity of a storage system. This is the case both for training - wherein an training / inference operation will demand significant data from a training dataset - and for other operations - wherein an training / inference operation will demand significant data from a vector database. As many of these training / inference operations are large language models (or other training / inference operations that operate similarly), the demand is fundamentally sequential, precluding many of the options taught in the art for parallel operation. [NBA- Please improve this section based on Yoni and Sergey's wording- for Al inference we need to use a vector DB (RAG) to be able to improve the model responses. This type of DB is highly sensitive to latency. And since their operations of the database must be down sequentially due to the multiple dimensions of the victor database there an impact of the latency impacts the total performance of the query such a system required, a high- performance storage system that can provide low latency that will involve the total equity sponsor ]

[0013] Node systems represent intersection / connection within an environment wherein all devices are accessible through a network. In a data communication network, a node refers to a distinct device or point that can send, receive, or route data. It is an essential component of the network infrastructure and can be any physical or virtual entity capable of transmitting, receiving, or processing information.

[0014] A particular type of a node system is a cloud storage systems wherein data is stored on instances that have revolutionized the way data is stored and accessed, offering scalable and flexible solutions for individuals and organizations. However, there are some common issues that plague these systems and may impact on performance, scalability, and user experience. Among these challenges, one might mention a challenge of ensuring performance level to a client

[0015] Distributed storage system orchestration requires an access and a communication path to its cloud storage services such as media and application servers, etc. According to some embodiments, this access should allow a distributed storage orchestration center to manage its composable storage building operation, free and occupied storage, telemetry, etc.

[0016] Cloud storage systems may refer to commitments or assurances made by cloud service providers regarding the level of performance users can expect from their storage services. These guarantees may have several benefits for both the cloud service provider and the users.

[0017] Auto-provisioning in the context of cloud storage may refers to the autonomous allocation and configuration of storage resources based on predefined policies or demand. Some of the advantages of auto-provisioning cloud storage instances may be:

[0018] • Scalability and flexibility: Auto-provisioning allows for dynamic scaling of storage resources based on changing workloads. This ensures that organizations can quickly adapt to increased storage demands without manual intervention. • Cost efficiency: Auto-provisioning helps optimize costs by ensuring that resources are allocated only when needed which may prevent overprovisioning and allows for efficient utilization of storage capacity, translating into potential cost savings.

[0019] • Resource optimization: The automation of provisioning ensures that resources are allocated based on predefined policies, optimizing the use of available storage capacity which may leads to better resource utilization and improved overall efficiency.

[0020] • Faster deployment: Auto-provisioning may speed up the deployment of storage instances, reducing the time it takes to allocate and configure resources. This agility may be beneficial for meeting fast-changing business requirements.

[0021] • Dynamic adjustments: Auto-provisioning allows for dynamic adjustments in response to fluctuating workloads. For example, resources can be automatically scaled up or down, ensuring optimal performance during peak demand and resource conservation during periods of low demand.

[0022] . A dynamic storage resources provisioner system and method disclosed in the present application represents a unique bundle of solutions designated to ensure (among others), performance guarantee, scalability and cost savings.

[0023] SUMMARY OF THE INVENTION

[0024] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, devices and methods which are meant to be exemplary and illustrative and not limiting in scope. In various embodiments, one or more of the above -described problems have been reduced or eliminated, while other embodiments are directed to other advantages or improvements.

[0025] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, devices and methods which are meant to be exemplary and illustrative and not limiting in scope. In various embodiments, one or more of the above -described problems have been reduced or eliminated, while other embodiments are directed to other advantages or improvements.

[0026] According to a first aspect of the invention, there is provided An I / O latency reduction system, comprising at: (i) least one computing platform comprising at least one storage volume having at least two storage media; (ii) a storage stack striping component designated to perform data striping of at least one large I / O data segment into several minimally sized I / O data segments, wherein the data striping is configured to logically segment and re / compose sequential data segments such that consecutive segments are stored on different storage media; and (iii) computing resources associated with each of the at least two storage media, wherein the data striping and storage of the minimally sized I / O data segments in different storage media is configured to be conducted parallelly, wherein the minimally sized I / O data segments are a obtained by a low granularity striping process, wherein the system is configured to increase amplification of the minimally sized IO data segments while replicating them, and wherein said data striping and re / composing is designated to be performed by the said computing resources associated with each of the at least two storage media. According to another aspect of the invention, the minimally sized I / O data segments are optimally sized, and / or wherein the minimally sized I / O data segments have low granularity levels of 4K. Determinations of the optimal size of the minimally sized I / O segments relate fundamentally to the demands on I / O and the storage characteristics - both in capacity and performance - of the storage media.

[0027] According to another aspect of the invention, the storage stack striping component is a Logical Volume Manager (LVM). Persons skilled in the art will appreciate that LVMs are software modules which may play a role in the division of data between different volumes of storage on different storage media, but that no LVM taught in the art provides storage stack striping function achieved by the storage stack striping component taught in the present invention.

[0028] According to another aspect of the invention, the system further comprises a benchmark engine designated to analyze expected optimal latency levels of the performance of the computing platform.

[0029] According to another aspect of the invention, the benchmark engine is configured to run various load tests and store the records gathered thereby in a catalog specifying the latency levels of the computing platform.

[0030] According to another aspect of the invention wherein the minimally sized I / O data segments have granularity levels of 4K.

[0031] According to another aspect of the invention, the I / O latency reduction system is configured to use a composable storage that utilizes distributed resource management in order to enable increase I / O amplification of the minimally sized I / O data segments. According to another aspect of the invention, the data striping and recompositing procedures are configured to enable optimization of storage resources, wherein said optimization is configured to create a storage volume having minimized latency levels.

[0032] According to another aspect of the invention, the benchmark engine is designated to analyze and monitor the performance of a storage media under heat generated during its operation and / or analyze and monitor the internal processes that initiate a garbage collection process.

[0033] According to another aspect of the invention, the I / O latency reduction system comprises at least one computing platform comprising a large number of storage media, wherein the striping procedure is configured to provide a large number of minimally sized I / O data segments.

[0034] According to another aspect of the invention, 32K I / O data segment is configured to be striped to 4K I / O data segments and distributed to 8 storage media, 16K I / O data segment is configured to be striped 4K I / O data segments and distributed to 4 storage media, etc.

[0035] According to another aspect of the invention, the I / O latency reduction system further comprising the use of eraser coding that provides parity.

[0036] According to another aspect of the invention, the I / O latency reduction system is configured to be used in databases.

[0037] BRIEF DESCRIPTION OF THE FIGURES

[0038] Some embodiments of the invention are described herein with reference to the accompanying figures. The description, together with the figures, makes apparent to a person having ordinary skill in the art how some embodiments may be practiced. The figures are for the purpose of illustrative description and no attempt is made to show structural details of an embodiment in more detail than is necessary for a fundamental understanding of the invention.

[0039] In the Figures:

[0040] FIG. 1 constitutes an illustration of a typical latency pyramid. FIGS. 2A & 2B constitute an illustration of a typical IO sizes and their effect on IOPS and latency performance.

[0041] FIG. 3 constitutes an illustration of a data striping process, according to some embodiments of the invention.

[0042] FIG. 4 constitutes a flow chart describing the I / O latency reduction system operations, according to some embodiments of the invention.

[0043] FIG. 5 constitutes a schematic illustration of a composable data infrastructure forming a part of the I / O latency reduction system, according to some embodiments of the invention.

[0044] FIG. 6A constitutes latency performance read test results, according to some embodiments of the invention. FIG. 6B constitutes latency performance write test results, according to some embodiments of the invention.

[0045] FIG. 6C constitutes a graphical illustration of latency performance read test results, according to some embodiments of the invention.

[0046] DETAILED DESCRIPTION OF SOME EMBODIMENTS In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components, modules, units and / or circuits have not been described in detail so as not to obscure the invention. Some features or elements described with respect to one embodiment may be combined with features or elements described with respect to other embodiments. For the sake of clarity, discussion of same or similar features or elements may not be repeated.

[0047] Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, “controlling” “processing,” “computing,” “calculating,” “determining,” “establishing”, “analyzing”, “checking”, “setting”, “receiving”, or the like, may refer to operation(s) and / or process(es) of a controller, a computer, a computing platform, a computing system, or other electronic computing device, that manipulates and / or transforms data represented as physical (e.g., electronic) quantities within the computer's registers and / or memories into other data similarly represented as physical quantities within the computer's registers and / or memories or other information non-transitory storage medium that may store instructions to perform operations and / or processes.

[0048] Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently. The term "Controller / Computing platform" as used herein, refers to any type of computing platform or component that may be provisioned with a Central Processing Unit (CPU) or microprocessors, and may be provisioned with several input / output (I / O) ports, for example, a general-purpose computer such as a personal computer, laptop, tablet, mobile cellular phone, controller chip, SoC or a cloud computing system.

[0049] The term “I / O amplification” as used herein, refers to an input / output (I / O) operation initiated by a host system results in the transfer of larger number of data segments or blocks between the host and the storage device. This amplification may occur due to various factors and can impact system performance, efficiency, and resource utilization. More particularly, write amplification (WA) is an undesirable phenomenon associated with flash memory and solid-state drives (SSDs) where the actual amount of information physically written to the storage media is a multiple of the logical amount intended to be written.

[0050] The term “Input / output I / O data” as used herein, refers to read and write I / Os as a fundamental operations performed by a computer system to access and manipulate data stored on storage devices. For example, a read operation involves retrieving data from a storage device and transferring it to the computer's memory or processing unit for further processing or consumption. During a read IO, the computer system requests specific data from the storage device, which then reads the requested data from its storage medium (such as a hard disk drive or solid-state drive) and transfers it to the system's memory or cache. A write operation involves storing data onto a storage device, replacing existing data or creating new data on the storage medium. During a write IO, the computer system sends data to the storage device, which then writes the data onto its storage medium, overwriting existing data blocks or allocating new storage space to accommodate the incoming data. The term “Erasure Coding” (EC) as used herein, refers to methods of data protection through which the data is broken into sectors. Then they are expanded and encoded with redundant data pieces and stored across different storage media. Erasure coding adds the redundancy to the system that tolerates failures. The term may also relate to redundant array of independent disks RAID 5 / 6 (wherein RAID 6 adding another parity block) which consists of block-level striping with distributed parity, wherein parity information is distributed among the drives. It requires that all drives but one be present to operate. Upon failure of a single drive, subsequent reads can be calculated from the distributed parity such that no data is lost.

[0051] The term “minimally sized I / O data segments” as used herein, refers to small or smallest unit of data that can be transferred between the host system and the storage device during I / O operations. This minimal size, often referred to as the "I / O block size" or "sector size," represents the granularity at which data is read from or written to the storage medium. The minimal size of UO data segments may be determined by factors such as the storage device's architecture, the underlying storage technology, and the file system used to organize and manage data, etc. Choosing an appropriate minimal size for I / O data segments is important for optimizing storage system performance, efficiency, and compatibility with various applications and workloads. It involves considerations such as balancing I / O throughput, latency, storage efficiency, and compatibility with storage device characteristics and requirements.

[0052] The term “Benchmark engine” as used herein, refers to a software tool or system component used to evaluate the performance, capabilities, and characteristics of the composable storage infrastructure. A benchmark engine may generate and executes a series of standardized tests, known as benchmarks, designed to measure various aspects of the composable storage system. Benchmark engines provide valuable insights into the performance characteristics and capabilities of composable storage systems.

[0053] The term “Al / ML training / inference operation,” as used herein, refers to any computer- implemented logic, model, or method configured to perform one or more tasks by processing input data through a set of defined operations, wherein the training / inference operation includes artificial intelligence (Al) or machine learning (ML) techniques. Such techniques may comprise, but are not limited to, supervised learning, unsupervised learning, reinforcement learning, deep learning, or rule-based decision systems. The Al / ML training / inference operation may be configured to iteratively adjust internal parameters based on training data to improve performance on a given task, and may generate predictive, classification, clustering, optimization, or generative outputs. The training / inference operation may be embodied in software, hardware, or a combination thereof, and may be executed by one or more computing platforms.

[0054] According to some embodiments, the I / O latency reduction system comprises at least one computing platform itself / themselves comprising at least storage media on which an Al data infrastructure is stored. An example of said data infrastructure may be a vector database, a data lake, a training dataset, or some other data substrate upon which one or more Al training / inference operations operated by the at least one computing system either for training, calculation, or some other operation.

[0055] Reference is now made to FIG. 1, which illustrates a typical latency pyramid 10. As shown, a cloud storage pyramid comprising various known storage tiers, each tier offers different latency standards to meet diverse performance and accessibility requirements. Various latency standards associated with each tier, includes: RAM (Random Access Memory) tier 100: RAM provides the lowest latency among all storage tiers in the pyramid, measured in nanoseconds (ns) such as 10 ns or microseconds (ps). Accessing data from RAM is exceptionally fast due to direct memory access by the CPU. RAM is commonly used for caching frequently accessed data and temporary storage of application data during runtime.

[0056] Ephemeral Local SSD (Solid-State Drives) tier 102: Ephemeral local SSD storage offers low latency compared to persistent storage options. Latency in local SSDs is typically measured in microseconds (ps) such as 70 ps or low milliseconds (ms). Ephemeral SSDs provide fast read and write speeds, making them suitable for applications requiring high-performance storage with low latency, such as database workloads and temporary data storage.

[0057] Both RAM and Ephemeral Local SSD cannot be moved and are restricted to the server. Moreover, a reboot or power shortage will erase the data stored upon them.

[0058] Composable Storage Local-Like Latency tier 104: Composable storage with local-like latency aims to reduce latency further, providing performance similar to or approaching that of local SSDs. Latency in composable storage with local-like latency is typically measured in low milliseconds (ms) or sub-milliseconds (sub-ms) such as 85 ps, offering fast access to data with minimal overhead.

[0059] Composable Storage tier 106: Composable storage solutions offer latency comparable to managed disk storage, typically measured in milliseconds (ms) or microseconds such as 350 ps for read and write operations. Composable storage allows for the dynamic allocation and reallocation of storage resources to meet changing workload demands, providing flexibility without sacrificing performance. Managed Disk (Persistent Disk - SSDs or HDDs) tier 108: Managed disk storage, including Persistent Disk with SSDs or HDDs, offers moderate to low latency compared to RAM and local SSDs. Latency in SSD-based persistent disks is typically measured in milliseconds (ms) such as > 1 ms, while latency in HDD-based persistent disks is higher, typically ranging from milliseconds to tens of milliseconds (10-100 ms).

[0060] Object Store (Cloud Storage Services) tier 110: Object storage services, such as Amazon S3, Google Cloud Storage, or Azure Blob Storage, offer higher latency compared to managed disk storage. Latency in object storage is measured in milliseconds (ms) such as >10 ms. This higher latency is primarily due to the distributed nature of object storage systems and the need for network communication between clients and storage servers.

[0061] Overall, the latency standards of a known cloud storage pyramid vary across different tiers, with RAM offering the lowest latency. In standard and known storage systems such as the one disclosed above, operators often leverage a combination of storage tiers to optimize performance and cost-effectiveness for their use cases.

[0062] Reference is now made to FIG. 2A and 2B, which illustrate a typical data sizes and their effect on IOPS and latency performance, according to some embodiments of the invention. As shown, different data reading sizes and their typical IOPS reading speed has a direct effect on latency. For example, reading relatively small data fragment such as an I / O size of 4K has a latency of 70-85 ps, etc. Reading a data fragment such as an I / O size of 16K has a latency of 150 ps, etc.

[0063] Reference is now made to FIG. 3, which illustrates a typical I / O sizes and their effect on latency performance, according to some embodiments of the invention. As shown, a data fragment of an 1 / 0 size of 16K 200 may be divided to 4 fragments of an 1 / 0 size of 4K 202. In this method, 4 readings are conducted instead of 1 reading.

[0064] According to some embodiments, any level of fragmentation may be conducted in order to split a large data fragment to smaller data fragments. According to some embodiments, each of the fragments of data may be stored in separated storage media. For example and as disclosed above, reading relatively small data fragment such as an I / O size of 4K may have a latency of 70ps, wherein reading a large data fragment of an I / O size of 16K may have a latency of 150 ps, etc.

[0065] According to some embodiments, the striping process of the large data fragment into smaller data fragment does not increase latency as further disclosed below.

[0066] Reference is now made to FIG. 4, which illustrates a flow chart describing the operation of the I / O latency reduction system, according to some embodiments of the invention. As shown, An I / O latency reduction system may comprise a computing platform, which in turn may comprise storage volume having at least two storage media and a storage stack striping component designated to perform data striping of a large I / O data segment into several minimally sized I / O data segments, wherein the data striping operation 400 is configured to logically segment sequential data segments so that consecutive segments are stored on different storage media in operation 402.

[0067] According to some embodiments, the data striping and storage thereof in different storage media is configured to be parallelly conducted. According to some embodiments, the system is configured to increase amplification of minimally sized 10’s in order to reduce general latency of the system. According to some embodiments, the minimally sized I / O data segments are a result of a low granularity striping process, wherein low granularity may refer to the practice of dividing data into smaller, more fine-grained units for distribution across multiple storage devices or disks. Choosing an appropriate minimal size for I / O data segments is important for optimizing storage system performance, efficiency, and compatibility with various applications and workloads. It involves considerations such as balancing I / O throughput, latency, storage efficiency, and compatibility with storage device characteristics and requirements.

[0068] According to some embodiments, when data striping is performed with low granularity, each individual data unit, or stripe, is relatively small in size. This means that a single file or dataset is divided into numerous small segments, and each segment is stored on a different storage device within a striped volume or RAID. Low granularity striping may offer several potential benefits:

[0069] • Improved performance: By distributing data across multiple storage devices at a finegrained level, low granularity striping can enhance read and write performance. This is because multiple disks can work concurrently to access or modify different segments of the data, allowing for parallelism and increased throughput.

[0070] • Enhanced load balancing: Low granularity striping helps distribute data and workload evenly across all disks in the storage system. This can prevent hotspots or bottlenecks from forming on individual disks, leading to more balanced system performance.

[0071] • Increased fault tolerance: In RAID configurations, low granularity striping can enhance fault tolerance by spreading data and parity information across multiple disks. This reduces the likelihood of data loss in the event of a disk failure, as the loss of any single disk does not necessarily result in the loss of entire files or datasets.

[0072] According to some embodiments, striping the large I / O data segment to minimally sized I / O data segments and composing said data segments by the system in operation 404 enables achieving lower latency through utilization of computing resources associated with each of the at least two storage media.

[0073] Reference is now made to FIG. 5, which illustrates a composable data infrastructure system forming a part of the I / O latency reduction system, according to some embodiments of the invention. As shown, multiple media storages 300 are designated to host the smaller data fragments created from the large data fragment wherein each smaller data fragment is designated to be hosted on a different media storage 300. According to some embodiments, since every reading of small data fragment is conducted using a different storage media, the I / OPS latency may be kept minimal. For example, the reading time of each smaller data fragment of an I / O size of 4K may be kept minimal.

[0074] An example for a possible flow using the method described above may be: a data striping procedure is conducted in software stack 302 that may send the striped data (or smeller data fragments) to different media storages 300, when the data fragments are read from various and different media storage media 300.

[0075] As previously disclosed, a data striping procedure may be conducted as part of the invention and involve dividing data into smaller segments or "stripes" and distributing these stripes across multiple storage devices or nodes in a distributed storage system. This process improves both performance and reliability by parallelizing data access and enabling redundancy and may comprise the following steps:

[0076] • Dividing Data into Stripes: The original data (such as an I / O sizes of 16K, 32K, etc.) is divided into fixed-size or variable-size segments called stripes. Each stripe contains a portion of the data, and the total number of stripes determines the level of parallelism in data access.

[0077] • Distributing stripes across storage nodes: The stripes are distributed across multiple storage nodes or disks in the cloud storage system. Each stripe is stored on a different storage device, and the distribution may follow different training / inference operations such as round-robin, hash-based, or random distribution.

[0078] • Stripe placement and redundancy: In addition to distributing stripes, redundancy mechanisms such as parity or erasure coding may be employed to ensure data availability and fault tolerance. Redundant stripes are generated and stored across different storage nodes to withstand node failures or data corruption.

[0079] • Parallel access and retrieval: When data is accessed or retrieved, parallel I / O operations are performed across multiple storage nodes simultaneously. This parallel access improves data transfer rates and reduces access latency, enhancing overall system performance.

[0080] According to some embodiments, in order to compose the original data from its striped segments, a reverse process known as data reconstruction or data reassembly may be performed. The formula needed for composing the data again depends on the striping algorithm and redundancy scheme used. However, a common formula for data reconstruction in a RAID (Redundant Array of Independent Disks) system employing striping with parity is the XOR operation may be:

[0081] Wherein in the formula above: Dataoriginairepresents the original data that needs to be reconstructed; Stripei, Stripes, Stripes, ... Stripenrepresent the individual data stripes and ® denotes the XOR (exclusive OR) operation, which is used to combine the data stripes to reconstruct the original data.

[0082] According to some embodiments, different formulas or algorithms may be employed for data reconstruction. These formulas typically involve mathematical operations such as XOR, addition, or multiplication, depending on the specific requirements and characteristics of the cloud storage system.

[0083] According to some embodiments, a typical system is limited in its architectures regarding I / O and the disclosed data striping is designated to reduce the workload on each storage media 300, and hence significantly reduce latency.

[0084] According to embodiments, the striping is conducted using a logical volume manager LVM (not shown), for example, a Linux LVM2 is designated to conduct a striping and reconstruction of the data fragments. According to embodiments, a low granularity is preferred in order to enable a constant LB A addresses representing, for example, an I / O size of 16K data fragments and the smaller data fragments (such as an I / O size of 4K) stripes from it. According to embodiments, harnessing the latency improvements as disclosed above may be conducted in both cloud storages systems and on-premises systems.

[0085] According to some embodiments, a benchmark engine may be configured to calculate a pre-striping optimal smaller data fragments that optimally reduces latency.

[0086] In the field of storage, the smaller data fragment of an I / O size of 4K is considered as the smallest data that can be read in a database. According to some embodiments, a transaction time may be significantly shortened due to the striping procedure disclosed above.

[0087] Reference is now made to FIGS. 6A, which illustrates latency performance read test results designated to demonstrate latency reduction achieved, according to some embodiments of the invention. As shown, the results of the experiment exhibit a reduction in latency in a database, having a profound effect on its performance. For example, table 1 discloses various I / O sizes such as 4K, 8K,16K and 32K and their latency performance. Table 2 discloses various I / O sizes such as 4K, 8K,16K and 32K while they are sliced to smaller I / O sized such as 4K.

[0088] As can be seen, as the I / O sizes are larger, a more significant improvement in latency average is noticed when they are sliced into smaller I / O sizes. For example, when a 16K I / O data size has an average latency of 112.1 instead of 144, etc.

[0089] According to some embodiments, said latency performance read test has been conducted using FIO workload simulation software. FIO, short for Flexible I / O Tester, is a versatile software tool used for benchmarking and testing the performance of storage devices and systems. It enables users to simulate different types of RO workloads and measure metrics such as throughput, latency, and IOPS (Input / Output Operations Per Second). FIO offers extensive customization options, allowing users to tailor tests to specific requirements and scenarios.

[0090] According to some embodiments, said striping conducted for the latency performance read tests has been conducted by a Logical Volume Management LVM component.

[0091] Reference is now made to FIG. 6B, which illustrates latency performance write test results designated to demonstrate latency reduction achieved, according to some embodiments of the invention. As shown, the experiments results exhibit a reduction in latency in a database, has a profound effect on its performance. For example, table 1 discloses various I / O sizes such as 4K, 8K,16K and 32K and their latency performance. Table 2 discloses various I / O sizes such as 4K, 8K, 16K and 32K while they are sliced to smaller I / O sizes such as 4K.

[0092] As can be seen, as the I / O sizes are larger, a more significant improvement in latency average is noticed when they are sliced into smaller I / O sizes. For example, when a 16K I / O data size has an average latency of 23.6 instead of 43, etc.

[0093] According to some embodiments, said latency performance read test has been conducted by a FIO workload simulation software. FIO, short for Flexible I / O Tester, is a versatile software tool used for benchmarking and testing the performance of storage devices and systems. It enables users to simulate different types of I / O workloads and measure metrics such as throughput, latency, and IOPS (Input / Output Operations Per Second). FIO offers extensive customization options, allowing users to tailor tests to specific requirements and scenarios.

[0094] According to some embodiments, said striping conducted for the latency performance write tests has been conducted by a Logical Volume Management LVM component. Reference is now made to FIGS. 6C, which graphically illustrates latency performance read test results designated to demonstrate latency reduction achieved, according to some embodiments of the invention. As shown, the X axis indicates the I / O sizes tested and the Y axis indicates latency levels. According to some embodiments, the lower line depicted in the graph refers to a large I / O data segment. The upper line depicted in the graph refers to a large I / O data segment that have been striped to multiple minimally sized I / O data segments. As shown, reduced latency levels are achieved as the I / O sizes are smaller.

[0095] Although the present invention has been described with reference to specific embodiments, this description is not meant to be construed in a limited sense. Various modifications of the disclosed embodiments, as well as alternative embodiments of the invention will become apparent to persons skilled in the art upon reference to the description of the invention. It is, therefore, contemplated that the appended claims will cover such modifications that fall within the scope of the invention.

Claims

CLAIMS1. An I / O latency reduction system, comprising:(i) at least one computing platform comprising at least one storage volume having at least two storage media,(ii) a storage stack striping component designated to perform data striping of at least one large I / O data segment into several minimally sized I / O data segments, wherein the data striping is configured to logically segment and re / compose sequential data segments such that consecutive segments are stored on different storage media, and(iii) computing resources associated with each of the at least two storage media, wherein the data striping and storage of the minimally sized I / O data segments in different storage media is configured to be conducted in parallel, wherein the minimally sized I / O data segments are obtained by a low granularity striping process, wherein the system is configured to increase amplification of the minimally sized I / O data segments while replicating them, and wherein said data striping and re / composing is designated to be performed by the said computing resources associated with each of the at least two storage media.

2. The system of claim 1 , wherein the minimally sized I / O data segments are optimally sized.

3. The system of claim 1, wherein the storage stack striping component is a Logical Volume Manager (LVM).

4. The system of claim 1 , wherein the system further comprises a benchmark engine designated to analyze an expected optimal latency levels of the system.

5. The system of claim 4, wherein the benchmark engine is configured to run various load tests and store the records gathered thereby in a catalog specifying the latency levels of the computing platform.

6. The system of claim 1, wherein the minimally sized I / O data segments have granularity levels of 4K.

7. The system of claim 1, wherein the system is configured to use a composable storage that utilizes distributed resource management in order to enable increased I / O amplification of the minimally sized I / O data segments.

8. The system of claim 1, wherein said data striping and re / composing is configured to enable optimization of storage resources.

9. The system of claim 8, wherein the optimization of storage resources is configured to create a storage volume having minimized latency levels.

10. The system of claim 4, wherein the benchmark engine is designated to analyze and monitor the performance of a storage media under heat generated during its operation and / or analyze and monitor the internal processes that initiate a garbage collection process.

11. The system of claim 1 , wherein the I / O latency reduction system comprises at least one computing platform comprising a large number of storage media and wherein the striping procedure is configured to provide a large number of minimally sized I / O data segments.

12. The system of claim 11, wherein 32K I / O data segment is configured to be striped to 4K I / O data segments and distributed to 8 storage media.

13. The system of claim 11, wherein 16K I / O data segment is configured to be striped 4K I / O data segments and distributed to 4 storage media.

14. The system of claim 1, further comprising the use of eraser coding that provides parity.

15. The system of claim 1, wherein the storage volume is solid-state drive (SSD) based.

16. The system of claim 1, wherein the storage volume is storage class memory (SCM) based.

17. The system of claim 1, wherein the I / O latency reduction system is configured to be used in databases.

18. The system of claim 1, wherein the storage media comprises data infrastructure utilizable by at least one Al / ML training / inference operated by the at least one computing platform.

19. The system of claim 18, wherein the data infrastructure comprises at least one vector database.

20. The system of claim 19, wherein the at least one Al / ML training / inference operates the vector database to perform calculations and present results within the at least one computing platform or21. The system of claim 18, wherein the data infrastructure comprises at least one training dataset.

Citation Information

Patent Citations

  • Efficient erasure-coded storage in distributed data systems

    US20210382858A1

  • Increasing data performance by transferring data between storage tiers using workload characteristics

    US20230176763A1