NVLog Access Control for Storage Server Write Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage servers face latency issues due to NVLog overflow during heavy loads, which prevents further write requests from being acknowledged until the NVLog is cleared during consistency point processing, impacting performance in mission-critical applications.

Innovation Solution

Implementing a method to control access to the NVLog by categorizing incoming write requests and limiting their usage based on priority, allowing only 'important' requests to log during heavy loads, thereby managing NVLog space allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage server holds write requests in memory and periodically saves them to mass storage devices, then disk access time is reduced and system performance is improved, but data loss risk increases in case of system failure between consistency points

Engineering Contradiction:
Improvesystem performanceVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by maintaining an NVLog that preemptively stores write requests in non-volatile memory before they are flushed to disk. This ensures that even if a failure occurs between consistency points, the data is already safely stored in non-volatile memory, eliminating data loss risk while maintaining high performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the NVLog is used to recover data after system failure, then data reliability is improved, but write request latency increases when the NVLog becomes full during heavy loads

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidwrite request latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing the NVLog into multiple separate logs, each dedicated to a specific client or client group. This allows write requests from different clients to be processed in parallel without blocking each other, significantly reducing latency during heavy loads while maintaining full data recovery capability for each segmented log.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by allowing the system to maintain only the necessary portion of the NVLog for each client rather than a single large unified log. This reduces the overall time required to process and clear logs while ensuring adequate buffer space for each client's write requests, thereby reducing latency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the NVLog is cleared after each consistency point, then memory space is reused and system efficiency is improved, but the ability to handle concurrent write requests from multiple clients is reduced

Engineering Contradiction:
Improvesystem efficiencyVSAvoidconcurrent request handling
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

By segmenting the NVLog into client-specific logs, the system can clear and reuse space in one client's log independently of others. This maintains high system efficiency through space reuse while simultaneously improving concurrent request handling capability, as each client has dedicated buffer space that doesn't interfere with other clients.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7370143B1Controlling write request access to a non-volatile log
Publication Date: 2008.05.06 NETAPP INC
  • US7370143B1 patent drawing
  • US7370143B1 patent drawing
  • US7370143B1 patent drawing

AI summary

In one embodiment of the present invention, a method and system are provided to control access to the non-volatile log (NVlog) of a storage server. By controlling access to the NVLog of a storage server the relative disk write bandwidth available to different client write requests can be controlled. The incoming write request can be categorized, and, during times of heavy load, only be permitted to use NVLog space as permitted based on the categorization of each write request. In one embodiment, the present invention includes receiving a write request from a client at a storage server, and determining whether the received write request can be presently logged in a NVlog based on a category of the write request.