Memory System Auxiliary Blocks for Small Data Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in handling data smaller than a predetermined size, as they require dummy data for one-shot programming in normal blocks, leading to inefficient use of resources and increased operational complexity.
Innovation Solution
The proposed memory system employs an interleaving scheme with normal and auxiliary blocks, where data smaller than the predetermined size is programmed in auxiliary blocks without erasing it from the cache buffer, and combines such data until it reaches the predetermined size for one-shot programming in normal blocks, optimizing resource utilization and simplifying operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data smaller than predetermined size is programmed in normal blocks using one-shot program operation, then programming efficiency is improved, but dummy data must be added increasing operational complexity
Solution Approach 1:
The memory blocks are segmented into normal blocks and auxiliary blocks. Normal blocks are used for one-shot program operations with dummy data, while auxiliary blocks handle data smaller than predetermined size without requiring dummy data, thus reducing operational complexity while maintaining programming efficiency
Solution Approach 2:
Auxiliary blocks serve as an intermediary solution between normal blocks and the cache buffer. They provide a intermediate storage location that accepts small data directly without requiring dummy data padding, thereby simplifying the programming operation for small data while maintaining the efficiency benefits of one-shot programming for larger data
2Quantity of substance
If data smaller than predetermined size is programmed in normal blocks, then resource utilization is reduced, but dummy data must be added wasting storage space
Solution Approach 1:
Different types of memory blocks are assigned different functions based on data size. Normal blocks are optimized for large data with one-shot programming, while auxiliary blocks are optimized for small data without dummy data requirements. This local differentiation eliminates storage space waste from dummy data while maintaining high resource utilization
Solution Approach 2:
The system changes the parameter of block usage based on data size. When data size is smaller than predetermined size, the system switches from using normal blocks (which require dummy data) to auxiliary blocks (which don't require dummy data), thereby optimizing storage space utilization and eliminating waste
3Ease of operation
If cache buffer is erased before programming small data, then programming operation is simplified, but data loss occurs requiring re-buffering
Solution Approach 1:
The system performs preliminary action by allocating auxiliary blocks in advance for small data storage. Since auxiliary blocks don't require erasure before programming small data, the cache buffer can be retained and reused, eliminating the time-consuming re-buffering process while maintaining operational simplicity
Data Source
AI summary
A memory system may include: a first memory device including a first normal block and a first auxiliary block; a second memory device including a second normal block and a second auxiliary block; and a controller configured to operate the first and second memory devices in an interleaving scheme, wherein the controller: checks a first used area of a cache buffer when a first data is buffered which is the most recently inputted, programs the first data in the first or second auxiliary block without erasing the first data from the cache buffer, when the first used area of the cache buffer is smaller than a predetermined size, and programs a second data of the predetermined size, which occupies a part of the first used area of the cache buffer, to the first or second normal block with erasing the second data from the cache buffer, when the first used area of the cache buffer is equal to or larger than the predetermined size.


