1460767982-0c9ed4f1-1dfc-4700-9ec0-1be4674f41d0

1. A printing system comprising:
a first printer including a first print engine and a first processor which controls the operation of the first print engine;
a scanner which scans a hardcopy document and generates image data therefrom, the scanner being associated with the first printer for communicating the image data to the first printer;
a second printer, operable independently of the first printer, which is communicatively linked to the first printer, the second printer including a second print engine and a second processor which controls the operation of the second print engine; and
a graphical user interface, through which user selections are communicated to at least one of the scanner and the first printer;
the first processor having a first mode of operation in which a print job derived from the image data is printed on the first print engine and a second mode of operation in which a print job is exported to the second printer for printing on the second print engine, at least one of the first and second modes of operation being invoked at least in part by user interaction with the graphical user interface.
2. The system of claim 1, wherein the graphical user interface enables a user to select from a plurality of printing parameters, at least a first of the printing parameters invoking the first mode of operation and at least a second of the printing parameters invoking the second mode of operation.
3. The system of claim 1, wherein the first printer prints in a first printing mode and the second printer prints in a second printing mode different from the first printing mode.
4. The system of claim 3, wherein one of the first and second modes of printing is a monochrome mode and the other of the first and second modes of printing is a color mode.
5. The system of claim 1, wherein one of the first and second print engines is a monochrome print engine and the other of the first and second print engines is a color print engine.
6. The system of claim 5, wherein the scanner is configured for scanning in a monochrome scanning mode and a color scanning mode and wherein when the first operational mode is invoked the scanner scans in the monochrome scanning mode, and when the second operational mode is invoked, the scanner scans in the color scanning mode.
7. The system of claim 5, wherein the first printer lacks a color print engine.
8. The system of claim 1, wherein the second operational mode is invoked by at least one of:
a user selection of a color scanning mode;
a user selection of an external printing mode;
a user selection of an automatic mode in which the mode is invoked based at least in part on the hardcopy document being scanned.
9. The system of claim 1, wherein the second operational mode is invoked when a wider format mode of printing is selected through user interaction with the graphical user interface.
10. The system of claim 1, wherein the first printer lacks a print engine capable of printing in the second mode of printing.
11. The system of claim 1, wherein the first processor includes a print driver for the second printer which when the second mode of printing is invoked, generates a print job derived from the image data in a print ready format which is accepted by the second printer.
12. The system of claim 1, wherein the first and second printers are linked by at least one of a direct link and a network link.
13. The system of claim 1, wherein the first printer includes a printer detection component which detects other communicatively linked printers from which the second printer is selectable.
14. The system of claim 1, wherein the first printer is configured for displaying information on at least one communicatively linked printer on the graphical user interface whereby a user selected one of the linked printers is selectable by a user as the second printer.
15. A method comprising:
providing a first printer with first and second modes of operation, a scanner associated with the first printer and a second printer communicatively linked to the first printer;
invoking one of the first and second modes of operation;
scanning a hard copy document to generate image data;
when the first mode of operation is invoked, printing a print job derived from the image data on the first printer;
when the second mode of operation is invoked, exporting a print job derived from the image data to the second printer for printing.
16. The method of claim 15, wherein the invoking includes receiving a user selection on a graphical user interface which enables a user to select from a plurality of printing parameters, at least a first of the printing parameters invoking the first mode of operation and at least a second of the printing parameters invoking the second mode of operation.
17. The method of claim 15, wherein when the first mode of operation is invoked, the first printer prints in a first printing mode and when the second mode of operation is invoked the second printer prints in a second printing mode different from the first printing mode.
18. The method of claim 17, wherein the first printer is at least temporarily incapable of printing in the second printing mode when the second mode of operation is invoked.
19. The method of claim 17, wherein one of the first and second modes of printing is a monochrome mode and the other of the first and second modes of printing is a color mode.
20. The method of claim 15, wherein one of the first and second printers comprises a monochrome print engine and the other of the first and second printers comprises a color print engine.
21. The method of claim 15, wherein in the first mode of operation, the scanning includes scanning, in a first scanning mode and in the second mode of operation, the scanning includes scanning in a second scanning mode different from the first scanning mode.
22. The method of claim 21, wherein one of the first and second scanning modes comprises a monochrome scanning mode and the other of the first and second scanning modes comprises a color scanning mode.
23. The method of claim 15, wherein the second mode of operation is invoked by at least one of:
a user selection of a color scanning mode;
a user selection of an external printing mode;
a user selection of the second printer from a displayed list of printers; and
a user selection of an automatic mode in which the mode of operation is invoked based at least in part on the hardcopy document being scanned.
24. The method of claim 15, wherein when the second mode is invoked, the method further includes converting the image data to a print ready format which is accepted by the second printer prior to exporting the print job to the second printer.
25. The method of claim 24, further comprising: installing a print driver on the first printer, the print driver configured for converting the image data to the print ready format which is accepted by the second printer.
26. The method of claim 15, wherein the second printer comprises a plurality of second printers and the method includes displaying information on the second printers whereby a user selects the second printer.
27. A printing system comprising:
an autonomous first printer including a monochrome print engine and a first processor which controls the operation of the monochrome print engine, a graphical user interface, and a scanner;
an autonomous second printer communicatively linked to the first printer, the second printer including a color print engine and a second processor which controls the operation of the second print engine;
the first processor having a first mode of operation in which a print job derived from image data generated by the scanner is printed on the monochrome print engine and a second mode of operation in which a print job derived from image data generated by the scanner is exported to the second printer for printing on the color print engine, at least one of the first and second modes being invoked at least in part by user interaction with the graphical user interface.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method comprising:
including a memory management unit in a processor unit operably coupled to at least one processor;
storing in a cache table entries for a number of physical addresses and a number of virtual addresses wherein each of the number of virtual addresses is mapped to only one of a number of corresponding physical addresses residing in a number of different memory devices and the number of different memory devices are of a number of types, wherein each of the number of types is different and each of the number of types has a number of different characteristics, and wherein each entry in the cache table comprises data including a virtual address and a corresponding physical address, a start address, an end address, a memory type, a memory read speed and a memory write speed;
identifying, by a hypervisor, a number of memory devices, a number of types of memory devices, and for each of the number of types of memory devices determines the number of different characteristics; and
responsive to obtaining a new address, identifying an addressing variant associated with the new address, wherein the addressing variant is one of a virtual address and a physical address, and wherein responsive to the addressing variant is the virtual address, selecting a first process and responsive to the addressing variant is the physical address, selecting a second process.
2. The method of claim 1, further comprising:
responsive to the addressing variant is the virtual address, determining, by the processor unit, counts of requests for each virtual address for each type of memory device residing in the cache table during a period of time, wherein a window \u201cn\u201d representing the period of time within which the counts are maintained is configurable depending upon types of memory devices available;
determining, by the processor unit, which virtual addresses and respective types of memory devices have a count within a specified range;
selecting, by the processor unit, from the virtual addresses having a count within the specified range, a virtual address for removal from the number of virtual addresses in the cache table, wherein the virtual address selected is an entry;
removing, by the processor unit, the entry from the cache table based on a performance of the type of memory device containing data associated with the entry; and
wherein the entry comprises one of a virtual address in the cache table mapped to a corresponding physical address of the data associated with the entry in a memory device of the type of memory device and a physical address of the data associated with the entry in the memory device of the type of memory device.
3. The method of claim 2, further comprising:
wherein the processor unit includes at least one of instructions and circuits to remove the entry from the cache table;
wherein the performance comprises one of an access speed, a memory read speed and a memory write speed of the type of memory device; and
wherein the cache table is a translation lookaside buffer.
4. The method of claim 2, further comprising:
wherein the number of types of memory devices include at least one of dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PRAM), embedded dynamic random access memory (eDRAM), electrically erasable programmable read-only memory (EEPROM), NOR flash memory, and NAND flash memory;
wherein the number of different characteristics include at least one of an address range, a read speed, and a write speed, and wherein the criteria comprises one of an address range, a read speed, and a write speed; and
wherein the processor unit determines the types of memory devices for which a count of requests of virtual addresses falls within a maximum and a minimum of the specified range.
5. A method comprising:
including a memory management unit in a processor unit operably coupled to at least one processor;
storing in a cache table a number of physical addresses each mapped to only one of a number of corresponding physical addresses in a number of different memory devices and the number of different memory devices are of a number of types, wherein each of the number of types is different and each of the number of types has a number of different characteristics and wherein each entry in the cache tale comprises data including a virtual address and a corresponding physical address, a start address, an end address, a memory type, a memory read speed and a memory write speed; and
identifying, by a hypervisor, a number of memory devices, a number of types of memory devices, and for each of the number of types of memory devices determines the number of different characteristics; and
responsive to obtaining a new address, identifying an addressing variant associated with the new address, wherein the addressing variant is one of a virtual address and a physical address, and wherein responsive to the addressing variant is the virtual address, selecting a first process and responsive to the addressing variant is the physical address, selecting a second process.
6. The method of claim 5, further comprising:
responsive to the addressing variant is the physical address, determining, by a processing unit, counts of requests for each physical address residing in the cache table during a period of time, wherein a window \u201cn\u201d representing the period of time within which the counts are maintained is configurable depending upon types of memory devices available;
determining, by the processing unit, which physical addresses and respective types of memory devices having a count within a specified range;
selecting, by the processing unit from the physical addresses having count within the specified range for respective types of memory devices, the physical address for removal from a number of physical addresses in the cache table, wherein the physical address selected is an entry; and
removing, by the processing unit, the entry from the cache table based on a performance of the type of memory device containing data associated with the entry;
wherein a removal algorithm is modifiable by one or more selected processes from a group comprising a hypervisor and memory management unit process, a memory management unit process, a virtual address process and a physical address process;
wherein the entry comprises one of a virtual address in the cache table mapped to a corresponding physical address of the data associated with the entry in a memory device of the type of memory device and a physical address of the data associated with the entry in the memory device of the type of memory device;
wherein the processor unit includes at least one of instructions and circuits to remove the entry from the cache table;
wherein the performance comprises an access speed of the type of memory;
wherein the cache table is a translation lookaside buffer;
wherein the processor unit is included in a memory management unit connected to at least one processor, the cache table stores a number of physical addresses corresponding to the number of memory devices and the number of memory devices are of a number of types, wherein each of the number of types is different and each of the number of types has a number of different characteristics, and wherein each entry in the cache table comprises data including a virtual address and a corresponding physical address, a start address, an end address, a memory type, a memory read speed and a memory write speed;
wherein the processor unit further contains one of instructions and circuits to obtain, responsive to a request by a central processing unit for a requested physical address that is not in the cache table, and to store, responsive to a removal of the physical address from the cache table by the processor unit, the requested physical address in the cache table;
wherein the memory management unit is included in a hypervisor that identifies the number of memory devices, the number of types of memory devices, and for each of the number of types of memory devices determines the number of different characteristics;
wherein the number of types of memory devices include at least one of dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PRAM), embedded dynamic random access memory (eDRAM), electrically erasable programmable read-only memory (EEPROM), NOR flash memory, and NAND flash memory;
wherein the number of different characteristics include at least one of an address range, a read speed, and a write speed, and wherein the criteria comprises one of an address range, a read speed, and a write speed; and
wherein the processor unit determines the types of memory devices for which a count of request of physical addresses falls within a maximum and a minimum of the specified range.