Memory System Dynamic User Capacity Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory systems face challenges in dynamically adjusting user capacity while maintaining data validity, as they typically require rewriting data to accommodate changes in user capacity, which can lead to invalidation of valid user data.
Innovation Solution
A memory system with a controller that manages a logical address space larger than the user capacity, allowing for dynamic changes in user capacity by updating the correspondence between logical and physical addresses without invalidating valid data, using a hierarchical table structure to track and manage UNMAP states and garbage collection processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the memory system allocates a storage area having the size of the user capacity in a storage area having the size of the physical capacity, then the user capacity is limited to the allocated storage area, but the memory system cannot dynamically adjust user capacity without invalidating valid user data
Solution Approach 1:
The patent divides the storage area into multiple blocks and introduces a block management table that tracks the state of each block. This segmentation allows the system to manage user data and spare area independently, enabling dynamic capacity adjustment without affecting the validity of user data in other blocks.
Solution Approach 2:
The patent introduces a block management table as an intermediary data structure between the physical storage area and the user capacity allocation. This table stores block state information and enables the controller to manage capacity changes without directly manipulating user data, thus preserving data validity during capacity adjustments.
2Adaptability or versatility
If the memory system requires rewriting data to accommodate changes in user capacity, then the storage can be reorganized, but valid user data may be invalidated during the process
Solution Approach 1:
The patent performs preliminary actions by pre-allocating a block management table and pre-defining block states (user data area, spare area, valid/invalid markers). This preparation enables capacity adjustments to be made by simply updating table entries rather than rewriting actual user data, preventing data invalidation.
Solution Approach 2:
The patent uses a block management table as a copy or representation of the actual storage block states. Instead of directly modifying user data during capacity changes, the system updates this management copy, which then reflects the new capacity allocation without affecting the original user data.
3Device complexity
If the memory system maintains a fixed allocation between user capacity and physical capacity, then data management is simple, but the system lacks dynamic adaptability to changing storage needs
Solution Approach 1:
The patent implements dynamics by introducing a block management table that can be updated in real-time to reflect changing capacity requirements. The system transitions from fixed allocation to dynamic allocation where block states can be changed without physical data movement, achieving both simplicity and adaptability.
Solution Approach 2:
The block management table serves multiple functions: tracking block validity, managing capacity allocation, and enabling dynamic reconfiguration. This multi-functional approach maintains relative simplicity while providing the adaptability needed for dynamic capacity changes.
Data Source
AI summary
According to one embodiment, a memory system includes a first storage area and a controller. The first storage area configured to store therein data sent from a host. The size of the first storage area is a first size larger than a second size. The second size is a size of a logical address space which is assigned to a memory system by the host. The controller is configured to change the second size in response to a request from the host while at least a part of data in the logical address space stays valid.


