Compressed Data Access Across Fixed Memory Sectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies in storing and retrieving compressed data due to fixed sector and page sizes, leading to wasted space and increased processing time, especially when dealing with variable-length compressed data segments.

Innovation Solution

The method involves compressing data using a data compression engine, concatenating compressed data pages, and using error correction codes (ECC) and cyclic redundancy codes (CRC) to manage and protect the data, allowing for efficient storage and retrieval of compressed data across multiple sectors and pages, even when the data segments do not align with traditional storage boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is compressed to reduce storage space, then storage requirements are reduced, but data alignment with fixed sector and page boundaries becomes misaligned causing wasted space

Engineering Contradiction:
Improvestorage spaceVSAvoidstorage efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides compressed data into variable-length segments that can be stored across multiple fixed-size sectors and pages. Each compressed data unit is segmented and distributed across sector boundaries without requiring alignment, allowing efficient use of storage space while maintaining data integrity through proper segmentation and reconstruction.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If traditional fixed-size sectors and pages are used, then storage structure is simple, but variable-length compressed data causes wasted space and increased processing time

Engineering Contradiction:
Improvestorage structureVSAvoidstorage space utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent introduces dynamic data structures including variable-length sector descriptors and flexible page structures that can accommodate compressed data of any size. The sector descriptor contains metadata about the actual data length, allowing the system to dynamically adapt fixed-size physical sectors to variable-length logical data units, eliminating wasted space while maintaining structural simplicity.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If compressed data is stored without considering sector boundaries, then storage space is optimized, but data integrity verification becomes more complex

Engineering Contradiction:
Improvestorage spaceVSAvoiderror verification complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies error detection and correction codes (such as CRC and ECC) to compressed data units before storage, and implements a verification process during retrieval that checks data integrity at the compressed data level rather than at sector boundaries. This preliminary protection and verification approach simplifies the overall system by handling integrity checks independently of the fixed-sector storage structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9838045B1Apparatus and method for accessing compressed data
Publication Date: 2017.12.05 INNOVATIONS IN MEMORY LLC
  • US9838045B1 patent drawing
  • US9838045B1 patent drawing
  • US9838045B1 patent drawing

AI summary

A system and method for storing compressed data in a memory system includes identifying user data to be compressed and compressing pages of user data to form data extents that are less than or equal to the uncompressed data. A plurality of compressed pages are combined to a least fill a page of the memory. The data may be stored as sectors of a page, where each sector includes a CRC or error correcting code for the compressed data of that sector. The stored data may also include error correcting code data for the uncompressed page and error correcting code for the compressed page. When data is read in response to a user request, the sector data is validated using the CRC prior to selecting the data from the read sectors for decompression, and the error correcting code for the uncompressed page may be used to validate the decompressed data.