Flash Memory Parity Update via Logical-Physical Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In nonvolatile semiconductor memory systems like flash memory, the limited number of block erases leads to increased data errors and reduced lifespan due to the need for frequent writes and erases, which is exacerbated by the inability to rewrite data directly, resulting in inefficient parity management and reduced storage capacity.

Innovation Solution

A storage apparatus with a control device that manages nonvolatile semiconductor memory chips by storing transformation information to associate physical and logical areas, allowing updated user data and parity data to be written to new physical areas, reducing the need for frequent parity updates and minimizing the number of writes to the memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is updated in flash memory by rewriting parity data, then data reliability is improved, but the number of block erases increases and memory lifespan deteriorates

Engineering Contradiction:
Improvedata reliabilityVSAvoidmemory lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The flash memory is divided into multiple blocks (first block, second block, third block) that can be independently managed. When data is updated, only the necessary blocks are erased and rewritten, rather than erasing all blocks containing parity data. This segmentation allows selective updates that reduce the total number of erases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining transformation information that maps logical addresses to physical addresses before updates are needed. This allows the control device to identify exactly which blocks contain valid data and which contain outdated parity, enabling targeted updates rather than blanket erasures of all parity blocks.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If parity data is rewritten frequently to maintain data integrity, then data integrity is improved, but the number of write operations increases and performance deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidstorage performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The control device maintains transformation information in advance that records the correspondence between logical addresses and physical addresses. This preliminary mapping allows the system to quickly identify which parity data is valid and which is outdated without performing frequent read-verify-write operations, thereby improving storage performance while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If all physical areas are used for data storage without redundancy, then storage capacity is maximized, but reliability deteriorates when sudden failures occur

Engineering Contradiction:
Improvestorage capacityVSAvoidfailure resistance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system applies local quality by designating specific blocks (such as the third block) as parity storage areas while other blocks store user data. This creates different functional zones within the flash memory, where parity blocks provide redundancy protection for data blocks without significantly reducing overall storage capacity, as parity information is compact and can be efficiently managed.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9891989B2Storage apparatus, storage system, and storage apparatus control method for updating stored data stored in nonvolatile memory
Publication Date: 2018.02.13 HITACHI VANTARA LTD
  • US9891989B2 patent drawing
  • US9891989B2 patent drawing
  • US9891989B2 patent drawing

AI summary

A control device stores information associating each of a plurality of physical areas with a plurality of logical areas. The control device respectively stores a plurality of first user data included in a first stripe and a first parity data created on the basis thereof in each of the plurality of physical areas, and, in accordance with receiving a write request for updated user data that updates the user data, which is stored in a first physical area, for a first logical area associated with the first physical area, creates a second parity data on the basis of a data group formed using the updated user data and a plurality of second user data that differs from the plurality of first user data.