Operating System Disk Block Offset Caching for File System Access Time Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems experience prolonged access times when seek requests are received ahead of access requests, as they require traversing file node trees and calculating disk offsets, leading to increased processing time.

Innovation Solution

The operating system computes and stores disk block offsets in a cache before receiving access requests, allowing for immediate reuse and reducing the time required to process subsequent access requests by pre-computing the offsets during initial seek requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the operating system computes disk block offsets by traversing file node trees when access requests are received, then the file system can accurately identify data locations, but the access time is prolonged due to repeated traversal and calculation

Engineering Contradiction:
Improveaccess timeVSAvoidprocessing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by computing and caching disk block offsets in advance during seek requests, before access requests are processed. When a seek request is received, the system calculates the disk block offset by traversing the file node tree and stores it in a cache. Subsequent access requests can then retrieve the pre-computed offset from the cache without repeating the traversal, significantly reducing access time while maintaining accurate data location identification

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a cached copy of the disk block offset information. Instead of repeatedly traversing the file node tree for each access request, the system creates a copy of the offset data during the seek phase and stores it in a cache structure. This copied information is then reused for multiple access requests, eliminating the need for repeated complex traversals while preserving the accuracy of location identification

Inventive Principle:
Principle #26Copying

2Productivity

If the operating system traverses file node trees and calculates disk offsets for each access request, then accurate data location is ensured, but processing time increases

Engineering Contradiction:
Improveprocessing speedVSAvoidaccess time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs the computationally intensive file node tree traversal and disk offset calculation in advance during seek requests. The pre-computed offsets are stored in a cache, allowing access requests to be processed much faster by simply retrieving the cached offset values. This separates the heavy computation from the time-critical access operation, improving processing speed without sacrificing location accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache as an intermediary structure between the file system and the access requests. The cache stores pre-computed disk block offsets, acting as a mediator that provides fast access to location information without requiring direct traversal of the file node tree for each access request. This intermediary layer significantly reduces access time while maintaining accurate data location identification

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8037058B2Reducing access time for data in file systems when seek requests are received ahead of access requests
Publication Date: 2011.10.11 ORACLE INT CORP
  • US8037058B2 patent drawing
  • US8037058B2 patent drawing
  • US8037058B2 patent drawing

AI summary

Reducing access time for data in a file system when seek requests are received ahead of access requests. In one embodiment, an operating system providing access to the file system receives a seek request (from a user application) indicating an identifier of a file and a location within the file at which a data is sought to be accessed. In response, the operating system computes the offset of a disk block containing the location (thereby the data that is sought to be accessed). On receiving an access request (after the seek request from the same user application) indicating an operation to be performed on the data, the operating system executes the operation on the data using the pre-computed offset of the disk block. The computation of the disk block is performed before the access request is received thereby reducing the time required to process the access request.