Prefetch Buffer Memory Interface for Read Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage devices face challenges in reducing latency for memory read transactions, particularly in applications requiring high data availability and low latency, such as enterprise databases and on-demand video streaming, due to limitations in existing storage solutions like hard disk drives and network bandwidth.

Innovation Solution

A storage apparatus with a memory interface that allocates a prefetch buffer from a set of buffers, including a data register from a flash device, to perform internal read operations and store data as prefetch data, allowing for subsequent forwarding transactions with reduced latency when the same data is requested again.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is read directly from mass storage devices like hard disk drives, then large data capacity is provided, but memory read transaction latency is high

Engineering Contradiction:
Improvedata capacityVSAvoidmemory read transaction latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements a prefetch buffer that proactively loads data from mass storage devices into high-speed memory buffers before actual read requests arrive. This preliminary action stores frequently accessed or predictably needed data in advance, so when a read request comes in, the data is already available in fast memory, dramatically reducing read latency while maintaining access to large storage capacity

Inventive Principle:
Principle #10Preliminary action

2Speed

If network bandwidth is increased to improve data availability, then data transfer speed improves, but system complexity and cost increase

Engineering Contradiction:
Improvedata transfer speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a prefetch buffer as an intermediary layer between the host and mass storage devices. This buffer acts as a local cache that mediates data transfer operations, allowing the system to serve read requests from fast local memory rather than relying on slow network or disk operations, thereby improving effective data transfer speed without increasing network bandwidth or system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If prefetch buffers are allocated from dedicated memory, then read latency is reduced, but available memory for other operations decreases

Engineering Contradiction:
Improveread latencyVSAvoidavailable memory
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent makes the prefetch buffer multi-functional by allowing it to serve dual purposes: it acts as a prefetch cache for reducing read latency while also functioning as general-purpose memory when not being used for prefetching. The buffer can be dynamically allocated from available memory resources and repurposed for other operations when prefetching is not needed, maximizing memory utilization efficiency

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The prefetch buffer implementation is dynamic rather than static. The buffer size and allocation are adjusted based on actual system needs and available memory resources. The buffer can be allocated, deallocated, and reallocated dynamically, allowing the system to optimize between prefetch performance and available memory for other operations according to current workload conditions

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10552050B1Multi-dimensional computer storage system
Publication Date: 2020.02.04 BITMICRO LLC
  • US10552050B1 patent drawing
  • US10552050B1 patent drawing
  • US10552050B1 patent drawing

AI summary

In an embodiment of the invention, an apparatus comprises: a multi-dimensional memory that is expandable in a first direction; wherein the multi-dimensional memory comprises a serial chain; wherein the serial chain comprises a first serial chain that is expandable in a first direction; and wherein the first serial chain comprises a first memory controller, a first memory module coupled to the first memory controller, a second memory controller coupled to the first memory controller, and a second memory module coupled to the second memory controller. In another embodiment of the invention, a method comprises: providing a multi-dimensional memory that is expandable in a first direction; wherein the multi-dimensional memory comprises a serial chain; wherein the serial chain comprises a first serial chain that is expandable in a first direction; and wherein the first serial chain comprises a first memory controller, a first memory module coupled to the first memory controller, a second memory controller coupled to the first memory controller, and a second memory module coupled to the second memory controller. Data can be stored into the serial chain, wherein the data is written by a memory transaction from a host.