I/O Driver Memory Mapping for Concurrent Task Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-task information processing systems, when multiple tasks request access to the same I/O device, the driver software must sequentially format data, leading to inefficiencies and task suspension during I/O operations, especially as the number of concurrent tasks increases.
Innovation Solution
The system maps part of a memory space assigned to a second task to a memory space of a first task, allowing the first task to perform processing using a leased code, enabling simultaneous I/O operations and reducing wait times by allowing tasks to generate I/O requests and format data independently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If driver software sequentially formats data for multiple tasks accessing the same I/O device, then data formatting accuracy is maintained, but I/O processing speed and task concurrency are reduced
Solution Approach 1:
The patent segments the monolithic driver software processing into separate processing units that can operate independently for different tasks. Each task can have its own processing thread that formats data and issues I/O requests independently, allowing parallel processing of multiple tasks without sequential bottlenecks in the driver software.
Solution Approach 2:
The patent implements preliminary data formatting and request preparation by tasks before I/O operations are executed. Tasks can prepare their data buffers and formatting requirements in advance, and the system pre-allocates I/O resources, reducing the wait time when multiple tasks need to access the same I/O device.
2Productivity
If a task releases the processor during I/O access, then processor resources are available for other tasks, but the task must wait for I/O completion
Solution Approach 1:
The patent enables continuous useful action by allowing tasks to perform other processing operations while waiting for I/O completion. Instead of suspending the task entirely, the system maintains the task in a ready state where it can execute other instructions or prepare subsequent operations, ensuring the processor remains productive during I/O wait periods.
Solution Approach 2:
The patent introduces an intermediary I/O management layer that handles the coordination between tasks and I/O devices. This intermediary manages the wait states, buffers data transfers, and coordinates multiple tasks accessing the same I/O device, allowing tasks to continue processing while the intermediary handles the I/O blocking operations.
3Productivity
If multiple tasks are processed simultaneously, then system throughput increases, but I/O access conflicts and processing delays increase
Solution Approach 1:
The patent implements a universal I/O access management mechanism that handles multiple tasks and I/O devices through a common framework. The I/O management layer provides universal functions for request queuing, arbitration, and coordination that work across different task types and I/O devices, reducing the complexity that would otherwise arise from managing each task-device pair separately.
Data Source
AI summary
A processor processes the task A and the task B sequentially, wherein the task A performs an application to generate data that should be output to or input from an HDD, and the task B controls a data input and output request to the HDD controller.


