Memory Sub-System File System Manager via CXL

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems struggle to efficiently provide both memory and storage services over a physical connection, limiting their ability to manage data effectively and respond to memory access requests in a timely manner.

Innovation Solution

A memory sub-system configured to allocate a portion of its volatile and non-volatile memory to provide cache-coherent memory services and storage services, using Compute Express Link (CXL) protocols to enable load/store instructions at a byte level and read/write commands at a block level, allowing for efficient data management and access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a memory sub-system provides both memory and storage services over a physical connection, then service versatility is improved, but system complexity increases

Engineering Contradiction:
Improveservice versatilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory sub-system is designed to provide both memory services and storage services through a single physical connection interface. The same memory devices can be accessed via memory access protocols for memory services or via file system commands for storage services, making the system multi-functional and versatile without requiring separate dedicated hardware paths for each service type.

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

Solution Approach 2:

A file system manager is introduced as an intermediary component that handles file system operations and translates them into appropriate memory or storage commands. This mediator layer manages the complexity of providing dual services by abstracting the underlying implementation details and coordinating access to memory devices according to the requested service type.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If volatile memory is used for fast access, then access speed is improved, but data loss risk during power failure increases

Engineering Contradiction:
Improveaccess speedVSAvoiddata loss risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system continuously monitors and manages data across volatile and non-volatile memory regions. A paging system actively swaps data between these regions based on access patterns and system state, ensuring that frequently accessed data remains in fast volatile memory while maintaining the ability to recover from power failures by restoring data from non-volatile storage.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system dynamically changes the state and accessibility of memory regions by implementing a paging mechanism. Data can be paged in from non-volatile memory to volatile memory for fast access, and paged out when no longer needed. This parameter change in memory accessibility allows the system to optimize for speed when data is active while ensuring reliability through persistent storage.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If non-volatile memory is used for data persistence, then reliability is improved, but access speed deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The memory space is segmented into multiple regions, with some portions residing in volatile memory for fast access and others in non-volatile memory for persistence. The file system manager and paging system work together to manage these segments, allowing the system to provide both fast access to active data and reliable persistence for all data without requiring the entire memory space to have both properties simultaneously.

Inventive Principle:
Principle #1Segmentation

4Productivity

If a file system manager is implemented in the memory sub-system, then data management efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata management efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The file system manager is implemented directly within the memory sub-system, enabling it to autonomously manage file system operations without requiring external host system intervention for many operations. This self-service capability improves data management efficiency by handling file creation, deletion, and data organization locally, reducing the need for complex host-system-side file system implementations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240289270A1Data Storage Devices with File System Managers
Publication Date: 2024.08.29 MICRON TECHNOLOGY INC
  • US20240289270A1 patent drawing
  • US20240289270A1 patent drawing
  • US20240289270A1 patent drawing

AI summary

Memory sub-systems configured to run file system managers and to provide file services via memory services. For example, a connection from a memory sub-system to the host system can support both a cache-coherent memory access protocol to a memory device attached by the memory sub-system to the host system and a storage access protocol to a storage device attached by the memory sub-system to the host system. A messaging channel through the memory device can be used for an operating system running in the host system to communicate with a file system manager running in the memory sub-system to access the file system. For example, a hypertext transfer protocol (HTTP) representational state transfer (REST) application programming interface (API) can be implemented for the host system to access the file system in the memory sub-system.