Storage Device Write Cache Disguise for Bootable Image Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing imaging processes for creating bootable storage devices are time-consuming due to the frequent use of forced unit access commands and cache flush commands, which prevent the use of write caching and result in significant delays, especially when imaging large numbers of drives in an enterprise setting.

Innovation Solution

The storage device is configured to disguise its use of write caching during the provisioning process, allowing it to optimize performance by continuing to cache write data while acknowledging write commands from the host device, thus reducing the time needed to create a bootable image.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If forced unit access commands and cache flush commands are used frequently to ensure data integrity, then data reliability is improved, but provisioning time increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidprovisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The storage device performs preliminary write operations to a cache memory before the host device expects confirmation. The controller writes data to cache first, then acknowledges the write command to the host, and only after acknowledgment does it flush the cache to the media. This preliminary action in the cache allows the host to proceed without waiting for actual media write completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A cache memory acts as an intermediary between the host device and the storage media. The cache buffer absorbs the timing mismatch between fast host write commands and slower media write operations. The controller mediates data flow through this intermediary, allowing acknowledgments to be sent before actual media writes complete.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If write caching is disabled to ensure data is written to media, then data reliability is improved, but write performance deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically manages the write cache state based on command sequence analysis. The controller monitors incoming write commands and determines when to flush the cache to media, rather than using a static flush-on-every-command approach. This dynamic management allows the cache to remain populated longer, improving performance while ensuring periodic data persistence.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The write cache maintains continuous data buffering during the provisioning process, keeping the write path active and efficient. Instead of repeatedly flushing to media and refilling the cache, the system maintains continuous cache utilization, only flushing when necessary for data integrity, thereby sustaining high write performance throughout the imaging process.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9280482B2Methods and systems for provisioning a bootable image on to an external drive
Publication Date: 2016.03.08 WESTERN DIGITAL TECHNOLOGIES INC
  • US9280482B2 patent drawing
  • US9280482B2 patent drawing
  • US9280482B2 patent drawing

AI summary

The present invention relates to a method of optimizing the provisioning of a bootable image onto a storage device. In some embodiments, a host device executes a provisioning application to image a storage drive as a bootable drive. During the provisioning process, the storage device is configured to disguise its use of write caching during the provisioning process. In one embodiment, the storage device is configured to suppress forced unit access commands and cache flush commands for the provisioning application. In another embodiment, the storage device is configured to reject forced unit access commands. The storage device may disguise its use of write caching based on various criteria, such as a length of time, a counter, and the like.