Flash Storage Management Using Multiple Open Page Stripes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional SSDs have a limited number of open page stripes that can be power-loss protected due to the small size of the write buffer, leading to inefficiencies and bottlenecks in storage systems, as they can only support a small number of partially filled page stripes.

Innovation Solution

The system implements a 'vertical/horizontal hybrid' method of writing data, where each page in a page stripe is filled sequentially before moving to the next die, reducing the power-loss protection requirement to only two pages per open page stripe, allowing for increased flexibility and protection of multiple open page stripes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the write buffer size is increased to support more open page stripes, then the number of power-loss protected page stripes increases, but the power consumption and cost of capacitors increases

Engineering Contradiction:
Improvenumber of open page stripesVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent segments the write buffer into multiple independent cache lines, each capable of holding a portion of a page stripe. This allows the system to manage multiple open page stripes with a smaller total buffer capacity, reducing the power consumption of capacitors while maintaining support for more concurrent page stripes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the organizational parameters of the write buffer from traditional page-based to cache line-based structure, with each cache line holding a specific number of bytes (e.g., 256 bytes). This parameter change enables more efficient utilization of buffer space and reduces the total capacity needed to support multiple open page stripes.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If the write buffer size is increased to support more open page stripes, then the number of power-loss protected page stripes increases, but the cost of the SSD increases

Engineering Contradiction:
Improvenumber of open page stripesVSAvoidmanufacturing cost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

By segmenting the write buffer into smaller cache lines, the patent reduces the total buffer capacity required to support multiple open page stripes. This directly reduces the cost of capacitors and other power-loss protection components, making the SSD more cost-effective to manufacture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses multiple cache lines that can be reused across different page stripes. Instead of dedicating large buffer space to each page stripe, the system creates virtual copies of buffer capacity through the cache line structure, reducing the physical hardware needed and thus the manufacturing cost.

Inventive Principle:
Principle #26Copying

3Use of energy by moving object

If the write buffer is made small to reduce power consumption and cost, then the number of open page stripes supported decreases, but the flexibility of host software is reduced

Engineering Contradiction:
Improvepower consumptionVSAvoidflexibility of host software
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic cache line allocation system where cache lines are allocated and deallocated based on the current state of page stripes. This dynamic management allows the system to support a high number of open page stripes with a small buffer by efficiently reusing cache lines as page stripes are closed and flushed, thereby maintaining software flexibility without increasing power consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each cache line in the write buffer is designed to be universal and can serve multiple page stripes throughout their lifecycle. A single cache line can hold data for one page stripe at a time, then be reused for another page stripe after the first is flushed. This multi-functionality allows a small buffer to support many concurrent page stripes, maintaining host software flexibility while keeping power consumption low.

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

4Use of energy by moving object

If the write buffer is made small to reduce power consumption and cost, then the number of open page stripes supported decreases, but the performance of the server is bottlenecked

Engineering Contradiction:
Improvepower consumptionVSAvoidserver performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The dynamic cache line management system continuously adapts to the workload by allocating cache lines to active page stripes and freeing them when page stripes are closed. This dynamic behavior ensures that the limited buffer capacity is always optimally utilized, preventing performance bottlenecks even with a small write buffer, while maintaining low power consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuous useful action by immediately recycling cache lines from closed page stripes for use in open page stripes. This continuous reuse of buffer space eliminates idle time in the write path, maintaining high server performance despite the small physical buffer size, while avoiding the need for larger (more power-consuming) buffers.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11379155B2System and method for flash storage management using multiple open page stripes
Publication Date: 2022.07.05 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11379155B2 patent drawing
  • US11379155B2 patent drawing
  • US11379155B2 patent drawing

AI summary

One embodiment facilitates flash storage management. During operation, the system receives a request to write data to a non-volatile memory. The system writes, in a buffer in association with a controller, the data to a next available portion of a current physical page in a page stripe, wherein the page stripe includes physical pages which each correspond to a sequentially ordered die of the non-volatile memory. The system provides power-loss protection to the current physical page and a second physical page which indicates parity information for the page stripe, thereby providing power-loss protection to an increased number of partially full page stripes.