Non-Volatile Memory Block Load Module for Partial Data Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hard disk drives and other data storage devices face inefficiencies due to the need to transfer full blocks of data despite only using partial blocks, leading to increased bandwidth usage and processing overhead, and smaller block sizes increase metadata overhead.

Innovation Solution

A method and apparatus for servicing storage requests in non-volatile recording devices by transforming data blocks to match the request size, allowing for efficient handling of sub-block requests without transferring unused data, using an interface module to receive requests, a block load module to load data, and a fulfillment module to service the requests using only the necessary data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If full blocks of data are transferred to service partial block requests, then data storage operations are simplified, but bandwidth usage increases and processing overhead increases

Engineering Contradiction:
Improvesimplicity of data storage operationsVSAvoidbandwidth usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent segments the data transfer process into two distinct phases: (1) loading complete blocks from storage device to host memory, and (2) extracting only the required partial data from loaded blocks to service requests. This segmentation allows the system to optimize for both efficient bulk transfer and precise request fulfillment, resolving the contradiction between operational simplicity and bandwidth efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-loading complete data blocks into host memory before servicing partial block requests. This preliminary loading enables the system to efficiently service multiple subsequent requests from the same block without repeated storage device access, reducing overall bandwidth usage while maintaining simple request handling logic.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If full blocks of data are transferred to service partial block requests, then data storage operations are simplified, but processing overhead increases

Engineering Contradiction:
Improvesimplicity of data storage operationsVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments processing responsibilities between the host system and storage device. The host system handles high-level request management and partial data extraction, while the storage device handles efficient block-level data retrieval. This segmentation reduces processing overhead by distributing tasks to the most appropriate component.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces host memory as an intermediary buffer between the storage device and the request processing logic. Complete blocks are loaded into this intermediary space once, then multiple partial requests are serviced by extracting data from the intermediary, eliminating repeated storage device access and reducing overall processing overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If smaller block sizes are used to reduce unused data transfer, then bandwidth efficiency improves, but metadata overhead increases

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidmetadata overhead
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent resolves this contradiction by operating at two different granularities simultaneously: (1) using large block sizes for efficient storage device access and bulk data transfer, and (2) providing fine-grained access to individual bytes or small data portions within those blocks. This dimensional approach allows the system to achieve both bandwidth efficiency through large blocks and precise access control without increasing metadata overhead.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9251058B2Servicing non-block storage requests
Publication Date: 2016.02.02 SANDISK TECHNOLOGIES LLC
  • US9251058B2 patent drawing
  • US9251058B2 patent drawing
  • US9251058B2 patent drawing

AI summary

An apparatus, system, and method are disclosed for servicing storage requests for a non-volatile memory device. An interface module is configured to receive a storage request for a data set of a non-volatile memory device from a client. The data set is different from a block of the non-volatile memory device, and may have a length different from a block size of the non-volatile memory device. A block load module is configured to load data of at least the block size of the non-volatile memory device. A fulfillment module is configured to service the storage request using at least a portion of the loaded data.