Printer Controller Memory Segmentation for Cancelled Job Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Raster printers face memory constraints when handling large print jobs, leading to inefficiencies as the printer controller must wait for memory to free up before accepting new jobs, and existing cancel methods require host cooperation to stop data transmission, which can be cumbersome, especially for large jobs.
Innovation Solution
The printer controller allocates a smaller memory area for a cancelled print job, allowing it to continue receiving data without printing and flushing it, while simultaneously accepting and printing new jobs from other hosts, without needing host cooperation to stop data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the printer controller allocates a large memory area for a print job, then the job can be processed completely, but the printer controller cannot accept new jobs while memory is exhausted
Solution Approach 1:
The memory is segmented into multiple areas: a first memory area for the current print job, a second memory area for receiving new print jobs, and a third memory area for flushing cancelled job data. This segmentation allows simultaneous handling of job processing, new job acceptance, and memory management without conflict.
Solution Approach 2:
The system dynamically adjusts memory allocation based on job status. When a job is cancelled, the memory area originally allocated to it is dynamically reassigned to receive and process new jobs, enabling continuous operation without manual intervention.
2Ease of operation
If the host continues to send print data after job cancellation, then data transmission is maintained, but the printer controller memory is continuously exhausted
Solution Approach 1:
The harmful accumulation of cancelled job data in memory is extracted and isolated into a dedicated second memory area. This extracted data is then systematically flushed from memory, preventing it from consuming resources needed for new jobs while maintaining ease of operation.
Solution Approach 2:
A third memory area acts as an intermediary buffer between the incoming data stream and the main processing memory. Cancelled job data is routed through this intermediary area and then flushed, preventing direct memory exhaustion while allowing the host to continue transmission without coordination.
3Device complexity
If the printer controller waits for memory to free up before accepting new jobs, then memory management is simplified, but job processing efficiency decreases
Solution Approach 1:
Memory is divided into functionally distinct segments that operate independently: processing memory for active jobs, reception memory for incoming jobs, and flush memory for cancelled job data. This segmentation enables parallel operations without complex coordination while maintaining efficient job processing.
Solution Approach 2:
The system performs preliminary memory allocation for potential new jobs in advance, creating reserved memory areas before they are needed. This preliminary preparation eliminates waiting time and allows immediate acceptance of new jobs while maintaining simple memory management through pre-planned allocation strategies.
Data Source
AI summary
A print job canceling method for a printer is described and is especially useful in a printer with relatively small buffer memory. When a print job is cancelled by the user using the printer's control panel, this method allows the printer controller to receive additional print jobs while the current job is being cancelled, without having to notify the host to stop sending the current print job. The printer controller reduces the memory allocated to the job being cancelled. The printer controller continues to accept data for the current job from the host, but does not print the received data. The data is subsequently flushed from the memory. The printer controller also assigns a lower priority to the print job being cancelled. Meanwhile, the remaining memory can be used to receive and print additional print jobs.


