Flash Memory Storage Management with Dynamic Spare Block Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face inefficiencies in rewriting data due to the difficulty in rewriting only a portion of data stored in blocks, leading to high processing loads during garbage collection, which hinders other processing tasks like data downloading.

Innovation Solution

A storage management system that includes spare blocks, area detection, data-set writing, block releasing, and block changing mechanisms to optimize data storage by dynamically reallocating data and freeing up space, reducing the need for extensive garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is performed to rewrite data in flash memory blocks, then data storage capability is maintained, but processing load increases and responsiveness decreases

Engineering Contradiction:
Improvedata storage capabilityVSAvoidresponsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by detecting the size of writable areas in advance before data acquisition occurs. This allows the system to proactively identify available storage space and prepare for incoming data, avoiding the need for urgent garbage collection operations that would hinder responsiveness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically manages block states by changing blocks between usable and spare states based on real-time storage conditions. This dynamic adjustment allows the system to optimize between maintaining data storage capability and preserving responsiveness by activating spare blocks only when necessary.

Inventive Principle:
Principle #15Dynamics

2Reliability

If garbage collection transfers large amounts of data, then necessary data is preserved, but processing load increases and other tasks are hindered

Engineering Contradiction:
Improvedata preservationVSAvoidprocessing load
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

Instead of performing complete garbage collection on entire blocks, the system takes partial action by detecting and utilizing only the necessary writable portions of blocks. This reduces the amount of data that needs to be transferred while still preserving all necessary data, thereby lowering processing load.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system introduces an intermediary mechanism (spare blocks) that acts as a buffer between data preservation requirements and processing load. By using pre-designated spare blocks for data relocation, the system reduces the urgency and volume of garbage collection operations needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If spare blocks are used to store new data sets, then storage flexibility increases, but available writable area in usable blocks decreases

Engineering Contradiction:
Improvestorage flexibilityVSAvoidwritable area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The system changes the parameter of block states by dynamically transitioning blocks between usable and spare states. This allows flexible adjustment of storage capacity parameters to match actual data acquisition needs, optimizing the balance between storage flexibility and available writable area.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12019886B2Storage management apparatus, storage management method, and program
Publication Date: 2024.06.25 SONY INTERACTIVE ENTERTAINMENT LLC
  • US12019886B2 patent drawing
  • US12019886B2 patent drawing
  • US12019886B2 patent drawing

AI summary

A decrease in responsiveness when storing content in a flash memory is reduced. A storage management apparatus includes a flash memory including a plurality of blocks that include a plurality of usable blocks and one or more spare blocks. The apparatus is configured to acquire a new data set; change at least a part of the one or more spare blocks into a usable block and store the new data set in the thus changed usable block, in a case where a size of the new data set is larger than the writable area of the plurality of usable blocks and where the size of the new data set is larger than the writable area when an unnecessary data set contained in the plurality of usable blocks is deleted; and change the usable blocks all the data sets of which are deleted into spare blocks through garbage collection.