Method and apparatus for temporary storage on disk of collated print data
First Claim
1. In a printer having a memory circuit containing a quantity of random access memory (RAM) and a bulk memory storage device, a processing circuit, and a communications port that is effectively connected to at least one external device:
- a method of temporarily storing print data for a plurality of pages of a print job before actual printing of said pages, said method comprising the steps of;
(a) receiving a plurality of pages of print data from at least one external device via said communications port, and temporarily storing said pages of print data in said RAM;
(b) receiving a request to free-up a predetermined quantity of memory locations within said RAM for use by said printer;
(c) repeatedly, retrieving at least one of said plurality of pages of print data from said RAM and temporarily storing said at least one of said plurality of pages of print data in said bulk memory storage device in a manner such that said pages of print data being stored on said bulk memory storage device are interleaved with adjacent pages of print data that remain in said RAM, until sufficient memory locations within said RAM become available within said printer to satisfy said request.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved printer is provided that uses a hard disk drive resident in the printer to temporarily store some of the page data of print jobs received by this printer. Since disk access time is relatively slow as compared to access time of random access memory (RAM), only a minimal amount of pages are initially stored on the hard disk drive while the remaining pages of a print job continue to be stored in RAM, such that the pages on the hard disk drive are interleaved with those stored in RAM. Once the pages are stored on the hard disk drive, some of the areas of RAM where they previously resided are released, which allows the printer to free up some of its RAM. In a preferred embodiment of the present invention, only every fourth page is initially stored on the hard disk drive, which effectively spreads out the effects of the slower disk access time across several pages as they are printed. The page data that is stored on the hard disk drive will be divided into tiled "blocks" of print data, so that the individual blocks can be stored in non-contiguous locations within the printer'"'"'s main memory system of RAM, and later stored on the hard disk drive. If a page of data is to be stored on the hard disk drive, some "empty" space in RAM large enough to hold all of the blocks of data that are being stored on the hard disk drive for this page is reserved in RAM, so that later the blocks that have been stored on the hard disk drive can be retrieved from that drive and will have an immediate place to go in the printer'"'"'s RAM, which allows the printer to maintain its overall rated printing speed in more situations. These "empty" locations that have been reserved in RAM and known as "shared memory tables," and will contain enough memory locations in the printer'"'"'s main RAM system to hold all of the compressed bitmap data for all of the blocks for a particular page, or for the "largest" page (in terms of compressed bitmap data) of several pages. If the printer'"'"'s RAM becomes so scarce that, even after all pages of bitmap data are stored on the disk, the printer still calls for more RAM to be freed, then two or more shared memory tables can be combined with one another in an attempt to make more RAM available to meet the printer'"'"'s request for more free RAM.
-
Citations
18 Claims
-
1. In a printer having a memory circuit containing a quantity of random access memory (RAM) and a bulk memory storage device, a processing circuit, and a communications port that is effectively connected to at least one external device:
- a method of temporarily storing print data for a plurality of pages of a print job before actual printing of said pages, said method comprising the steps of;
(a) receiving a plurality of pages of print data from at least one external device via said communications port, and temporarily storing said pages of print data in said RAM; (b) receiving a request to free-up a predetermined quantity of memory locations within said RAM for use by said printer; (c) repeatedly, retrieving at least one of said plurality of pages of print data from said RAM and temporarily storing said at least one of said plurality of pages of print data in said bulk memory storage device in a manner such that said pages of print data being stored on said bulk memory storage device are interleaved with adjacent pages of print data that remain in said RAM, until sufficient memory locations within said RAM become available within said printer to satisfy said request. - View Dependent Claims (2, 3, 4, 5, 6)
- a method of temporarily storing print data for a plurality of pages of a print job before actual printing of said pages, said method comprising the steps of;
-
7. A printing apparatus, comprising:
-
(a) a memory circuit for storage of data, said memory circuit containing a quantity of random access memory (RAM) and a bulk memory storage device; (b) a communications port that is effectively connected to at least one external device and to said memory circuit, said communications port providing data from said at least one external device to said memory circuit; and (c) a processing circuit that is configured to control the flow of data between said memory circuit and said communications port, said processing circuit also being configured to delimit print data between individual pages of a print job received by said communications port and to control which portion of said memory circuit in which each of said individual pages of a print job is temporarily stored before final printing, wherein; (i) said processing circuit also being configured to initially store said print data corresponding to a plurality of individual pages into said RAM; and (ii) at times when a request occurs to free-up a predetermined quantity of memory locations within said RAM for use by said printing apparatus, said processing circuit being further configured to retrieve at least one of said plurality of pages of print data from said RAM and to temporarily store said pages of print data in said bulk memory storage device in a manner such that said pages of print data being stored on said bulk memory storage device are interleaved with adjacent pages of print data that remain in said RAM, until sufficient memory locations within said RAM become available within said printing apparatus to satisfy said request. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. In a printer having a memory circuit containing a quantity of random access memory (RAM) and a bulk memory storage device, a processing circuit, and a communications port that is effectively connected to at least one external device:
- a method of temporarily storing print data for a plurality of pages of a print job before actual printing of said pages, said method comprising the steps of;
(a) receiving a plurality of pages of print data from at least one external device via said communications port, and temporarily storing said pages of print data in said RAM; (b) receiving a request to free-up a predetermined quantity of memory locations within said RAM for use by said printer; (c) creating a shared memory table within said RAM that has sufficient capacity to hold all of the print data for at least one of said plurality of pages in said RAM, and repeatedly (i) retrieving said at least one of said plurality of pages of print data from said RAM, and (ii) temporarily storing said at least one page of print data in said bulk memory storage device, until sufficient memory locations within said RAM become available to satisfy said request. - View Dependent Claims (14, 15, 16, 17, 18)
- a method of temporarily storing print data for a plurality of pages of a print job before actual printing of said pages, said method comprising the steps of;
Specification