Abstract:
The present invention relates to utilizing memory provided in a machine replaceable sub-assembly to be a medium of distribution for software code updates to that machine relating as to how that machine should operate. In one alternative, there is provided a method for operating a machine comprising the steps of providing a replaceable sub-assembly separable from the machine, the replaceable sub-assembly further comprising a memory in which is stored software code of executable instructions. The method provides placing the replaceable sub-assembly into the machine, reading the memory, placing the stored software code of executable instructions into the machine as new machine software code, and then operating the machine in accordance with the new software code. In this way, the replaceable sub-assembly becomes the medium for the machine&#39;s software updates.

Description:
RELATED CASES  
       [0001]    Cross reference is made to the following related applications incorporated by reference herein: Ser. No.______ Attorney Docket Number D/A1368 entitled “POST-LAUNCH PROCESS OPTIMIZATION OF REPLACEABLE SUB-ASSEMBLY UTILIZATION THROUGH CUSTOMER REPLACEABLE UNIT MEMORY PROGRAMMING”; to Charles H. Tabb, Scott M. Silence, Jane M. Kanehl, and Douglas A. Kreckel; and, Ser.No.______ Attorney Docket Number D/A2199 entitled “POST-LAUNCH PROCESS OPTIMIZATION OF REPLACEABLE SUB-ASSEMBLY UTILIZATION THROUGH CUSTOMER REPLACEABLE UNIT MEMORY PROGRAMMING PROVIDED IN AN ALTERNATE REPLACEABLE SUB-ASSEMBLY” to Scott M. Silence, Jane M, Kanehl, Douglas A. Kreckel, and Charles H. Tabb. 
     
    
     
       BACKGROUND  
         [0002]    The present invention relates generally to the updating of software code. The invention relates more generally to the utilization of commonly replaced system parts. The invention relates more importantly to memory provided in commonly replaced system parts. The invention relates in particular with regards to a Customer Replaceable Unit (CRU) and a Customer Replaceable Unit Monitor (CRUM).  
           [0003]    Many machines have replaceable sub-assemblies. Printing machines for example may have a number of replaceable sub-assemblies such as the fuser print cartridge, a toner cartridge, or an automatic document handler. These subassemblies may be arranged as unit called a cartridge, and if intended for replacement by the customer or machine owner, may be referred to as a CRU. Examples of a CRU may include printer cartridge, toner cartridge, or transfer assembly unit. It may be desirable for a CRU design to vary over the course of time due to manufacturing changes or to solve post launch problems with either: the machine, the CRU, or a CRU and machine interaction. Further, design optimizations may be recognized subsequent to design launch and machine sale, that a relatively simple code update might realize. However, solving these problems, or providing optimization updates, generally requires a field call to accomplish.  
           [0004]    In U.S. Pat. No. 4,496,237 to Schron, the invention described discloses a reproduction machine having a non-volatile memory for storing indications of machine consumable usage such as photoreceptor, exposure lamp and developer, and an alphanumeric display for displaying indications of such usage. In operation, a menu of categories of machine components is first scrolled on the alphanumeric display. Scrolling is provided by repetitive actuation of a scrolling switch. Having selected a desired category of components to be monitored by appropriate keyboard entry, the sub-components of the selected category can be scrolled on the display. In this manner, the status of various consumables can be monitored and appropriate instructions displayed for replacement. In another feature, the same information on the alphanumeric display can be remotely transmitted.  
           [0005]    In U.S. Pat. No. 4,961,088 to Gilliland et al., there is disclosed a monitor/warranty system for electrostatographic reproducing machines in which replaceable cartridges providing a predetermined number of images are used, each cartridge having an EEPROM programmed with a cartridge identification number that when matched with a cartridge identification number in the machine enables machine operation, a cartridge replacement warning count, and a termination count at which the cartridge is disabled from further use, the EEPROM storing updated counts of the remaining number of images left on the cartridge after each print run.  
           [0006]    U.S. Pat. No. 5,272,503 to LeSueur et al., provides a printing machine, having operating parameters associated therewith, for producing prints. The printing machine includes a controller for controlling the operating parameters and an operator replaceable sub-assembly adapted to serve as a processing station in the printing machine. The operator replaceable sub-assembly includes a memory device, communicating with the controller when the replaceable sub-assembly is coupled with the printing machine, for storing a value which varies as a function of the usage of the replaceable sub-assembly, the controller adjusting a selected one of the operating parameters in accordance with the stored value for maintaining printing quality of the printing machine.  
           [0007]    U.S. Pat. No. 6,016,409 to Beard et al., there is disclosed a fuser module, being a fuser subsystem installable in a xerographic printing apparatus, which includes an electronically-readable memory permanently associated therewith. The control system of the printing apparatus reads out codes from the electronically-readable memory at install to obtain parameters for operating the module, such as maximum web use, voltage and temperature requirements, and thermistor calibration parameters.  
           [0008]    All of the patents indicated above are herein incorporated by reference in their entirety for their teaching.  
           [0009]    Therefore, as discussed above, there exists a need for an arrangement and methodology which will solve the problem of providing software code updates without the need for a field service call. Thus, it would be desirable to solve this and other deficiencies and disadvantages as discussed above with an improved methodology for updating machine software code.  
           [0010]    The present invention relates to a method for operating a machine comprising the steps of providing a replaceable sub-assembly separable from the machine, the replaceable sub-assembly further comprising a memory, the memory having stored within it a software code upgrade of executable instructions relating to the operation of the machine. This is then followed by placing the replaceable sub-assembly into the machine, reading the memory and placing the stored software code upgrade into the machine as new machine software code. The final step being operating the machine with the replaceable sub-assembly in accordance with the new software code.  
           [0011]    The present invention relates to a replaceable sub-assembly for use in a machine. The replaceable sub-assembly comprising a memory and upgraded executable instructions suitable for directing the machine to operate in an upgraded fashion, where the upgraded executable instructions are stored in the memory.  
           [0012]    In particular, the present invention relates to a method for operating a printer apparatus comprising the step of providing a customer replaceable unit separable from the printer apparatus, the customer replaceable unit further comprising a memory, the memory having stored within a software code upgrade of executable instructions relating to upgraded operation of the printer apparatus. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 depicts schematical representation of a printing machine.  
         [0014]    [0014]FIG. 2 depicts a cross-sectional view of a replaceable sub-assembly or CRU for the machine of FIG. 1.  
         [0015]    [0015]FIG. 3 is a perspective view of the CRU of FIG. 2 in which the connection of the replaceable CRU to the printing machine is shown by way of a partial view.  
         [0016]    [0016]FIG. 4 is a block diagram of the various elements in a machine and their interoperable relationships in fidelity with the teachings of the present invention. 
     
    
     DESCRIPTION  
       [0017]    By providing additional storage in a replaceable unit or cartridge or CRU and taking proper advantage of that storage or storage already extant, various problems associated with post launch optimization and updates may be accommodated.  
         [0018]    By expanding the use of the CRUM memory, a machine, if equipped according to the teachings provided herein, may be availed of software updates that while not requiring immediate installation, never-the-less remain eminently desirable. In effect the CRUM or other cartridge memory becomes the media and medium of distribution for new code installation or updates.  
         [0019]    While the present invention will hereinafter be described in connection with a preferred embodiment thereof, it will be understood that it is not intended to limit the invention to that embodiment. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.  
         [0020]    [0020]FIG. 1 shows a laser printer  100  employing a replaceable sub-assembly in the form of a xerographic cassette or print cartridge  1  which is shown in greater detail in FIGS. 2 and 3. A xerographic imaging member in the form of an endless flexible photoreceptor belt is housed within the CRU print cartridge  1 , together with other xerographic process means as described below. A raster output scanner (ROS)  2  provides an imaging beam  3  which is directed at the photoreceptor belt through an imaging slit in the CRU  1  to form an electrostatic latent image on the belt. The image is developed within the cassette and is transferred, at a transfer station  4 , to a copy sheet which is fed to that location from one of four supply trays  5 ,  6 ,  7  and  8 . The transferred image is fused to the copy sheet at a fusing station  9  and the copy sheet may then be delivered from the printer to be collected either in a sample tray  10  on top of the machine or in a stacking tray on the side of the machine. Alternatively, a copy sheet with a fused image on one side only may be put into a tray-less duplex path within the machine, to be returned to the transfer station  4  to receive an image on the other side before being delivered from the machine into one of the trays  10 ,  11 .  
         [0021]    The raster output scanner  2  incorporates a laser to generate the imaging beam  3 , a conventional rotating polygon device to sweep the beam across the surface of the photoreceptor belt, and an acoustic modulator. The beam is modulated in accordance with input signals received from a remote image source, for example, a user interface and keyboard (not shown). The operation of a raster output scanner of that type to generate a latent image on a photoreceptor is well understood and need not be described here. The processing of the image signals from the remote source is handled by an electronic sub-system of the printer, indicated at  15 , while operation of the printer generally is under the control of a machine control unit or CPU (not shown here) which includes one or more microprocessors and suitable memories, for holding the machine operating software.  
         [0022]    The cassette  1  may be similar to that described in U.S. Pat. No. 4,827,308. In addition to the photoreceptor belt  20  as depicted in FIG. 2, it includes a charge scorotron  21 , a developer device  22 , a transfer corotron  23 , a cleaning device  24 , and developer housing  25 . The charge scorotron  21  is located upstream of the imaging slit in the cassette to deposit a uniform electrostatic charge on the surface of the belt before it is exposed to the imaging beam  3 . The developer device  22  is located downstream of the imaging slit to bring developer mixture into proximity with, and thereby develop, the electrostatic latent image on the belt. The developer mixture is a two-component mixture comprising toner and a magnetically-attractable carrier. Toner is transferred to the belt  20  during image development and replacement toner is dispensed periodically from a hopper (not shown) into the housing of the developer device  22 . The transfer corotron  23  is located at the transfer station  4  to assist in transferring the developed image from the belt to the copy sheet which enters the cassette at that point. Finally, the cleaning device  24  removes any residual toner particles from the surface of the photoreceptor belt which is then illuminated by a discharge lamp to remove any electrostatic charge remaining on the belt.  
         [0023]    The CRU print cartridge  1 , as already mentioned, is removable from the printer and can be replaced by another CRU if any of the process elements located therein begin to deteriorate. The print cartridge  1  has a memory chip  30 , as shown in FIG. 3, in the form of an EEPROM (Electrically Erasable Programmable Read Only Memory) mounted in the top cover of the cartridge. Contact pads  31  are provided on the chip so that, when the print cartridge CRU  1  is inserted into the printer, the chip is automatically connected to the machine control unit/CPU via a terminal block  32  on a part  33  of the printer. When inserted in the printer, the memory  30  receives information from the printer control unit/CPU. The memory is preferably of a non-volatile type of memory such as the EEPROM discussed above. It will be well understood that there are many different ways to effect non-volatile memory and all those ways are within the contemplation of the present invention. For example, conventional ROM (Read Only Memory) is typically volatile and will lose the data contents of its cells when power is removed. However, if ROM is provided in combination with a long life battery on the CRU and if the ROM is of sufficiently low power dissipation, the combination may for all practical purposes effect a non-volatile memory as far as the useful life of the CRU is concerned.  
         [0024]    In FIG. 4, there is provided a block diagram of one embodiment which may employ the teachings of the present invention. Machine  100  while a laser printer in this example embodiment may also be a printer/copier or a fax/scanner/printer or any other such variant. Within machine  100  is a CPU  41  which further comprises its own memory  42  either on the same chip-die or locally off-chip. Memory  42  may include bit maps and other stored parameters for use in setpoints utilized within machine  100 . At power up subsequent to when power supply  43  is switched on, the boot sequence in memory  42  which CPU  41  invokes, includes instructions to poll any CRU&#39;s resident in machine  100 . One example CRU as provided here is print cartridge CRU  1 . As CPU  41  polls replaceable units it checks for indication that there are software updates or tags to invoke. There could be lines of software code or other executable instruction to be read in and substituted. Or in one alternative there may just be a tag indicia that different lines of code or lookup tables (LUT) are to be invoked in the operation of the machine  100 . The tag could be as simple as the setting of a single bit or it could be an address pointing to the location of data, lines of code/executable instructions, or a LUT with lines of code/executable instructions. In all of these possible scenarios above and which follow below the indicator is one which is shipped with the CRU at time of manufacture or point of distribution.  
         [0025]    The CPU may also be provided with code which continually polls for the swapping of a CRU. In an alternative obvious to one skilled in the art, the CPU may respond instead to an interrupt from the swapping of a CRU. In either case upon determination of a swapped or new CRU the CPU shall poll the CRU and its CRUM for indication that there are software updates of executable instructions or new setpoints to invoke.  
         [0026]    One example is the situation where a design or manufacturing upgrade to a xerographic print cartridge  1  is made post machine  100  launch to improve photoreceptor aging characteristics. It is desired that machine  100  changes xerographic setpoints as a function of photoreceptor  20  cyclic age by way of executable instructions invoking an algorithm operational in CPU  41 . For this embodiment there are a number of equations provided as algorithmic software code or executable instructions as well as parameter arguments or settings distributed in the CRUM  30  as a software upgrade. This code of executable instructions and argument set are loaded into and made resident in the machine stored software for operation in CPU  41 . These equations are utilized to calculate the print cartridge  1  charge voltage, the developer housing  25  bias voltage and the ROS  2  imaging exposure level as a function of photoreceptor  20  age in cycles of machine  100  temperature and machine  100  humidity. These equations as manifest in upgraded executable instruction code contain a number of numerical constants which are tied to the photoreceptor  20  aging rate, temperature and humidity. One example embodiment of such interaction of setpoints and algorithm is found in the operation of the following equation for the ROS exposure:  
         Exposure= A× temperature+ B ×Humidity+ C× number of photoreceptor cycles.+ D.    
         [0027]    In order to implement a manufacturing change which impacts the aging rate, it would be required to make a change to parameter C. If the photosensitivity to temperature or humidity changes, then the A or B setpoints would change. If the overall photosensitivity changed, then D would need to change.  
         [0028]    It is necessary to change the machine system software to accommodate these changes. For machines already in the field this may be normally be too prohibitive in cost. With this invention the numerical constants (A,B,C,D) are stored in the print cartridge  1  CRUM  30  along with the code for the equation above and are read by the machine  100  as software as invoked by CPU  41 . So if any material or mechanical upgrade is made to the print cartridge which improves the aging rate, then the constants stored in the CRUM 30 bit map would also be changed on the manufacturing line to reflect this change. To enable the teaching provided herein of this invention, the machine software for CPU  41  is written as discussed above to read the particular sections of the CRUM  30  which hold the algorithm constants and the algorithm code as upgraded executable software code. Also the machine software is written to use the correct bit map information in its algorithms to update the particular look up tables which are used to set the required power supply 43 voltages or currents, and which are used to set the ROS  2  exposure within the machine  100 . When the upgraded print cartridge  1  is installed into the machine  100 , the machine  100  will read the CRUM 30 bit map and automatically upgrade the requisite numbers within its look up tables which will then be used to change the requisite voltages, currents, and exposure when the machine  100  is running in order to take advantage of the new photoreceptor  20  changed aging rate.  
         [0029]    This invention can also be used to change machine setup and aging algorithms to solve problems post-launch which may or may not be related to the particular CRU  1  which contains the CRUM  30 . For example, a toner cartridge CRUM may provide the above described software code updates for the operation of a print cartridge  1 . This is quite desirable as toner cartridges are typically replaced much more often than printer cartridges. Other desirable candidates would include filler bottles and waste bottles provided with a CRUM. Thus, a post-launch software update or upgrade can be resident in a machine at a much earlier time than if it was distributed by a less often replaced CRU.  
         [0030]    Indeed, in one embodiment the software which is installed from the CRUM  30  to the CPU  41  and its memory  42  has nothing to do with the medium of distribution i.e. the CRU. Instead the software update/upgrade is to enhance the operation of the native operating system, be it for a bug fix or an improved feature set. In one example, it may be an upgrade to the graphic user interface (GUI) so as to allow new menu items, hierarchically reorder menu items or improve “look and feel”. It may be simply a personalized work environment optimized for a particular machine customer.  
         [0031]    The software upgrade may provide improvements to the color rendition capability of the machine (for machines running process color, that is, CMYK toners). In one embodiment, this is accomplished via updates to the Color Rendition Dictionary (CRD) stored in the Digital Front End (DFE) of the machine. The CRD is essentially a large LUT for mapping color images into the specific CMYK space used by the xerographic engine. The CRUM could deliver adjustments to the CRD or an entirely new CRD to the machine. Alternately, improvements to the color rendition capability of the machine could be accomplished through updates to the profiles used by specific applications that generate the images for printing. These ICC profiles are resident on the computers that feed images to the DFE. In this case, the computer or operator would normally need to pole the DFE for the update. However the flag for poling the DFE could instead be turned on by the executable instructions loaded into the machine from the CRUM.  
         [0032]    Improvements to the image rendition capability of the machine can also be delivered via the CRUM. For instance, improvements in the dot patterning structures which the printer uses to eliminate image quality defects such as Moiré patterns or half-tone mottle may be distributed by a CRU. An example of a simple modification which could be delivered through the CRUM is swapping the dot patterns used by 2 colors to optimize the overall half-tone image quality.  
         [0033]    As discussed above, changes to process controls algorithms or xerographic setpoints in the machine may be delivered via the CRUM. Further, specific examples comprise adjustments to the setpoints which control the shape of the Toner Reproduction Curve (TRC). These setpoints changes may be changes in a ROS exposure, ETAC (Enhanced Toner Area Coverage) sensor output target, or a change in the voltage level in any of a number of electrostatic actuators. Another example embodiment is adjustment to fuser subsystem setpoints such as fuser roll temperature or dwell time (adjusted via fuser roll speed). The variations achievable are, as will be understood by those skilled in the art, limited only by the storage size of the CRUM or other CRU memory, and the operational boundaries and feature set of the machine.  
         [0034]    In closing, by employing the CRUM or other CRU memory as the media and the distribution of replaceable cartridges or customer replaceable units as a medium of software distribution, software updates/upgrades may be readily distributed from the factory or other central point of distribution post-launch of the target machine without the need for a field service call. Thereby, application of this methodology will allow appropriate software replacement schedules to be instituted for updates/upgrades which minimize both cost and customer down time.  
         [0035]    While the embodiments disclosed herein are preferred, it will be appreciated from this teaching that various alternative modifications, variations or improvements therein may be made by those skilled in the art. For example, it will be understood by those skilled in the art that the teachings provided herein may be applicable to many types of machines and systems employing CRU&#39;s, including copiers, printers and multifunction scan/print/copy/fax machines or other printing apparatus alone or in combination with computer, fax, local area network and internet connection capability. All such variants are intended to be encompassed by the following claims: