Memory Tile Array with Predictable Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory technologies with long write latencies result in unpredictable read latencies due to the time required for write operations, which can cause tail latency when read operations follow write operations, especially in non-volatile memory technologies like NAND flash, FeRAM, MRAM, PCM, and RRAM.

Innovation Solution

A memory system with control logic that allows simultaneous writing to multiple tiles and reading from an entire row, while generating parity bits for error correction and wear leveling, enabling efficient cache line operations and reducing wear on memory cells by rotating parity locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write operations are performed on non-volatile memory cells, then data is stored reliably, but read latency becomes unpredictable and increases due to long write completion times

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidread latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory system divides the memory array into multiple independent tiles organized in rows and columns. Each tile can be independently accessed for read or write operations. This segmentation allows the system to perform read operations on tiles that are not currently being written to, thereby achieving predictable read latency even when other tiles are undergoing write operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a two-dimensional tile organization (N rows × M columns) with independent row and column decoders. This dimensional structure enables simultaneous read and write operations by selecting different rows or columns, effectively adding spatial dimensionality to operation scheduling and eliminating the sequential dependency between reads and writes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Stability of the object's composition

If read operations wait for write operations to complete, then data consistency is maintained, but tail latency increases significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidtail latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-positioning data in appropriate tiles and using independent row/column decoders to prepare read paths before write operations complete. The control logic can initiate read operations on independent tiles without waiting for write completion, maintaining data consistency through the architectural design rather than sequential waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control logic acts as an intermediary that manages the complexity of simultaneous read and write operations. It tracks which tiles are being written to and routes read operations to independent tiles, mediating between the need for data consistency and the desire for low latency by making intelligent routing decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple cache lines are written simultaneously to different tiles, then write throughput increases, but system complexity increases due to coordination requirements

Engineering Contradiction:
Improvewrite throughputVSAvoidcontrol coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory array is segmented into N rows and M columns of independent tiles, each with its own decode logic. This segmentation allows the control logic to issue write commands to multiple tiles simultaneously by simply selecting different row-column intersections, achieving high write throughput without complex coordination because each tile operates independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The tile structure serves multiple functions: it can be independently read from, written to, or have parity generated for it. Each tile is a universal unit that can participate in various operations, simplifying control logic because the same basic structure handles all operations uniformly without requiring specialized coordination mechanisms.

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

4Reliability

If parity bits are generated for error correction, then data reliability improves, but write operations take longer due to additional processing

Engineering Contradiction:
Improveerror correction capabilityVSAvoidwrite operation duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

Parity bits are generated as a preliminary action during the write operation to the same tile. The control logic generates parity for a tile as it writes data to that tile, rather than as a separate subsequent step. This preliminary generation of parity within the same operation window does not extend the overall write completion time while still providing error correction capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11775442B2Memory system with a predictable read latency from media with a long write latency
Publication Date: 2023.10.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11775442B2 patent drawing
  • US11775442B2 patent drawing
  • US11775442B2 patent drawing

AI summary

Systems and methods related to a memory system with a predictable read latency from media with a long write latency are described. An example memory system includes an array of tiles configured to store data corresponding to a cache line associated with a host. The memory system further includes control logic configured to, in response to a write command from a host, initiate writing of a first cache line to a first tile in a first row of the tiles, a second cache line to a second tile in a second row of the tiles, a third cache line to a third tile in a third row of the tiles, and a fourth cache line in a fourth row of the tiles. The control logic is configured to, in response to a read command from the host, initiate reading of data stored in an entire row of tiles.