Buffer Management for SoC Fragmentation and Storage Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing shared buffers in System on Chip (SoC) designs are inefficient, requiring large storage space to record fragment information and wasting buffer space, especially when dealing with varying data sizes.
Innovation Solution
A buffer processing method that consecutively stores data in a shared buffer space, recording only the start address and space length of each datum, allowing for better space utilization and reduced storage needs by integrating cleared buffer space into remaining space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the shared buffer is divided into N fragments with the same size, then each source/user can allocate a fixed buffer space, but a very large storage space is needed to record use state and storage location information of each fragment
Solution Approach 1:
The patent merges multiple fixed-size fragment structures into a single continuous buffer space. Instead of managing N separate fragments with individual metadata, the system uses one unified buffer with a single metadata structure that records only the start address and length of stored data, dramatically reducing the storage space required for buffer management information.
Solution Approach 2:
The patent extracts only the essential information (start address and space length) needed to manage buffer data, eliminating the need to store metadata for each individual fragment. This extraction principle reduces the buffer information storage from O(N) complexity to O(1) complexity.
2Ease of manufacture
If the shared buffer is divided into N fragments with the same size, then buffer management is simplified, but the shared buffer space is wasted when data size does not match fragment boundaries
Solution Approach 1:
The patent implements dynamic buffer allocation where the buffer space is not fixed into rigid fragments but can be flexibly allocated based on the actual size of data to be stored. The system records the actual space length of each data item, allowing precise utilization of buffer space without waste from fixed fragment boundaries.
Solution Approach 2:
The patent changes the buffer management parameter from fixed fragment size to variable data size. Instead of forcing data to fit into predetermined fragment boundaries, the system adapts the buffer allocation to match the actual data size, eliminating the space waste that occurs when data is slightly larger than an integral number of fragments.
3Volume of stationary object
If many fragments are needed to store big data, then the buffer can accommodate large data, but the amount of stored information becomes very large requiring complex address recording
Solution Approach 1:
The patent merges multiple fragment address records into a single continuous space description. Instead of storing individual addresses for each fragment that comprises big data, the system stores a single start address and a total space length, simplifying the information storage from multiple discrete records to a single unified record.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
Provided are a buffer processing method and device. The method includes that when a first datum of a first user needs to be buffered, a current storage start address is read, the first datum is stored into a buffer space from the current storage start address, wherein the buffer space occupied by the first datum is a first buffer space; corresponding to the first datum, storage location information including a start address and a space length of the first buffer space is saved, so that when the first datum needs to be read, the first buffer space is located according to the start address and the space length, and the first datum is read from the first buffer space; the current storage start address is updated with a next address of the first buffer space, so that next data needing to be buffered is buffered from the updated current storage start address. The disclosure makes better use of the buffer space, and reduces the amount of address information saved for reading.