Polar Code RAID Encoding for Higher SSD Payload Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems using FAST cache with RAID 1 configurations face inefficiencies in payload capacity and reliability, particularly with high-performance solid-state disks, as RAID 1 results in low payload capacity and insufficient reliability.

Innovation Solution

The application of polar codes to high-performance storage systems, where data is encoded using a (n, k) polar code generator matrix derived from the ┌log2 n┐-times Kronecker product of a 2×2 matrix, reducing encoding complexity and the number of parity disks required, while maintaining high performance and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RAID 1 configuration is used with solid-state disks in FAST cache, then reliability is improved compared to no redundancy, but payload capacity is reduced to only 50% of physical disk space

Engineering Contradiction:
ImprovereliabilityVSAvoidpayload capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the redundancy parameter from RAID 1 (100% redundancy) to polar code-based redundancy with rate k/n, where the number of parity disks is optimized based on the desired reliability level and capacity requirements, allowing flexible adjustment between reliability and capacity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the redundancy scheme universal by using polar codes that can achieve any desired code rate k/n, allowing the same system to adapt to different reliability and capacity requirements without changing the fundamental architecture, unlike RAID 1 which is fixed at 50% capacity

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If maximum distance separable codes such as Reed-Solomon codes are used in RAID 6, then the number of parity disks is minimized for a given level of redundancy, but encoding and decoding complexity becomes too high for high-performance storage systems

Engineering Contradiction:
Improveredundancy efficiencyVSAvoidencoding and decoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential redundancy function from complex Reed-Solomon codes and implements it using simpler polar codes with generator matrices constructed from Kronecker products of 2x2 matrices, retaining the redundancy efficiency while dramatically reducing computational complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent substitutes the complex algebraic operations of Reed-Solomon codes with simpler binary operations in polar codes, replacing the mechanical complexity of polynomial arithmetic over GF(2^m) with more efficient binary matrix operations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Speed

If simpler RAID 1 array is used to maintain high performance, then access speed is preserved, but reliability is insufficient for systems employing high-performance disks

Engineering Contradiction:
Improveaccess speedVSAvoidreliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the redundancy parameter from fixed RAID 1 to polar code with optimized rate k/n, allowing the system to achieve higher reliability than RAID 1 while maintaining performance through reduced encoding/decoding complexity and fewer parity disks

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9304859B2Polar codes for efficient encoding and decoding in redundant disk arrays
Publication Date: 2016.04.05 EMC IP HLDG CO LLC
  • US9304859B2 patent drawing
  • US9304859B2 patent drawing
  • US9304859B2 patent drawing

AI summary

An improved technique applies polar codes to storage data to improve the reliability of a storage system that uses high-performance, solid-state disks as part of a RAID group for storing frequently-accessed data. Along these lines, a high-performance storage system having n solid-state disks assigns k of those disks as payload disks. The storage system partitions the payload data into a data vector that has k data symbols. The storage system then applies, to the k payload symbols, a (n, k) polar code generator matrix derived from k rows of the ┌ log2 n┐-times Kronecker product of the matrix (1011)to produce n encoded symbols and stores each of the encoded payload symbols in a solid-state disk of the RAID group.