UMA Host Memory Cache CRC Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Unified Memory Architecture (UMA) systems, there is a need for efficient data transfer and error detection mechanisms between a host and a memory system, particularly in scenarios where data is cached and transferred between volatile and nonvolatile memory areas, to ensure data integrity and manage memory resources effectively.

Innovation Solution

The implementation of a host and memory system architecture that includes a volatile memory with a cache area, a first host control unit for computing and storing redundant codes, and a second host control unit for error detection and data transfer, utilizing CRC codes for error detection and management, with DMACs and CRC generators/detectors to facilitate command and data transfer between the host and memory system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between host and memory system in UMA architecture, then data transfer efficiency is improved, but error detection capability deteriorates

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiderror detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by computing CRC codes in advance before data transfer occurs. The first host control unit computes a first code (CRC) for data to be written to the device area, and the second host control unit reads a second code (CRC) before transferring data back from the device area. This preliminary error code computation and verification ensures data integrity is established before transfer operations begin, resolving the contradiction between transfer efficiency and error detection capability.

Inventive Principle:
Principle #10Preliminary action

2Speed

If volatile memory is used as cache area for nonvolatile memory, then data access speed is improved, but data integrity reliability deteriorates

Engineering Contradiction:
Improvedata access speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the second host control unit reads error codes (CRC) from the device area and performs error detection on transferred data. This feedback loop verifies data integrity after transfer operations, allowing the system to maintain the speed benefits of volatile memory caching while ensuring data integrity through post-transfer verification and error detection feedback.

Inventive Principle:
Principle #23Feedback

3Reliability

If redundant codes are stored with data in device area, then error detection capability is improved, but memory space utilization deteriorates

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by storing error codes (CRC) specifically in the device area of the volatile memory, which is the localized region used for caching nonvolatile memory data. This targeted approach ensures error detection capability is enhanced precisely where data caching occurs, while minimizing the impact on overall memory space utilization by confining redundant code storage to the necessary device area rather than expanding it system-wide.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9569303B2Information processing apparatus
Publication Date: 2017.02.14 KIOXIA CORP
  • US9569303B2 patent drawing
  • US9569303B2 patent drawing
  • US9569303B2 patent drawing

AI summary

According to one embodiment, an information processing apparatus includes a host and a memory system. The memory system includes a nonvolatile memory. The host includes a volatile memory, a first host control unit, and a second host control unit. The volatile memory includes a first area to be used by the host and a second area as a cache memory to temporarily store data of the nonvolatile memory. The first host control unit computes a first code, and stores the first data and the first code in the second area. The first code is redundant information of the first data. The second host control unit reads second data and a second code from the second area, performs error detection on the second data based on the second code, and transfers the second data. The second code is redundant information of the second data.