Printing systems have replaceable components that are integral to the functioning of the system. The replaceable components include print cartridges that contain consumable material that is depleted with each use of the printing system. Verifying that a replaceable component is an authentic component from a legitimate manufacturer can help users of printing systems avoid problems associated with the unintended use of a defective and/or counterfeit component.
The present embodiments will now be described, by way of example, with reference to the accompanying drawings, in which:
As noted above, verifying the authenticity of replaceable components for use in printing systems can help system users avoid problems associated with the unintended use of defective and/or counterfeit components. For example, the inadvertent use of a counterfeit toner or ink cartridge in a printer system can result in various problems ranging from poor quality printouts to leaky cartridges that can damage the printing system.
Prior methods of authenticating replaceable printing components have included storing identification data in a data chip on the component and then verifying that the identification data is correct when the component is inserted into the printing system (e.g., inkjet printer). For example, a replaceable print cartridge for an inkjet printer can incorporate a data storage chip having identification (ID) bit memory cells that are pre-programmed with digital values of logic “1” (high) or logic “0” (low). When a print cartridge is inserted into the printer, a printer controller determines whether or not the cartridge is authentic by reading (i.e., measuring) the logic values in the ID bit memory cells and comparing them with a threshold value to see if they match expected logic values that were pre-programmed into the memory cells. With this method, therefore, the threshold criteria merely determine whether the ID bit memory cells contain expected logic high values or logic low values. However, ID bit memory cells can have significant electrical defects, or they can be inappropriately modified (e.g., by a counterfeiter), which can result in their returning expected logic high or logic low values when measured. As a result, this method of authentication does not always adequately detect damaged and/or inappropriately modified ID bits, which can lead to the improper authentication of some replaceable printing components.
Embodiments of the present disclosure provide unique identification codes for replaceable printing components such as ink cartridges in inkjet printing systems. Printers can confirm the identity of replaceable ink or toner cartridges based on measurements of analog performance parameters taken from electronic components (e.g., transistors) fabricated on silicon printhead devices within the ink cartridges. The uniqueness of the identifications is enhanced by measuring and combining multiple analog parameters, and by measuring the analog parameters at varying voltages and temperatures.
Variations in measured analog parameters indicate or identify differences in process parameters of individual electronic components, such as diffusion depths, oxide thicknesses, polysilicon gate widths, and metal trace interconnect widths. Such differences are the result of limitations in the photolithographic process, non-uniform conditions encountered while diffusing impurities (dopants) into the silicon, non-uniform conditions encountered while depositing materials on the silicon, and so on. Analog performance parameters that can be measured to identify variations in process parameters include, for example, transistor threshold voltage, saturation current, and resistance. Because no two silicon printhead devices are manufactured identically, individual electronic component (e.g., transistor) parameters vary from printhead to printhead such that no two silicon printhead devices perform identically. Consequently, these process-based parametric variations can be used as the basis for generating identification codes that can uniquely identify individual printheads.
In one example implementation, a replaceable printing component includes a fluid supply chamber, and a printhead on the fluid supply chamber. The printhead includes a memory storing a factory identification code that comprises a combination of digitized analog performance parameters. The printhead also includes electronic test components from which the analog performance parameters have been measured.
In another example implementation, a replaceable printing component includes a fluid supply chamber, and a printhead on the fluid supply chamber having a memory and a plurality of test components. An encrypted factory identification code stored in the memory comprises a combination of digitized analog performance parameters measured on the test components. The encrypted factory identification code has been encrypted using an encryption algorithm selected from the group consisting of RSA (Rivest-Shamir-Adleman), DSA (Digital Signature Algorithm), ECDSA (Elliptic Curve Digital Signature Algorithm), 3DES (Triple Data Encryption Algorithm) and AES (Advanced Encryption Standard).
Replaceable printing component 104 comprises a printhead 128 that includes a number of integrated circuit electronic test components 130, one or more measurement circuits 132, a memory 134 (e.g., non-volatile PROM), and other circuitry 136 for replaceable printing component 104. Integrated electronic test components 130 on printhead 128 can include, for example, a metal resistor, a polysilicon resistor, a thermal resistor, a PMOS transistor, an NMOS transistor, and so on. In some examples of a printing system 100, the one or more measurement circuits 132 are implemented on the controller 106 of print engine 102 instead of on the replaceable printing component 104.
Referring generally to
The generation and storage of the factory ID code 138 in the memory 134 of printhead 128 during fabrication is an initial step that enables a print engine 102 to later identify and authenticate the printhead 128 and replaceable printing component 104 when the replaceable printing component 104 is inserted into, or coupled with, the print engine 102. In general, the authentication of the printhead 128 and corresponding replaceable printing component 104 is accomplished when the print engine 102 generates a field ID code 122 and compares it with the factory ID code 138. Generating the field ID code 122 on the print engine 102 follows the same general steps that are used when generating the factory ID code 138 during fabrication of the printhead 128.
The common steps for generating an ID code (i.e., both the factory ID code 138 and field ID code 122) will now be discussed with reference to
Addressing each step more specifically now, with reference to the print engine 102 and replaceable printing component 104 of
Referring again generally to
Once the field ID code 122 has been generated on the print engine 102 by controller 106, the ID code comparison module 116 executes on processor 108 to compare the field ID code 122 with a factory ID code 124. The ID code comparison module 116 retrieves (i.e., reads) the factory ID code 124 from memory 134 on printhead 128. The factory ID code 124 has been previously generated during fabrication of printhead 128 in the same general manner noted above for generating the field ID code 122, and then stored in memory 134. In some implementations, the factory ID code 124 is an encrypted factory ID code 138 that has been encrypted at the factory during fabrication prior to storage in memory 134. As noted above, an encrypted factory ID code 138 can be encrypted by various encryption algorithms including, for example, RSA, DSA, ECDSA, 3DES, and AES. Where RSA, DSA, or ECDSA algorithms are used, the memory 134 will also include a digital signature 139 that accompanies the factory ID code 138. Accordingly, when an encrypted factory ID code 138 is retrieved, it is first decrypted through execution of decryption module 112 using the digital signature 139, which reveals the factory ID code 124. The ID code comparison module 116 then compares the factory ID code 124 with the field ID code 122 to determine if they match. In general, a match between the factory ID code 124 and the field ID code 122 indicates that the printhead 128, and thus the replaceable printing component 104, are authentic. If the factory ID code 124 and field ID code 122 do not match, however, then the printhead 128, and thus the replaceable printing component 104, are determined to not be authentic. When the replaceable printing component 104 is determined to not be authentic, controller 106 may provide an output message on a user interface (not shown) of the printing system 100 that indicates that the replaceable printing component 104 is, for example, not authentic, is counterfeit, has been tampered with, and so on.
When comparing the factory ID code 124 with the field ID code 122, the ID code comparison module 112 may also compensate for quantization (i.e., analog-to-digital (A/D) conversion) problems. For example, when a first analog parameter is measured in the factory on a test component 130 to generate the factory ID code 124, the A/D conversion process may assign a digital value of 156 for the measured analog parameter. However, when the same analog parameter is measured on the same test component 130 under the same conditions (e.g., temperature, voltage level) at a later time in the field by the print engine 102 to generate the field ID code 122, the A/D conversion process may yield a digital value that is off by a fraction of the lowest quantizable code (i.e., off by part of a “least significant bit”), which could result in a value of 155, instead of 156. While these values are close to a match, a straight comparison would typically result in a determination that there is no match between the factory ID code 124 and field ID code 122, which would be an incorrect result. This quantization issue can be remedied by quantizing the measured analog parameters at a finer level than the quantization level needed to discriminate between an authentic and non-authentic printhead 128 (i.e., replaceable printing component 104). In other words, additional bits can be used in the quantization (A/D conversion) such that the resolution of the difference between authentic and non-authentic printheads 128 is significantly greater than the resolution of the difference between an initial factory measured analog parameter and a subsequent field measured analog parameter of the same test component 130. The extra resolution enables the observation of “overlap” between the initial and subsequent measurements, which effectively examines the codes at a lower level of resolution and allows near neighbor codes to be a match.
The controller 504 of print engine 502 generally includes components of a standard computing system such as a processor(s)/circuits 503, a memory (not specifically shown), and processor-executable firmware and/or software instructions and data stored temporarily or permanently in the memory. Examples of executable instructions stored in the memory of controller 504 include a temperature-voltage control module 110, a decryption module 112, a field identity (ID) code generator 114, and an identity (ID) code comparison module 116. Examples of data stored in the memory of controller 504 include subcodes 120, a field ID code 122, and a factory ID code 124. In some implementations, the factory ID code 124 is an encrypted factory ID code 138. Controller 504 also includes an analog-to-digital (A/D) converter 118 and a measurement circuit 132. In some implementations, the measurement circuit 132 is located on the printhead 514 within the replaceable ink cartridge 508. In general, these and other components of controller 504 operate to control the functions of print engine 502 and printing system 500, and, to communicate with and control the replaceable ink cartridge 508 and printhead 514 via one or more communication channels 126 implemented, in part, as electrical contacts 600 (see
Referring still to
Mounting assembly 506 positions inkjet cartridge 508 relative to media transport assembly 512, and media transport assembly 512 positions print media 518 relative to inkjet cartridge 508. Thus, a print zone 520 is defined adjacent to nozzles 516 in an area between inkjet cartridge 508 and print media 518. In one example, print engine 502 is a scanning type print engine 502. As such, mounting assembly 506 includes a carriage for moving inkjet cartridge 508 relative to media transport assembly 512 to scan print media 518. In another example, print engine 502 is a non-scanning type print engine 502. As such, mounting assembly 506 fixes inkjet cartridge 508 at a prescribed position relative to media transport assembly 512 while media transport assembly 512 positions print media 518 relative to inkjet cartridge 508.
As noted above, controller 504 operates to control the functions of the print engine 502 and printing system 500, and, to communicate with and control the replaceable ink cartridge 508 and printhead 514 via electrical contacts 600 (i.e., communication channels 126). Controller 504 receives host data 522 from a host system, such as a computer, and temporarily stores the data 522 in a memory. Typically, data 522 is sent to inkjet printing system 500 along an electronic, infrared, optical, or other information transfer path. Host data 522 represents, for example, a document and/or file to be printed. As such, data 522 forms a print job for inkjet printing system 500 that includes one or more print job commands and/or command parameters. Using data 522, controller 504 controls inkjet cartridge 508 to eject ink drops from nozzles 516. Thus, controller 504 defines a pattern of ejected ink drops that forms characters, symbols, and/or other graphics or images on print medium 518. The pattern of ejected ink drops is determined by the print job commands and/or command parameters from data 522.
In another implementation, the controller 504 operates to determine the authenticity of the printhead 514 and ink cartridge 508 in a manner similar to that discussed above with respect to the printing system 100 of
The measured analog parameters are converted, or quantized, by A/D converter 118 into digital values, or digital subcodes 120. Subcodes 120 can be generated for some or all of the test components 130 on printhead 514. Furthermore, numerous subcodes 120 can be generated for each individual test component 130 on printhead 514 by repeating measurements at different temperatures and voltages.
The field ID code creator 114 executes on processor 503 to combine the subcodes 120 into a field ID code 122. Subcodes 120 can be combined in various ways. For example, the subcodes 120 can be concatenated (i.e., connected or linked in a series), blended (e.g., mixing digits in different combinations), operated on with different mathematical functions before and/or after combining them, including taking ratios of the subcodes 120 before and/or after combining them, and so on.
After the field ID code 122 is generated through the combination of a number of subcodes 120, controller 504 executes instructions from the ID code comparison module 116 on processor 503 to compare the field ID code 122 with a factory ID code 124. The ID code comparison module 116 retrieves (i.e., reads) the factory ID code 124 from memory 134 on printhead 514. As noted above, the factory ID code 124 has been previously generated and stored in memory 134 during fabrication of the printhead 514 in the same general manner noted above for generating the field ID code 122. In some implementations, the factory ID code 124 is an encrypted factory ID code 138 that is encrypted at the factory during fabrication prior to storage in the printhead memory 134. An encrypted factory ID code 138 can be encrypted by various encryption algorithms including, for example, RSA (Rivest-Shamir-Adleman), DSA (Digital Signature Algorithm), ECDSA (Elliptic Curve Digital Signature Algorithm), 3DES (Triple Data Encryption Algorithm) and AES (Advanced Encryption Standard). In some implementations, such as for the RSA, DSA, and ECDSA algorithms, the memory 134 will also include a digital signature 139 that accompanies the factory ID code 138. If the factory ID code 124 is an encrypted factory ID code 138, it is decrypted through execution of decryption module 112 using digital signature 139 upon retrieval by the comparison module 116. Decrypting the encrypted factory ID code 138 reveals the factory ID code 124 and enables the comparison module 116 to compare the field ID code 122 with the factory ID code 124. Comparing the factory ID code 124 with the field ID code 122 can include compensating for potential differences in quantization (i.e., analog-to-digital (A/D) conversion) of the measured analog parameters. As discussed above, this compensation can include quantizing the measured analog parameters at a finer level than the quantization level needed to discriminate between an authentic and non-authentic printhead 514 (i.e., replaceable ink cartridge 508).
If the factory and field ID codes match, the comparison module 116 determines that the ink cartridge 508 with printhead 514 is authentic. If the codes do not match, however, then the comparison module 116 determines that the ink cartridge 508 with printhead 514 is not authentic. When the codes do not match, comparison module 116 can provide an output message to a user interface (not shown) of the printing system 500 that indicates the ink cartridge 508 is not authentic, may be counterfeit, may have been tampered with, and so on.
Referring to
The method 700 continues at block 710 with accessing a factory ID code from the memory of the printhead. As shown at blocks 712 and 714, respectively, accessing the factory ID code can include accessing an encrypted factory ID code with an accompanying digital signature, and decrypting the encrypted factory ID code to reveal the factory ID code. At block 716, the method 700 continues with comparing the field identity code to the factory identity code to determine the codes match. As shown at block 718, if the codes do not match, a notification can be provided indicating that the printhead is not authentic. Conversely, if the does do match, a notification can be provided indicating the printhead is authentic.
This patent application is a continuation of and claims priority from U.S. patent application Ser. No. 14/413,215, filed Jan. 6, 2015, which is a national stage application of and claims priority from PCT/US2012/053185, filed Aug. 30, 2012, the entire contents of which are incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
20040181681 | Salisbury | Sep 2004 | A1 |
20060098993 | Yang | May 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20160185123 A1 | Jun 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14413215 | US | |
Child | 14967683 | US |