US20090058903A1 - Printer controller configured to compensate for dead printhead nozzles - Google Patents
Printer controller configured to compensate for dead printhead nozzles Download PDFInfo
- Publication number
- US20090058903A1 US20090058903A1 US12/266,479 US26647908A US2009058903A1 US 20090058903 A1 US20090058903 A1 US 20090058903A1 US 26647908 A US26647908 A US 26647908A US 2009058903 A1 US2009058903 A1 US 2009058903A1
- Authority
- US
- United States
- Prior art keywords
- data
- dot
- page
- printhead
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04505—Control methods or devices therefor, e.g. driver circuits, control circuits aiming at correcting alignment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04508—Control methods or devices therefor, e.g. driver circuits, control circuits aiming at correcting other parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/0451—Control methods or devices therefor, e.g. driver circuits, control circuits for detecting failure, e.g. clogging, malfunctioning actuator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04528—Control methods or devices therefor, e.g. driver circuits, control circuits aiming at warming up the head
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04541—Specific driving circuit
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04543—Block driving
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04563—Control methods or devices therefor, e.g. driver circuits, control circuits detecting head temperature; Ink temperature
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04573—Timing; Delays
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04586—Control methods or devices therefor, e.g. driver circuits, control circuits controlling heads of a type not covered by groups B41J2/04575 - B41J2/04585, or of an undefined type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
- H03K5/1252—Suppression or limitation of noise or interference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2202/00—Embodiments of or processes related to ink-jet or thermal heads
- B41J2202/01—Embodiments of or processes related to ink-jet heads
- B41J2202/20—Modules
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/49—Method of mechanical manufacture
- Y10T29/49401—Fluid pattern dispersing device making, e.g., ink jet
Definitions
- the present invention relates to the compensating a channel in a printhead where one or more ink nozzles in the printhead are dead.
- the invention has primarily been developed for use with a printhead comprising one or more printhead modules constructed using microelectromechanical systems (MEMS) techniques, and will be described with reference to this application. However, it will be appreciated that the invention can be applied to other types of printing technologies in which analogous problems are faced.
- MEMS microelectromechanical systems
- the quality of a joint region between adjacent printhead modules relies on factors including a precision with which the abutting ends of each module can be manufactured, the accuracy with which they can be aligned when assembled into a single printhead, and other more practical factors such as management of ink channels behind the nozzles. It will be appreciated that the difficulties include relative vertical displacement of the printhead modules with respect to each other.
- printhead controllers are usually dedicated application specific integrated circuits (ASICs) designed for specific use with a single type of printhead module, that is used by itself rather than with other modules. It would be desirable to provide a way in which different lengths and types of printhead modules could be accounted for using a single printer controller.
- ASICs application specific integrated circuits
- Printer controllers face other difficulties when two or more printhead modules are involved, especially if it is desired to send dot data to each of the printheads directly (rather than via a single printhead connected to the controller).
- One concern is that data delivered to different length controllers at the same rate will cause the shorter of the modules to be ready for printing before any longer modules.
- the issue may not be of importance, but for large length differences, the result is that the bandwidth of a shared memory from which the dot data is supplied to the modules is effectively left idle once one of the modules is full and the remaining module or modules is still being filled. It would be desirable to provide a way of improving memory bandwidth usage in a system comprising a plurality of printhead modules of uneven length.
- any printing system that includes multiple nozzles on a printhead or printhead module, there is the possibility of one or more of the nozzles failing in the field, or being inoperative due to manufacturing defect.
- the printhead also outputs fixative on a per-nozzle basis, it is also desirable that the fixative is provided in such a way that dead nozzles are compensated for.
- a printer controller can take the form of an integrated circuit, comprising a processor and one or more peripheral hardware units for implementing specific data manipulation functions. A number of these units and the processor may need access to a common resource such as memory.
- timeslot arbitration In which access to the resource is guaranteed to a particular requester during a predetermined timeslot.
- Timeslot arbitration does not take into account these differences, which may result in accesses being performed in a less efficient manner than might otherwise be the case. It would be desirable to provide a timeslot arbitration scheme that improved this efficiency as compared with prior art timeslot arbitration schemes.
- a cache miss in which an attempt to load data or an instruction from a cache fails results in a memory access followed by a cache update. It is often desirable when updating the cache in this way to update data other than that which was actually missed.
- a typical example would be a cache miss for a byte resulting in an entire word or line of the cache associated with that byte being updated.
- this can have the effect of tying up bandwidth between the memory (or a memory manager) and the processor where the bandwidth is such that several cycles are required to transfer the entire word or line to the cache. It would be desirable to provide a mechanism for updating a cache that improved cache update speed and/or efficiency.
- the present invention provides a printer controller able to compensate for an inoperative nozzle in a printhead, the printhead including a plurality of sets of nozzles for printing a corresponding plurality of channels of dot data, the printhead operated by the printer controller which is able to determine one or more operative nozzles capable of printing a dot on a print media near a position at which the inoperative nozzle would have printed a dot had it been operative.
- the printhead is segmented as a bi-lithic printhead.
- the printer controller compensates for an inoperative nozzle in the printhead by using color redundancy; the channels of dot data are mapped from the inoperative nozzle to the determined one or more operative nozzles; the channels of dot data are mapped from the inoperative nozzle to a color plane of the determined one or more operative nozzles; the mapping of the channels of dot data to the color plane is programmable; there are six channels of dot data and the dot data is bi-level dot data; the channels of dot data are loaded from DRAM and are then passed to the printer controller via a FIFO buffer; and/or information indicating inoperative nozzles is stored in a table.
- the table is updated by performing an inoperative nozzle test including the steps of: running a printhead nozzle test sequence; converting inoperative nozzle information into an inoperative nozzle table; and, writing the inoperative nozzle table to a memory of the printer controller.
- the printer controller is additionally able to: (a) form a compressed bi-level layer for a given print line intended for the bi-lithic printhead; (b) expand the compressed bi-level layer; (c) composite the bi-level layer to produce bi-level dots; (d) determine which combination of one or more available operative nozzles near the inoperative nozzle reduces perceived error in an image that the dot data forms part of, the determination being performed on the basis of a color model; (e) map the dot data intended for the inoperative nozzle to the combination of one or more operative nozzles; and, (f) pass resultant bi-level channel dot data to the bi-lithic printhead.
- the one or more operative nozzles capable of printing a dot on the print media are immediately adjacent the position at which the inoperative nozzle would have printed a dot had it been operative; during successive firings of the printhead, the dot data is remapped alternately to operative nozzles capable of printing a dot on the print media either side of that which would have been printed by the inoperative nozzle; during successive firings of the printhead, the dot data is remapped randomly, pseudo-randomly, or arbitrarily to operative nozzles capable of printing a dot on the print media either side of that which would have been printed by the inoperative nozzle; the inoperative nozzle is associated with a black print channel, and wherein the dot data intended for the inoperative nozzle is mapped into a plurality of operative nozzles in other color channels to produce a process black output at or adjacent a location on print media where the inoperative nozzle would have deposited a dot of a black printing substance in accordance with the dot data
- FIG. 1 shows document data flow in a printer
- FIG. 2 shows pages containing different numbers of bands
- FIG. 3 shows the contents of a page band
- FIG. 4 illustrates a page data path from host to SoPEC
- FIG. 5 shows a page structure
- FIG. 6 shows a SoPEC system top level partition
- FIG. 7 shows a SoPEC CPU memory map (not to scale).
- FIG. 8 shows a SoPEC system top level partition
- FIG. 9 shows an outline of contone data flow with respect to CDU
- FIG. 10 shows a DRAM storage arrangement for a single line of JPEG 8 ⁇ 8 blocks in 4 colors
- FIG. 11 shows a high level block diagram showing the HCU and its external interfaces
- FIG. 12 shows a block diagram of the HCU
- FIG. 13 shows a block diagram of the control unit
- FIG. 14 shows a block diagram of determine advdot unit
- FIG. 15 shows a page structure
- FIG. 16 shows a block diagram of a margin unit
- FIG. 17 shows a block diagram of a dither matrix table interface
- FIG. 18 shows an example of reading lines of dither matrix from DRAM
- FIG. 19 shows a state machine to read dither matrix table
- FIG. 20 shows a contone dotgen unit
- FIG. 21 shows a block diagram of dot reorg unit
- FIG. 22 shows an HCU to DNC interface (also used in DNC to DWU, LLU to PHI);
- FIG. 23 shows SFU to HCU interface (all feeders to HCU);
- FIG. 24 shows representative logic of the SFU to HCU interface
- FIG. 25 shows a high-level block diagram of DNC
- FIG. 26 shows a dead nozzle table format
- FIG. 27 shows set of dots operated on for error diffusion
- FIG. 28 shows a block diagram of DNC
- FIG. 29 shows a sub-block diagram of ink replacement unit
- FIG. 30 shows a dead nozzle table state machine
- FIG. 31 shows logic for dead nozzle removal and ink replacement
- FIG. 32 shows a sub-block diagram of error diffusion unit
- FIG. 33 shows a maximum length 32-bit LFSR used for random bit generation
- FIG. 34 shows a high-level data flow diagram of DWU in context
- FIG. 35 shows a printhead nozzle layout for 36-nozzle bi-lithic printhead
- FIG. 36 shows a printhead nozzle layout for a 36-nozzle bi-lithic printhead
- FIG. 37 shows a dot line store logical representation
- FIG. 38 shows a conceptual view of printhead row alignment
- FIG. 39 shows a conceptual view of printhead rows (as seen by the LLU and PHI);
- FIG. 40 shows a comparison of 1.5 ⁇ v 2 ⁇ buffering
- FIG. 41 shows an even dot order in DRAM (increasing sense, 13320 dot wide line);
- FIG. 42 shows an even dot order in DRAM (decreasing sense, 13320 dot wide line);
- FIG. 43 shows a dotline FIFO data structure in DRAM
- FIG. 44 shows a DWU partition
- FIG. 45 shows a buffer address generator sub-block
- FIG. 46 shows a DIU Interface sub-block
- FIG. 47 shows an interface controller state diagram
- FIG. 48 shows a high level data flow diagram of LLU in context
- FIG. 50 shows printhead structure and dot generate order
- FIG. 51 shows an order of dot data generation and transmission
- FIG. 52 shows a conceptual view of printhead rows
- FIG. 53 shows a dotline FIFO data structure in DRAM (LLU specification).
- FIG. 54 shows an LLU partition
- FIG. 55 shows a dot generator RTL diagram
- FIG. 56 shows a DIU interface
- FIG. 57 shows an interface controller state diagram
- FIG. 58 shows high-level data flow diagram of PHI in context.
- Imperative phrases such as “must”, “requires”, “necessary” and “important” (and similar language) should be read as being indicative of being necessary only for the preferred embodiment actually being described. As such, unless the opposite is clear from the context, imperative wording should not be interpreted as such. None in the detailed description is to be understood as limiting the scope of the invention, which is intended to be defined as widely as is defined in the accompanying claims.
- the preferred of the present invention is implemented in a printer using microelectromechanical systems (MEMS) printheads.
- the printer can receive data from, for example, a personal computer such as an IBM compatible PC or Apple computer. In other embodiments, the printer can receive data directly from, for example, a digital still or video camera.
- MEMS microelectromechanical systems
- the particular choice of communication link is not important, and can be based, for example, on USB, Firewire, Bluetooth or any other wireless or hardwired communications protocol.
- SoPEC Small office home office Print Engine Controller
- ASIC Application Specific Integrated Circuit
- the SoPEC ASIC is intended to be a low cost solution for bi-lithic printhead control, replacing the multichip solutions in larger more professional systems with a single chip.
- the increased cost competitiveness is achieved by integrating several systems such as a modified PEC1 printing pipeline, CPU control system, peripherals and memory sub-system onto one SoC ASIC, reducing component count and simplifying board design.
- a bi-lithic based printhead is constructed from 2 printhead ICs of varying sizes.
- the notation M:N is used to express the size relationship of each IC, where M specifies one printhead IC in inches and N specifies the remaining printhead IC in inches.
- Bi-lithic printhead refers to printhead constructed from 2 printhead ICs; CPU: refers to CPU core, caching system and MMU; ISI-Bridge chip: a device with a high speed interface (such as USB2.0, Ethernet or IEEE1394) and one or more ISI interfaces.
- the ISI-Bridge would be the ISIMaster for each of the ISI buses it interfaces to; ISIMaster: the ISIMaster is the only device allowed to initiate communication on the Inter Sopec Interface (ISI) bus.
- the ISIMaster interfaces with the host; ISISlave.
- Multi-SoPEC systems will contain one or more ISISlave SoPECs connected to the ISI bus.
- ISISlaves can only respond to communication initiated by the ISIMaster; LEON: refers to the LEON CPU core; LineSyncMaster: the LineSyncMaster device generates the line synchronisation pulse that all SoPECs in the system must synchronise their line outputs to; Multi-SoPEC: refers to SoPEC based print system with multiple SoPEC devices; Netpage: refers to page printed with tags (normally in infrared ink); PEC1: refers to Print Engine Controller version 1, precursor to SoPEC used to control printheads constructed from multiple angled printhead segments; Printhead IC: single MEMS IC used to construct bi-lithic printhead; PrintMaster: the PrintMaster device is responsible for coordinating all aspects of the print operation.
- PrintMaster There may only be one PrintMaster in a system; QA Chip: Quality Assurance Chip; Storage SoPEC: an ISISlave SoPEC used as a DRAM store and which does not print; and Tag: refers to pattern which encodes information about its position and orientation which allow it to be optically located and its data contents read.
- CDU Contone Decoder Unit CFU Contone FIFO Unit; CPU Central Processing Unit; CPR Clock, Power and Reset block; DIU DRAM Interface Unit; DNC Dead Nozzle Compensator; DRAM Dynamic Random Access Memory; DWU Dotline Writer Unit; GPIO General Purpose Input Output; HCU Halftoner Compositor Unit; ICU Interrupt Controller Unit; ISI Inter SoPEC Interface; LDB Lossless Bi-level Decoder; LLU Line Loader Unit; LSS Low Speed Serial interface; MEMS Micro Electro Mechanical System; MMU Memory Management Unit; PCU SoPEC Controller Unit/PEP controller; PHI PrintHead Interface; PSS Power Save Storage Unit; RDU Real-time Debug Unit; ROM Read Only Memory/Boot ROM; SCB Serial Communication Block; SFU Spot FIFO Unit; SMG4 Silverbrook Modified Group 4; SoPEC Small office home office Print Engine Controller; SRAM Static Random Access Memory; TE
- a bi-lithic printhead produces 1600 dpi bi-level dots. On low-diffusion paper, each ejected drop forms a 22.5 ⁇ m diameter dot. Dots are easily produced in isolation, allowing dispersed-dot dithering to be exploited to its fullest. Since the bi-lithic printhead is the width of the page and operates with a constant paper velocity, color planes are printed in perfect registration, allowing ideal dot-on-dot printing. Dot-on-dot printing minimizes ‘muddying’ of midtones caused by inter-color bleed.
- a page layout may contain a mixture of images, graphics and text. Continuous-tone (contone) images and graphics are reproduced using a stochastic dispersed-dot dither. Unlike a clustered-dot (or amplitude-modulated) dither, a dispersed-dot (or frequency-modulated) dither reproduces high spatial frequencies (i.e. image detail) almost to the limits of the dot resolution, while simultaneously reproducing lower spatial frequencies to their full color depth, when spatially integrated by the eye.
- a stochastic dither matrix is carefully designed to be free of objectionable low-frequency patterns when tiled across the image. As such its size typically exceeds the minimum size required to support a particular number of intensity levels (e.g. 16 ⁇ 16 ⁇ 8 bits for 257 intensity levels).
- Human contrast sensitivity peaks at a spatial frequency of about 3 cycles per degree of visual field and then falls off logarithmically, decreasing by a factor of 100 beyond about 40 cycles per degree and becoming immeasurable beyond 60 cycles per degree. At a normal viewing distance of 12 inches (about 300 mm), this translates roughly to 200-300 cycles per inch (cpi) on the printed page, or 400-600 samples per inch according to Nyquist's theorem.
- contone resolution above about 300 ppi is of limited utility outside special applications such as medical imaging.
- Black text and graphics are reproduced directly using bi-level black dots, and are therefore not anti-aliased (i.e. low-pass filtered) before being printed. Text should therefore be supersampled beyond the perceptual limits discussed above, to produce smoother edges when spatially integrated by the eye. Text resolution up to about 1200 dpi continues to contribute to perceived text sharpness (assuming low-diffusion paper, of course).
- a Netpage printer may use a contone resolution of 267 ppi (i.e. 1600 dp 6), and a black text and graphics resolution of 800 dpi.
- a high end office or departmental printer may use a contone resolution of 320 ppi (1600 dpi/5) and a black text and graphics resolution of 1600 dpi. Both formats are capable of exceeding the quality of commercial (offset) printing and photographic reproduction.
- each page must be printed at a constant speed to avoid creating visible artifacts. This means that the printing speed can't be varied to match the input data rate. Document rasterization and document printing are therefore decoupled to ensure the printhead has a constant supply of data. A page is never printed until it is fully rasterized. This can be achieved by storing a compressed version of each rasterized page image in memory.
- FIG. 1 shows the flow of a document from computer system to printed page.
- a A4 page (8.26 inches ⁇ 11.7 inches) of contone CMYK data has a size of 26.3 MB.
- an A4 page of contone data has a size of 37.8 MB.
- lossy contone compression algorithms such as JPEG, contone images compress with a ratio up to 10:1 without noticeable loss of quality, giving compressed page sizes of 2.63 MB at 267 ppi and 3.78 MB at 320 ppi.
- a A4 page of bi-level data has a size of 7.4 MB.
- a Letter page of bi-level data has a size of 29.5 MB.
- Coherent data such as text compresses very well.
- lossless bi-level compression algorithms such as SMG4 fax, ten-point plain text compresses with a ratio of about 50:1.
- Lossless bi-level compression across an average page is about 20:1 with 10:1 possible for pages which compress poorly.
- the requirement for SoPEC is to be able to print text at 10:1 compression. Assuming 10:1 compression gives compressed page sizes of 0.74 MB at 800 dpi, and 2.95 MB at 1600 dpi.
- CMYK contone image data consists of 116 MB of bi-level data.
- lossless bi-level compression algorithms on this data is pointless precisely because the optimal dither is stochastic, since it introduces hard-to-compress disorder.
- Netpage tag data is optionally supplied with the page image.
- the tag data is stored in its raw form.
- Each tag is supplied up to 120 bits of raw variable data (combined with up to 56 bits of raw fixed data) and covers up to a 6 mm ⁇ 6 mm area (at 1600 dpi).
- the absolute maximum number of tags on a A4 page is 15,540 when the tag is only 2 mm ⁇ 2 mm (each tag is 126 dots ⁇ 126 dots, for a total coverage of 148 tags ⁇ 105 tags).
- 15,540 tags of 128 bits per tag gives a compressed tag page size of 0.24 MB.
- the multi-layer compressed page image format therefore exploits the relative strengths of lossy JPEG contone image compression, lossless bi-level text compression, and tag encoding.
- the format is compact enough to be storage-efficient, and simple enough to allow straightforward real-time expansion during printing.
- worst-case page image size is image only, while the normal best-case page image size is text only.
- worst case Netpage tags adds 0.24 MB to the page image size.
- the worst-case page image size is text over image plus tags.
- the average page size assumes a quarter of an average page contains images. Table 1 shows data sizes for compressed Letter page for these different options.
- the Host PC rasterizes and compresses the incoming document on a page by page basis.
- the page is restructured into bands with one or more bands used to construct a page.
- the compressed data is then transferred to the SoPEC device via the USB link.
- a complete band is stored in SoPEC embedded memory. Once the band transfer is complete the SoPEC device reads the compressed data, expands the band, normalizes contone, bi-level and tag data to 1600 dpi and transfers the resultant calculated dots to the bi-lithic printhead.
- the document data flow is:
- the SoPEC device can print a full resolution page with 6 color planes.
- Each of the color planes can be generated from compressed data through any channel (either JPEG compressed, bi-level SMG4 fax compressed, tag data generated, or fixative channel created) with a maximum number of 6 data channels from page RIP to bi-lithic printhead color planes.
- mapping of data channels to color planes is programmable, this allows for multiple color planes in the printhead to map to the same data channel to provide for redundancy in the printhead to assist dead nozzle compensation.
- a data channel could be used to gate data from another data channel.
- data from the bilevel data channel at 1600 dpi can be used to filter the contone data channel at 320 dpi, giving the effect of 1600 dpi contone image.
- the SoPEC device typically stores a complete page of document data on chip.
- the amount of storage available for compressed pages is limited to 2 Mbytes, imposing a fixed maximum on compressed page size.
- a comparison of the compressed image sizes in Table 2 indicates that SoPEC would not be capable of printing worst case pages unless they are split into bands and printing commences before all the bands for the page have been downloaded.
- the page sizes in the table are shown for comparison purposes and would be considered reasonable for a professional level printing system.
- the SoPEC device is aimed at the consumer level and would not be required to print pages of that complexity.
- Target document types for the SoPEC device are shown Table 2.
- the page RIP software in the host PC can determine that there is insufficient memory storage in the SoPEC for that document. In such cases the RIP software can take two courses of action. It can increase the compression ratio until the compressed page size will fit in the SoPEC device, at the expense of document quality, or divide the page into bands and allow SoPEC to begin printing a page band before all bands for that page are downloaded. Once SoPEC starts printing a page it cannot stop, if SoPEC consumes compressed data faster than the bands can be downloaded a buffer underrun error could occur causing the print to fail. A buffer underrun occurs if a line synchronisation pulse is received before a line of data has been transferred to the printhead.
- a Storage SoPEC could be added to the system to provide guaranteed bandwidth data delivery.
- the print system could also be constructed using an ISI-Bridge chip to provide guaranteed data delivery.
- the SoPEC device can be used in several printer configurations and architectures.
- SoPEC system on a chip
- SoC system on a chip
- PEP Print Engine Pipeline
- the PEP reads compressed page store data from the embedded memory, optionally decompresses the data and formats it for sending to the printhead.
- the print engine pipeline functionality includes expanding the page image, dithering the contone layer, compositing the black layer over the contone layer, rendering of Netpage tags, compensation for dead nozzles in the printhead, and sending the resultant image to the bi-lithic printhead.
- SoPEC contains an embedded CPU for general purpose system configuration and management.
- the CPU performs page and band header processing, motor control and sensor monitoring (via the GPIO) and other system control functions.
- the CPU can perform buffer management or report buffer status to the host.
- the CPU can optionally run vendor application specific code for general print control such as paper ready monitoring and LED status update.
- a 2.5 Mbyte embedded memory buffer is integrated onto the SoPEC device, of which approximately 2 Mbytes are available for compressed page store data.
- a compressed page is divided into one or more bands, with a number of bands stored in memory. As a band of the page is consumed by the PEP for printing a new band can be downloaded. The new band may be for the current page or the next page.
- a Storage SoPEC acting as a memory buffer or an ISI-Bridge chip with attached DRAM could be used to provide guaranteed data delivery.
- the embedded USB 1.1 device accepts compressed page data and control commands from the host PC, and facilitates the data transfer to either embedded memory or to another SoPEC device in multi-SoPEC systems.
- the printhead is constructed by abutting 2 printhead ICs together.
- the printhead ICs can vary in size from 2 inches to 8 inches, so to produce an A4 printhead several combinations are possible. For example two printhead ICs of 7 inches and 3 inches could be used to create a A4 printhead (the notation is 7:3). Similarly 6 and 4 combination (6:4), or 5:5 combination.
- For an A3 printhead it can be constructed from 8:6 or an 7:7 printhead IC combination.
- For photographic printing smaller printheads can be constructed.
- Each SoPEC device has 2 LSS system buses for communication with QA devices for system authentication and ink usage accounting.
- the number of QA devices per bus and their position in the system is unrestricted with the exception that PRINTER_QA and INK_QA devices should be on separate LSS busses.
- Each SoPEC system can have several QA devices. Normally each printing SoPEC will have an associated PRINTER_QA. Ink cartridges will contain an INK_QA chip. PRINTER_QA and INK_QA devices should be on separate LSS busses. All QA chips in the system are physically identical with flash memory contents defining PRINTER_QA from INK_QA chip.
- the Inter-SoPEC Interface provides a communication channel between SoPECs in a multi-SoPEC system.
- the ISIMaster can be SoPEC device or an ISI-Bridge chip depending on the printer configuration. Both compressed data and control commands are transferred via the interface.
- a device other than a SoPEC with a USB connection, which provides print data to a number of slave SoPECs.
- a bridge chip will typically have a high bandwidth connection, such as USB2.0, Ethernet or IEEE1394, to a host and may have an attached external DRAM for compressed page storage.
- a bridge chip would have one or more ISI interfaces. The use of multiple ISI buses would allow the construction of independent print systems within the one printer. The ISI-Bridge would be the ISIMaster for each of the ISI buses it interfaces to.
- the RIP When rendering a page, the RIP produces a page header and a number of bands (a non-blank page requires at least one band) for a page.
- the page header contains high level rendering parameters, and each band contains compressed page data.
- the size of the band will depend on the memory available to the RIP, the speed of the RIP, and the amount of memory remaining in SoPEC while printing the previous band(s).
- FIG. 3 shows the high level data structure of a number of pages with different numbers of bands in the page.
- Each compressed band contains a mandatory band header, an optional bi-level plane, optional sets of interleaved contone planes, and an optional tag data plane (for Netpage enabled applications). Since each of these planes is optional, the band header specifies which planes are included with the band.
- FIG. 4 gives a high-level breakdown of the contents of a page band.
- a single SoPEC has maximum rendering restrictions as follows:
- the RIP or the Host PC must split the page into a format that can be handled by a single SoPEC.
- the SoPEC CPU must analyze the page and band headers and generate an appropriate set of register write commands to configure the units in SoPEC for that page.
- the various bands are passed to the destination SoPEC(s) to locations in DRAM determined by the host.
- the host keeps a memory map for the DRAM, and ensures that as a band is passed to a SoPEC, it is stored in a suitable free area in DRAM.
- Each SoPEC is connected to the ISI bus or USB bus via its Serial communication Block (SCB).
- SCB Serial communication Block
- the SoPEC CPU configures the SCB to allow compressed data bands to pass from the USB or ISI through the SCB to SoPEC DRAM.
- FIG. 5 shows an example data flow for a page destined to be printed by a single SoPEC. Band usage information is generated by the individual SoPECs and passed back to the host.
- SoPEC has an addressing mechanism that permits circular band memory allocation, thus facilitating easy memory management. However it is not strictly necessary that all bands be stored together. As long as the appropriate registers in SoPEC are set up for each band, and a given band is contiguous, the memory can be allocated in any way.
- the format is generated by software in the host PC and interpreted by embedded software in SoPEC. This section indicates the type of information in a page format structure, but implementations need not be limited to this format.
- the host PC can optionally perform the majority of the header processing.
- the compressed format and the print engines are designed to allow real-time page expansion during printing, to ensure that printing is never interrupted in the middle of a page due to data underrun.
- the page format described here is for a single black bi-level layer, a contone layer, and a Netpage tag layer.
- the black bi-level layer is defined to composite over the contone layer.
- the black bi-level layer consists of a bitmap containing a 1-bit opacity for each pixel.
- This black layer matte has a resolution which is an integer or non-integer factor of the printer's dot resolution. The highest supported resolution is 1600 dpi, i.e. the printer's full dot resolution.
- the contone layer optionally passed in as YCrCb, consists of a 24-bit CMY or 32-bit CMYK color for each pixel.
- This contone image has a resolution which is an integer or non-integer factor of the printer's dot resolution.
- the requirement for a single SoPEC is to support 1 side per 2 seconds A4/Letter printing at a resolution of 267 ppi, i.e. one-sixth the printer's dot resolution.
- Non-integer scaling can be performed on both the contone and bi-level images. Only integer scaling can be performed on the tag data.
- the black bi-level layer and the contone layer are both in compressed form for efficient storage in the printer's internal memory.
- a single SoPEC is able to print with full edge bleed for Letter and A3 via different stitch part combinations of the bi-lithic printhead. It imposes no margins and so has a printable page area which corresponds to the size of its paper. The target page size is constrained by the printable page area, less the explicit (target) left and top margins specified in the page description.
- each page description is complete and self-contained. There is no data stored separately from the page description to which the page description refers. 1
- the page description consists of a page header which describes the size and resolution of the page, followed by one or more page bands which describe the actual page content. 1 SoPEC relies on dither matrices and tag structures to have already been set up, but these are not considered to be part of a general page format. It is trivial to extend the page format to allow exact specification of dither matrices and tag structures.
- Table 3 shows an example format of a page header.
- Page header format Field Format Description signature 16-bit Page header format signature.
- integer Version 16-bit Page header format version number 16-bit Size of page header.
- target page width 16-bit Width of target page, in dots.
- integer target page height 32-bit Height of target page, in dots.
- integer target left margin 16-bit Width of target left margin, in dots, for black and for black and integer contone.
- contone target top margin for 16-bit Height of target top margin, in dots, for black and black and contone integer contone.
- target right margin 16-bit Width of target right margin in dots, for black and for black and integer contone.
- contone Target bottom 16-bit Height of target bottom margin, in dots, for black and margin for black integer contone.
- contone target left margin 16-bit Width of target left margin in dots, for tags.
- integer target top margin for 16-bit Height of target top margin, in dots, for tags.
- tags integer target right margin 16-bit Width of target right margin in dots, for tags. for tags integer target bottom 16-bit Height of target bottom margin, in dots, for tags.
- margin for tags integer Generate tags 16-bit Specifies whether to generate tags for this page (0 - integer no, 1 - yes). fixed tag data 128 bit This is only valid if generate tags is set.
- width integer bi-level layer page 32-bit Height of bi-level layer page, in pixels. height integer contone flags 16 bit Defines the color conversion that is required for the integer JPEG data.
- Bits 2-0 specify how many contone planes there are (e.g. 3 for CMY and 4 for CMYK).
- Each of the color planes can be individually inverted.
- Bit 6 0 - do not invert color plane 2; 1 - invert color plane 2.
- Bit 7 0 - do not invert color plane 3; 1 - invert color plane 3.
- Bit 8 specifies whether the contone data is JPEG compressed or non-compressed: 0 - JPEG compressed; 1 - non-compressed. The remaining bits are reserved (0).
- Valid range 1-255. May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator.
- Valid range 1-255. May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator.
- Contone page width 16-bit Width of contone page, in contone pixels.
- integer Contone page height 32-bit Height of contone page, in contone pixels.
- integer Reserved up to 128 Reserved and 0 pads out page header to multiple of bytes 128 bytes.
- the page header contains a signature and version which allow the CPU to identify the page header format. If the signature and/or version are missing or incompatible with the CPU, then the CPU can reject the page.
- the contone flags define how many contone layers are present, which typically is used for defining whether the contone layer is CMY or CMYK. Additionally, if the color planes are CMY, they can be optionally stored as YCrCb, and further optionally color space converted from CMY directly or via RGB. Finally the contone data is specified as being either JPEG compressed or non-compressed.
- the page header defines the resolution and size of the target page.
- the bi-level and contone layers are clipped to the target page if necessary. This happens whenever the bi-level or contone scale factors are not factors of the target page width or height.
- the target left, top, right and bottom margins define the positioning of the target page within the printable page area.
- the tag parameters specify whether or not Netpage tags should be produced for this page and what orientation the tags should be produced at (landscape or portrait mode).
- the fixed tag data is also provided.
- the contone, bi-level and tag layer parameters define the page size and the scale factors.
- Table 4 shows the format of the page band header.
- the bi-level layer parameters define the height of the black band, and the size of its compressed band data.
- the variable-size black data follows the page band header.
- the contone layer parameters define the height of the contone band, and the size of its compressed page data.
- the variable-size contone data follows the black data.
- the tag band data is the set of variable tag data half-lines as required by the tag encoder. The format of the tag data is found in. The tag band data follows the contone data. Table 5 shows the format of the variable-size compressed band data which follows the page band header.
- each variable-size segment of band data should be aligned to a 256-bit DRAM word boundary.
- the (typically 1600 dpi) black bi-level layer is losslessly compressed using Silverbrook Modified Group 4 (SMG4) compression which is a version of Group 4 Facsimile compression without Huffman and with simplified run length encodings. Typically compression ratios exceed 10:1.
- SMG4 Silverbrook Modified Group 4
- SMG4 has a pass through mode to cope with local negative compression.
- Pass through mode is activated by a special run-length code. Pass through mode continues to either end of line or for a pre-programmed number of bits, whichever is shorter.
- the special run-length code is always executed as a run-length code, followed by pass through.
- the pass through escape code is a medium length run-length w. Since the compression is a bitstream, the encodings are read right (least significant bit) to left (most significant bit). The run lengths are read in the same way (least significant bit at the right to most significant bit at the left).
- Each band of bi-level data is optionally self contained.
- the first line of each band therefore is based on a ‘previous’ blank line or the last line of the previous band.
- the Group 3 Facsimile compression algorithm losslessly compresses bi-level data for transmission over slow and noisy telephone lines.
- the bi-level data represents scanned black text and graphics on a white background, and the algorithm is tuned for this class of images (it is explicitly not tuned, for example, for halftoned bi-level images).
- the 1D Group 3 algorithm runlength-encodes each scanline and then Huffman-encodes the resulting runlengths. Runlengths in the range 0 to 63 are coded with terminating codes. Runlengths in the range 64 to 2623 are coded with make-up codes, each representing a multiple of 64, followed by a terminating code.
- Runlengths exceeding 2623 are coded with multiple make-up codes followed by a terminating code.
- the Huffman tables are fixed, but are separately tuned for black and white runs (except for make-up codes above 1728, which are common).
- the 2D Group 3 algorithm encodes a scanline as a set of short edge deltas (0, ⁇ 1, ⁇ 2, ⁇ 3) with reference to the previous scanline.
- the delta symbols are entropy-encoded (so that the zero delta symbol is only one bit long etc.)
- Edges within a 2D-encoded line which can't be delta-encoded are runlength-encoded, and are identified by a prefix. 1D- and 2D-encoded lines are marked differently. 1D-encoded lines are generated at regular intervals, whether actually required or not, to ensure that the decoder can recover from line noise with minimal image degradation. 2D Group 3 achieves compression ratios of up to 6:1.
- the Group 4 Facsimile algorithm losslessly compresses bi-level data for transmission over error-free communications lines (i.e. the lines are truly error-free, or error-correction is done at a lower protocol level).
- the Group 4 algorithm is based on the 2D Group 3 algorithm, with the essential modification that since transmission is assumed to be error-free, 1D-encoded lines are no longer generated at regular intervals as an aid to error-recovery.
- Group 4 achieves compression ratios ranging from 20:1 to 60:1 for the CCITT set of test images.
- the design goals and performance of the Group 4 compression algorithm qualify it as a compression algorithm for the bi-level layers.
- its Huffman tables are tuned to a lower scanning resolution (100-400 dpi), and it encodes runlengths exceeding 2623 awkwardly.
- the contone layer (CMYK) is either a non-compressed bytestream or is compressed to an interleaved JPEG bytestream.
- the JPEG bytestream is complete and self-contained. It contains all data required for decompression, including quantization and Huffman tables.
- the JPEG compression algorithm lossily compresses a contone image at a specified quality level. It introduces imperceptible image degradation at compression ratios below 5:1, and negligible image degradation at compression ratios below 10:1.
- JPEG typically first transforms the image into a color space which separates luminance and chrominance into separate color channels. This allows the chrominance channels to be subsampled without appreciable loss because of the human visual system's relatively greater sensitivity to luminance than chrominance. After this first step, each color channel is compressed separately.
- the image is divided into 8 ⁇ 8 pixel blocks. Each block is then transformed into the frequency domain via a discrete cosine transform (DCT). This transformation has the effect of concentrating image energy in relatively lower-frequency coefficients, which allows higher-frequency coefficients to be more crudely quantized.
- DCT discrete cosine transform
- This quantization is the principal source of compression in JPEG. Further compression is achieved by ordering coefficients by frequency to maximize the likelihood of adjacent zero coefficients, and then runlength-encoding runs of zeroes. Finally, the runlengths and non-zero frequency coefficients are entropy coded. Decompression is the inverse process of compression.
- the bytestream therefore consists of a series of 8 ⁇ 8 block of the original image, starting with the top left 8 ⁇ 8 block, and working horizontally across the page (as it will be printed) until the top rightmost 8 ⁇ 8 block, then the next row of 8 ⁇ 8 blocks (left to right) and so on until the lower row of 8 ⁇ 8 blocks (left to right).
- Each 8 ⁇ 8 block consists of 64 8-bit pixels for color plane 0 (representing 8 rows of 8 pixels in the order top left to bottom right) followed by 64 8-bit pixels for color plane 1 and so on for up to a maximum of 4 color planes. If the original image is not a multiple of 8 pixels in X or Y, padding must be present (the extra pixel data will be ignored by the setting of margins).
- the first memory band contains JPEG headers (including tables) plus MCUs (minimum coded units).
- JPEG headers including tables
- MCUs minimum coded units
- the ratio of space between the various color planes in the JPEG stream is 1:1:1:1. No subsampling is permitted.
- Banding can be completely arbitrary i.e there can be multiple JPEG images per band or 1 JPEG image divided over multiple bands. The break between bands is only memory alignment based.
- YCrCb is defined as per CCIR 601-1 except that Y, Cr and Cb are normalized to occupy all 256 levels of an 8-bit binary encoding and take account of the actual hardware implementation of the inverse transform within SoPEC.
- the exact color conversion computation is as follows:
- Y, Cr and Cb are obtained by rounding to the nearest integer. There is no need for saturation since ranges of Y*, Cr* and Cb* after rounding are [0-255], [1-255] and [1-255] respectively. Note that Full Accuracy is Possible with 24 Bits.
- the Small Office Home Office Print Engine Controller is a page rendering engine ASIC that takes compressed page images as input, and produces decompressed page images at up to 6 channels of bi-level dot data as output.
- the bi-level dot data is generated for the Memjet bi-lithic printhead.
- the dot generation process takes account of printhead construction, dead nozzles, and allows for fixative generation.
- a single SoPEC can control 2 bi-lithic printheads and up to 6 color channels at 10,000 lines/sec 2 , equating to 30 pages per minute.
- a single SoPEC can perform full-bleed printing of A3, A4 and Letter pages.
- the 6 channels of colored ink are the expected maximum in a consumer SOHO, or office Bi-lithic printing environment:
- SoPEC is color space agnostic. Although it can accept contone data as CMYX or RGBX, where X is an optional 4th channel, it also can accept contone data in any print color space. Additionally, SoPEC provides a mechanism for arbitrary mapping of input channels to output channels, including combining dots for ink optimization, generation of channels based on any number of other channels etc. However, inputs are typically CMYK for contone input, K for the bi-level input, and the optional Netpage tag dots are typically rendered to an infra-red layer. A fixative channel is typically generated for fast printing applications.
- SoPEC is resolution agnostic. It merely provides a mapping between input resolutions and output resolutions by means of scale factors. The expected output resolution is 1600 dpi, but SoPEC actually has no knowledge of the physical resolution of the Bi-lithic printhead.
- SoPEC is page-length agnostic. Successive pages are typically split into bands and downloaded into the page store as each band of information is consumed and becomes free. SoPEC provides an interface for synchronization with other SoPECs. This allows simple multi-SoPEC solutions for simultaneous A3/A4/Letter duplex printing. However, SoPEC is also capable of printing only a portion of a page image. Combining synchronization functionality with partial page rendering allows multiple SoPECs to be readily combined for alternative printing requirements including simultaneous duplex printing and wide format printing.
- a printline for an A4 page consists of 13824 nozzles across the page. At a system clock rate of 160 MHz 13824 dots of data can be generated in 86.4 ⁇ seconds. Therefore data can be generated fast enough to meet the printing speed requirement. It is necessary to deliver this print data to the print-heads.
- Printheads can be made up of 5:5, 6:4, 7:3 and 8:2 inch printhead combinations.
- Print data is transferred to both print heads in a pair simultaneously. This means the longest time to print a line is determined by the time to transfer print data to the longest print segment. There are 9744 nozzles across a 7 inch printhead.
- the print data is transferred to the printhead at a rate of 106 MHz (2 ⁇ 3 of the system clock rate) per color plane. This means that it will take 91.9 ⁇ s to transfer a single line for a 7:3 printhead configuration. So we can meet the requirement of 30 sheets per minute printing with a 4 cm gap with a 7:3 printhead combination. There are 11160 across an 8 inch printhead. To transfer the data to the printhead at 106 MHz will take 105.3 ⁇ s. So an 8:2 printhead combination printing with an inter-sheet gap will print slower than 30 sheets per minute.
- SoPEC SoPEC device consists of 3 distinct subsystems: CPU Subsystem; DRAM Subsystem; and Print Engine Pipeline (PEP) Subsystem. See FIG. 6 for a block level diagram of SoPEC.
- the CPU subsystem controls and configures all aspects of the other subsystems. It provides general support for interfacing and synchronising the external printer with the internal print engine. It also controls the low speed communication to the QA chips.
- the CPU subsystem contains various peripherals to aid the CPU, such as GPIO (includes motor control), interrupt controller, LSS Master and general timers.
- GPIO includes motor control
- interrupt controller includes interrupt controller
- LSS Master controls the CPU timing for controlling the CPU
- the Serial Communications Block (SCB) on the CPU subsystem provides a full speed USB 1.1 interface to the host as well as an Inter SoPEC Interface (ISI) to other SoPEC devices.
- ISI Inter SoPEC Interface
- the DRAM subsystem accepts requests from the CPU, Serial Communications Block (SCB) and blocks within the PEP subsystem.
- the DRAM subsystem (in particular the DIU) arbitrates the various requests and determines which request should win access to the DRAM.
- the DIU arbitrates based on configured parameters, to allow sufficient access to DRAM for all requesters.
- the DIU also hides the implementation specifics of the DRAM such as page size, number of banks, refresh rates etc.
- the Print Engine Pipeline (PEP) subsystem accepts compressed pages from DRAM and renders them to bi-level dots for a given print line destined for a printhead interface that communicates directly with up to 2 segments of a bi-lithic printhead.
- PEP Print Engine Pipeline
- the first stage of the page expansion pipeline is the CDU, LBD and TE.
- the CDU expands the JPEG-compressed contone (typically CMYK) layer
- the LBD expands the compressed bi-level layer (typically K)
- the TE encodes Netpage tags for later rendering (typically in IR or K ink).
- the output from the first stage is a set of buffers: the CFU, SFU, and TFU.
- the CFU and SFU buffers are implemented in DRAM.
- the second stage is the HCU, which dithers the contone layer, and composites position tags and the bi-level spot0 layer over the resulting bi-level dithered layer.
- the third stage compensates for dead nozzles in the printhead by color redundancy and error diffusing dead nozzle data into surrounding dots.
- the resultant bi-level 6 channel dot-data (typically CMYK-IRF) is buffered and written out to a set of line buffers stored in DRAM via the DWU. Finally, the dot-data is loaded back from DRAM, and passed to the printhead interface via a dot FIFO.
- the dot FIFO accepts data from the LLU at the system clock rate (pclk), while the PHI removes data from the FIFO and sends it to the printhead at a rate of 2 ⁇ 3 times the system clock rate.
- DRAM DIU Provides the interface for DRAM read and write access for the various SoPEC units, CPU and the SCB block.
- the DIU provides arbitration between competing units controls DRAM access.
- DRAM 20 Mbits of embedded DRAM, CPU CPU CPU for system configuration and control MMU Limits access to certain memory address areas in CPU user mode RDU Facilitates the observation of the contents of most of the CPU addressable registers in SoPEC in addition to some pseudo-registers in realtime.
- TIM Contains watchdog and general system timers LSS Low level controller for interfacing with the QA chips GPIO General IO controller, with built-in Motor control unit, LED pulse units and de-glitch circuitry ROM 16 KBytes of System Boot ROM code ICU General Purpose interrupt controller with configurable priority, and masking.
- CPR Central Unit for controlling and generating the system clocks and resets and powerdown mechanisms PSS Storage retained while system is powered down USB USB device controller for interfacing with the host USB.
- ISI ISI controller for data and control communication with other SoPEC's in a multi-SoPEC system SCB Contains both the USB and ISI blocks.
- PEP PCU Provides external CPU with the means to read and write PEP Unit registers, and read and write DRAM in single 32-bit chunks.
- CDU Expands JPEG compressed contone layer and writes decompressed contone to DRAM
- CFU Provides line buffering between CDU and HCU LBD Expands compressed bi-level layer.
- SFU Provides line buffering between LBD and HCU TE Encodes tag data into line of tag dots.
- TFU Provides tag data storage between TE and HCU HCU Dithers contone layer and composites the bi-level spot 0 and position tag dots.
- DNC Compensates for dead nozzles by color redundancy and error diffusing dead nozzle data into surrounding dots.
- DRAM LLU Reads the expanded page image from line store, formatting the data appropriately for the bi-lithic printhead.
- PHI Is responsible for sending dot data to the bi-lithic printheads and for providing line synchronization between multiple SoPECs. Also provides test interface to printhead such as temperature monitoring and Dead Nozzle Identification.
- DIU DRAM Interface Unit
- FIG. 8 shows how the DIU provides the interface between the on-chip 20 Mbit embedded DRAM and the rest of SoPEC.
- this chapter provides a top-level overview of the memory storage and access patterns of SoPEC and the buffering required in the various SoPEC blocks to support those access requirements.
- the main functionality of the DIU is to arbitrate between requests for access to the embedded DRAM and provide read or write accesses to the requesters.
- the DIU must also implement the initialisation sequence and refresh logic for the embedded DRAM.
- the arbitration scheme uses a fully programmable timeslot mechanism for non-CPU requesters to meet the bandwidth and latency requirements for each unit, with unused slots re-allocated to provide best effort accesses.
- the CPU is allowed high priority access, giving it minimum latency, but allowing bounds to be placed on its bandwidth consumption.
- the interface between the DIU and the SoPEC requesters is similar to the interface on PEC1 i.e. separate control, read data and write data busses.
- the embedded DRAM is used principally to store:
- the Contone Decoder Unit (CDU) is responsible for performing the optional decompression of the contone data layer.
- the input to the CDU is up to 4 planes of compressed contone data in JPEG interleaved format. This will typically be 3 planes, representing a CMY contone image, or 4 planes representing a CMYK contone image.
- the CDU must support a page of A4 length (11.7 inches) and Letter width (8.5 inches) at a resolution of 267 ppi in 4 colors and a print speed of 1 side per 2 seconds.
- the CDU and the other page expansion units support the notion of page banding.
- a compressed page is divided into one or more bands, with a number of bands stored in memory.
- the new band may be for the current page or the next page.
- Band-finish interrupts have been provided to notify the CPU of free buffer space.
- the compressed contone data is read from the on-chip DRAM.
- the output of the CDU is the decompressed contone data, separated into planes.
- the decompressed contone image is written to a circular buffer in DRAM with an expected minimum size of 12 lines and a configurable maximum.
- the decompressed contone image is subsequently read a line at a time by the CFU, optionally color converted, scaled up to 1600 ppi and then passed on to the HCU for the next stage in the printing pipeline.
- the CDU also outputs a cdu_finishedband control flag indicating that the CDU has finished reading a band of compressed contone data in DRAM and that area of DRAM is now free. This flag is used by the PCU and is available as an interrupt to the CPU.
- a single SoPEC must support a page of A4 length (11.7 inches) and Letter width (8.5 inches) at a resolution of 267 ppi in 4 colors and a print speed of 1 side per 2 seconds.
- the printheads specified in the Bi-lithic Printhead Specification [2] have 13824 nozzles per color to provide full bleed printing for A4 and Letter.
- At 267 ppi there are 2304 contone pixels 3 per line represented by 288 JPEG blocks per color. However each of these blocks actually stores data for 8 lines, since a single JPEG block is 8 ⁇ 8 pixels.
- the CDU produces contone data for 8 lines in parallel, while the HCU processes data linearly across a line on a line by line basis.
- the contone data is decoded only once and then buffered in DRAM. This means we require two sets of 8 buffer-lines—one set of 8 buffer lines is being consumed by the CFU while the other set of 8 buffer lines is being generated by the CDU. 3 Pixels may be 8, 16, 24 or 32 bits depending on the number of color planes (8-bits per color)
- the buffer requirement can be reduced by using a 1.5 buffering scheme, where the CDU fills 8 lines while the CFU consumes 4 lines.
- the buffer space required is a minimum of 12 line stores per color, for a total space of 108 KBytes 4 .
- a circular buffer scheme is employed whereby the CDU may only begin to write a line of JPEG blocks (equals 8 lines of contone data) when there are 8-lines free in the buffer. Once the full 8 lines have been written by the CDU, the CFU may now begin to read them on a line by line basis. 4 12 lines ⁇ 4 colors ⁇ 2304 bytes (assumes 267 ppi, 4 color, full bleed A4/Letter)
- the size of the circular buffer is configurable. For example, if the circular buffer is configured to be 16 lines it behaves like a double-buffer scheme where the peak bandwidth requirements of the CDU and CFU are equal. An increase over 16 lines allows the CDU to write ahead of the CFU and provides it with a margin to cope with very poor local compression ratios in the image.
- SoPEC should also provide support for A3 printing and printing at resolutions above 267 ppi. This increases the storage requirement for the decompressed contone data (buffer) in DRAM. Table 7 gives the storage requirements for the decompressed contone data at some sample contone resolutions for different page sizes. It assumes 4 color planes of contone data and a 1.5 buffering scheme.
- the JPEG decoder core can produce a single color pixel every system clock (pclk) cycle, making it capable of decoding at a peak output rate of 8 bits/cycle.
- SoPEC processes 1 dot (bi-level in 6 colors) per system clock cycle to achieve a print speed of 1 side per 2 seconds for full bleed A4/Letter printing.
- the CFU replicates pixels a scale factor (SF) number of times in both the horizontal and vertical directions to convert the final output to 1600 ppi.
- SF scale factor
- the 1.5 buffering scheme means that the CDU must write the data at twice this rate.
- the JPEG decoder is fed directly from the main memory via the DRAM interface.
- the amount of compression determines the input bandwidth requirements for the CDU. As the level of compression increases, the bandwidth decreases, but the quality of the final output image can also decrease.
- the average compression ratio for contone data is expected to be 10:1, the average bandwidth allocated to the CDU allows for a local minimum compression ratio of 5:1 over a single line of JPEG blocks. This equates to a peak input bandwidth requirement of 0.36 bits/cycle for 4 colors at 267 ppi, full bleed A4/Letter printing at 1 side per 2 seconds.
- FIG. 9 shows the general data flow for contone data—compressed contone planes are read from DRAM by the CDU, and the decompressed contone data is written to the 12-line circular buffer in DRAM. The line buffers are subsequently read by the CFU.
- the CDU allows the contone data to be passed directly on, which will be the case if the color represented by each color plane in the JPEG image is an available ink.
- the four colors may be C, M, Y, and K, directly represented by CMYK inks.
- the four colors may represent gold, metallic green etc. for multi-SoPEC printing with exact colors.
- CMYK With CMYK, K can be considered to be luminance, but C, M, and Y each contain luminance information, and so would need to be compressed with appropriate luminance tables. We therefore provide the means by which CMY can be passed to SoPEC as YCrCb. K does not need color conversion.
- CMY When being JPEG compressed, CMY is typically converted to RGB, then to YCrCb and then finally JPEG compressed. At decompression, the YCrCb data is obtained and written to the decompressed contone store by the CDU. This is read by the CFU where the YCrCb can then be optionally color converted to RGB, and finally back to CMY.
- the external RIP provides conversion from RGB to YCrCb, specifically to match the actual hardware implementation of the inverse transform within SoPEC, as per CCIR 601-2 [24] except that Y, Cr and Cb are normalized to occupy all 256 levels of an 8-bit binary encoding.
- the CFU provides the translation to either RGB or CMY.
- RGB is included since it is a necessary step to produce CMY, and some printers increase their color gamut by including RGB inks as well as CMYK.
- HCU Halftoner Compositor Unit
- the Halftoner Compositor Unit produces dots for each nozzle in the destination printhead taking account of the page dimensions (including margins).
- the spot data and tag data are received in bi-level form while the pixel contone data received from the CFU must be dithered to a bi-level representation.
- the resultant 6 bi-level planes for each dot position on the page are then remapped to 6 output planes and output dot at a time (6 bits) to the next stage in the printing pipeline, namely the dead nozzle compensator (DNC).
- DNC dead nozzle compensator
- FIG. 11 shows a simple dot data flow high level block diagram of the HCU.
- the HCU reads contone data from the CFU, bi-level spot data from the SFU, and bi-level tag data from the TFU. Dither matrices are read from the DRAM via the DIU. The calculated output dot (6 bits) is read by the DNC.
- the HCU is given the page dimensions (including margins), and is only started once for the page. It does not need to be programmed in between bands or restarted for each band. The HCU will stall appropriately if its input buffers are starved. At the end of the page the HCU will continue to produce 0 for all dots as long as data is requested by the units further down the pipeline (this allows later units to conveniently flush pipelined data).
- the HCU performs a linear processing of dots calculating the 6-bit output of a dot in each cycle.
- the mapping of 6 calculated bits to 6 output bits for each dot allows for such example mappings as compositing of the spot0 layer over the appropriate contone layer (typically black), the merging of CMY into K (if K is present in the printhead), the splitting of K into CMY dots if there is no K in the printhead, and the generation of a fixative output bitstream.
- SoPEC allows for a number of different dither matrix configurations up to 256 bytes wide.
- the dither matrix is stored in DRAM.
- Using either a single or double-buffer scheme a line of the dither matrix must be read in by the HCU over a SoPEC line time.
- SoPEC must produce 13824 dots per line for A4/Letter printing which takes 13824 cycles.
- DoubleLineBuff register It takes 4 or 8 read accesses to load a line of dither matrix into the dither matrix buffer, depending on whether we're using a single or double buffer (configured by DoubleLineBuff register).
- FIG. 12 A block diagram of the HCU is given in FIG. 12 .
- the control unit is responsible for controlling the overall flow of the HCU. It is responsible for determining whether or not a dot will be generated in a given cycle, and what dot will actually be generated—including whether or not the dot is in a margin area, and what dither cell values should be used at the specific dot location.
- a block diagram of the control unit is shown in FIG. 13 .
- the inputs to the control unit are a number of avail flags specifying whether or not a given dotgen unit is capable of supplying ‘real’ data in this cycle.
- the term ‘real’ refers to data generated from external sources, such as contone line buffers, bi-level line buffers, and tag plane buffers.
- Each dotgen unit informs the control unit whether or not a dot can be generated this cycle from real data. It must also check that the DNC is ready to receive data.
- the contone/spot margin unit is responsible for determining whether the current dot coordinate is within the target contone/spot margins, and the tag margin unit is responsible for determining whether the current dot coordinate is within the target tag margins.
- the dither matrix table interface provides the interface to DRAM for the generation of dither cell values that are used in the halftoning process in the contone dotgen unit.
- the HCU does not always require contone planes, bi-level or tag planes in order to produce a page.
- a given page may not have a bi-level layer, or a tag layer.
- the contone and bi-level parts of a page are only required within the contone and bi-level page margins, and the tag part of a page is only required within the tag page margins.
- output dots can be generated without contone, bi-level or tag data before the respective top margins of a page has been reached, and 0s are generated for all color planes after the end of the page has been reached (to allow later stages of the printing pipeline to flush).
- the HCU has an AvailMask register that determines which of the various input avail flags should be taken notice of during the production of a page from the first line of the target page, and a TMMask register that has the same behaviour, but is used in the lines before the target page has been reached (i.e. inside the target top margin area).
- the dither matrix mask bit TMask[0] is the exception, it applies to all margins areas not just the top margin.
- Each bit in the AvailMask refers to a particular avail bit: if the bit in the AvailMask register is set, then the corresponding avail bit must be 1 for the HCU to advance a dot.
- the bit to avail correspondence is shown in Table 9.
- the HCU Care should be taken with TMMask—if the particular data is not available after the top margin has been reached, then the HCU will stall.
- the avail bits for contone and spot colors are ANDed with in_target_age after the target page area has been reached to allow dot production in the contone/spot margin areas without needing any data in the CFU and SFU.
- the avail bit for tag color is ANDed with in_tag_target_page after the target tag page area has been reached to allow dot production in the tag margin areas without needing any data in the TFU.
- Each of the input avail bits is processed with its appropriate mask bit and the after_top_margin flag (note the dither matrix is the exception it is processed with in_target_page).
- the output bits are ANDed together along with Go and output_buff_full (which specifies whether the output buffer is ready to receive a dot in this cycle) to form the output bit advdot.
- Go output_buff_full
- wr_advdot we also generate wr_advdot. In this way, if the output buffer is full or any of the specified avail flags is clear, the HCU will stall. When the end of the page is reached, in_page will be deasserted and the HCU will continue to produce 0 for all dots as long as the DNC requests data.
- a block diagram of the determine advdot unit is shown in FIG. 14 .
- the advance dot block also determines if current page needs dither matrix, it indicates to the dither matrix table interface block via the dm_read_enable signal. If no dither is required in the margins or in the target page then dm_read_enable will be 0 and no dither will be read in for this page.
- the position unit is responsible for outputting the position of the current dot (curr_pos, curr_line) and whether or not this dot is the last dot of a line (advline). Both curr_pos and curr_line are set to 0 at reset or when Go transitions from 0 to 1.
- the position unit relies on the advdot input signal to advance through the dots on a page. Whenever an advdot pulse is received, curr_pos gets incremented. If curr_pos equals max_dot then an advline pulse is generated as this is the last dot in a line, curr_line gets incremented, and the curr_pos is reset to 0 to start counting the dots for the next line.
- the position unit also generates a filtered version of advline called dm_advline to indicate to the dither matrix pointers to increment to the next line.
- dm_advline is only incremented when dither is required for that line.
- the responsibility of the margin unit is to determine whether the specific dot coordinate is within the page at all, within the target page or in a margin area (see FIG. 15 ). This unit is instantiated for both the contone/spot margin unit and the tag margin unit.
- the margin unit takes the current dot and line position, and returns three flags.
- FIG. 16 A block diagram of the margin unit is shown in FIG. 16 .
- the dither matrix table interface provides the interface to DRAM for the generation of dither cell values that are used in the halftoning process in the contone dotgen unit.
- the control flag dm_read_enable enables the reading of the dither matrix table line structure from DRAM. If dm_read_enable is 0, the dither matrix is not specified in DRAM and no DRAM accesses are attempted.
- the dither matrix table interface has an output flag dm_avail which specifies if the current line of the specified matrix is available. The HCU can be directed to stall when dm_avail is 0 by setting the appropriate bit in the HCU's AvailMask or TMMask registers. When dm_avail is 0 the value in the DitherConstant register is used as the dither cell values that are output to the contone dotgen unit.
- the dither matrix table interface consists of a state machine that interfaces to the DRAM interface, a dither matrix buffer that provides dither matrix values, and a unit to generate the addresses for reading the buffer.
- FIG. 17 shows a block diagram of the dither matrix table interface.
- the contone dotgen unit is responsible for producing a dot in up to 4 color planes per cycle.
- the contone dotgen unit also produces a cp_avail flag which specifies whether or not contone pixels are currently available, and the output hcu_cfu_advdot to request the CFU to provide the next contone pixel in up to 4 color planes.
- the block diagram for the contone dotgen unit is shown in FIG. 20 .
- a dither unit provides the functionality for dithering a single contone plane.
- the contone image is only defined within the contone/spot margin area. As a result, if the input flag in_target_page is 0, then a constant contone pixel value is used for the pixel instead of the contone plane.
- the resultant contone pixel is then halftoned.
- the dither value to be used in the halftoning process is provided by the control data unit.
- the halftoning process involves a comparison between a pixel value and its corresponding dither value. If the 8-bit contone value is greater than or equal to the 8-bit dither matrix value a 1 is output. If not, then a 0 is output. This means each entry in the dither matrix is in the range 1-255 (0 is not used).
- the spot dotgen unit is responsible for producing a dot of bi-level data per cycle. It deals with bi-level data (and therefore does not need to halftone) that comes from the LBD via the SFU. Like the contone layer, the bi-level spot layer is only defined within the contone/spot margin area. As a result, if input flag in_target_page is 0, then a constant dot value (typically this would be 0) is used for the output dot.
- the spot dotgen unit also produces a s_avail flag which specifies whether or not spot dots are currently available for this spot plane, and the output hcu_sfu_advdot to request the SFU to provide the next bi-level data value.
- the dot reorg unit provides a means of mapping the bi-level dithered data, the spot0 color, and the tag data to output inks in the actual printhead.
- Each dot reorg unit takes a set of 6 1-bit inputs and produces a single bit output that represents the output dot for that color plane.
- the output bit is a logical combination of any or all of the input bits. This allows the spot color to be placed in any output color plane (including infrared for testing purposes), black to be merged into cyan, magenta and yellow (in the case of no black ink in the Memjet printhead), and tag dot data to be placed in a visible plane.
- An output for fixative can readily be generated by simply combining desired input bits.
- the dot reorg unit contains a 64-bit lookup to allow complete freedom with regards to mapping. Since all possible combinations of input bits are accounted for in the 64 bit lookup, a given dot reorg unit can take the mapping of other reorg units into account. For example, a black plane reorg unit may produce a 1 only if the contone plane 3 or spot color inputs are set (this effectively composites black bi-level over the contone). A fixative reorg unit may generate a 1 if any 2 of the output color planes is set (taking into account the mappings produced by the other reorg units).
- the dot reorg can be programmed to direct the dots of the specified color into the main plane, and 0 into the other. If a nozzle is then marked as dead in the DNC, swapping the bits between the planes will result in 0 in the dead nozzle, and the required data in the other plane.
- the TE can be programmed with the position of dead nozzles and the resultant pattern used to direct dots into the specified nozzle row. If only fixed background TFS is to be used, a limited number of nozzles can be replaced. If variable tag data is to be used to specify dead nozzles, then large numbers of dead nozzles can be readily compensated for.
- the dot reorg unit can be used to average out the nozzle usage when two rows of nozzles share the same ink and tag encoding is not being used.
- the TE can be programmed to produce a regular pattern (e.g. 0101 on one line, and 1010 on the next) and this pattern can be used as a directive as to direct dots into the specified nozzle row.
- the mapping of input bits to each of the 6 selection bits is as defined in Table 10.
- the output buffer de-couples the stalling behaviour of the feeder units from the stalling behaviour of the DNC.
- the output buffer size is 2, but could be increased if needed at the cost of extra area.
- the output buffer also implements the interface logic to the DNC. If there is data in the output buffer the hcu_dnc_avail signal will be 1, otherwise is will be 0. If both hcu_dnc_avail and dnc_hcu_ready are 1 then data is read from the output buffer.
- the logic indicates to the control unit via the output_buff_full signal.
- the control unit will then allow writes to the output buffer via the wr_advdot signal. If the writes to the output buffer are after the end of a page (indicated by in_page equal to 0) then all dots written into the output buffer are set to zero.
- FIG. 22 shows the timing diagram and representative logic of the HCU to DNC interface.
- the hcu_dnc_avail signal indicate to the DNC that the HCU has data available.
- the dnc_hcu_ready signal indicates to the HCU that the DNC is ready to accept data. When both signals are high data is transferred from the HCU to the DNC. Once the HCU indicates it has data available (setting the hcu_dnc_avail signal high) it can only set the hcu_dnc_avail low again after a dot is accepted by the DNC.
- FIG. 23 shows the feeder unit to HCU interface timing diagram
- FIG. 24 shows representative logic of the interface with the register positions.
- sfu_hcu_data and sfu_hcu_avail are always registered while the sfu_hcu_advdot is not.
- the hcu_sfu_avail signal indicates to the HCU that the feeder unit has data available
- sfu_hcu_advdot indicates to the feeder unit that the HCU has captured the last dot.
- the HCU can never produce an advance dot pulse while the avail is low.
- the diagrams show the example of the SFU to HCU interface, but the same interface is used for the other feeder units TFU and CFU.
- DNC Dead Nozzle Compensator
- the Dead Nozzle Compensator is responsible for adjusting Memjet dot data to take account of non-functioning nozzles in the Memjet printhead.
- Input dot data is supplied from the HCU, and the corrected dot data is passed out to the DWU.
- the high level data path is shown by the block diagram in FIG. 25 .
- the DNC compensates for a dead nozzles by performing the following operations:
- the DNC is required to efficiently support up to 5% dead nozzles, under the expected DRAM bandwidth allocation, with no restriction on where dead nozzles are located and handle any fixative correction due to nozzle compensations. Performance must degrade gracefully after 5% dead nozzles.
- Dead nozzles are identified by means of a position value and a mask value.
- Position information is represented by a 10-bit delta encoded format, where the 10-bit value defines the number of dots between dead nozzle columns 8 . With the delta information it also reads the 6-bit dead nozzle mask (dn_mask) for the defined dead nozzle position. Each bit in the dn_mask corresponds to an ink plane. A set bit indicates that the nozzle for the corresponding ink plane is dead.
- the dead nozzle table format is shown in FIG. 26 .
- the DNC reads dead nozzle information from DRAM in single 256-bit accesses.
- a 10-bit delta encoding scheme is chosen so that each table entry is 16 bits wide, and 16 entries fit exactly in each 256-bit read.
- a null dead nozzle identifier is defined as a 6-bit dn_mask of all zeros.
- the DNC deals with the width of a page. This may or may not be the same as the width of the printhead (the PHI may introduce some margining to the page so that its dot output matches the width of the printhead). Care must be taken when programming the dead nozzle table so that dead nozzle positions are correctly specified with respect to the page and printhead.
- the memory required is largely a factor of the number of dead nozzles present in the printhead (which in turn is a factor of the printhead size).
- the DNC is required to read a 16-bit entry from the dead nozzle table for every dead nozzle.
- Table 11 shows the DRAM storage and average 9 bandwidth requirements for the DNC for different percentages of dead nozzles and different page sizes. 9 Average bandwidth assumes an even spread of dead nozzles. Clumps of dead nozzles may cause delays due to insufficient available DRAM bandwidth. These delays will occur every line causing an accumulative delay over a page.
- the DNC receives 6 bits of dot information every cycle from the HCU, 1 bit per color plane.
- the associated 6-bit dn_mask indicates which ink plane(s) contains a dead nozzle(s).
- the DNC first deletes dots destined for the dead nozzle. It then replaces those dead dots, either by placing the data destined for the dead nozzle into an adjacent ink plane (direct substitution) or into a number of ink planes (indirect substitution). After ink replacement, if a dead nozzle is made active again then the DNC performs error diffusion. Finally, following the dead nozzle compensation mechanisms the fixative, if present, may need to be adjusted due to new nozzles being activated, or dead nozzles being removed.
- the first action for the DNC is to turn off (zeroing) the dot data destined for that nozzle. This is done by a bit-wise ANDing of the inverse of the dn_mask with the dot value.
- Ink replacement is a mechanism where data destined for the dead nozzle is placed into an adjacent ink plane of the same color (direct substitution, i.e. K->K alternative ), or placed into a number of ink planes, the combination of which produces the desired color (indirect substitution, i.e. K->CMY). Ink replacement is performed by filtering out ink belonging to nozzles that are dead and then adding back in an appropriately calculated pattern. This two step process allows the optional re-inclusion of the ink data into the original dead nozzle position to be subsequently error diffused. In the general case, fixative data destined for a dead nozzle should not be left active intending it to be later diffused.
- the ink replacement mechanism has 6 ink replacement patterns, one per ink plane, programmable by the CPU.
- the dead nozzle mask is ANDed with the dot data to see if there are any planes where the dot is active but the corresponding nozzle is dead.
- the resultant value forms an enable, on a per ink basis, for the ink replacement process. If replacement is enabled for a particular ink, the values from the corresponding replacement pattern register are ORed into the dot data.
- the output of the ink replacement process is then filtered so that error diffusion is only allowed for the planes in which error diffusion is enabled.
- the output of the ink replacement logic is ORed with the resultant dot after dead nozzle removal.
- the dead nozzle mask is b000101.
- the DNC first removes the dead nozzle by zeroing the K 1 plane to produce b101000.
- the dead nozzle mask is ANDed with the dot data to give b000100 which selects the ink replacement pattern for K 1 (in this case the ink replacement pattern for K 1 is configured as b000010, i.e. ink replacement into the K 2 plane).
- the output from the ink replacement process is b000010.
- ink replacement pattern for K 1 would be configured as b111000 (substitution into the CMY color planes), and this is ORed with the output of dead nozzle removal to produce the resultant dot b111000.
- the dot data in the defective K 1 ink plane was removed and placed into the CMY ink planes.
- the dead nozzle may be left active after ink replacement.
- the DNC can compensate using error diffusion. Error diffusion is a mechanism where dead nozzle dot data is diffused to adjacent dots.
- the DNC When a dot is active and its destined nozzle is dead, the DNC will attempt to place the data into an adjacent dot position, if one is inactive. If both dots are inactive then the choice is arbitrary, and is determined by a pseudo random bit generator. If both neighbor dots are already active then the bit cannot be compensated by diffusion.
- the DNC Since the DNC needs to look at neighboring dots to determine where to place the new bit (if required), the DNC works on a set of 3 dots at a time. For any given set of 3 dots, the first dot received from the HCU is referred to as dot A, and the second as dot B, and the third as dot C. The relationship is shown in FIG. 27 .
- B can be compensated for by error diffusion if B is defined as dead.
- a 1 in dot B will be diffused into either dot A or dot C if possible. If there is already a 1 in dot A or dot C then a 1 in dot B cannot be diffused into that dot.
- the DNC must support adjacent dead nozzles. Thus if dot A is defined as dead and has previously been compensated for by error diffusion, then the dot data from dot B should not be diffused into dot A. Similarly, if dot C is defined as dead, then dot data from dot B should not be diffused into dot C.
- Error diffusion should not cross line boundaries. If dot B contains a dead nozzle and is the first dot in a line then dot A represents the last dot from the previous line. In this case an active bit on a dead nozzle of dot B should not be diffused into dot A. Similarly, if dot B contains a dead nozzle and is the last dot in a line then dot C represents the first dot of the next line. In this case an active bit on a dead nozzle of dot B should not be diffused into dot C. Thus, as a rule, a 1 in dot B cannot be diffused into dot A if
- the random bit value used to arbitrarily select the direction of diffusion is generated by a 32-bit maximum length random bit generator.
- the generator generates a new bit for each dot in a line regardless of whether the dot is dead or not.
- the random bit generator can be initialized with a 32-bit programmable seed value.
- the fixative may need to be adjusted due to new nozzles being activated, or dead nozzles being removed.
- the DNC determines if fixative is required (using the FixativeRequiredMask register) for the new compensated dot data word and whether fixative is activated already for that dot. For the DNC to do so it needs to know the color plane that has fixative, this is specified by the FixativeMask1 configuration register. See Table 15 below which indicates the actions to take based on these calculations.
- the DNC also allows the specification of another fixative plane, specified by the FixativeMask2 configuration register, with FixativeMask1 having the higher priority over FixativeMask2.
- FixativeMask1 having the higher priority over FixativeMask2.
- the DNC first tries to add it into the planes defined by FixativeMask1. However, if any of these planes is dead then it tries to add fixative by placing it into the planes defined by FixativeMask2.
- FixativeMask1 and FixativeMask2 could possibly be multi-part fixative, i.e. 2 bits could be set in FixativeMask1 with the fixative being a combination of both inks.
- FIG. 28 A block diagram of the DNC is shown in FIG. 28 .
- dnc_pcu_rdy 1 Out Ready signal to the PCU.
- dnc_pcu_rdy When dnc_pcu_rdy is high it indicates the last cycle of the access. For a write cycle this means pcu_dataout has been registered by the block and for a read cycle this means the data on dnc_pcu_datain is valid.
- DIU interface dnc_diu_rreq 1 Out DNC unit requests DRAM read. A read request must be accompanied by a valid read address.
- diu_dnc_rack 1 In Acknowledge from DIU that read request has been accepted and new read address can be placed on dnc_diu_radr diu_dnc_rvalid 1 In Read data valid, active high. Indicates that valid read data is now on the read data bus, diu_data. diu_data[63:0] 64 In Read data from DIU. HCU interface dnc_hcu_ready 1 Out Indicates that DNC is ready to accept data from the HCU. hcu_dnc_avail 1 In Indicates valid data present on hcu_dnc_data. hcu_dnc_data[5:0] 6 In Output bi-level dot data in 6 ink planes.
- DWU interface dwu_dnc_ready 1 In Indicates that DWU is ready to accept data from the DNC.
- dnc_dwu_avail 1 Out Indicates valid data present on dnc_dwu_data.
- dnc_dwu_data[5:0] 6 Out Output bi-level dot data in 6 ink planes.
- the configuration registers in the DNC are programmed via the PCU interface. Note that since addresses in SoPEC are byte aligned and the PCU only supports 32-bit register reads and writes, the lower 2 bits of the PCU address bus are not required to decode the address space for the DNC. When reading a register that is less than 32 bits wide zeros should be returned on the upper unused bit(s) of dnc_pcu_datain. Table 14 lists the configuration registers in the DNC.
- MaxDot 16 0x0000 This is the maximum dot number ⁇ 1 present across a page. For example if a page contains 13824 dots, then MaxDot will be 13823. Note that this number may or may not be the same as the number of dots across the printhead as some margining may be introduced in the PHI. 0x14 LSFR 32 0x0000_0000 The current value of the LFSR register used as the 32-bit maximum length random bit generator. Users can write to this register to program a seed value for the 32- bit maximum length random bit generator. Must not be all 1s for taps implemented in XNOR form. (It is expected that writing a seed value will not occur during the operation of the LFSR).
- 0x28 FixativeRequiredMask 6 0x00 Identifies the ink planes that require fixative.
- Bit 0 represents the settings for plane 0, bit 1 for plane 1 etc.
- 1 the ink plane requires fixative
- 0 the ink plane does not require fixative (e.g. ink is self-fixing)
- PlaneReplacePattern[5:0] 6 ⁇ 6 0x00 Defines the ink replacement pattern for each of the 6 ink planes. PlaneReplacePattern[0] is the ink replacement pattern for plane 0, PlaneRelace Pattern[1] is the ink replacement pattern for plane 1, etc. For each 6-bit replacement pattern for a plane, a 1 in any bit positions indicates the alternative ink planes to be used for this plane. 0x58 DiffuseEnable 6 0x3F Defines whether, after ink replacement, error diffusion is allowed to be performed on each plane.
- FIG. 29 shows a sub-block diagram for the ink replacement unit.
- the control unit is responsible for reading the dead nozzle table from DRAM and making it available to the DNC via the dead nozzle FIFO.
- the dead nozzle table is read from DRAM in single 256-bit accesses, receiving the data from the DIU over 4 clock cycles (64-bits per cycle). Reading from DRAM is implemented by means of the state machine shown in FIG. 30 .
- a modulo-4 counter, rd_count is used to count each of the 64-bits received in a 256-bit read access. It is incremented whenever diu_dnc_rvalid is asserted.
- Go is 1, dn_table_radr is set to dn_table_start_adr.
- dn_table_radr is compared to dn_table_end_adr:
- a count is kept of the number of 64-bit values in the FIFO.
- diu_dnc_rvalid is 1 data is written to the FIFO by asserting wr_en, and fifo_contents and fifo_wr_adr are both incremented.
- dnc_hcu_ready When fifo_contents[3:0] is greater than 0 and edu_ready is 1, dnc_hcu_ready is asserted to indicate that the DNC is ready to accept dots from the HCU. If hcu_dnc_avail is also 1 then a dotadv pulse is sent to the GenMask unit, indicating the DNC has accepted a dot from the HCU, and iru_avail is also asserted. After Go is set, a single preload pulse is sent to the GenMask unit once the FIFO contains data.
- the dead nozzle FIFO conceptually is a 64-bit input, and 16-bit output FIFO to account for the 64-bit data transfers from the DIU, and the individual 16-bit entries in the dead nozzle table that are used in the GenMask unit. In reality, the FIFO is actually 8 entries deep and 64-bits wide (to accommodate two 256-bit accesses).
- the write address is 64-bit aligned while on the GenMask side the read address is 16-bit aligned, i.e. the upper 3 bits are input as the read address for the FIFO and the lower 2 bits are used to select 16 bits from the 64 bits (1st 16 bits read corresponds to bits 15 - 0 , second 16 bits to bits 31 - 16 etc.).
- the GenMask unit generates the 6-bit dn_mask that is sent to the replace unit. It consists of a 10-bit delta counter and a mask register.
- the GenMask unit will receive a preload pulse from the control unit indicating the first dead nozzle table entry is available at the output of the dead nozzle FIFO and should be loaded into the delta counter and mask register.
- a rd_adv pulse is generated so that the next dead nozzle table entry is presented at the output of the dead nozzle FIFO.
- the delta counter is decremented every time a dotadv pulse is received. When the delta counter reaches 0, it gets loaded with the current delta value output from the dead nozzle FIFO, i.e. bits 15 - 6 , and the mask register gets loaded with mask output from the dead nozzle FIFO, i.e. bits 5 - 0 .
- a rd_adv pulse is then generated so that the next dead nozzle table entry is presented at the output of the dead nozzle FIFO.
- the dead nozzle table should include null identifiers if necessary so that the dead nozzle table covers the first and last nozzle column in a line.
- Dead nozzle removal and ink replacement are implemented by the combinatorial logic shown in FIG. 31 .
- Dead nozzle removal is performed by bit-wise ANDing of the inverse of the dn_mask with the dot value.
- the ink replacement mechanism has 6 ink replacement patterns, one per ink plane, programmable by the CPU.
- the dead nozzle mask is ANDed with the dot data to see if there are any planes where the dot is active but the corresponding nozzle is dead.
- the resultant value forms an enable, on a per ink basis, for the ink replacement process. If replacement is enabled for a particular ink, the values from the corresponding replacement pattern register are ORed into the dot data. The output of the ink replacement process is then filtered so that error diffusion is only allowed for the planes in which error diffusion is enabled.
- the output of the ink replacement process is ORed with the resultant dot after dead nozzle removal. If the dot position does not contain a dead nozzle then the dn_mask will be all 0s and the dot, hcu_dnc_data, will be passed through unchanged.
- FIG. 32 shows a sub-block diagram for the error diffusion unit.
- the random bit value used to arbitrarily select the direction of diffusion is generated by a maximum length 32-bit LFSR.
- the tap points and feedback generation are shown in FIG. 33 .
- the LFSR generates a new bit for each dot in a line regardless of whether the dot is dead or not, i.e shifting of the LFSR is enabled when advdot equals 1.
- the LFSR can be initialised with a 32-bit programmable seed value, random_seed. This seed value is loaded into the LFSR whenever a write occurs to the RandomSeed register. Note that the seed value must not be all 1s as this causes the LFSR to lock-up.
- the advance dot unit is responsible for determining in a given cycle whether or not the error diffuse unit will accept a dot from the ink replacement unit or make a dot available to the fixative correct unit and on to the DWU. It therefore receives the dwu_dnc_ready control signal from the DWU, the iru_avail flag from the ink replacement unit, and generates dnc_dwu_avail and edu_ready control flags.
- dwu_dnc_ready Only the dwu_dnc_ready signal needs to be checked to see if a dot can be accepted and asserts edu_ready to indicate this. If the error diffuse unit is ready to accept a dot and the ink replacement unit has a dot available, then a advdot pulse is given to shift the dot into the pipeline in the diffuse unit. Note that since the error diffusion operates on 3 dots, the advance dot unit ignores dwu_dnc_ready initially until 3 dots have been accepted by the diffuse unit. Similarly dnc_dwu_avail is not asserted until the diffuse unit contains 3 dots and the ink replacement unit has a dot available.
- the diffuse unit contains the combinatorial logic to implement the truth table.
- the diffuse unit receives a dot consisting of 6 color planes (1 bit per plane) as well as an associated 6-bit dead nozzle mask value.
- Error diffusion is applied to all 6 planes of the dot in parallel. Since error diffusion operates on 3 dots, the diffuse unit has a pipeline of 3 dots and their corresponding dead nozzle mask values.
- the first dot received is referred to as dot A, and the second as dot B, and the third as dot C.
- Dots are shifted along the pipeline whenever advdot is 1.
- a count is also kept of the number of dots received. It is incremented whenever advdot is 1, and wraps to 0 when it reaches max_dot.
- dot count is 0
- dot C corresponds to the first dot in a line.
- dot count is 1
- dot A corresponds to the last dot in a line.
- dot B can be defined as containing a dead nozzle(s).
- Dead nozzles are identified by bits set in iru_dn_mask. If dot B contains a dead nozzle(s), the corresponding bit(s) in dot A, dot C, the dead nozzle mask value for A, the dead nozzle mask value for C, the dot count, as well as the random bit value are input to the truth table logic and the dots A, B and C assigned accordingly. If dot B does not contain a dead nozzle then the dots are shifted along the pipeline unchanged.
- the fixative correction unit consists of combinatorial logic to implement fixative correction as defined in Table 15. For each output dot the DNC determines if fixative is required for the new compensated dot data word and whether fixative is activated already for that dot.
- dnc_dwu_data (edu_data)
- (FixativeMask2 & ⁇ DnMask) else dnc_dwu_data (edu_data)
- dnc_dwu_data edu_data
- FixativeMask1 When attempting to add fixative the DNC first tries to add it into the plane defined by FixativeMask1. However, if this plane is dead then it tries to add fixative by placing it into the plane defined by FixativeMask2. Note that if both FixativeMask1 and FixativeMask2 are both all 0s then the dot data will not be changed.
- the Dotline Writer Unit receives 1 dot (6 bits) of color information per cycle from the DNC. Dot data received is bundled into 256-bit words and transferred to the DRAM.
- the DWU (in conjunction with the LLU) implements a dot line FIFO mechanism to compensate for the physical placement of nozzles in a printhead, and provides data rate smoothing to allow for local complexities in the dot data generate pipeline.
- the physical placement of nozzles in the printhead means that in one firing sequence of all nozzles, dots will be produced over several print lines.
- the printhead consists of 12 rows of nozzles, one for each color of odd and even dots. Odd and even nozzles are separated by D 2 print lines and nozzles of different colors are separated by D 1 print lines. See FIG. 35 for reference.
- the first color to be printed is the first row of nozzles encountered by the incoming paper. In the example this is color 0 odd, although is dependent on the printhead type. Paper passes under printhead moving downwards.
- the physical spacing of the printhead nozzles will be 80 ⁇ m (or 5 dot lines), although there is no dependency on nozzle spacing.
- the DWU is configurable to allow other line nozzle spacings.
- LLU Line Loader Unit
- the Line Loader Unit reads dot data from the line buffers in DRAM and structures the data into even and odd dot channels destined for the same print time.
- the blocks of dot data are transferred to the PHI and then to the printhead.
- FIG. 48 shows a high level data flow diagram of the LLU in context.
- the DWU re-orders dot data into 12 separate dot data line FIFOs in the DRAM. Each FIFO corresponds to 6 colors of odd and even data.
- the LLU reads the dot data line FIFOs and sends the data to the printhead interface. The LLU decides when data should be read from the dot data line FIFOs to correspond with the time that the particular nozzle on the printhead is passing the current line.
- the interaction of the DWU and LLU with the dot line FIFOs compensates for the physical spread of nozzles firing over several lines at once.
- FIG. 49 shows the physical relationship of nozzle rows and the line time the LLU starts reading from the dot line store.
- FIG. 50 shows the even and dot streams as they would map to an example bi-lithic printhead.
- the PHI block determines which stream should be directed to which printhead IC.
- the Printhead interface accepts dot data from the LLU and transmits the dot data to the printhead, using the printhead interface mechanism.
- the PHI generates the control and timing signals necessary to load and drive the bi-lithic printhead.
- the CPU determines the line update rate to the printhead and adjusts the line sync frequency to produce the maximum print speed to account for the printhead IC's size ratio and inherent latencies in the syncing system across multiple SoPECs.
- the PHI also needs to consider the order in which dot data is loaded in the printhead. This is dependent on the construction of the printhead and the relative sizes of printhead ICs used to create the printhead.
- the printing process is a real-time process. Once the printing process has started, the next printline's data must be transferred to the printhead before the next line sync pulse is received by the printhead. Otherwise the printing process will terminate with a buffer underrun error.
- the PHI can be configured to drive a single printhead IC with or without synchronization to other SoPECs. For example the PHI could drive a single IC printhead (i.e. a printhead constructed with one IC only), or dual IC printhead with one SoPEC device driving each printhead IC.
- the PHI interface provides a mechanism for the CPU to directly control the PHI interface pins, allowing the CPU to access the bi-lithic printhead to:
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Nonlinear Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Ink Jet (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Particle Formation And Scattering Control In Inkjet Printers (AREA)
- Percussion Or Vibration Massage (AREA)
- Looms (AREA)
- Servomotors (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Medicines Containing Plant Substances (AREA)
Abstract
Description
- This application is a continuation of U.S. Ser. No. 11/442,131 filed May 30, 2006, which is a continuation of U.S. Ser. No. 10/727,233 filed Dec. 2, 2003, now issued U.S. Pat. No. 7,165,824, the entire contents of which are herein incorporated by reference.
- The present invention relates to the compensating a channel in a printhead where one or more ink nozzles in the printhead are dead.
- The invention has primarily been developed for use with a printhead comprising one or more printhead modules constructed using microelectromechanical systems (MEMS) techniques, and will be described with reference to this application. However, it will be appreciated that the invention can be applied to other types of printing technologies in which analogous problems are faced.
- Manufacturing a printhead that has relatively high resolution and print-speed raises a number of problems. Difficulties in manufacturing pagewidth printheads of any substantial size arise due to the relatively small dimensions of standard silicon wafers that are used in printhead (or printhead module) manufacture. For example, if it is desired to make an 8 inch wide pagewidth printhead, only one such printhead can be laid out on a standard 8-inch wafer, since such wafers are circular in plan. Manufacturing a pagewidth printhead from two or more smaller modules can reduce this limitation to some extent, but raises other problems related to providing a joint between adjacent printhead modules that is precise enough to avoid visible artefacts (which would typically take the form of noticeable lines) when the printhead is used. The problem is exacerbated in relatively high-resolution applications because of the tight tolerances dictated by the small spacing between nozzles.
- The quality of a joint region between adjacent printhead modules relies on factors including a precision with which the abutting ends of each module can be manufactured, the accuracy with which they can be aligned when assembled into a single printhead, and other more practical factors such as management of ink channels behind the nozzles. It will be appreciated that the difficulties include relative vertical displacement of the printhead modules with respect to each other.
- Whilst some of these issues may be dealt with by careful design and manufacture, the level of precision required renders it relatively expensive to manufacture printheads within the required tolerances. It would be desirable to provide a solution to one or more of the problems associated with precision manufacture and assembly of multiple printhead modules to form a printhead, and especially a pagewidth printhead.
- In some cases, it is desirable to produce a number of different printhead module types or lengths on a substrate to maximise usage of the substrate's surface area. However, different sizes and types of modules will have different numbers and layouts of print nozzles, potentially including different horizontal and vertical offsets. Where two or more modules are to be joined to form a single printhead, there is also the problem of dealing with different seam shapes between abutting ends of joined modules, which again may incorporate vertical or horizontal offsets between the modules. Printhead controllers are usually dedicated application specific integrated circuits (ASICs) designed for specific use with a single type of printhead module, that is used by itself rather than with other modules. It would be desirable to provide a way in which different lengths and types of printhead modules could be accounted for using a single printer controller.
- Printer controllers face other difficulties when two or more printhead modules are involved, especially if it is desired to send dot data to each of the printheads directly (rather than via a single printhead connected to the controller). One concern is that data delivered to different length controllers at the same rate will cause the shorter of the modules to be ready for printing before any longer modules. Where there is little difference involved, the issue may not be of importance, but for large length differences, the result is that the bandwidth of a shared memory from which the dot data is supplied to the modules is effectively left idle once one of the modules is full and the remaining module or modules is still being filled. It would be desirable to provide a way of improving memory bandwidth usage in a system comprising a plurality of printhead modules of uneven length.
- In any printing system that includes multiple nozzles on a printhead or printhead module, there is the possibility of one or more of the nozzles failing in the field, or being inoperative due to manufacturing defect. Given the relatively large size of a typical printhead module, it would be desirable to provide some form of compensation for one or more “dead” nozzles. Where the printhead also outputs fixative on a per-nozzle basis, it is also desirable that the fixative is provided in such a way that dead nozzles are compensated for.
- A printer controller can take the form of an integrated circuit, comprising a processor and one or more peripheral hardware units for implementing specific data manipulation functions. A number of these units and the processor may need access to a common resource such as memory.
- One way of arbitrating between multiple access requests for a common resource is timeslot arbitration, in which access to the resource is guaranteed to a particular requester during a predetermined timeslot.
- One difficulty with this arrangement lies in the fact that not all access requests make the same demands on the resource in terms of timing and latency. For example, a memory read requires that data be fetched from memory, which may take a number of cycles, whereas a memory write can commence immediately. Timeslot arbitration does not take into account these differences, which may result in accesses being performed in a less efficient manner than might otherwise be the case. It would be desirable to provide a timeslot arbitration scheme that improved this efficiency as compared with prior art timeslot arbitration schemes.
- Also of concern when allocating resources in a timeslot arbitration scheme is the fact that the priority of an access request may not be the same for all units. For example, it would be desirable to provide a timeslot arbitration scheme in which one requester (typically the memory) is granted special priority such that its requests are dealt with earlier than would be the case in the absence of such priority.
- In systems that use a memory and cache, a cache miss (in which an attempt to load data or an instruction from a cache fails) results in a memory access followed by a cache update. It is often desirable when updating the cache in this way to update data other than that which was actually missed. A typical example would be a cache miss for a byte resulting in an entire word or line of the cache associated with that byte being updated. However, this can have the effect of tying up bandwidth between the memory (or a memory manager) and the processor where the bandwidth is such that several cycles are required to transfer the entire word or line to the cache. It would be desirable to provide a mechanism for updating a cache that improved cache update speed and/or efficiency.
- Most integrated circuits an externally provided signal as (or to generate) a clock, often provided from a dedicated clock generation circuit. This is often due to the difficulties of providing an onboard clock that can operate at a speed that is predictable. Manufacturing tolerances of such on-board clock generation circuitry can result in clock rates that vary by a factor of two, and operating temperatures can increase this margin by an additional factor of two. In some cases, the particular rate at which the clock operates is not of particular concern. However, where the integrated circuit will be writing to an internal circuit that is sensitive to the time over which a signal is provided, it may be undesirable to have the signal be applied for too long or short a time. For example, flash memory is sensitive to being written too for too long a period. It would be desirable to provide a mechanism for adjusting a rate of an on-chip system clock to take into account the impact of manufacturing variations on clockspeed.
- In a broad form, the present invention provides a printer controller able to compensate for an inoperative nozzle in a printhead, the printhead including a plurality of sets of nozzles for printing a corresponding plurality of channels of dot data, the printhead operated by the printer controller which is able to determine one or more operative nozzles capable of printing a dot on a print media near a position at which the inoperative nozzle would have printed a dot had it been operative.
- In a particular form, the printhead is segmented as a bi-lithic printhead. In other particular forms: the printer controller compensates for an inoperative nozzle in the printhead by using color redundancy; the channels of dot data are mapped from the inoperative nozzle to the determined one or more operative nozzles; the channels of dot data are mapped from the inoperative nozzle to a color plane of the determined one or more operative nozzles; the mapping of the channels of dot data to the color plane is programmable; there are six channels of dot data and the dot data is bi-level dot data; the channels of dot data are loaded from DRAM and are then passed to the printer controller via a FIFO buffer; and/or information indicating inoperative nozzles is stored in a table.
- In another non-limiting embodiment, the table is updated by performing an inoperative nozzle test including the steps of: running a printhead nozzle test sequence; converting inoperative nozzle information into an inoperative nozzle table; and, writing the inoperative nozzle table to a memory of the printer controller.
- In another non-limiting embodiment, the printer controller is additionally able to: (a) form a compressed bi-level layer for a given print line intended for the bi-lithic printhead; (b) expand the compressed bi-level layer; (c) composite the bi-level layer to produce bi-level dots; (d) determine which combination of one or more available operative nozzles near the inoperative nozzle reduces perceived error in an image that the dot data forms part of, the determination being performed on the basis of a color model; (e) map the dot data intended for the inoperative nozzle to the combination of one or more operative nozzles; and, (f) pass resultant bi-level channel dot data to the bi-lithic printhead.
- According to various other forms, the one or more operative nozzles capable of printing a dot on the print media are immediately adjacent the position at which the inoperative nozzle would have printed a dot had it been operative; during successive firings of the printhead, the dot data is remapped alternately to operative nozzles capable of printing a dot on the print media either side of that which would have been printed by the inoperative nozzle; during successive firings of the printhead, the dot data is remapped randomly, pseudo-randomly, or arbitrarily to operative nozzles capable of printing a dot on the print media either side of that which would have been printed by the inoperative nozzle; the inoperative nozzle is associated with a black print channel, and wherein the dot data intended for the inoperative nozzle is mapped into a plurality of operative nozzles in other color channels to produce a process black output at or adjacent a location on print media where the inoperative nozzle would have deposited a dot of a black printing substance in accordance with the dot data.
- Preferred and other embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
-
FIG. 1 shows document data flow in a printer; -
FIG. 2 shows pages containing different numbers of bands; -
FIG. 3 shows the contents of a page band; -
FIG. 4 illustrates a page data path from host to SoPEC; -
FIG. 5 shows a page structure; -
FIG. 6 shows a SoPEC system top level partition; -
FIG. 7 shows a SoPEC CPU memory map (not to scale); -
FIG. 8 shows a SoPEC system top level partition; -
FIG. 9 shows an outline of contone data flow with respect to CDU; -
FIG. 10 shows a DRAM storage arrangement for a single line ofJPEG 8×8 blocks in 4 colors; -
FIG. 11 shows a high level block diagram showing the HCU and its external interfaces; -
FIG. 12 shows a block diagram of the HCU; -
FIG. 13 shows a block diagram of the control unit; -
FIG. 14 shows a block diagram of determine advdot unit; -
FIG. 15 shows a page structure; -
FIG. 16 shows a block diagram of a margin unit; -
FIG. 17 shows a block diagram of a dither matrix table interface; -
FIG. 18 shows an example of reading lines of dither matrix from DRAM; -
FIG. 19 shows a state machine to read dither matrix table; -
FIG. 20 shows a contone dotgen unit; -
FIG. 21 shows a block diagram of dot reorg unit; -
FIG. 22 shows an HCU to DNC interface (also used in DNC to DWU, LLU to PHI); -
FIG. 23 shows SFU to HCU interface (all feeders to HCU); -
FIG. 24 shows representative logic of the SFU to HCU interface; -
FIG. 25 shows a high-level block diagram of DNC; -
FIG. 26 shows a dead nozzle table format; -
FIG. 27 shows set of dots operated on for error diffusion; -
FIG. 28 shows a block diagram of DNC; -
FIG. 29 shows a sub-block diagram of ink replacement unit; -
FIG. 30 shows a dead nozzle table state machine; -
FIG. 31 shows logic for dead nozzle removal and ink replacement; -
FIG. 32 shows a sub-block diagram of error diffusion unit; -
FIG. 33 shows a maximum length 32-bit LFSR used for random bit generation; -
FIG. 34 shows a high-level data flow diagram of DWU in context; -
FIG. 35 shows a printhead nozzle layout for 36-nozzle bi-lithic printhead; -
FIG. 36 shows a printhead nozzle layout for a 36-nozzle bi-lithic printhead; -
FIG. 37 shows a dot line store logical representation; -
FIG. 38 shows a conceptual view of printhead row alignment; -
FIG. 39 shows a conceptual view of printhead rows (as seen by the LLU and PHI); -
FIG. 40 shows a comparison of 1.5×v 2× buffering; -
FIG. 41 shows an even dot order in DRAM (increasing sense, 13320 dot wide line); -
FIG. 42 shows an even dot order in DRAM (decreasing sense, 13320 dot wide line); -
FIG. 43 shows a dotline FIFO data structure in DRAM; -
FIG. 44 shows a DWU partition; -
FIG. 45 shows a buffer address generator sub-block; -
FIG. 46 shows a DIU Interface sub-block; -
FIG. 47 shows an interface controller state diagram; -
FIG. 48 shows a high level data flow diagram of LLU in context; -
FIG. 49 shows paper and printhead nozzles relationship (example with D1=D2=5); -
FIG. 50 shows printhead structure and dot generate order; -
FIG. 51 shows an order of dot data generation and transmission; -
FIG. 52 shows a conceptual view of printhead rows; -
FIG. 53 shows a dotline FIFO data structure in DRAM (LLU specification); -
FIG. 54 shows an LLU partition; -
FIG. 55 shows a dot generator RTL diagram; -
FIG. 56 shows a DIU interface; -
FIG. 57 shows an interface controller state diagram; and -
FIG. 58 shows high-level data flow diagram of PHI in context. - Imperative phrases such as “must”, “requires”, “necessary” and “important” (and similar language) should be read as being indicative of being necessary only for the preferred embodiment actually being described. As such, unless the opposite is clear from the context, imperative wording should not be interpreted as such. Nothing in the detailed description is to be understood as limiting the scope of the invention, which is intended to be defined as widely as is defined in the accompanying claims.
- Indications of expected rates, frequencies, costs, and other quantitative values are exemplary and estimated only, and are made in good faith. Nothing in this specification should be read as implying that a particular commercial embodiment is or will be capable of a particular performance level in any measurable area.
- It will be appreciated that the principles, methods and hardware described throughout this document can be applied to other fields. Much of the security-related disclosure, for example, can be applied to many other fields that require secure communications between entities, and certainly has application far beyond the field of printers.
- The preferred of the present invention is implemented in a printer using microelectromechanical systems (MEMS) printheads. The printer can receive data from, for example, a personal computer such as an IBM compatible PC or Apple computer. In other embodiments, the printer can receive data directly from, for example, a digital still or video camera. The particular choice of communication link is not important, and can be based, for example, on USB, Firewire, Bluetooth or any other wireless or hardwired communications protocol.
- This document describes the SoPEC (Small office home office Print Engine Controller) ASIC (Application Specific Integrated Circuit) suitable for use in, for example, SoHo printer products. The SoPEC ASIC is intended to be a low cost solution for bi-lithic printhead control, replacing the multichip solutions in larger more professional systems with a single chip. The increased cost competitiveness is achieved by integrating several systems such as a modified PEC1 printing pipeline, CPU control system, peripherals and memory sub-system onto one SoC ASIC, reducing component count and simplifying board design.
- A bi-lithic based printhead is constructed from 2 printhead ICs of varying sizes. The notation M:N is used to express the size relationship of each IC, where M specifies one printhead IC in inches and N specifies the remaining printhead IC in inches.
- The following terms are used throughout this specification: Bi-lithic printhead: refers to printhead constructed from 2 printhead ICs; CPU: refers to CPU core, caching system and MMU; ISI-Bridge chip: a device with a high speed interface (such as USB2.0, Ethernet or IEEE1394) and one or more ISI interfaces. The ISI-Bridge would be the ISIMaster for each of the ISI buses it interfaces to; ISIMaster: the ISIMaster is the only device allowed to initiate communication on the Inter Sopec Interface (ISI) bus. The ISIMaster interfaces with the host; ISISlave. Multi-SoPEC systems will contain one or more ISISlave SoPECs connected to the ISI bus. ISISlaves can only respond to communication initiated by the ISIMaster; LEON: refers to the LEON CPU core; LineSyncMaster: the LineSyncMaster device generates the line synchronisation pulse that all SoPECs in the system must synchronise their line outputs to; Multi-SoPEC: refers to SoPEC based print system with multiple SoPEC devices; Netpage: refers to page printed with tags (normally in infrared ink); PEC1: refers to Print
Engine Controller version 1, precursor to SoPEC used to control printheads constructed from multiple angled printhead segments; Printhead IC: single MEMS IC used to construct bi-lithic printhead; PrintMaster: the PrintMaster device is responsible for coordinating all aspects of the print operation. There may only be one PrintMaster in a system; QA Chip: Quality Assurance Chip; Storage SoPEC: an ISISlave SoPEC used as a DRAM store and which does not print; and Tag: refers to pattern which encodes information about its position and orientation which allow it to be optically located and its data contents read. - The following acronyms and abbreviations are used in this specification: CDU Contone Decoder Unit; CFU Contone FIFO Unit; CPU Central Processing Unit; CPR Clock, Power and Reset block; DIU DRAM Interface Unit; DNC Dead Nozzle Compensator; DRAM Dynamic Random Access Memory; DWU Dotline Writer Unit; GPIO General Purpose Input Output; HCU Halftoner Compositor Unit; ICU Interrupt Controller Unit; ISI Inter SoPEC Interface; LDB Lossless Bi-level Decoder; LLU Line Loader Unit; LSS Low Speed Serial interface; MEMS Micro Electro Mechanical System; MMU Memory Management Unit; PCU SoPEC Controller Unit/PEP controller; PHI PrintHead Interface; PSS Power Save Storage Unit; RDU Real-time Debug Unit; ROM Read Only Memory/Boot ROM; SCB Serial Communication Block; SFU Spot FIFO Unit; SMG4 Silverbrook Modified
Group 4; SoPEC Small office home office Print Engine Controller; SRAM Static Random Access Memory; TE Tag Encoder; TFU Tag FIFO Unit; TIM Timers Unit/General Timer; and USB Universal Serial Bus. - A bi-lithic printhead produces 1600 dpi bi-level dots. On low-diffusion paper, each ejected drop forms a 22.5 μm diameter dot. Dots are easily produced in isolation, allowing dispersed-dot dithering to be exploited to its fullest. Since the bi-lithic printhead is the width of the page and operates with a constant paper velocity, color planes are printed in perfect registration, allowing ideal dot-on-dot printing. Dot-on-dot printing minimizes ‘muddying’ of midtones caused by inter-color bleed.
- A page layout may contain a mixture of images, graphics and text. Continuous-tone (contone) images and graphics are reproduced using a stochastic dispersed-dot dither. Unlike a clustered-dot (or amplitude-modulated) dither, a dispersed-dot (or frequency-modulated) dither reproduces high spatial frequencies (i.e. image detail) almost to the limits of the dot resolution, while simultaneously reproducing lower spatial frequencies to their full color depth, when spatially integrated by the eye. A stochastic dither matrix is carefully designed to be free of objectionable low-frequency patterns when tiled across the image. As such its size typically exceeds the minimum size required to support a particular number of intensity levels (e.g. 16×16×8 bits for 257 intensity levels).
- Human contrast sensitivity peaks at a spatial frequency of about 3 cycles per degree of visual field and then falls off logarithmically, decreasing by a factor of 100 beyond about 40 cycles per degree and becoming immeasurable beyond 60 cycles per degree. At a normal viewing distance of 12 inches (about 300 mm), this translates roughly to 200-300 cycles per inch (cpi) on the printed page, or 400-600 samples per inch according to Nyquist's theorem.
- In practice, contone resolution above about 300 ppi is of limited utility outside special applications such as medical imaging. Offset printing of magazines, for example, uses contone resolutions in the range 150 to 300 ppi. Higher resolutions contribute slightly to color error through the dither.
- Black text and graphics are reproduced directly using bi-level black dots, and are therefore not anti-aliased (i.e. low-pass filtered) before being printed. Text should therefore be supersampled beyond the perceptual limits discussed above, to produce smoother edges when spatially integrated by the eye. Text resolution up to about 1200 dpi continues to contribute to perceived text sharpness (assuming low-diffusion paper, of course).
- A Netpage printer, for example, may use a contone resolution of 267 ppi (i.e. 1600 dp 6), and a black text and graphics resolution of 800 dpi. A high end office or departmental printer may use a contone resolution of 320 ppi (1600 dpi/5) and a black text and graphics resolution of 1600 dpi. Both formats are capable of exceeding the quality of commercial (offset) printing and photographic reproduction.
- Because of the page-width nature of the bi-lithic printhead, each page must be printed at a constant speed to avoid creating visible artifacts. This means that the printing speed can't be varied to match the input data rate. Document rasterization and document printing are therefore decoupled to ensure the printhead has a constant supply of data. A page is never printed until it is fully rasterized. This can be achieved by storing a compressed version of each rasterized page image in memory.
- This decoupling also allows the RIP(s) to run ahead of the printer when rasterizing simple pages, buying time to rasterize more complex pages. Because contone color images are reproduced by stochastic dithering, but black text and line graphics are reproduced directly using dots, the compressed page image format contains a separate foreground bi-level black layer and background contone color layer. The black layer is composited over the contone layer after the contone layer is dithered (although the contone layer has an optional black component). A final layer of Netpage tags (in infrared or black ink) is optionally added to the page for printout.
FIG. 1 shows the flow of a document from computer system to printed page. - At 267 ppi for example, a A4 page (8.26 inches×11.7 inches) of contone CMYK data has a size of 26.3 MB. At 320 ppi, an A4 page of contone data has a size of 37.8 MB. Using lossy contone compression algorithms such as JPEG, contone images compress with a ratio up to 10:1 without noticeable loss of quality, giving compressed page sizes of 2.63 MB at 267 ppi and 3.78 MB at 320 ppi.
- At 800 dpi, a A4 page of bi-level data has a size of 7.4 MB. At 1600 dpi, a Letter page of bi-level data has a size of 29.5 MB. Coherent data such as text compresses very well. Using lossless bi-level compression algorithms such as SMG4 fax, ten-point plain text compresses with a ratio of about 50:1. Lossless bi-level compression across an average page is about 20:1 with 10:1 possible for pages which compress poorly. The requirement for SoPEC is to be able to print text at 10:1 compression. Assuming 10:1 compression gives compressed page sizes of 0.74 MB at 800 dpi, and 2.95 MB at 1600 dpi. Once dithered, a page of CMYK contone image data consists of 116 MB of bi-level data. Using lossless bi-level compression algorithms on this data is pointless precisely because the optimal dither is stochastic, since it introduces hard-to-compress disorder.
- Netpage tag data is optionally supplied with the page image. Rather than storing a compressed bi-level data layer for the Netpage tags, the tag data is stored in its raw form. Each tag is supplied up to 120 bits of raw variable data (combined with up to 56 bits of raw fixed data) and covers up to a 6 mm×6 mm area (at 1600 dpi). The absolute maximum number of tags on a A4 page is 15,540 when the tag is only 2 mm×2 mm (each tag is 126 dots×126 dots, for a total coverage of 148 tags×105 tags). 15,540 tags of 128 bits per tag gives a compressed tag page size of 0.24 MB. The multi-layer compressed page image format therefore exploits the relative strengths of lossy JPEG contone image compression, lossless bi-level text compression, and tag encoding. The format is compact enough to be storage-efficient, and simple enough to allow straightforward real-time expansion during printing.
- Since text and images normally don't overlap, the normal worst-case page image size is image only, while the normal best-case page image size is text only. The addition of worst case Netpage tags adds 0.24 MB to the page image size. The worst-case page image size is text over image plus tags. The average page size assumes a quarter of an average page contains images. Table 1 shows data sizes for compressed Letter page for these different options.
-
TABLE 1 Data sizes for A4 page (8.26 inches × 11.7 inches) 267 ppi contone 320 ppi contone 800 dpi bi-level 1600 dpi bi-level Image only (contone), 2.63 MB 3.78 MB 10:1 compression Text only (bi-level), 0.74 MB 2.95 MB 10:1 compression Netpage tags, 1600 dpi 0.24 MB 0.24 MB Worst case (text + 3.61 MB 6.67 MB image + tags) Average (text + 25% 1.64 MB 4.25 MB image + tags) - The Host PC rasterizes and compresses the incoming document on a page by page basis. The page is restructured into bands with one or more bands used to construct a page. The compressed data is then transferred to the SoPEC device via the USB link. A complete band is stored in SoPEC embedded memory. Once the band transfer is complete the SoPEC device reads the compressed data, expands the band, normalizes contone, bi-level and tag data to 1600 dpi and transfers the resultant calculated dots to the bi-lithic printhead. The document data flow is:
-
- The RIP software rasterizes each page description and compress the rasterized page image.
- The infrared layer of the printed page optionally contains encoded Netpage tags at a programmable density.
- The compressed page image is transferred to the SoPEC device via the USB normally on a band by band basis.
- The print engine takes the compressed page image and starts the page expansion.
- The first stage page expansion consists of 3 operations performed in parallel
- expansion of the JPEG-compressed contone layer
- expansion of the SMG4 fax compressed bi-level layer
- encoding and rendering of the bi-level tag data.
- The second stage dithers the contone layer using a programmable dither matrix, producing up to four bi-level layers at full-resolution.
- The second stage then composites the bi-level tag data layer, the bi-level SMG4 fax de-compressed layer and up to four bi-level JPEG de-compressed layers into the full-resolution page image.
- A fixative layer is also generated as required.
- The last stage formats and prints the bi-level data through the bi-lithic printhead via the printhead interface.
- The SoPEC device can print a full resolution page with 6 color planes. Each of the color planes can be generated from compressed data through any channel (either JPEG compressed, bi-level SMG4 fax compressed, tag data generated, or fixative channel created) with a maximum number of 6 data channels from page RIP to bi-lithic printhead color planes.
- The mapping of data channels to color planes is programmable, this allows for multiple color planes in the printhead to map to the same data channel to provide for redundancy in the printhead to assist dead nozzle compensation.
- Also a data channel could be used to gate data from another data channel. For example in stencil mode, data from the bilevel data channel at 1600 dpi can be used to filter the contone data channel at 320 dpi, giving the effect of 1600 dpi contone image.
- The SoPEC device typically stores a complete page of document data on chip. The amount of storage available for compressed pages is limited to 2 Mbytes, imposing a fixed maximum on compressed page size. A comparison of the compressed image sizes in Table 2 indicates that SoPEC would not be capable of printing worst case pages unless they are split into bands and printing commences before all the bands for the page have been downloaded. The page sizes in the table are shown for comparison purposes and would be considered reasonable for a professional level printing system. The SoPEC device is aimed at the consumer level and would not be required to print pages of that complexity. Target document types for the SoPEC device are shown Table 2.
-
TABLE 2 Page content targets for SoPEC Page Content Size Description Calculation (MByte) Best Case picture 8.26 × 11.7 × 267 × 267 × 3 1.97 Image, 267 ppi with 3 @ 10:1 colors, A4 size Full page text, 800 8.26 × 11.7 × 800 × 800 @ 0.74 dpi A4 size 10:1 Mixed Graphics and Text 6 × 4 × 267 × 267 × 3 @ 5:1 1.55 Image of 6 inches × 4 800 × 800 × 73 @ 10:1 inches @ 267 ppi and 3 colors Remaining area text ~73 inches2, 800 dpi Best Case Photo, 3 Colors, 6.6 Mpixel @ 10:1 2.00 6.6 Megapixel Image - If a document with more complex pages is required, the page RIP software in the host PC can determine that there is insufficient memory storage in the SoPEC for that document. In such cases the RIP software can take two courses of action. It can increase the compression ratio until the compressed page size will fit in the SoPEC device, at the expense of document quality, or divide the page into bands and allow SoPEC to begin printing a page band before all bands for that page are downloaded. Once SoPEC starts printing a page it cannot stop, if SoPEC consumes compressed data faster than the bands can be downloaded a buffer underrun error could occur causing the print to fail. A buffer underrun occurs if a line synchronisation pulse is received before a line of data has been transferred to the printhead.
- Other options which can be considered if the page does not fit completely into the compressed page store are to slow the printing or to use multiple SoPECs to print parts of the page. A Storage SoPEC could be added to the system to provide guaranteed bandwidth data delivery. The print system could also be constructed using an ISI-Bridge chip to provide guaranteed data delivery.
- The SoPEC device can be used in several printer configurations and architectures.
- In the general sense every SoPEC based printer architecture will contain:
-
- One or more SoPEC devices.
- One or more bi-lithic printheads.
- Two or more LSS busses.
- Two or more QA chips.
- USB 1.1 connection to host or ISI connection to Bridge Chip.
- ISI bus connection between SoPECs (when multiple SoPECs are used).
- The SoPEC device contains several system on a chip (SoC) components, as well as the print engine pipeline control application specific logic.
- The PEP reads compressed page store data from the embedded memory, optionally decompresses the data and formats it for sending to the printhead. The print engine pipeline functionality includes expanding the page image, dithering the contone layer, compositing the black layer over the contone layer, rendering of Netpage tags, compensation for dead nozzles in the printhead, and sending the resultant image to the bi-lithic printhead.
- SoPEC contains an embedded CPU for general purpose system configuration and management. The CPU performs page and band header processing, motor control and sensor monitoring (via the GPIO) and other system control functions. The CPU can perform buffer management or report buffer status to the host. The CPU can optionally run vendor application specific code for general print control such as paper ready monitoring and LED status update.
- A 2.5 Mbyte embedded memory buffer is integrated onto the SoPEC device, of which approximately 2 Mbytes are available for compressed page store data. A compressed page is divided into one or more bands, with a number of bands stored in memory. As a band of the page is consumed by the PEP for printing a new band can be downloaded. The new band may be for the current page or the next page.
- Using banding it is possible to begin printing a page before the complete compressed page is downloaded, but care must be taken to ensure that data is always available for printing or a buffer underrun may occur. A Storage SoPEC acting as a memory buffer or an ISI-Bridge chip with attached DRAM could be used to provide guaranteed data delivery.
- The embedded USB 1.1 device accepts compressed page data and control commands from the host PC, and facilitates the data transfer to either embedded memory or to another SoPEC device in multi-SoPEC systems.
- The printhead is constructed by abutting 2 printhead ICs together. The printhead ICs can vary in size from 2 inches to 8 inches, so to produce an A4 printhead several combinations are possible. For example two printhead ICs of 7 inches and 3 inches could be used to create a A4 printhead (the notation is 7:3). Similarly 6 and 4 combination (6:4), or 5:5 combination. For an A3 printhead it can be constructed from 8:6 or an 7:7 printhead IC combination. For photographic printing smaller printheads can be constructed.
- Each SoPEC device has 2 LSS system buses for communication with QA devices for system authentication and ink usage accounting. The number of QA devices per bus and their position in the system is unrestricted with the exception that PRINTER_QA and INK_QA devices should be on separate LSS busses.
- Each SoPEC system can have several QA devices. Normally each printing SoPEC will have an associated PRINTER_QA. Ink cartridges will contain an INK_QA chip. PRINTER_QA and INK_QA devices should be on separate LSS busses. All QA chips in the system are physically identical with flash memory contents defining PRINTER_QA from INK_QA chip.
- ISI interface
- The Inter-SoPEC Interface (ISI) provides a communication channel between SoPECs in a multi-SoPEC system. The ISIMaster can be SoPEC device or an ISI-Bridge chip depending on the printer configuration. Both compressed data and control commands are transferred via the interface.
- A device, other than a SoPEC with a USB connection, which provides print data to a number of slave SoPECs. A bridge chip will typically have a high bandwidth connection, such as USB2.0, Ethernet or IEEE1394, to a host and may have an attached external DRAM for compressed page storage. A bridge chip would have one or more ISI interfaces. The use of multiple ISI buses would allow the construction of independent print systems within the one printer. The ISI-Bridge would be the ISIMaster for each of the ISI buses it interfaces to.
- When rendering a page, the RIP produces a page header and a number of bands (a non-blank page requires at least one band) for a page. The page header contains high level rendering parameters, and each band contains compressed page data. The size of the band will depend on the memory available to the RIP, the speed of the RIP, and the amount of memory remaining in SoPEC while printing the previous band(s).
FIG. 3 shows the high level data structure of a number of pages with different numbers of bands in the page. - Each compressed band contains a mandatory band header, an optional bi-level plane, optional sets of interleaved contone planes, and an optional tag data plane (for Netpage enabled applications). Since each of these planes is optional, the band header specifies which planes are included with the band.
FIG. 4 gives a high-level breakdown of the contents of a page band. A single SoPEC has maximum rendering restrictions as follows: -
- 1 bi-level plane
- 1 contone interleaved plane set containing a maximum of 4 contone planes
- 1 tag data plane
- a bi-lithic printhead with a maximum of 2 printhead ICs
- The requirement for single-sided A4 single SoPEC printing is
- average contone JPEG compression ratio of 10:1, with a local minimum compression ratio of 5:1 for a single line of interleaved JPEG blocks.
- average bi-level compression ratio of 10:1, with a local minimum compression ratio of 1:1 for a single line.
- If the page contains rendering parameters that exceed these specifications, then the RIP or the Host PC must split the page into a format that can be handled by a single SoPEC. In the general case, the SoPEC CPU must analyze the page and band headers and generate an appropriate set of register write commands to configure the units in SoPEC for that page. The various bands are passed to the destination SoPEC(s) to locations in DRAM determined by the host.
- The host keeps a memory map for the DRAM, and ensures that as a band is passed to a SoPEC, it is stored in a suitable free area in DRAM. Each SoPEC is connected to the ISI bus or USB bus via its Serial communication Block (SCB). The SoPEC CPU configures the SCB to allow compressed data bands to pass from the USB or ISI through the SCB to SoPEC DRAM.
FIG. 5 shows an example data flow for a page destined to be printed by a single SoPEC. Band usage information is generated by the individual SoPECs and passed back to the host. - SoPEC has an addressing mechanism that permits circular band memory allocation, thus facilitating easy memory management. However it is not strictly necessary that all bands be stored together. As long as the appropriate registers in SoPEC are set up for each band, and a given band is contiguous, the memory can be allocated in any way.
- The format is generated by software in the host PC and interpreted by embedded software in SoPEC. This section indicates the type of information in a page format structure, but implementations need not be limited to this format. The host PC can optionally perform the majority of the header processing.
- The compressed format and the print engines are designed to allow real-time page expansion during printing, to ensure that printing is never interrupted in the middle of a page due to data underrun.
- The page format described here is for a single black bi-level layer, a contone layer, and a Netpage tag layer. The black bi-level layer is defined to composite over the contone layer. The black bi-level layer consists of a bitmap containing a 1-bit opacity for each pixel. This black layer matte has a resolution which is an integer or non-integer factor of the printer's dot resolution. The highest supported resolution is 1600 dpi, i.e. the printer's full dot resolution.
- The contone layer, optionally passed in as YCrCb, consists of a 24-bit CMY or 32-bit CMYK color for each pixel. This contone image has a resolution which is an integer or non-integer factor of the printer's dot resolution. The requirement for a single SoPEC is to support 1 side per 2 seconds A4/Letter printing at a resolution of 267 ppi, i.e. one-sixth the printer's dot resolution. Non-integer scaling can be performed on both the contone and bi-level images. Only integer scaling can be performed on the tag data. The black bi-level layer and the contone layer are both in compressed form for efficient storage in the printer's internal memory.
- A single SoPEC is able to print with full edge bleed for Letter and A3 via different stitch part combinations of the bi-lithic printhead. It imposes no margins and so has a printable page area which corresponds to the size of its paper. The target page size is constrained by the printable page area, less the explicit (target) left and top margins specified in the page description. These relationships are illustrated below.
- Apart from being implicitly defined in relation to the printable page area, each page description is complete and self-contained. There is no data stored separately from the page description to which the page description refers.1 The page description consists of a page header which describes the size and resolution of the page, followed by one or more page bands which describe the actual page content. 1SoPEC relies on dither matrices and tag structures to have already been set up, but these are not considered to be part of a general page format. It is trivial to extend the page format to allow exact specification of dither matrices and tag structures.
- Table 3 shows an example format of a page header.
-
TABLE 3 Page header format Field Format Description signature 16-bit Page header format signature. integer Version 16-bit Page header format version number. integer structure size 16-bit Size of page header. integer band count 16-bit Number of bands specified for this page. integer target resolution 16-bit Resolution of target page. This is always 1600 for the (dpi) integer Memjet printer. target page width 16-bit Width of target page, in dots. integer target page height 32-bit Height of target page, in dots. integer target left margin 16-bit Width of target left margin, in dots, for black and for black and integer contone. contone target top margin for 16-bit Height of target top margin, in dots, for black and black and contone integer contone. target right margin 16-bit Width of target right margin, in dots, for black and for black and integer contone. contone Target bottom 16-bit Height of target bottom margin, in dots, for black and margin for black integer contone. and contone target left margin 16-bit Width of target left margin, in dots, for tags. for tags integer target top margin for 16-bit Height of target top margin, in dots, for tags. tags integer target right margin 16-bit Width of target right margin, in dots, for tags. for tags integer target bottom 16-bit Height of target bottom margin, in dots, for tags. margin for tags integer Generate tags 16-bit Specifies whether to generate tags for this page (0 - integer no, 1 - yes). fixed tag data 128 bit This is only valid if generate tags is set. integer tag vertical scale 16-bit Scale factor in vertical direction from tag data factor integer resolution to target resolution. Valid range = 1-511. Integer scaling only tag horizontal scale 16-bit Scale factor in horizontal direction from tag data factor integer resolution to target resolution. Valid range = 1-511. Integer scaling only. bi-level layer 16-bit Scale factor in vertical direction from bi-level vertical scale factor integer resolution to target resolution (must be 1 or greater). May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator. bi-level layer 16-bit Scale factor in horizontal direction from bi-level horizontal scale factor integer resolution to target resolution (must be 1 or greater). May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator. bi-level layer page 16-bit Width of bi-level layer page, in pixels. width integer bi-level layer page 32-bit Height of bi-level layer page, in pixels. height integer contone flags 16 bit Defines the color conversion that is required for the integer JPEG data. Bits 2-0 specify how many contone planes there are (e.g. 3 for CMY and 4 for CMYK). Bit 3specifies whether the first 3 color planes need to be converted back from YCrCb to CMY. Only valid if b2-0 = 3 or 4; 0 - no conversion, leave JPEG colors alone; 1 - color convert. Bits 7-4 specifies whether the YCrCb was generated directly from CMY, or whether it was converted to RGB first via the step: R = 255-C, G = 255-M, B = 255-Y. Each of the color planes can be individually inverted. Bit 4: 0 - do not invert color plane 0; 1 - invert color plane 0. Bit 5: 0 - do notinvert color plane 1; 1 -invert color plane 1. Bit 6: 0 -do not invert color plane 2; 1 -invert color plane 2. Bit7: 0 - do not invert color plane 3; 1 -invert color plane 3.Bit 8 specifies whether the contone data is JPEGcompressed or non-compressed: 0 - JPEG compressed; 1 - non-compressed. The remaining bits are reserved (0). Contone vertical 16-bit Scale factor in vertical direction from contone channel scale factor integer resolution to target resolution. Valid range = 1-255. May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator. Contone horizontal 16-bit Scale factor in horizontal direction from contone scale factor integer channel resolution to target resolution. Valid range = 1-255. May be non-integer. Expressed as a fraction with upper 8-bits the numerator and the lower 8 bits the denominator. Contone page width 16-bit Width of contone page, in contone pixels. integer Contone page height 32-bit Height of contone page, in contone pixels. integer Reserved up to 128 Reserved and 0 pads out page header to multiple of bytes 128 bytes. - The page header contains a signature and version which allow the CPU to identify the page header format. If the signature and/or version are missing or incompatible with the CPU, then the CPU can reject the page.
- The contone flags define how many contone layers are present, which typically is used for defining whether the contone layer is CMY or CMYK. Additionally, if the color planes are CMY, they can be optionally stored as YCrCb, and further optionally color space converted from CMY directly or via RGB. Finally the contone data is specified as being either JPEG compressed or non-compressed.
- The page header defines the resolution and size of the target page. The bi-level and contone layers are clipped to the target page if necessary. This happens whenever the bi-level or contone scale factors are not factors of the target page width or height.
- The target left, top, right and bottom margins define the positioning of the target page within the printable page area. The tag parameters specify whether or not Netpage tags should be produced for this page and what orientation the tags should be produced at (landscape or portrait mode). The fixed tag data is also provided. The contone, bi-level and tag layer parameters define the page size and the scale factors.
- Table 4 shows the format of the page band header.
-
TABLE 4 Band header format Field Format Description 7signature 16-bit integer Page band header format signature. Version 16-bit integer Page band header format version number. structure size 16-bit integer Size of page band header. bi-level layer band height 16-bit integer Height of bi-level layer band, in black pixels. bi-level layer band data 32-bit integer Size of bi-level layer band data, in bytes. size Contone band height 16-bit integer Height of contone band, in contone pixels. Contone band data size 32-bit integer Size of contone plane band data, in bytes. tag band height 16-bit integer Height of tag band, in dots. tag band data size 32-bit integer Size of unencoded tag data band, in bytes. Can be 0 which indicates that no tag data is provided. Reserved up to 128 Reserved and 0 pads out band header to bytes multiple of 128 bytes. - The bi-level layer parameters define the height of the black band, and the size of its compressed band data. The variable-size black data follows the page band header. The contone layer parameters define the height of the contone band, and the size of its compressed page data. The variable-size contone data follows the black data. The tag band data is the set of variable tag data half-lines as required by the tag encoder. The format of the tag data is found in. The tag band data follows the contone data. Table 5 shows the format of the variable-size compressed band data which follows the page band header.
-
TABLE 5 Page band data format Field Format Description Black data Modified G4 facsimile Compressed bi-level layer. bitstream Contone JPEG bytestream Compressed contone datalayer. data Tag data Tag data array Tag data format. map - The start of each variable-size segment of band data should be aligned to a 256-bit DRAM word boundary.
- The (typically 1600 dpi) black bi-level layer is losslessly compressed using Silverbrook Modified Group 4 (SMG4) compression which is a version of
Group 4 Facsimile compression without Huffman and with simplified run length encodings. Typically compression ratios exceed 10:1. - SMG4 has a pass through mode to cope with local negative compression. Pass through mode is activated by a special run-length code. Pass through mode continues to either end of line or for a pre-programmed number of bits, whichever is shorter. The special run-length code is always executed as a run-length code, followed by pass through. The pass through escape code is a medium length run-length w. Since the compression is a bitstream, the encodings are read right (least significant bit) to left (most significant bit). The run lengths are read in the same way (least significant bit at the right to most significant bit at the left).
- Each band of bi-level data is optionally self contained. The first line of each band therefore is based on a ‘previous’ blank line or the last line of the previous band.
- The
Group 3 Facsimile compression algorithm losslessly compresses bi-level data for transmission over slow and noisy telephone lines. The bi-level data represents scanned black text and graphics on a white background, and the algorithm is tuned for this class of images (it is explicitly not tuned, for example, for halftoned bi-level images). The1D Group 3 algorithm runlength-encodes each scanline and then Huffman-encodes the resulting runlengths. Runlengths in therange 0 to 63 are coded with terminating codes. Runlengths in therange 64 to 2623 are coded with make-up codes, each representing a multiple of 64, followed by a terminating code. - Runlengths exceeding 2623 are coded with multiple make-up codes followed by a terminating code. The Huffman tables are fixed, but are separately tuned for black and white runs (except for make-up codes above 1728, which are common). When possible, the
2D Group 3 algorithm encodes a scanline as a set of short edge deltas (0, ±1, ±2, ±3) with reference to the previous scanline. The delta symbols are entropy-encoded (so that the zero delta symbol is only one bit long etc.) Edges within a 2D-encoded line which can't be delta-encoded are runlength-encoded, and are identified by a prefix. 1D- and 2D-encoded lines are marked differently. 1D-encoded lines are generated at regular intervals, whether actually required or not, to ensure that the decoder can recover from line noise with minimal image degradation.2D Group 3 achieves compression ratios of up to 6:1. - The
Group 4 Facsimile algorithm losslessly compresses bi-level data for transmission over error-free communications lines (i.e. the lines are truly error-free, or error-correction is done at a lower protocol level). TheGroup 4 algorithm is based on the2D Group 3 algorithm, with the essential modification that since transmission is assumed to be error-free, 1D-encoded lines are no longer generated at regular intervals as an aid to error-recovery.Group 4 achieves compression ratios ranging from 20:1 to 60:1 for the CCITT set of test images. - The design goals and performance of the
Group 4 compression algorithm qualify it as a compression algorithm for the bi-level layers. However, its Huffman tables are tuned to a lower scanning resolution (100-400 dpi), and it encodes runlengths exceeding 2623 awkwardly. - The contone layer (CMYK) is either a non-compressed bytestream or is compressed to an interleaved JPEG bytestream. The JPEG bytestream is complete and self-contained. It contains all data required for decompression, including quantization and Huffman tables.
- The contone data is optionally converted to YCrCb before being compressed (there is no specific advantage in color-space converting if not compressing). Additionally, the CMY contone pixels are optionally converted (on an individual basis) to RGB before color conversion using R=255-C, G=255-M, B=255-Y. Optional bitwise inversion of the K plane may also be performed. Note that this CMY to RGB conversion is not intended to be accurate for display purposes, but rather for the purposes of later converting to YCrCb. The inverse transform will be applied before printing.
- The JPEG compression algorithm lossily compresses a contone image at a specified quality level. It introduces imperceptible image degradation at compression ratios below 5:1, and negligible image degradation at compression ratios below 10:1.
- JPEG typically first transforms the image into a color space which separates luminance and chrominance into separate color channels. This allows the chrominance channels to be subsampled without appreciable loss because of the human visual system's relatively greater sensitivity to luminance than chrominance. After this first step, each color channel is compressed separately.
- The image is divided into 8×8 pixel blocks. Each block is then transformed into the frequency domain via a discrete cosine transform (DCT). This transformation has the effect of concentrating image energy in relatively lower-frequency coefficients, which allows higher-frequency coefficients to be more crudely quantized. This quantization is the principal source of compression in JPEG. Further compression is achieved by ordering coefficients by frequency to maximize the likelihood of adjacent zero coefficients, and then runlength-encoding runs of zeroes. Finally, the runlengths and non-zero frequency coefficients are entropy coded. Decompression is the inverse process of compression.
- If the contone data is non-compressed, it must be in a block-based format bytestream with the same pixel order as would be produced by a JPEG decoder. The bytestream therefore consists of a series of 8×8 block of the original image, starting with the top left 8×8 block, and working horizontally across the page (as it will be printed) until the top rightmost 8×8 block, then the next row of 8×8 blocks (left to right) and so on until the lower row of 8×8 blocks (left to right). Each 8×8 block consists of 64 8-bit pixels for color plane 0 (representing 8 rows of 8 pixels in the order top left to bottom right) followed by 64 8-bit pixels for
color plane 1 and so on for up to a maximum of 4 color planes. If the original image is not a multiple of 8 pixels in X or Y, padding must be present (the extra pixel data will be ignored by the setting of margins). - If the contone data is compressed the first memory band contains JPEG headers (including tables) plus MCUs (minimum coded units). The ratio of space between the various color planes in the JPEG stream is 1:1:1:1. No subsampling is permitted. Banding can be completely arbitrary i.e there can be multiple JPEG images per band or 1 JPEG image divided over multiple bands. The break between bands is only memory alignment based.
- YCrCb is defined as per CCIR 601-1 except that Y, Cr and Cb are normalized to occupy all 256 levels of an 8-bit binary encoding and take account of the actual hardware implementation of the inverse transform within SoPEC. The exact color conversion computation is as follows:
-
Y*=(9805/32768)R+(19235/32768)G+(3728/32768)B -
Cr*=(16375/32768)R−(13716/32768)G−(2659/32768)B+128 -
Cb*=−(5529/32768)R−(10846/32768)G+(16375/32768)B+128 - Y, Cr and Cb are obtained by rounding to the nearest integer. There is no need for saturation since ranges of Y*, Cr* and Cb* after rounding are [0-255], [1-255] and [1-255] respectively.
Note that Full Accuracy is Possible with 24 Bits. - The Small Office Home Office Print Engine Controller (SoPEC) is a page rendering engine ASIC that takes compressed page images as input, and produces decompressed page images at up to 6 channels of bi-level dot data as output. The bi-level dot data is generated for the Memjet bi-lithic printhead. The dot generation process takes account of printhead construction, dead nozzles, and allows for fixative generation.
- A single SoPEC can control 2 bi-lithic printheads and up to 6 color channels at 10,000 lines/sec2, equating to 30 pages per minute. A single SoPEC can perform full-bleed printing of A3, A4 and Letter pages. The 6 channels of colored ink are the expected maximum in a consumer SOHO, or office Bi-lithic printing environment:
-
- CMY, for regular color printing.
- K, for black text, line graphics and gray-scale printing.
- IR (infrared), for Netpage-enabled applications.
- F (fixative), to enable printing at high speed. Because the bi-lithic printer is capable of printing so fast, a fixative may be required to enable the ink to dry before the page touches the page already printed. Otherwise the pages may bleed on each other. In low speed printing environments the fixative may not be required. 210,000 lines per second equates to 30 A4/Letter pages per minute at 1600 dpi
- SoPEC is color space agnostic. Although it can accept contone data as CMYX or RGBX, where X is an optional 4th channel, it also can accept contone data in any print color space. Additionally, SoPEC provides a mechanism for arbitrary mapping of input channels to output channels, including combining dots for ink optimization, generation of channels based on any number of other channels etc. However, inputs are typically CMYK for contone input, K for the bi-level input, and the optional Netpage tag dots are typically rendered to an infra-red layer. A fixative channel is typically generated for fast printing applications.
- SoPEC is resolution agnostic. It merely provides a mapping between input resolutions and output resolutions by means of scale factors. The expected output resolution is 1600 dpi, but SoPEC actually has no knowledge of the physical resolution of the Bi-lithic printhead.
- SoPEC is page-length agnostic. Successive pages are typically split into bands and downloaded into the page store as each band of information is consumed and becomes free. SoPEC provides an interface for synchronization with other SoPECs. This allows simple multi-SoPEC solutions for simultaneous A3/A4/Letter duplex printing. However, SoPEC is also capable of printing only a portion of a page image. Combining synchronization functionality with partial page rendering allows multiple SoPECs to be readily combined for alternative printing requirements including simultaneous duplex printing and wide format printing.
- The required printing rate for SoPEC is 30 sheets per minute with an inter-sheet spacing of 4 cm. To achieve a 30 sheets per minute print rate, this requires: 300 mm×63 (dot/mm)/2 sec=105.8 μseconds per line, with no inter-sheet gap; 340 mm×63 (dot/mm)/2 sec=93.3 μseconds per line, with a 4 cm inter-sheet gap. A printline for an A4 page consists of 13824 nozzles across the page. At a system clock rate of 160
MHz 13824 dots of data can be generated in 86.4 μseconds. Therefore data can be generated fast enough to meet the printing speed requirement. It is necessary to deliver this print data to the print-heads. - Printheads can be made up of 5:5, 6:4, 7:3 and 8:2 inch printhead combinations. Print data is transferred to both print heads in a pair simultaneously. This means the longest time to print a line is determined by the time to transfer print data to the longest print segment. There are 9744 nozzles across a 7 inch printhead. The print data is transferred to the printhead at a rate of 106 MHz (⅔ of the system clock rate) per color plane. This means that it will take 91.9 μs to transfer a single line for a 7:3 printhead configuration. So we can meet the requirement of 30 sheets per minute printing with a 4 cm gap with a 7:3 printhead combination. There are 11160 across an 8 inch printhead. To transfer the data to the printhead at 106 MHz will take 105.3 μs. So an 8:2 printhead combination printing with an inter-sheet gap will print slower than 30 sheets per minute.
- From the highest point of view the SoPEC device consists of 3 distinct subsystems: CPU Subsystem; DRAM Subsystem; and Print Engine Pipeline (PEP) Subsystem. See
FIG. 6 for a block level diagram of SoPEC. - The CPU subsystem controls and configures all aspects of the other subsystems. It provides general support for interfacing and synchronising the external printer with the internal print engine. It also controls the low speed communication to the QA chips. The CPU subsystem contains various peripherals to aid the CPU, such as GPIO (includes motor control), interrupt controller, LSS Master and general timers. The Serial Communications Block (SCB) on the CPU subsystem provides a full speed USB 1.1 interface to the host as well as an Inter SoPEC Interface (ISI) to other SoPEC devices.
- The DRAM subsystem accepts requests from the CPU, Serial Communications Block (SCB) and blocks within the PEP subsystem. The DRAM subsystem (in particular the DIU) arbitrates the various requests and determines which request should win access to the DRAM. The DIU arbitrates based on configured parameters, to allow sufficient access to DRAM for all requesters. The DIU also hides the implementation specifics of the DRAM such as page size, number of banks, refresh rates etc.
- The Print Engine Pipeline (PEP) subsystem accepts compressed pages from DRAM and renders them to bi-level dots for a given print line destined for a printhead interface that communicates directly with up to 2 segments of a bi-lithic printhead.
- The first stage of the page expansion pipeline is the CDU, LBD and TE. The CDU expands the JPEG-compressed contone (typically CMYK) layer, the LBD expands the compressed bi-level layer (typically K), and the TE encodes Netpage tags for later rendering (typically in IR or K ink). The output from the first stage is a set of buffers: the CFU, SFU, and TFU. The CFU and SFU buffers are implemented in DRAM.
- The second stage is the HCU, which dithers the contone layer, and composites position tags and the bi-level spot0 layer over the resulting bi-level dithered layer. A number of options exist for the way in which compositing occurs. Up to 6 channels of bi-level data are produced from this stage. Note that not all 6 channels may be present on the printhead. For example, the printhead may be CMY only, with K pushed into the CMY channels and IR ignored. Alternatively, the position tags may be printed in K if IR ink is not available (or for testing purposes).
- The third stage (DNC) compensates for dead nozzles in the printhead by color redundancy and error diffusing dead nozzle data into surrounding dots.
- The
resultant bi-level 6 channel dot-data (typically CMYK-IRF) is buffered and written out to a set of line buffers stored in DRAM via the DWU. Finally, the dot-data is loaded back from DRAM, and passed to the printhead interface via a dot FIFO. The dot FIFO accepts data from the LLU at the system clock rate (pclk), while the PHI removes data from the FIFO and sends it to the printhead at a rate of ⅔ times the system clock rate. - Looking at
FIG. 6 , the various units are described in Table 6 summary form: -
TABLE 6 Units within SoPEC Subsystem Unit Description DRAM DIU Provides the interface for DRAM read and write access for the various SoPEC units, CPU and the SCB block. The DIU provides arbitration between competing units controls DRAM access. DRAM 20 Mbits of embedded DRAM, CPU CPU CPU for system configuration and control MMU Limits access to certain memory address areas in CPU user mode RDU Facilitates the observation of the contents of most of the CPU addressable registers in SoPEC in addition to some pseudo-registers in realtime. TIM Contains watchdog and general system timers LSS Low level controller for interfacing with the QA chips GPIO General IO controller, with built-in Motor control unit, LED pulse units and de-glitch circuitry ROM 16 KBytes of System Boot ROM code ICU General Purpose interrupt controller with configurable priority, and masking. CPR Central Unit for controlling and generating the system clocks and resets and powerdown mechanisms PSS Storage retained while system is powered down USB USB device controller for interfacing with the host USB. ISI ISI controller for data and control communication with other SoPEC's in a multi-SoPEC system SCB Contains both the USB and ISI blocks. PEP PCU Provides external CPU with the means to read and write PEP Unit registers, and read and write DRAM in single 32-bit chunks. CDU Expands JPEG compressed contone layer and writes decompressed contone to DRAM CFU Provides line buffering between CDU and HCU LBD Expands compressed bi-level layer. SFU Provides line buffering between LBD and HCU TE Encodes tag data into line of tag dots. TFU Provides tag data storage between TE and HCU HCU Dithers contone layer and composites the bi-level spot 0 and positiontag dots. DNC Compensates for dead nozzles by color redundancy and error diffusing dead nozzle data into surrounding dots. DWU Writes out the 6 channels of dot data for a given printline to the line store DRAM LLU Reads the expanded page image from line store, formatting the data appropriately for the bi-lithic printhead. PHI Is responsible for sending dot data to the bi-lithic printheads and for providing line synchronization between multiple SoPECs. Also provides test interface to printhead such as temperature monitoring and Dead Nozzle Identification. - There are many miscellaneous use cases such as the following examples. Software running on the SoPEC CPU or host will decide on what actions to take in these scenarios. For example, a sequence is typically performed when dead nozzle information in a Dead-nozzle table needs to be updated by performing a printhead dead nozzle test: 1) Run printhead nozzle test sequence; 2) Either host or SoPEC CPU converts dead nozzle information into dead nozzle table; 3) Store dead nozzle table on host; and 4) Write dead nozzle table to SoPEC DRAM.
-
FIG. 8 shows how the DIU provides the interface between the on-chip 20 Mbit embedded DRAM and the rest of SoPEC. In addition to outlining the functionality of the DIU, this chapter provides a top-level overview of the memory storage and access patterns of SoPEC and the buffering required in the various SoPEC blocks to support those access requirements. - The main functionality of the DIU is to arbitrate between requests for access to the embedded DRAM and provide read or write accesses to the requesters. The DIU must also implement the initialisation sequence and refresh logic for the embedded DRAM. The arbitration scheme uses a fully programmable timeslot mechanism for non-CPU requesters to meet the bandwidth and latency requirements for each unit, with unused slots re-allocated to provide best effort accesses. The CPU is allowed high priority access, giving it minimum latency, but allowing bounds to be placed on its bandwidth consumption.
- The interface between the DIU and the SoPEC requesters is similar to the interface on PEC1 i.e. separate control, read data and write data busses. The embedded DRAM is used principally to store:
-
- CPU program code and data.
- PEP (re)programming commands.
- Compressed pages containing contone, bi-level and raw tag data and header information.
- Decompressed contone and bi-level data.
- Dotline store during a print.
- Print setup information such as tag format structures, dither matrices and dead nozzle information.
- The Contone Decoder Unit (CDU) is responsible for performing the optional decompression of the contone data layer.
- The input to the CDU is up to 4 planes of compressed contone data in JPEG interleaved format. This will typically be 3 planes, representing a CMY contone image, or 4 planes representing a CMYK contone image. The CDU must support a page of A4 length (11.7 inches) and Letter width (8.5 inches) at a resolution of 267 ppi in 4 colors and a print speed of 1 side per 2 seconds.
- The CDU and the other page expansion units support the notion of page banding. A compressed page is divided into one or more bands, with a number of bands stored in memory. As a band of the page is consumed for printing a new band can be downloaded. The new band may be for the current page or the next page. Band-finish interrupts have been provided to notify the CPU of free buffer space.
- The compressed contone data is read from the on-chip DRAM. The output of the CDU is the decompressed contone data, separated into planes. The decompressed contone image is written to a circular buffer in DRAM with an expected minimum size of 12 lines and a configurable maximum. The decompressed contone image is subsequently read a line at a time by the CFU, optionally color converted, scaled up to 1600 ppi and then passed on to the HCU for the next stage in the printing pipeline. The CDU also outputs a cdu_finishedband control flag indicating that the CDU has finished reading a band of compressed contone data in DRAM and that area of DRAM is now free. This flag is used by the PCU and is available as an interrupt to the CPU.
- A single SoPEC must support a page of A4 length (11.7 inches) and Letter width (8.5 inches) at a resolution of 267 ppi in 4 colors and a print speed of 1 side per 2 seconds. The printheads specified in the Bi-lithic Printhead Specification [2] have 13824 nozzles per color to provide full bleed printing for A4 and Letter. At 267 ppi, there are 2304 contone pixels3 per line represented by 288 JPEG blocks per color. However each of these blocks actually stores data for 8 lines, since a single JPEG block is 8×8 pixels. The CDU produces contone data for 8 lines in parallel, while the HCU processes data linearly across a line on a line by line basis. The contone data is decoded only once and then buffered in DRAM. This means we require two sets of 8 buffer-lines—one set of 8 buffer lines is being consumed by the CFU while the other set of 8 buffer lines is being generated by the CDU. 3Pixels may be 8, 16, 24 or 32 bits depending on the number of color planes (8-bits per color)
- The buffer requirement can be reduced by using a 1.5 buffering scheme, where the CDU fills 8 lines while the CFU consumes 4 lines. The buffer space required is a minimum of 12 line stores per color, for a total space of 108 KBytes4. A circular buffer scheme is employed whereby the CDU may only begin to write a line of JPEG blocks (equals 8 lines of contone data) when there are 8-lines free in the buffer. Once the full 8 lines have been written by the CDU, the CFU may now begin to read them on a line by line basis. 412 lines×4 colors×2304 bytes (assumes 267 ppi, 4 color, full bleed A4/Letter)
- This reduction in buffering comes with the cost of an increased peak bandwidth requirement for the CDU write access to DRAM. The CDU must be able to write the decompressed contone at twice the rate at which the CFU reads the data. To allow for trade-offs to be made between peak bandwidth and amount of storage, the size of the circular buffer is configurable. For example, if the circular buffer is configured to be 16 lines it behaves like a double-buffer scheme where the peak bandwidth requirements of the CDU and CFU are equal. An increase over 16 lines allows the CDU to write ahead of the CFU and provides it with a margin to cope with very poor local compression ratios in the image.
- SoPEC should also provide support for A3 printing and printing at resolutions above 267 ppi. This increases the storage requirement for the decompressed contone data (buffer) in DRAM. Table 7 gives the storage requirements for the decompressed contone data at some sample contone resolutions for different page sizes. It assumes 4 color planes of contone data and a 1.5 buffering scheme.
-
TABLE 7 Storage requirements for decompressed contone data (buffer) Contone Scale Storage required Page size resolution (ppi) factora Pixels per line (kBytes) A4/Letterb 267 6 2304 108d 400 4 3456 162 800 2 6912 324 A3c 267 6 3248 152.25 400 4 4872 228.37 800 2 9744 456.75 aRequired for CFU to convert to final output at 1600 dpi bBi-lithic printhead has 13824 nozzles per color providing full bleed printing for A4/Letter cBi-lithic printhead has 19488 nozzles per color providing full bleed printing for A3 d12 lines × 4 colors × 2304 bytes. - The JPEG decoder core can produce a single color pixel every system clock (pclk) cycle, making it capable of decoding at a peak output rate of 8 bits/cycle. SoPEC processes 1 dot (bi-level in 6 colors) per system clock cycle to achieve a print speed of 1 side per 2 seconds for full bleed A4/Letter printing. The CFU replicates pixels a scale factor (SF) number of times in both the horizontal and vertical directions to convert the final output to 1600 ppi. Thus the CFU consumes a 4 color pixel (32 bits) every SF×SF cycles. The 1.5 buffering scheme means that the CDU must write the data at twice this rate. With support for 4 colors at 267 ppi, the decompression output bandwidth requirement is 1.78 bits/cycle5. 52×((4 colors×8 bits)/(6×6 cycles))=1.78 bits/cycle
- The JPEG decoder is fed directly from the main memory via the DRAM interface. The amount of compression determines the input bandwidth requirements for the CDU. As the level of compression increases, the bandwidth decreases, but the quality of the final output image can also decrease. Although the average compression ratio for contone data is expected to be 10:1, the average bandwidth allocated to the CDU allows for a local minimum compression ratio of 5:1 over a single line of JPEG blocks. This equates to a peak input bandwidth requirement of 0.36 bits/cycle for 4 colors at 267 ppi, full bleed A4/Letter printing at 1 side per 2 seconds.
- Table 8 gives the decompression output bandwidth requirements for different resolutions of contone data to meet a print speed of 1 side per 2 seconds. Higher resolution requires higher bandwidth and larger storage for decompressed contone data in DRAM. A resolution of 400 ppi contone data in 4 colors requires 4 bits/cycle6, which is practical using a 1.5 buffering scheme. However, a resolution of 800 ppi would require a double buffering scheme (16 lines) so the CDU only has to match the CFU consumption rate. In this case the decompression output bandwidth requirement is 8 bits/cycle7, the limiting factor being the output rate of the JPEG decoder core. 62×((4 colors×8 bits)/(4×4 cycles))=4 bits/cycle7(4 colors×8 bits)/(2×2 cycles)=8 bits/cycle
-
TABLE 8 CDU performance requirements for full bleed A4/Letter printing at 1 side/2 secs Contone resolution Decompression output bandwidth (ppi) Scale factor requirement (bits/cycle)a 267 6 1.78 400 4 4 800 2 8b a Assumes 4 color pixel contone data and a 12 line buffer.b Scale factor 2 requires at least a 16 line buffer. -
FIG. 9 shows the general data flow for contone data—compressed contone planes are read from DRAM by the CDU, and the decompressed contone data is written to the 12-line circular buffer in DRAM. The line buffers are subsequently read by the CFU. - The CDU allows the contone data to be passed directly on, which will be the case if the color represented by each color plane in the JPEG image is an available ink. For example, the four colors may be C, M, Y, and K, directly represented by CMYK inks. The four colors may represent gold, metallic green etc. for multi-SoPEC printing with exact colors.
- However JPEG produces better compression ratios for a given visible quality when luminance and chrominance channels are separated. With CMYK, K can be considered to be luminance, but C, M, and Y each contain luminance information, and so would need to be compressed with appropriate luminance tables. We therefore provide the means by which CMY can be passed to SoPEC as YCrCb. K does not need color conversion. When being JPEG compressed, CMY is typically converted to RGB, then to YCrCb and then finally JPEG compressed. At decompression, the YCrCb data is obtained and written to the decompressed contone store by the CDU. This is read by the CFU where the YCrCb can then be optionally color converted to RGB, and finally back to CMY.
- The external RIP provides conversion from RGB to YCrCb, specifically to match the actual hardware implementation of the inverse transform within SoPEC, as per CCIR 601-2 [24] except that Y, Cr and Cb are normalized to occupy all 256 levels of an 8-bit binary encoding.
- The CFU provides the translation to either RGB or CMY. RGB is included since it is a necessary step to produce CMY, and some printers increase their color gamut by including RGB inks as well as CMYK.
- The Halftoner Compositor Unit (HCU) produces dots for each nozzle in the destination printhead taking account of the page dimensions (including margins). The spot data and tag data are received in bi-level form while the pixel contone data received from the CFU must be dithered to a bi-level representation. The resultant 6 bi-level planes for each dot position on the page are then remapped to 6 output planes and output dot at a time (6 bits) to the next stage in the printing pipeline, namely the dead nozzle compensator (DNC).
-
FIG. 11 shows a simple dot data flow high level block diagram of the HCU. The HCU reads contone data from the CFU, bi-level spot data from the SFU, and bi-level tag data from the TFU. Dither matrices are read from the DRAM via the DIU. The calculated output dot (6 bits) is read by the DNC. - The HCU is given the page dimensions (including margins), and is only started once for the page. It does not need to be programmed in between bands or restarted for each band. The HCU will stall appropriately if its input buffers are starved. At the end of the page the HCU will continue to produce 0 for all dots as long as data is requested by the units further down the pipeline (this allows later units to conveniently flush pipelined data).
- The HCU performs a linear processing of dots calculating the 6-bit output of a dot in each cycle. The mapping of 6 calculated bits to 6 output bits for each dot allows for such example mappings as compositing of the spot0 layer over the appropriate contone layer (typically black), the merging of CMY into K (if K is present in the printhead), the splitting of K into CMY dots if there is no K in the printhead, and the generation of a fixative output bitstream.
- SoPEC allows for a number of different dither matrix configurations up to 256 bytes wide. The dither matrix is stored in DRAM. Using either a single or double-buffer scheme a line of the dither matrix must be read in by the HCU over a SoPEC line time. SoPEC must produce 13824 dots per line for A4/Letter printing which takes 13824 cycles.
- The following give the storage and bandwidths requirements for some of the possible configurations of the dither matrix.
-
- 4 Kbyte DRAM storage required for one 64×64 (preferred) byte dither matrix
- 6.25 Kbyte DRAM storage required for one 80×80 byte dither matrix
- 16 Kbyte DRAM storage required for four 64×64 byte dither matrices
- 64 Kbyte DRAM storage required for one 256×256 byte dither matrix
- It takes 4 or 8 read accesses to load a line of dither matrix into the dither matrix buffer, depending on whether we're using a single or double buffer (configured by DoubleLineBuff register).
- A block diagram of the HCU is given in
FIG. 12 . - The control unit is responsible for controlling the overall flow of the HCU. It is responsible for determining whether or not a dot will be generated in a given cycle, and what dot will actually be generated—including whether or not the dot is in a margin area, and what dither cell values should be used at the specific dot location. A block diagram of the control unit is shown in
FIG. 13 . - The inputs to the control unit are a number of avail flags specifying whether or not a given dotgen unit is capable of supplying ‘real’ data in this cycle. The term ‘real’ refers to data generated from external sources, such as contone line buffers, bi-level line buffers, and tag plane buffers. Each dotgen unit informs the control unit whether or not a dot can be generated this cycle from real data. It must also check that the DNC is ready to receive data.
- The contone/spot margin unit is responsible for determining whether the current dot coordinate is within the target contone/spot margins, and the tag margin unit is responsible for determining whether the current dot coordinate is within the target tag margins.
- The dither matrix table interface provides the interface to DRAM for the generation of dither cell values that are used in the halftoning process in the contone dotgen unit.
- The HCU does not always require contone planes, bi-level or tag planes in order to produce a page. For example, a given page may not have a bi-level layer, or a tag layer. In addition, the contone and bi-level parts of a page are only required within the contone and bi-level page margins, and the tag part of a page is only required within the tag page margins. Thus output dots can be generated without contone, bi-level or tag data before the respective top margins of a page has been reached, and 0s are generated for all color planes after the end of the page has been reached (to allow later stages of the printing pipeline to flush).
- Consequently the HCU has an AvailMask register that determines which of the various input avail flags should be taken notice of during the production of a page from the first line of the target page, and a TMMask register that has the same behaviour, but is used in the lines before the target page has been reached (i.e. inside the target top margin area). The dither matrix mask bit TMask[0] is the exception, it applies to all margins areas not just the top margin. Each bit in the AvailMask refers to a particular avail bit: if the bit in the AvailMask register is set, then the corresponding avail bit must be 1 for the HCU to advance a dot. The bit to avail correspondence is shown in Table 9. Care should be taken with TMMask—if the particular data is not available after the top margin has been reached, then the HCU will stall. Note that the avail bits for contone and spot colors are ANDed with in_target_age after the target page area has been reached to allow dot production in the contone/spot margin areas without needing any data in the CFU and SFU. The avail bit for tag color is ANDed with in_tag_target_page after the target tag page area has been reached to allow dot production in the tag margin areas without needing any data in the TFU.
-
TABLE 9 Correspondence between bit in AvailMask and avail flag bit # in AvailMask avail flag description 0 dm_avail dither matrix data available 1 cp_avail contone pixels available 2 s_avail spot color available 3 tp_avail tag plane available - Each of the input avail bits is processed with its appropriate mask bit and the after_top_margin flag (note the dither matrix is the exception it is processed with in_target_page). The output bits are ANDed together along with Go and output_buff_full (which specifies whether the output buffer is ready to receive a dot in this cycle) to form the output bit advdot. We also generate wr_advdot. In this way, if the output buffer is full or any of the specified avail flags is clear, the HCU will stall. When the end of the page is reached, in_page will be deasserted and the HCU will continue to produce 0 for all dots as long as the DNC requests data. A block diagram of the determine advdot unit is shown in
FIG. 14 . - The advance dot block also determines if current page needs dither matrix, it indicates to the dither matrix table interface block via the dm_read_enable signal. If no dither is required in the margins or in the target page then dm_read_enable will be 0 and no dither will be read in for this page.
- The position unit is responsible for outputting the position of the current dot (curr_pos, curr_line) and whether or not this dot is the last dot of a line (advline). Both curr_pos and curr_line are set to 0 at reset or when Go transitions from 0 to 1. The position unit relies on the advdot input signal to advance through the dots on a page. Whenever an advdot pulse is received, curr_pos gets incremented. If curr_pos equals max_dot then an advline pulse is generated as this is the last dot in a line, curr_line gets incremented, and the curr_pos is reset to 0 to start counting the dots for the next line.
- The position unit also generates a filtered version of advline called dm_advline to indicate to the dither matrix pointers to increment to the next line. The dm_advline is only incremented when dither is required for that line.
-
if ((after_top_margin AND avail_mask[0]) OR tm_mask[0]) then dm_advline = advline else dm_advline = 0 - The responsibility of the margin unit is to determine whether the specific dot coordinate is within the page at all, within the target page or in a margin area (see
FIG. 15 ). This unit is instantiated for both the contone/spot margin unit and the tag margin unit. - The margin unit takes the current dot and line position, and returns three flags.
-
- the first, in_page is 1 if the current dot is within the page, and 0 if it is outside the page.
- the second flag, in_target_page, is 1 if the dot coordinate is within the target page area of the page, and 0 if it is within the target top/left/bottom/right margins.
- the third flag, after_top_margin, is 1 if the current dot is below the target top margin, and 0 if it is within the target top margin.
- A block diagram of the margin unit is shown in
FIG. 16 . - The dither matrix table interface provides the interface to DRAM for the generation of dither cell values that are used in the halftoning process in the contone dotgen unit. The control flag dm_read_enable enables the reading of the dither matrix table line structure from DRAM. If dm_read_enable is 0, the dither matrix is not specified in DRAM and no DRAM accesses are attempted. The dither matrix table interface has an output flag dm_avail which specifies if the current line of the specified matrix is available. The HCU can be directed to stall when dm_avail is 0 by setting the appropriate bit in the HCU's AvailMask or TMMask registers. When dm_avail is 0 the value in the DitherConstant register is used as the dither cell values that are output to the contone dotgen unit.
- The dither matrix table interface consists of a state machine that interfaces to the DRAM interface, a dither matrix buffer that provides dither matrix values, and a unit to generate the addresses for reading the buffer.
FIG. 17 shows a block diagram of the dither matrix table interface. When the HCU first requests data from DRAM, the 64-bits word transfer order will be D0,D1,D2,D3. On the second request the transfer order will be D4,D5,D6,D7 and so on for other requests. - The contone dotgen unit is responsible for producing a dot in up to 4 color planes per cycle. The contone dotgen unit also produces a cp_avail flag which specifies whether or not contone pixels are currently available, and the output hcu_cfu_advdot to request the CFU to provide the next contone pixel in up to 4 color planes. The block diagram for the contone dotgen unit is shown in
FIG. 20 . - A dither unit provides the functionality for dithering a single contone plane. The contone image is only defined within the contone/spot margin area. As a result, if the input flag in_target_page is 0, then a constant contone pixel value is used for the pixel instead of the contone plane.
- The resultant contone pixel is then halftoned. The dither value to be used in the halftoning process is provided by the control data unit. The halftoning process involves a comparison between a pixel value and its corresponding dither value. If the 8-bit contone value is greater than or equal to the 8-bit dither matrix value a 1 is output. If not, then a 0 is output. This means each entry in the dither matrix is in the range 1-255 (0 is not used).
- Note that constant use is dependant on the in_target_page signal only, if in_target_age is 1 then the cfu_hcu_c*_data should be allowed to pass through, regardless of the stalling behaviour or the avail_mask/[1] setting. This allows a constant value to be setup on the CFU output data, and the use of different constants while inside and outside the target page. The hcu_cfu_advdot will always be zero if the avail_mask/[1] is zero.
- The spot dotgen unit is responsible for producing a dot of bi-level data per cycle. It deals with bi-level data (and therefore does not need to halftone) that comes from the LBD via the SFU. Like the contone layer, the bi-level spot layer is only defined within the contone/spot margin area. As a result, if input flag in_target_page is 0, then a constant dot value (typically this would be 0) is used for the output dot.
- The spot dotgen unit also produces a s_avail flag which specifies whether or not spot dots are currently available for this spot plane, and the output hcu_sfu_advdot to request the SFU to provide the next bi-level data value.
- Note that constant use is dependant on the in_target_page signal only, if in_target_age is 1 then the sfu_hcu_data should be allowed to pass through, regardless of the stalling behaviour or the avail_mask setting. This allows a constant value to be setup on the SFU output data, and the use of different constants while inside and outside the target page. The hcu_sfu_advdot will always be zero if the avail_mask[2] is zero.
- The dot reorg unit provides a means of mapping the bi-level dithered data, the spot0 color, and the tag data to output inks in the actual printhead. Each dot reorg unit takes a set of 6 1-bit inputs and produces a single bit output that represents the output dot for that color plane.
- The output bit is a logical combination of any or all of the input bits. This allows the spot color to be placed in any output color plane (including infrared for testing purposes), black to be merged into cyan, magenta and yellow (in the case of no black ink in the Memjet printhead), and tag dot data to be placed in a visible plane. An output for fixative can readily be generated by simply combining desired input bits.
- The dot reorg unit contains a 64-bit lookup to allow complete freedom with regards to mapping. Since all possible combinations of input bits are accounted for in the 64 bit lookup, a given dot reorg unit can take the mapping of other reorg units into account. For example, a black plane reorg unit may produce a 1 only if the
contone plane 3 or spot color inputs are set (this effectively composites black bi-level over the contone). A fixative reorg unit may generate a 1 if any 2 of the output color planes is set (taking into account the mappings produced by the other reorg units). - If dead nozzle replacement is to be used, the dot reorg can be programmed to direct the dots of the specified color into the main plane, and 0 into the other. If a nozzle is then marked as dead in the DNC, swapping the bits between the planes will result in 0 in the dead nozzle, and the required data in the other plane.
- If dead nozzle replacement is to be used, and there are no tags, the TE can be programmed with the position of dead nozzles and the resultant pattern used to direct dots into the specified nozzle row. If only fixed background TFS is to be used, a limited number of nozzles can be replaced. If variable tag data is to be used to specify dead nozzles, then large numbers of dead nozzles can be readily compensated for.
- The dot reorg unit can be used to average out the nozzle usage when two rows of nozzles share the same ink and tag encoding is not being used. The TE can be programmed to produce a regular pattern (e.g. 0101 on one line, and 1010 on the next) and this pattern can be used as a directive as to direct dots into the specified nozzle row.
- Each reorg unit contains a 64-bit IOMapping value programmable as two 32-bit HCU registers, and a set of selection logic based on the 6-bit dot input (26=64 bits), as shown in
FIG. 21 . The mapping of input bits to each of the 6 selection bits is as defined in Table 10. -
TABLE 10 Mapping of input bits to 6 selection bits address bit likely of lookup tied to interpretation 0 bi-level dot from contone layer 0cyan 1 bi-level dot from contone layer 1magenta 2 bi-level dot from contone layer 2yellow 3 bi-level dot from contone layer 3black 4 bi-level spot0 dot black 5 bi-level tag dot infra-red - The output buffer de-couples the stalling behaviour of the feeder units from the stalling behaviour of the DNC. The larger the buffer the greater de-coupling. Currently the output buffer size is 2, but could be increased if needed at the cost of extra area.
- If the Go bit is set to 0 no read or write of the output buffer is permitted. On a low to high transition of the Go bit the contents of the output buffer are cleared.
- The output buffer also implements the interface logic to the DNC. If there is data in the output buffer the hcu_dnc_avail signal will be 1, otherwise is will be 0. If both hcu_dnc_avail and dnc_hcu_ready are 1 then data is read from the output buffer.
- On the write side if there is space available in the output buffer the logic indicates to the control unit via the output_buff_full signal. The control unit will then allow writes to the output buffer via the wr_advdot signal. If the writes to the output buffer are after the end of a page (indicated by in_page equal to 0) then all dots written into the output buffer are set to zero.
-
FIG. 22 shows the timing diagram and representative logic of the HCU to DNC interface. The hcu_dnc_avail signal indicate to the DNC that the HCU has data available. The dnc_hcu_ready signal indicates to the HCU that the DNC is ready to accept data. When both signals are high data is transferred from the HCU to the DNC. Once the HCU indicates it has data available (setting the hcu_dnc_avail signal high) it can only set the hcu_dnc_avail low again after a dot is accepted by the DNC. -
FIG. 23 shows the feeder unit to HCU interface timing diagram, andFIG. 24 shows representative logic of the interface with the register positions. sfu_hcu_data and sfu_hcu_avail are always registered while the sfu_hcu_advdot is not. The hcu_sfu_avail signal indicates to the HCU that the feeder unit has data available, and sfu_hcu_advdot indicates to the feeder unit that the HCU has captured the last dot. The HCU can never produce an advance dot pulse while the avail is low. The diagrams show the example of the SFU to HCU interface, but the same interface is used for the other feeder units TFU and CFU. - The Dead Nozzle Compensator (DNC) is responsible for adjusting Memjet dot data to take account of non-functioning nozzles in the Memjet printhead. Input dot data is supplied from the HCU, and the corrected dot data is passed out to the DWU. The high level data path is shown by the block diagram in
FIG. 25 . The DNC compensates for a dead nozzles by performing the following operations: -
- Dead nozzle removal, i.e. turn the nozzle off
- Ink replacement by direct substitution i.e. K->K
- Ink replacement by indirect substitution i.e. K->CMY
- Error diffusion to adjacent nozzles
- Fixative corrections
- The DNC is required to efficiently support up to 5% dead nozzles, under the expected DRAM bandwidth allocation, with no restriction on where dead nozzles are located and handle any fixative correction due to nozzle compensations. Performance must degrade gracefully after 5% dead nozzles.
- Dead nozzles are identified by means of a position value and a mask value. Position information is represented by a 10-bit delta encoded format, where the 10-bit value defines the number of dots between dead nozzle columns8. With the delta information it also reads the 6-bit dead nozzle mask (dn_mask) for the defined dead nozzle position. Each bit in the dn_mask corresponds to an ink plane. A set bit indicates that the nozzle for the corresponding ink plane is dead. The dead nozzle table format is shown in
FIG. 26 . The DNC reads dead nozzle information from DRAM in single 256-bit accesses. A 10-bit delta encoding scheme is chosen so that each table entry is 16 bits wide, and 16 entries fit exactly in each 256-bit read. Using 10-bit delta encoding means that the maximum distance between dead nozzle columns is 1023 dots. It is possible that dead nozzles may be spaced further than 1023 dots from each other, so a null dead nozzle identifier is required. A null dead nozzle identifier is defined as a 6-bit dn_mask of all zeros. These null dead nozzle identifiers should also be used so that: -
- the dead nozzle table is a multiple of 16 entries (so that it is aligned to the 256-bit DRAM locations)
- the dead nozzle table spans the complete length of the line, i.e. the first entry dead nozzle table should have a delta from the first nozzle column in a line and the last entry in the dead nozzle table should correspond to the last nozzle column in a line. 8for a 10-bit delta value of d, if the current column n is a dead nozzle column then the next dead nozzle column is given by n+(d+1).
- Note that the DNC deals with the width of a page. This may or may not be the same as the width of the printhead (the PHI may introduce some margining to the page so that its dot output matches the width of the printhead). Care must be taken when programming the dead nozzle table so that dead nozzle positions are correctly specified with respect to the page and printhead.
- The memory required is largely a factor of the number of dead nozzles present in the printhead (which in turn is a factor of the printhead size). The DNC is required to read a 16-bit entry from the dead nozzle table for every dead nozzle. Table 11 shows the DRAM storage and average9 bandwidth requirements for the DNC for different percentages of dead nozzles and different page sizes. 9Average bandwidth assumes an even spread of dead nozzles. Clumps of dead nozzles may cause delays due to insufficient available DRAM bandwidth. These delays will occur every line causing an accumulative delay over a page.
-
TABLE 11 Dead Nozzle storage and average bandwidth requirements Dead nozzle table Bandwidth Page size % Dead Nozzles Memory (KBytes) (bits/cycle) A4 a5% 1.4c 0.8d 10% 2.7 1.6 15% 4.1 2.4 A3 b5% 1.9 0.8 10% 3.8 1.6 15% 5.7 2.4 aBi-lithic printhead has 13824 nozzles per color providing full bleed printing for A4/Letter bBi-lithic printhead has 19488 nozzles per color providing full bleed printing for A3 c16 bits × 13824 nozzles × 0.05 dead d(16 bits read/20 cycles) = 0.8 bits/cycle - DNC receives 6 bits of dot information every cycle from the HCU, 1 bit per color plane. When the dot position corresponds to a dead nozzle column, the associated 6-bit dn_mask indicates which ink plane(s) contains a dead nozzle(s). The DNC first deletes dots destined for the dead nozzle. It then replaces those dead dots, either by placing the data destined for the dead nozzle into an adjacent ink plane (direct substitution) or into a number of ink planes (indirect substitution). After ink replacement, if a dead nozzle is made active again then the DNC performs error diffusion. Finally, following the dead nozzle compensation mechanisms the fixative, if present, may need to be adjusted due to new nozzles being activated, or dead nozzles being removed.
- If a nozzle is defined as dead, then the first action for the DNC is to turn off (zeroing) the dot data destined for that nozzle. This is done by a bit-wise ANDing of the inverse of the dn_mask with the dot value.
- Ink replacement is a mechanism where data destined for the dead nozzle is placed into an adjacent ink plane of the same color (direct substitution, i.e. K->Kalternative), or placed into a number of ink planes, the combination of which produces the desired color (indirect substitution, i.e. K->CMY). Ink replacement is performed by filtering out ink belonging to nozzles that are dead and then adding back in an appropriately calculated pattern. This two step process allows the optional re-inclusion of the ink data into the original dead nozzle position to be subsequently error diffused. In the general case, fixative data destined for a dead nozzle should not be left active intending it to be later diffused.
- The ink replacement mechanism has 6 ink replacement patterns, one per ink plane, programmable by the CPU. The dead nozzle mask is ANDed with the dot data to see if there are any planes where the dot is active but the corresponding nozzle is dead. The resultant value forms an enable, on a per ink basis, for the ink replacement process. If replacement is enabled for a particular ink, the values from the corresponding replacement pattern register are ORed into the dot data. The output of the ink replacement process is then filtered so that error diffusion is only allowed for the planes in which error diffusion is enabled. The output of the ink replacement logic is ORed with the resultant dot after dead nozzle removal.
- For example if we consider the printhead color configuration C,M,Y,K1,K2,IR and the input dot data from the HCU is b101100. Assuming that the K1 ink plane and IR ink plane for this position are dead so the dead nozzle mask is b000101. The DNC first removes the dead nozzle by zeroing the K1 plane to produce b101000. Then the dead nozzle mask is ANDed with the dot data to give b000100 which selects the ink replacement pattern for K1 (in this case the ink replacement pattern for K1 is configured as b000010, i.e. ink replacement into the K2 plane). Providing error diffusion for K2 is enabled, the output from the ink replacement process is b000010. This is ORed with the output of dead nozzle removal to produce the resultant dot b101010. As can be seen the dot data in the defective K1 nozzle was removed and replaced by a dot in the adjacent K2 nozzle in the same dot position, i.e. direct substitution.
- In the example above the K1 ink plane could be compensated for by indirect substitution, in which case ink replacement pattern for K1 would be configured as b111000 (substitution into the CMY color planes), and this is ORed with the output of dead nozzle removal to produce the resultant dot b111000. Here the dot data in the defective K1 ink plane was removed and placed into the CMY ink planes.
- Based on the programming of the lookup table the dead nozzle may be left active after ink replacement. In such cases the DNC can compensate using error diffusion. Error diffusion is a mechanism where dead nozzle dot data is diffused to adjacent dots.
- When a dot is active and its destined nozzle is dead, the DNC will attempt to place the data into an adjacent dot position, if one is inactive. If both dots are inactive then the choice is arbitrary, and is determined by a pseudo random bit generator. If both neighbor dots are already active then the bit cannot be compensated by diffusion.
- Since the DNC needs to look at neighboring dots to determine where to place the new bit (if required), the DNC works on a set of 3 dots at a time. For any given set of 3 dots, the first dot received from the HCU is referred to as dot A, and the second as dot B, and the third as dot C. The relationship is shown in
FIG. 27 . - For any given set of dots ABC, only B can be compensated for by error diffusion if B is defined as dead. A 1 in dot B will be diffused into either dot A or dot C if possible. If there is already a 1 in dot A or dot C then a 1 in dot B cannot be diffused into that dot.
- The DNC must support adjacent dead nozzles. Thus if dot A is defined as dead and has previously been compensated for by error diffusion, then the dot data from dot B should not be diffused into dot A. Similarly, if dot C is defined as dead, then dot data from dot B should not be diffused into dot C.
- Error diffusion should not cross line boundaries. If dot B contains a dead nozzle and is the first dot in a line then dot A represents the last dot from the previous line. In this case an active bit on a dead nozzle of dot B should not be diffused into dot A. Similarly, if dot B contains a dead nozzle and is the last dot in a line then dot C represents the first dot of the next line. In this case an active bit on a dead nozzle of dot B should not be diffused into dot C. Thus, as a rule, a 1 in dot B cannot be diffused into dot A if
-
- a 1 is already present in dot A,
- dot A is defined as dead,
- or dot A is the last dot in a line.
Similarly, a 1 in dot B cannot be diffused into dot C if - a 1 is already present in dot C,
- dot C is defined as dead,
- or dot C is the first dot in a line.
If B is defined to be dead and the dot value for B is 0, then no compensation needs to be done and dots A and C do not need to be changed. If B is defined to be dead and the dot value for B is 1, then B is changed to 0 and the DNC attempts to place the 1 from B into either A or C: - If the dot can be placed into both A and C, then the DNC must choose between them. The preference is given by the current output from the random bit generator, 0 for “prefer left” (dot A) or 1 for “prefer right” (dot C).
- If dot can be placed into only one of A and C, then the 1 from B is placed into that position.
- If dot cannot be placed into either one of A or C, then the DNC cannot place the dot in either position. Table 12 shows the truth table for DNC error diffusion operation when dot B is defined as dead.
-
TABLE 12 Error Diffusion Truth Table when dot B is dead Input C A OR OR C dead A dead OR OR C first in Output A last in line B line Rand{grave over ( )}a A B C 0 0 0 X A input 0 C input 0 0 1 X A input 0 C input 0 1 0 0 1{grave over ( )}b 0 C input 0 1 0 1 A input 0 1 0 1 1 X 1 0 C input 1 0 0 X A input 0 C input 1 0 1 X A input 0 C input 1 1 0 X A input 0 1 1 1 1 X A input 0 C input a. Output from random bit generator. Determines direction of error diffusion (0 = left, 1 = right) b. Bold emphasis is used to show the DNC inserted a 1 - The random bit value used to arbitrarily select the direction of diffusion is generated by a 32-bit maximum length random bit generator. The generator generates a new bit for each dot in a line regardless of whether the dot is dead or not. The random bit generator can be initialized with a 32-bit programmable seed value.
- After the dead nozzle compensation methods have been applied to the dot data, the fixative, if present, may need to be adjusted due to new nozzles being activated, or dead nozzles being removed. For each output dot the DNC determines if fixative is required (using the FixativeRequiredMask register) for the new compensated dot data word and whether fixative is activated already for that dot. For the DNC to do so it needs to know the color plane that has fixative, this is specified by the FixativeMask1 configuration register. See Table 15 below which indicates the actions to take based on these calculations.
- The DNC also allows the specification of another fixative plane, specified by the FixativeMask2 configuration register, with FixativeMask1 having the higher priority over FixativeMask2. When attempting to add fixative the DNC first tries to add it into the planes defined by FixativeMask1. However, if any of these planes is dead then it tries to add fixative by placing it into the planes defined by FixativeMask2.
- Note that the fixative defined by FixativeMask1 and FixativeMask2 could possibly be multi-part fixative, i.e. 2 bits could be set in FixativeMask1 with the fixative being a combination of both inks.
- A block diagram of the DNC is shown in
FIG. 28 . -
TABLE 13 DNC port list and description Port name Pins I/O Description Clocks and Resets Pclk 1 In System Clock. prst_n 1 In System reset, synchronous active low. PCU interface pcu_dnc_sel 1 In Block select from the PCU. When pcu_dnc_sel is high both pcu_adr and pcu_dataout are valid. pcu_rwn 1 In Common read/not-write signal from the PCU. pcu_adr[6:2] 5 In PCU address bus. Only 5 bits are required to decode the address space for this block. pcu_dataout[31:0] 32 In Shared write data bus from the PCU. dnc_pcu_rdy 1 Out Ready signal to the PCU. When dnc_pcu_rdy is high it indicates the last cycle of the access. For a write cycle this means pcu_dataout has been registered by the block and for a read cycle this means the data on dnc_pcu_datain is valid. dnc_pcu_datain[31:0] 32 Out Read data bus to the PCU. DIU interface dnc_diu_rreq 1 Out DNC unit requests DRAM read. A read request must be accompanied by a valid read address. dnc_diu_radr[21:5] 17 Out Read address to DIU, 256-bit word aligned. diu_dnc_rack 1 In Acknowledge from DIU that read request has been accepted and new read address can be placed on dnc_diu_radr diu_dnc_rvalid 1 In Read data valid, active high. Indicates that valid read data is now on the read data bus, diu_data. diu_data[63:0] 64 In Read data from DIU. HCU interface dnc_hcu_ready 1 Out Indicates that DNC is ready to accept data from the HCU. hcu_dnc_avail 1 In Indicates valid data present on hcu_dnc_data. hcu_dnc_data[5:0] 6 In Output bi-level dot data in 6 ink planes. DWU interface dwu_dnc_ready 1 In Indicates that DWU is ready to accept data from the DNC. dnc_dwu_avail 1 Out Indicates valid data present on dnc_dwu_data. dnc_dwu_data[5:0] 6 Out Output bi-level dot data in 6 ink planes. - The configuration registers in the DNC are programmed via the PCU interface. Note that since addresses in SoPEC are byte aligned and the PCU only supports 32-bit register reads and writes, the lower 2 bits of the PCU address bus are not required to decode the address space for the DNC. When reading a register that is less than 32 bits wide zeros should be returned on the upper unused bit(s) of dnc_pcu_datain. Table 14 lists the configuration registers in the DNC.
-
TABLE 14 DNC configuration registers Address Register Value (DNC_base+) name #bits on reset Description Control registers 0x00 Reset 1 0x1 A write to this register causes a reset of the DNC. 0x04 Go 1 0x0 Writing 1 to this register starts the DNC. Writing 0 to this register halts the DNC.When Go is asserted all counters, flags etc. are cleared or given their initial value, but configuration registers keep their values. When Go is deasserted the state-machines go to their idle states but all counters and configuration registers keep their values. This register can be read to determine if the DNC is running (1 = running, 0 = stopped). Setup registers (constant during processing) 0x10 MaxDot 16 0x0000 This is the maximum dot number −1 present across a page. For example if a page contains 13824 dots, then MaxDot will be 13823. Note that this number may or may not be the same as the number of dots across the printhead as some margining may be introduced in the PHI. 0x14 LSFR 32 0x0000_0000 The current value of the LFSR register used as the 32-bit maximum length random bit generator. Users can write to this register to program a seed value for the 32- bit maximum length random bit generator. Must not be all 1s for taps implemented in XNOR form. (It is expected that writing a seed value will not occur during the operation of the LFSR). This LSFR value could also have a possible use as a random source in program code. 0x20 FixativeMask1 6 0x00 Defines the higher priority fixative plane(s). Bit 0 represents the settings forplane 0,bit 1 forplane 1 etc. For each bit:1 = the ink plane contains fixative. 0 = the ink plane does not contain fixative. 0x24 FixativeMask2 6 0x00 Defines the lower priority fixative plane(s). Bit 0 represents the settings forplane 0,bit 1 for plane 1 etc. Used only whenFixativeMask1 planes are dead. For each bit: 1 = the ink plane contains fixative. 0 = the ink plane does not contain fixative. 0x28 FixativeRequiredMask 6 0x00 Identifies the ink planes that require fixative. Bit 0 represents the settings forplane 0,bit 1 forplane 1 etc. For each bit:1 = the ink plane requires fixative; 0 = the ink plane does not require fixative (e.g. ink is self-fixing) 0x30 DnTableStartAdr[21:5] 17 0x0_0000 Start address of Dead Nozzle Table in DRAM, specified in 256-bit words. 0x34 DnTableEndAdr[21:5] 17 0x0_0000 End address of Dead Nozzle Table in DRAM, specified in 256-bit words, i.e. the location containing the last entry in the Dead Nozzle Table. The Dead Nozzle Table should be aligned to a 256-bit boundary, if necessary it can be padded with null entries. 0x40-0x54 PlaneReplacePattern[5:0] 6 × 6 0x00 Defines the ink replacement pattern for each of the 6 ink planes. PlaneReplacePattern[0] is the ink replacement pattern for plane 0, PlaneRelacePattern[1] is the ink replacement pattern for plane 1, etc.For each 6-bit replacement pattern for a plane, a 1 in any bit positions indicates the alternative ink planes to be used for this plane. 0x58 DiffuseEnable 6 0x3F Defines whether, after ink replacement, error diffusion is allowed to be performed on each plane. Bit 0 represents the settingsfor plane 0,bit 1 forplane 1 etc. For eachbit: 1 = error diffusion is enabled; 0 = error diffusion is disabled Debug registers (read only) 0x60 DncOutputDebug 8 N/ A Bit 7 = dwu_dnc_ready Bit 6 = dnc_dwu_avail Bits 5-0 = dnc_dwu_data 0x64 DncReplaceDebug 14 N/ A Bit 13 = edu_ready Bit 12 = iru_avail Bits 11-6 = iru_dn_mask Bits 5-0 = iru_data 0x68 DncDiffuseDebug 14 N/ A Bit 13 = dwu_dnc_ready Bit 12 = dnc_dwu_avail Bits 11-6 = edu_dn_mask Bits 5-0 = edu_data -
FIG. 29 shows a sub-block diagram for the ink replacement unit. - The control unit is responsible for reading the dead nozzle table from DRAM and making it available to the DNC via the dead nozzle FIFO. The dead nozzle table is read from DRAM in single 256-bit accesses, receiving the data from the DIU over 4 clock cycles (64-bits per cycle). Reading from DRAM is implemented by means of the state machine shown in
FIG. 30 . - All counters and flags should be cleared after reset. When Go transitions from 0 to 1 all counters and flags should take their initial value. While the Go bit is 1, the state machine requests a read access from the dead nozzle table in DRAM provided there is enough space in its FIFO.
- A modulo-4 counter, rd_count, is used to count each of the 64-bits received in a 256-bit read access. It is incremented whenever diu_dnc_rvalid is asserted. When Go is 1, dn_table_radr is set to dn_table_start_adr. As each 64-bit value is returned, indicated by diu_dnc_rvalid being asserted, dn_table_radr is compared to dn_table_end_adr:
-
- If rd_count equals 3 and dn_table_radr equals dn_table_end_adr, then dn_table_radr is updated to dn_table_start_adr.
- If rd_count equals 3 and dn_table_radr does not equal dn_table_end_adr, then dn_table_radr is incremented by 1.
- A count is kept of the number of 64-bit values in the FIFO. When diu_dnc_rvalid is 1 data is written to the FIFO by asserting wr_en, and fifo_contents and fifo_wr_adr are both incremented.
- When fifo_contents[3:0] is greater than 0 and edu_ready is 1, dnc_hcu_ready is asserted to indicate that the DNC is ready to accept dots from the HCU. If hcu_dnc_avail is also 1 then a dotadv pulse is sent to the GenMask unit, indicating the DNC has accepted a dot from the HCU, and iru_avail is also asserted. After Go is set, a single preload pulse is sent to the GenMask unit once the FIFO contains data.
- When a rd_adv pulse is received from the GenMask unit, fifo_rd_adr[4:0] is then incremented to select the next 16-bit value. If fifo_rd_adr[1:0]=11 then the next 64-bit value is read from the FIFO by asserting rd_en, and fifo_contents[3:0] is decremented.
- The dead nozzle FIFO conceptually is a 64-bit input, and 16-bit output FIFO to account for the 64-bit data transfers from the DIU, and the individual 16-bit entries in the dead nozzle table that are used in the GenMask unit. In reality, the FIFO is actually 8 entries deep and 64-bits wide (to accommodate two 256-bit accesses).
- On the DRAM side of the FIFO the write address is 64-bit aligned while on the GenMask side the read address is 16-bit aligned, i.e. the upper 3 bits are input as the read address for the FIFO and the lower 2 bits are used to select 16 bits from the 64 bits (
1st 16 bits read corresponds to bits 15-0, second 16 bits to bits 31-16 etc.). - The GenMask unit generates the 6-bit dn_mask that is sent to the replace unit. It consists of a 10-bit delta counter and a mask register.
- After Go is set, the GenMask unit will receive a preload pulse from the control unit indicating the first dead nozzle table entry is available at the output of the dead nozzle FIFO and should be loaded into the delta counter and mask register. A rd_adv pulse is generated so that the next dead nozzle table entry is presented at the output of the dead nozzle FIFO. The delta counter is decremented every time a dotadv pulse is received. When the delta counter reaches 0, it gets loaded with the current delta value output from the dead nozzle FIFO, i.e. bits 15-6, and the mask register gets loaded with mask output from the dead nozzle FIFO, i.e. bits 5-0. A rd_adv pulse is then generated so that the next dead nozzle table entry is presented at the output of the dead nozzle FIFO.
- When the delta counter is 0 the value in the mask register is output as the dn_mask, otherwise the dn_mask is all 0s. The GenMask unit has no knowledge of the number of dots in a line, it simply loads a counter to count the delta from one dead nozzle column to the next. Thus the dead nozzle table should include null identifiers if necessary so that the dead nozzle table covers the first and last nozzle column in a line.
- Dead nozzle removal and ink replacement are implemented by the combinatorial logic shown in
FIG. 31 . Dead nozzle removal is performed by bit-wise ANDing of the inverse of the dn_mask with the dot value. - The ink replacement mechanism has 6 ink replacement patterns, one per ink plane, programmable by the CPU. The dead nozzle mask is ANDed with the dot data to see if there are any planes where the dot is active but the corresponding nozzle is dead. The resultant value forms an enable, on a per ink basis, for the ink replacement process. If replacement is enabled for a particular ink, the values from the corresponding replacement pattern register are ORed into the dot data. The output of the ink replacement process is then filtered so that error diffusion is only allowed for the planes in which error diffusion is enabled.
- The output of the ink replacement process is ORed with the resultant dot after dead nozzle removal. If the dot position does not contain a dead nozzle then the dn_mask will be all 0s and the dot, hcu_dnc_data, will be passed through unchanged.
-
FIG. 32 shows a sub-block diagram for the error diffusion unit. - The random bit value used to arbitrarily select the direction of diffusion is generated by a maximum length 32-bit LFSR. The tap points and feedback generation are shown in
FIG. 33 . The LFSR generates a new bit for each dot in a line regardless of whether the dot is dead or not, i.e shifting of the LFSR is enabled when advdot equals 1. The LFSR can be initialised with a 32-bit programmable seed value, random_seed. This seed value is loaded into the LFSR whenever a write occurs to the RandomSeed register. Note that the seed value must not be all 1s as this causes the LFSR to lock-up. - The advance dot unit is responsible for determining in a given cycle whether or not the error diffuse unit will accept a dot from the ink replacement unit or make a dot available to the fixative correct unit and on to the DWU. It therefore receives the dwu_dnc_ready control signal from the DWU, the iru_avail flag from the ink replacement unit, and generates dnc_dwu_avail and edu_ready control flags.
- Only the dwu_dnc_ready signal needs to be checked to see if a dot can be accepted and asserts edu_ready to indicate this. If the error diffuse unit is ready to accept a dot and the ink replacement unit has a dot available, then a advdot pulse is given to shift the dot into the pipeline in the diffuse unit. Note that since the error diffusion operates on 3 dots, the advance dot unit ignores dwu_dnc_ready initially until 3 dots have been accepted by the diffuse unit. Similarly dnc_dwu_avail is not asserted until the diffuse unit contains 3 dots and the ink replacement unit has a dot available.
- The diffuse unit contains the combinatorial logic to implement the truth table. The diffuse unit receives a dot consisting of 6 color planes (1 bit per plane) as well as an associated 6-bit dead nozzle mask value.
- Error diffusion is applied to all 6 planes of the dot in parallel. Since error diffusion operates on 3 dots, the diffuse unit has a pipeline of 3 dots and their corresponding dead nozzle mask values. The first dot received is referred to as dot A, and the second as dot B, and the third as dot C. Dots are shifted along the pipeline whenever advdot is 1. A count is also kept of the number of dots received. It is incremented whenever advdot is 1, and wraps to 0 when it reaches max_dot. When the dot count is 0 dot C corresponds to the first dot in a line. When the dot count is 1 dot A corresponds to the last dot in a line.
- In any given set of 3 dots only dot B can be defined as containing a dead nozzle(s). Dead nozzles are identified by bits set in iru_dn_mask. If dot B contains a dead nozzle(s), the corresponding bit(s) in dot A, dot C, the dead nozzle mask value for A, the dead nozzle mask value for C, the dot count, as well as the random bit value are input to the truth table logic and the dots A, B and C assigned accordingly. If dot B does not contain a dead nozzle then the dots are shifted along the pipeline unchanged.
- The fixative correction unit consists of combinatorial logic to implement fixative correction as defined in Table 15. For each output dot the DNC determines if fixative is required for the new compensated dot data word and whether fixative is activated already for that dot.
-
- FixativePresent=((FixativeMask1|FixativeMask2) & edu_data) !=0
- FixativeRequired=(FixativeRequiredMask & edu_data) !=0
It then looks up the truth table to see what action, if any, needs to be taken.
-
TABLE 15 Truth table for fixative correction Fixative Fixative Present required Action Output 1 1 Output dot as is. dnc_dwu_data = edu_data 1 0 Clear fixative dnc_dwu_data = (edu_data) & plane. ~(FixativeMask1 | FixativeMask2) 0 1 Attempt to if (FixativeMask1 & DnMask) != 0 add fixative. dnc_dwu_data = (edu_data) | (FixativeMask2 & ~DnMask) else dnc_dwu_data = (edu_data) | (FixativeMask1) 0 0 Output dot as is. dnc_dwu_data = edu_data - When attempting to add fixative the DNC first tries to add it into the plane defined by FixativeMask1. However, if this plane is dead then it tries to add fixative by placing it into the plane defined by FixativeMask2. Note that if both FixativeMask1 and FixativeMask2 are both all 0s then the dot data will not be changed.
- The Dotline Writer Unit (DWU) receives 1 dot (6 bits) of color information per cycle from the DNC. Dot data received is bundled into 256-bit words and transferred to the DRAM. The DWU (in conjunction with the LLU) implements a dot line FIFO mechanism to compensate for the physical placement of nozzles in a printhead, and provides data rate smoothing to allow for local complexities in the dot data generate pipeline.
- The physical placement of nozzles in the printhead means that in one firing sequence of all nozzles, dots will be produced over several print lines. The printhead consists of 12 rows of nozzles, one for each color of odd and even dots. Odd and even nozzles are separated by D2 print lines and nozzles of different colors are separated by D1 print lines. See
FIG. 35 for reference. The first color to be printed is the first row of nozzles encountered by the incoming paper. In the example this iscolor 0 odd, although is dependent on the printhead type. Paper passes under printhead moving downwards. - For example if the physical separation of each half row is 80 □m equating to D1=D2=5 print lines at 1600 dpi. This means that in one firing sequence,
color 0 odd nozzles will fire on dotline L,color 0 even nozzles will fire on dotline L-D1,color 1 odd nozzles will fire on dotline L-D1-D2 and so on over 6 color planes odd and even nozzles. The total number of lines fired over is given as 0+5+5 . . . +5=0+11×5=55. SeeFIG. 36 for example diagram. - It is expected that the physical spacing of the printhead nozzles will be 80 μm (or 5 dot lines), although there is no dependency on nozzle spacing. The DWU is configurable to allow other line nozzle spacings.
- The Line Loader Unit (LLU) reads dot data from the line buffers in DRAM and structures the data into even and odd dot channels destined for the same print time. The blocks of dot data are transferred to the PHI and then to the printhead.
FIG. 48 shows a high level data flow diagram of the LLU in context. - The DWU re-orders dot data into 12 separate dot data line FIFOs in the DRAM. Each FIFO corresponds to 6 colors of odd and even data. The LLU reads the dot data line FIFOs and sends the data to the printhead interface. The LLU decides when data should be read from the dot data line FIFOs to correspond with the time that the particular nozzle on the printhead is passing the current line. The interaction of the DWU and LLU with the dot line FIFOs compensates for the physical spread of nozzles firing over several lines at once.
FIG. 49 shows the physical relationship of nozzle rows and the line time the LLU starts reading from the dot line store. - Within each line of dot data the LLU is required to generate an even and odd dot data stream to the PHI block.
FIG. 50 shows the even and dot streams as they would map to an example bi-lithic printhead. The PHI block determines which stream should be directed to which printhead IC. - The Printhead interface (PHI) accepts dot data from the LLU and transmits the dot data to the printhead, using the printhead interface mechanism. The PHI generates the control and timing signals necessary to load and drive the bi-lithic printhead. The CPU determines the line update rate to the printhead and adjusts the line sync frequency to produce the maximum print speed to account for the printhead IC's size ratio and inherent latencies in the syncing system across multiple SoPECs. The PHI also needs to consider the order in which dot data is loaded in the printhead. This is dependent on the construction of the printhead and the relative sizes of printhead ICs used to create the printhead.
- The printing process is a real-time process. Once the printing process has started, the next printline's data must be transferred to the printhead before the next line sync pulse is received by the printhead. Otherwise the printing process will terminate with a buffer underrun error. The PHI can be configured to drive a single printhead IC with or without synchronization to other SoPECs. For example the PHI could drive a single IC printhead (i.e. a printhead constructed with one IC only), or dual IC printhead with one SoPEC device driving each printhead IC.
- The PHI interface provides a mechanism for the CPU to directly control the PHI interface pins, allowing the CPU to access the bi-lithic printhead to:
-
- determine printhead temperature
- test for and determine dead nozzles for each printhead IC
- initialize each printhead IC
- pre-heat each printhead IC
FIG. 58 shows a high level data flow diagram of the PHI in context.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/266,479 US20090058903A1 (en) | 2002-12-02 | 2008-11-06 | Printer controller configured to compensate for dead printhead nozzles |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002953134A AU2002953134A0 (en) | 2002-12-02 | 2002-12-02 | Method and apparatus (auth16) |
AU2002953135 | 2002-12-02 | ||
AU2002953134 | 2002-12-02 | ||
AU2002953135A AU2002953135A0 (en) | 2002-12-02 | 2002-12-02 | Method and apparatus (pec10) |
US10/727,233 US7165824B2 (en) | 2002-12-02 | 2003-12-02 | Dead nozzle compensation |
US11/442,131 US7465005B2 (en) | 2002-12-02 | 2006-05-30 | Printer controller with dead nozzle compensation |
US12/266,479 US20090058903A1 (en) | 2002-12-02 | 2008-11-06 | Printer controller configured to compensate for dead printhead nozzles |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/442,131 Continuation US7465005B2 (en) | 2002-12-02 | 2006-05-30 | Printer controller with dead nozzle compensation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090058903A1 true US20090058903A1 (en) | 2009-03-05 |
Family
ID=32471018
Family Applications (49)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/727,180 Abandoned US20040199786A1 (en) | 2002-12-02 | 2003-12-02 | Randomisation of the location of secret information on each of a series of integrated circuits |
US10/727,204 Active 2024-12-05 US7121639B2 (en) | 2002-12-02 | 2003-12-02 | Data rate equalisation to account for relatively different printhead widths |
US10/727,160 Abandoned US20040249757A1 (en) | 2002-12-02 | 2003-12-02 | Authentication of resources usage in a multi-user environment |
US10/727,238 Expired - Fee Related US7278034B2 (en) | 2002-12-02 | 2003-12-02 | Integrated circuit which disables writing circuitry to memory when the power drops below a power threshold predetermined and controlled by the processor |
US10/727,227 Abandoned US20040201647A1 (en) | 2002-12-02 | 2003-12-02 | Stitching of integrated circuit components |
US10/727,251 Active 2025-06-26 US7188282B2 (en) | 2002-12-02 | 2003-12-02 | Tamper resistant shadow memory |
US10/727,162 Abandoned US20060082609A1 (en) | 2002-12-02 | 2003-12-02 | Compensation for horizontal skew between adjacent rows of nozzles on a printhead module |
US10/727,280 Expired - Fee Related US7152942B2 (en) | 2002-12-02 | 2003-12-02 | Fixative compensation |
US10/727,178 Active 2025-01-16 US7181572B2 (en) | 2002-12-02 | 2003-12-02 | Cache updating method and apparatus |
US10/727,157 Expired - Fee Related US7818519B2 (en) | 2002-12-02 | 2003-12-02 | Timeslot arbitration scheme |
US10/727,161 Expired - Fee Related US7523111B2 (en) | 2002-12-02 | 2003-12-02 | Labelling of secret information |
US10/727,159 Expired - Fee Related US7592829B2 (en) | 2002-12-02 | 2003-12-02 | On-chip storage of secret information as inverse pair |
US10/727,158 Expired - Fee Related US7660998B2 (en) | 2002-12-02 | 2003-12-02 | Relatively unique ID in integrated circuit |
US10/727,233 Active 2025-03-26 US7165824B2 (en) | 2002-12-02 | 2003-12-02 | Dead nozzle compensation |
US10/727,257 Expired - Fee Related US7302592B2 (en) | 2002-12-02 | 2003-12-02 | Integrated circuit which disables writing circuitry to memory when the power drops below a power threshold predetermined and controlled by the processor |
US10/727,179 Abandoned US20050213761A1 (en) | 2002-12-02 | 2003-12-02 | Storing number and a result of a function on an integrated circuit |
US10/727,274 Expired - Fee Related US7770008B2 (en) | 2002-12-02 | 2003-12-02 | Embedding data and information related to function with which data is associated into a payload |
US10/727,245 Expired - Lifetime US7399043B2 (en) | 2002-12-02 | 2003-12-02 | Compensation for uneven printhead module lengths in a multi-module printhead |
US10/727,198 Expired - Fee Related US7573301B2 (en) | 2002-12-02 | 2003-12-02 | Temperature based filter for an on-chip system clock |
US10/727,164 Expired - Fee Related US7707621B2 (en) | 2002-12-02 | 2003-12-02 | Creation and usage of mutually exclusive messages |
US10/727,163 Active 2025-07-10 US7377608B2 (en) | 2002-12-02 | 2003-12-02 | Compensation for vertical skew between adjacent rows of nozzles on a printhead module |
US10/727,192 Abandoned US20040225881A1 (en) | 2002-12-02 | 2003-12-02 | Variant keys |
US10/727,210 Expired - Lifetime US7096137B2 (en) | 2002-12-02 | 2003-12-02 | Clock trim mechanism for onboard system clock |
US10/754,536 Expired - Fee Related US7783886B2 (en) | 2002-12-02 | 2004-01-12 | Multi-level boot hierarchy for software development on an integrated circuit |
US10/754,938 Expired - Fee Related US7831827B2 (en) | 2002-12-02 | 2004-01-12 | Authenticated communication between multiple entities |
US11/212,702 Expired - Fee Related US7171323B2 (en) | 2002-12-02 | 2005-08-29 | Integrated circuit having clock trim circuitry |
US11/272,491 Expired - Fee Related US7278697B2 (en) | 2002-12-02 | 2005-11-14 | Data rate supply proportional to the ratio of different printhead lengths |
US11/442,131 Expired - Fee Related US7465005B2 (en) | 2002-12-02 | 2006-05-30 | Printer controller with dead nozzle compensation |
US11/474,278 Expired - Fee Related US7360131B2 (en) | 2002-12-02 | 2006-06-26 | Printer controller having tamper resistant shadow memory |
US11/488,841 Expired - Fee Related US7328115B2 (en) | 2002-12-02 | 2006-07-19 | Quality assurance IC having clock trimmer |
US11/749,749 Expired - Fee Related US7805626B2 (en) | 2002-12-02 | 2007-05-16 | Print engine having authentication device for disabling memory writing upon power drop |
US11/749,750 Expired - Fee Related US7747887B2 (en) | 2002-12-02 | 2007-05-16 | Print engine having authentication device for preventing multi-word memory writing upon power drop |
US11/951,213 Expired - Fee Related US7610163B2 (en) | 2002-12-02 | 2007-12-05 | Method of controlling quality for a print controller |
US11/955,127 Expired - Lifetime US7467839B2 (en) | 2002-12-02 | 2007-12-12 | Printer controller with equalised data supply rate to multi-color printhead ICS |
US12/043,844 Abandoned US20080150997A1 (en) | 2002-12-02 | 2008-03-06 | Method Of Manufacturing Printhead ICS Incorporating Mems Inkjet Nozzles |
US12/047,315 Abandoned US20080155826A1 (en) | 2002-12-02 | 2008-03-12 | Method of manufacturing mems ics |
US12/050,941 Expired - Lifetime US7540579B2 (en) | 2002-12-02 | 2008-03-19 | Controller for multi-color, multi-length printhead ICS |
US12/266,479 Abandoned US20090058903A1 (en) | 2002-12-02 | 2008-11-06 | Printer controller configured to compensate for dead printhead nozzles |
US12/276,368 Expired - Fee Related US7611215B2 (en) | 2002-12-02 | 2008-11-23 | Inkjet printer system having equalised control of multi-length printhead ICS |
US12/324,889 Expired - Fee Related US7747646B2 (en) | 2002-12-02 | 2008-11-27 | System having secure access between IC entities |
US12/436,129 Expired - Fee Related US7722146B2 (en) | 2002-12-02 | 2009-05-06 | Printing system having controlled multi-length printhead ICS |
US12/500,593 Expired - Fee Related US7800410B2 (en) | 2002-12-02 | 2009-07-09 | Integrated circuit having temperature based clock filter |
US12/505,513 Abandoned US20090284279A1 (en) | 2002-12-02 | 2009-07-19 | Integrated Circuit Having Inverse Bit Storage Test |
US12/564,045 Expired - Fee Related US8005636B2 (en) | 2002-12-02 | 2009-09-21 | Method of controlling clock signal |
US12/582,632 Expired - Fee Related US7976116B2 (en) | 2002-12-02 | 2009-10-20 | Inkjet printer system having equalised control of different nozzle count printhead ICs |
US12/697,272 Expired - Fee Related US7996880B2 (en) | 2002-12-02 | 2010-01-31 | Secure updating of integrated circuits |
US12/778,966 Abandoned US20100223453A1 (en) | 2002-12-02 | 2010-05-12 | Integrated circuit for validating and decrypting software data |
US12/790,945 Abandoned US20100238213A1 (en) | 2002-12-02 | 2010-05-31 | Method for dead nozzle remapping |
US12/958,968 Expired - Fee Related US8038239B2 (en) | 2002-12-02 | 2010-12-02 | Controller for printhead having arbitrarily joined nozzle rows |
Family Applications Before (37)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/727,180 Abandoned US20040199786A1 (en) | 2002-12-02 | 2003-12-02 | Randomisation of the location of secret information on each of a series of integrated circuits |
US10/727,204 Active 2024-12-05 US7121639B2 (en) | 2002-12-02 | 2003-12-02 | Data rate equalisation to account for relatively different printhead widths |
US10/727,160 Abandoned US20040249757A1 (en) | 2002-12-02 | 2003-12-02 | Authentication of resources usage in a multi-user environment |
US10/727,238 Expired - Fee Related US7278034B2 (en) | 2002-12-02 | 2003-12-02 | Integrated circuit which disables writing circuitry to memory when the power drops below a power threshold predetermined and controlled by the processor |
US10/727,227 Abandoned US20040201647A1 (en) | 2002-12-02 | 2003-12-02 | Stitching of integrated circuit components |
US10/727,251 Active 2025-06-26 US7188282B2 (en) | 2002-12-02 | 2003-12-02 | Tamper resistant shadow memory |
US10/727,162 Abandoned US20060082609A1 (en) | 2002-12-02 | 2003-12-02 | Compensation for horizontal skew between adjacent rows of nozzles on a printhead module |
US10/727,280 Expired - Fee Related US7152942B2 (en) | 2002-12-02 | 2003-12-02 | Fixative compensation |
US10/727,178 Active 2025-01-16 US7181572B2 (en) | 2002-12-02 | 2003-12-02 | Cache updating method and apparatus |
US10/727,157 Expired - Fee Related US7818519B2 (en) | 2002-12-02 | 2003-12-02 | Timeslot arbitration scheme |
US10/727,161 Expired - Fee Related US7523111B2 (en) | 2002-12-02 | 2003-12-02 | Labelling of secret information |
US10/727,159 Expired - Fee Related US7592829B2 (en) | 2002-12-02 | 2003-12-02 | On-chip storage of secret information as inverse pair |
US10/727,158 Expired - Fee Related US7660998B2 (en) | 2002-12-02 | 2003-12-02 | Relatively unique ID in integrated circuit |
US10/727,233 Active 2025-03-26 US7165824B2 (en) | 2002-12-02 | 2003-12-02 | Dead nozzle compensation |
US10/727,257 Expired - Fee Related US7302592B2 (en) | 2002-12-02 | 2003-12-02 | Integrated circuit which disables writing circuitry to memory when the power drops below a power threshold predetermined and controlled by the processor |
US10/727,179 Abandoned US20050213761A1 (en) | 2002-12-02 | 2003-12-02 | Storing number and a result of a function on an integrated circuit |
US10/727,274 Expired - Fee Related US7770008B2 (en) | 2002-12-02 | 2003-12-02 | Embedding data and information related to function with which data is associated into a payload |
US10/727,245 Expired - Lifetime US7399043B2 (en) | 2002-12-02 | 2003-12-02 | Compensation for uneven printhead module lengths in a multi-module printhead |
US10/727,198 Expired - Fee Related US7573301B2 (en) | 2002-12-02 | 2003-12-02 | Temperature based filter for an on-chip system clock |
US10/727,164 Expired - Fee Related US7707621B2 (en) | 2002-12-02 | 2003-12-02 | Creation and usage of mutually exclusive messages |
US10/727,163 Active 2025-07-10 US7377608B2 (en) | 2002-12-02 | 2003-12-02 | Compensation for vertical skew between adjacent rows of nozzles on a printhead module |
US10/727,192 Abandoned US20040225881A1 (en) | 2002-12-02 | 2003-12-02 | Variant keys |
US10/727,210 Expired - Lifetime US7096137B2 (en) | 2002-12-02 | 2003-12-02 | Clock trim mechanism for onboard system clock |
US10/754,536 Expired - Fee Related US7783886B2 (en) | 2002-12-02 | 2004-01-12 | Multi-level boot hierarchy for software development on an integrated circuit |
US10/754,938 Expired - Fee Related US7831827B2 (en) | 2002-12-02 | 2004-01-12 | Authenticated communication between multiple entities |
US11/212,702 Expired - Fee Related US7171323B2 (en) | 2002-12-02 | 2005-08-29 | Integrated circuit having clock trim circuitry |
US11/272,491 Expired - Fee Related US7278697B2 (en) | 2002-12-02 | 2005-11-14 | Data rate supply proportional to the ratio of different printhead lengths |
US11/442,131 Expired - Fee Related US7465005B2 (en) | 2002-12-02 | 2006-05-30 | Printer controller with dead nozzle compensation |
US11/474,278 Expired - Fee Related US7360131B2 (en) | 2002-12-02 | 2006-06-26 | Printer controller having tamper resistant shadow memory |
US11/488,841 Expired - Fee Related US7328115B2 (en) | 2002-12-02 | 2006-07-19 | Quality assurance IC having clock trimmer |
US11/749,749 Expired - Fee Related US7805626B2 (en) | 2002-12-02 | 2007-05-16 | Print engine having authentication device for disabling memory writing upon power drop |
US11/749,750 Expired - Fee Related US7747887B2 (en) | 2002-12-02 | 2007-05-16 | Print engine having authentication device for preventing multi-word memory writing upon power drop |
US11/951,213 Expired - Fee Related US7610163B2 (en) | 2002-12-02 | 2007-12-05 | Method of controlling quality for a print controller |
US11/955,127 Expired - Lifetime US7467839B2 (en) | 2002-12-02 | 2007-12-12 | Printer controller with equalised data supply rate to multi-color printhead ICS |
US12/043,844 Abandoned US20080150997A1 (en) | 2002-12-02 | 2008-03-06 | Method Of Manufacturing Printhead ICS Incorporating Mems Inkjet Nozzles |
US12/047,315 Abandoned US20080155826A1 (en) | 2002-12-02 | 2008-03-12 | Method of manufacturing mems ics |
US12/050,941 Expired - Lifetime US7540579B2 (en) | 2002-12-02 | 2008-03-19 | Controller for multi-color, multi-length printhead ICS |
Family Applications After (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/276,368 Expired - Fee Related US7611215B2 (en) | 2002-12-02 | 2008-11-23 | Inkjet printer system having equalised control of multi-length printhead ICS |
US12/324,889 Expired - Fee Related US7747646B2 (en) | 2002-12-02 | 2008-11-27 | System having secure access between IC entities |
US12/436,129 Expired - Fee Related US7722146B2 (en) | 2002-12-02 | 2009-05-06 | Printing system having controlled multi-length printhead ICS |
US12/500,593 Expired - Fee Related US7800410B2 (en) | 2002-12-02 | 2009-07-09 | Integrated circuit having temperature based clock filter |
US12/505,513 Abandoned US20090284279A1 (en) | 2002-12-02 | 2009-07-19 | Integrated Circuit Having Inverse Bit Storage Test |
US12/564,045 Expired - Fee Related US8005636B2 (en) | 2002-12-02 | 2009-09-21 | Method of controlling clock signal |
US12/582,632 Expired - Fee Related US7976116B2 (en) | 2002-12-02 | 2009-10-20 | Inkjet printer system having equalised control of different nozzle count printhead ICs |
US12/697,272 Expired - Fee Related US7996880B2 (en) | 2002-12-02 | 2010-01-31 | Secure updating of integrated circuits |
US12/778,966 Abandoned US20100223453A1 (en) | 2002-12-02 | 2010-05-12 | Integrated circuit for validating and decrypting software data |
US12/790,945 Abandoned US20100238213A1 (en) | 2002-12-02 | 2010-05-31 | Method for dead nozzle remapping |
US12/958,968 Expired - Fee Related US8038239B2 (en) | 2002-12-02 | 2010-12-02 | Controller for printhead having arbitrarily joined nozzle rows |
Country Status (7)
Country | Link |
---|---|
US (49) | US20040199786A1 (en) |
EP (1) | EP1572463B1 (en) |
AT (1) | ATE504446T1 (en) |
CA (1) | CA2508141C (en) |
DE (1) | DE60336677D1 (en) |
DK (1) | DK1572463T3 (en) |
WO (1) | WO2004050369A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110286017A1 (en) * | 2010-05-20 | 2011-11-24 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
Families Citing this family (1144)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19950249C1 (en) * | 1999-10-18 | 2001-02-01 | Siemens Ag | Electronic device with software protection for runtime software for automated systems |
US6700590B1 (en) * | 1999-11-01 | 2004-03-02 | Indx Software Corporation | System and method for retrieving and presenting data using class-based component and view model |
US7930531B2 (en) * | 2000-01-06 | 2011-04-19 | Super Talent Electronics, Inc. | Multi-partition USB device that re-boots a PC to an alternate operating system for virus recovery |
US7062749B2 (en) * | 2000-12-15 | 2006-06-13 | Promenix, Inc. | Measuring, monitoring and tracking enterprise communications and processes |
US8385476B2 (en) * | 2001-04-25 | 2013-02-26 | Texas Instruments Incorporated | Digital phase locked loop |
US7552191B1 (en) * | 2001-06-12 | 2009-06-23 | F5 Networks, Inc. | Method and apparatus to facilitate automatic sharing in a client server environment |
US7613699B2 (en) * | 2001-08-03 | 2009-11-03 | Itt Manufacturing Enterprises, Inc. | Apparatus and method for resolving security association database update coherency in high-speed systems having multiple security channels |
EP1359550A1 (en) | 2001-11-30 | 2003-11-05 | STMicroelectronics S.A. | Regeneration of a secret number by using an identifier of an integrated circuit |
FR2833119A1 (en) | 2001-11-30 | 2003-06-06 | St Microelectronics Sa | GENERATION OF SECRET QUANTITIES OF IDENTIFICATION OF AN INTEGRATED CIRCUIT |
EP1391853A1 (en) * | 2001-11-30 | 2004-02-25 | STMicroelectronics S.A. | Diversification of the unique identifier of an integrated circuit |
FR2838210B1 (en) * | 2002-04-03 | 2005-11-04 | Gemplus Card Int | CRYPTOGRAPHIC METHOD PROTECTED FROM CACHE-CHANNEL TYPE ATTACKS |
EP1353259B1 (en) * | 2002-04-08 | 2006-06-14 | Aladdin Knowledge Systems (Deutschland) GmbH | Method of upgrading and licensing computer programs and computer system therefor |
GB0211812D0 (en) * | 2002-05-23 | 2002-07-03 | Koninkl Philips Electronics Nv | S-box encryption in block cipher implementations |
US20030229643A1 (en) * | 2002-05-29 | 2003-12-11 | Digimarc Corporation | Creating a footprint of a computer file |
US20040044508A1 (en) * | 2002-08-29 | 2004-03-04 | Hoffman Robert R. | Method for generating commands for testing hardware device models |
GB2402785B (en) * | 2002-11-18 | 2005-12-07 | Advanced Risc Mach Ltd | Processor switching between secure and non-secure modes |
US20090319802A1 (en) * | 2002-12-02 | 2009-12-24 | Silverbrook Research Pty Ltd | Key Genaration In An Integrated Circuit |
US20040199786A1 (en) * | 2002-12-02 | 2004-10-07 | Walmsley Simon Robert | Randomisation of the location of secret information on each of a series of integrated circuits |
US7801120B2 (en) * | 2003-01-13 | 2010-09-21 | Emulex Design & Manufacturing Corporation | Method and system for efficient queue management |
US7010416B2 (en) * | 2003-01-17 | 2006-03-07 | Ph2 Solutions, Inc. | Systems and methods for resetting vehicle emission system error indicators |
JP3823925B2 (en) * | 2003-02-05 | 2006-09-20 | ソニー株式会社 | Information processing apparatus, license information recording medium, information processing method, and computer program |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
SE0300670L (en) * | 2003-03-10 | 2004-08-17 | Smarttrust Ab | Procedure for secure download of applications |
US8650470B2 (en) | 2003-03-20 | 2014-02-11 | Arm Limited | Error recovery within integrated circuit |
US7278080B2 (en) * | 2003-03-20 | 2007-10-02 | Arm Limited | Error detection and recovery within processing stages of an integrated circuit |
WO2004084070A1 (en) * | 2003-03-20 | 2004-09-30 | Arm Limited | Systematic and random error detection and recovery within processing stages of an integrated circuit |
US8185812B2 (en) * | 2003-03-20 | 2012-05-22 | Arm Limited | Single event upset error detection within an integrated circuit |
US7260001B2 (en) * | 2003-03-20 | 2007-08-21 | Arm Limited | Memory system having fast and slow data reading mechanisms |
US8261062B2 (en) | 2003-03-27 | 2012-09-04 | Microsoft Corporation | Non-cryptographic addressing |
US7409544B2 (en) | 2003-03-27 | 2008-08-05 | Microsoft Corporation | Methods and systems for authenticating messages |
US7610487B2 (en) | 2003-03-27 | 2009-10-27 | Microsoft Corporation | Human input security codes |
US7624264B2 (en) | 2003-03-27 | 2009-11-24 | Microsoft Corporation | Using time to determine a hash extension |
JP2004341768A (en) * | 2003-05-15 | 2004-12-02 | Fujitsu Ltd | Magnetic disk device, cipher processing method and program |
US20050021544A1 (en) * | 2003-06-18 | 2005-01-27 | Robert Wilkins | System and method for managing information |
US7600058B1 (en) | 2003-06-26 | 2009-10-06 | Nvidia Corporation | Bypass method for efficient DMA disk I/O |
JP4624732B2 (en) * | 2003-07-16 | 2011-02-02 | パナソニック株式会社 | how to access |
US7496715B1 (en) * | 2003-07-16 | 2009-02-24 | Unisys Corporation | Programmable cache management system and method |
US6999887B2 (en) * | 2003-08-06 | 2006-02-14 | Infineon Technologies Ag | Memory cell signal window testing apparatus |
US8229108B2 (en) * | 2003-08-15 | 2012-07-24 | Broadcom Corporation | Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers |
JP2005100270A (en) * | 2003-09-26 | 2005-04-14 | Minolta Co Ltd | Printing control program and printer |
US8683132B1 (en) | 2003-09-29 | 2014-03-25 | Nvidia Corporation | Memory controller for sequentially prefetching data for a processor of a computer system |
US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US8381037B2 (en) | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7779212B2 (en) | 2003-10-17 | 2010-08-17 | Micron Technology, Inc. | Method and apparatus for sending data from multiple sources over a communications bus |
US8356142B1 (en) | 2003-11-12 | 2013-01-15 | Nvidia Corporation | Memory controller for non-sequentially prefetching data for a processor of a computer system |
US8156343B2 (en) * | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8700808B2 (en) * | 2003-12-01 | 2014-04-15 | Nvidia Corporation | Hardware support system for accelerated disk I/O |
US7984175B2 (en) | 2003-12-10 | 2011-07-19 | Mcafee, Inc. | Method and apparatus for data capture and analysis system |
US7774604B2 (en) | 2003-12-10 | 2010-08-10 | Mcafee, Inc. | Verifying captured objects before presentation |
US7814327B2 (en) | 2003-12-10 | 2010-10-12 | Mcafee, Inc. | Document registration |
US7899828B2 (en) | 2003-12-10 | 2011-03-01 | Mcafee, Inc. | Tag data structure for maintaining relational data over captured objects |
US8656039B2 (en) | 2003-12-10 | 2014-02-18 | Mcafee, Inc. | Rule parser |
US8548170B2 (en) | 2003-12-10 | 2013-10-01 | Mcafee, Inc. | Document de-registration |
US20050132194A1 (en) * | 2003-12-12 | 2005-06-16 | Ward Jean R. | Protection of identification documents using open cryptography |
US7283944B2 (en) * | 2003-12-15 | 2007-10-16 | Springsoft, Inc. | Circuit simulation bus transaction analysis |
US7543142B2 (en) * | 2003-12-19 | 2009-06-02 | Intel Corporation | Method and apparatus for performing an authentication after cipher operation in a network processor |
US7512945B2 (en) * | 2003-12-29 | 2009-03-31 | Intel Corporation | Method and apparatus for scheduling the processing of commands for execution by cryptographic algorithm cores in a programmable network processor |
KR100631673B1 (en) * | 2003-12-30 | 2006-10-09 | 엘지전자 주식회사 | High Frequency Module Structure for Mobile Communication |
US7831511B1 (en) | 2004-01-07 | 2010-11-09 | Intuit Inc. | Automating setup of a user's financial management application account for electronic transfer of data with a financial institution |
US7415705B2 (en) * | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7930540B2 (en) | 2004-01-22 | 2011-04-19 | Mcafee, Inc. | Cryptographic policy enforcement |
KR101157409B1 (en) * | 2004-02-10 | 2012-06-21 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | Nonvolatile memory and IC card, ID card and ID tag incorporated with the same |
JP2005228123A (en) * | 2004-02-13 | 2005-08-25 | Sharp Corp | Communication method, communication system and information reception-side device used in the communication system |
US7260025B2 (en) * | 2004-02-18 | 2007-08-21 | Farinella & Associates, Llc | Bookmark with integrated electronic timer and method therefor |
WO2005081107A1 (en) * | 2004-02-20 | 2005-09-01 | Continental Teves Ag & Co. Ohg | Method and integrated switching circuit for increasing the immunity to interference |
US7607025B1 (en) * | 2004-02-26 | 2009-10-20 | Xilinx, Inc. | Methods of intrusion detection and prevention in secure programmable logic devices |
US7706782B1 (en) | 2004-03-01 | 2010-04-27 | Adobe Systems Incorporated | System and method for developing information for a wireless information system |
US7822428B1 (en) | 2004-03-01 | 2010-10-26 | Adobe Systems Incorporated | Mobile rich media information system |
US7478158B1 (en) * | 2004-03-01 | 2009-01-13 | Adobe Systems Incorporated | Bandwidth management system |
JP2007529821A (en) * | 2004-03-15 | 2007-10-25 | トムソン ライセンシング | Efficient video resampling method |
US7142478B2 (en) * | 2004-03-19 | 2006-11-28 | Infineon Technologies Ag | Clock stop detector |
US7738137B2 (en) * | 2004-03-23 | 2010-06-15 | Lexmark International, Inc. | Inkjet print head synchronous serial output for data integrity |
US20050216762A1 (en) * | 2004-03-25 | 2005-09-29 | Cyrus Peikari | Protecting embedded devices with integrated reset detection |
US7185301B2 (en) * | 2004-04-06 | 2007-02-27 | Lsi Logic Corporation | Generic method and apparatus for implementing source synchronous interface in platform ASIC |
US20050234986A1 (en) * | 2004-04-09 | 2005-10-20 | Microsoft Corporation | Systems and methods for fragment-based serialization |
JP4343867B2 (en) * | 2004-04-13 | 2009-10-14 | キヤノン株式会社 | Inkjet recording device |
US8400645B2 (en) * | 2004-04-16 | 2013-03-19 | Marvell International Technology Ltd. | Printer with selectable capabilities |
US20050246762A1 (en) * | 2004-04-29 | 2005-11-03 | International Business Machines Corporation | Changing access permission based on usage of a computer resource |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
US20050254085A1 (en) * | 2004-05-12 | 2005-11-17 | Koji Oshikiri | Image forming system |
US20050257205A1 (en) * | 2004-05-13 | 2005-11-17 | Microsoft Corporation | Method and system for dynamic software updates |
US7267417B2 (en) * | 2004-05-27 | 2007-09-11 | Silverbrook Research Pty Ltd | Printer controller for supplying data to one or more printheads via serial links |
US7484831B2 (en) * | 2004-05-27 | 2009-02-03 | Silverbrook Research Pty Ltd | Printhead module having horizontally grouped firing order |
US7448707B2 (en) * | 2004-05-27 | 2008-11-11 | Silverbrook Research Pty Ltd | Method of expelling ink from nozzels in groups, starting at outside nozzels of each group |
US7757086B2 (en) * | 2004-05-27 | 2010-07-13 | Silverbrook Research Pty Ltd | Key transportation |
US7549718B2 (en) * | 2004-05-27 | 2009-06-23 | Silverbrook Research Pty Ltd | Printhead module having operation controllable on basis of thermal sensors |
US7735944B2 (en) | 2004-05-27 | 2010-06-15 | Silverbrook Research Pty Ltd | Printer comprising two printhead modules and at least two printer controllers |
US7252353B2 (en) * | 2004-05-27 | 2007-08-07 | Silverbrook Research Pty Ltd | Printer controller for supplying data to a printhead module having one or more redundant nozzle rows |
US7427117B2 (en) * | 2004-05-27 | 2008-09-23 | Silverbrook Research Pty Ltd | Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group |
US7328956B2 (en) * | 2004-05-27 | 2008-02-12 | Silverbrook Research Pty Ltd | Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead |
US7551298B2 (en) * | 2004-06-04 | 2009-06-23 | Primax Electronics Ltd. | Print control device with embedded engine simulation module and test method thereof |
US7143221B2 (en) * | 2004-06-08 | 2006-11-28 | Arm Limited | Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus |
JP4275583B2 (en) * | 2004-06-24 | 2009-06-10 | ユーディナデバイス株式会社 | Electronic module |
JP4612461B2 (en) * | 2004-06-24 | 2011-01-12 | 株式会社東芝 | Microprocessor |
US7409315B2 (en) * | 2004-06-28 | 2008-08-05 | Broadcom Corporation | On-board performance monitor and power control system |
JP4874440B2 (en) * | 2004-06-29 | 2012-02-15 | 株式会社デンソー | PROGRAM GENERATION PROGRAM, PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND PROGRAM GENERATED BY THE SAME |
US7929689B2 (en) | 2004-06-30 | 2011-04-19 | Microsoft Corporation | Call signs |
US7552326B2 (en) * | 2004-07-15 | 2009-06-23 | Sony Corporation | Use of kernel authorization data to maintain security in a digital processing system |
US20060015732A1 (en) * | 2004-07-15 | 2006-01-19 | Sony Corporation | Processing system using internal digital signatures |
US7568102B2 (en) * | 2004-07-15 | 2009-07-28 | Sony Corporation | System and method for authorizing the use of stored information in an operating system |
US7586904B2 (en) * | 2004-07-15 | 2009-09-08 | Broadcom Corp. | Method and system for a gigabit Ethernet IP telephone chip with no DSP core, which uses a RISC core with instruction extensions to support voice processing |
US7716494B2 (en) * | 2004-07-15 | 2010-05-11 | Sony Corporation | Establishing a trusted platform in a digital processing system |
US7840607B2 (en) * | 2004-08-06 | 2010-11-23 | Siemens Aktiengesellschaft | Data mart generation and use in association with an operations intelligence platform |
US7343496B1 (en) | 2004-08-13 | 2008-03-11 | Zilog, Inc. | Secure transaction microcontroller with secure boot loader |
US20060037077A1 (en) * | 2004-08-16 | 2006-02-16 | Cisco Technology, Inc. | Network intrusion detection system having application inspection and anomaly detection characteristics |
US8700671B2 (en) * | 2004-08-18 | 2014-04-15 | Siemens Aktiengesellschaft | System and methods for dynamic generation of point / tag configurations |
US8560534B2 (en) | 2004-08-23 | 2013-10-15 | Mcafee, Inc. | Database for a capture system |
US7182422B2 (en) | 2004-08-23 | 2007-02-27 | Silverbrook Research Pty Ltd | Printhead having first and second rows of print nozzles |
US7949849B2 (en) | 2004-08-24 | 2011-05-24 | Mcafee, Inc. | File system for a capture system |
EP1794944B1 (en) * | 2004-08-27 | 2014-03-05 | Board of Regents, The University of Texas System | Method for memory assignment, computer program and system thereof |
US8032787B2 (en) * | 2004-09-02 | 2011-10-04 | Intel Corporation | Volatile storage based power loss recovery mechanism |
US20110071949A1 (en) * | 2004-09-20 | 2011-03-24 | Andrew Petrov | Secure pin entry device for mobile phones |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US7644272B2 (en) | 2004-10-22 | 2010-01-05 | Broadcom Corporation | Systems and methods for providing security to different functions |
US8356143B1 (en) | 2004-10-22 | 2013-01-15 | NVIDIA Corporatin | Prefetch mechanism for bus master memory access |
US20060088160A1 (en) * | 2004-10-27 | 2006-04-27 | Lexmark International, Inc. | Method and apparatus for generating and printing a security stamp with custom logo on an electrophotographic printer |
US9032192B2 (en) * | 2004-10-28 | 2015-05-12 | Broadcom Corporation | Method and system for policy based authentication |
US7450723B2 (en) * | 2004-11-12 | 2008-11-11 | International Business Machines Corporation | Method and system for providing for security in communication |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US8176564B2 (en) | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
US8464348B2 (en) * | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
DE102004055505A1 (en) * | 2004-11-17 | 2006-05-24 | Nec Europe Ltd. | A method for authorizing service requests to service hosts in a network |
US7814123B2 (en) * | 2004-12-02 | 2010-10-12 | Siemens Aktiengesellschaft | Management of component members using tag attributes |
JP4570952B2 (en) * | 2004-12-28 | 2010-10-27 | 富士通株式会社 | High speed information processing apparatus, high speed information processing method and program thereof |
US20060146100A1 (en) * | 2005-01-04 | 2006-07-06 | Dull Daniel J | Ink jet supply component including a secure memory serial device |
US7778812B2 (en) * | 2005-01-07 | 2010-08-17 | Micron Technology, Inc. | Selecting data to verify in hardware device model simulation test generation |
US8442938B2 (en) | 2005-01-14 | 2013-05-14 | Siemens Aktiengesellschaft | Child data structure update in data management system |
US7536542B2 (en) * | 2005-01-19 | 2009-05-19 | Microsoft Corporation | Method and system for intercepting, analyzing, and modifying interactions between a transport client and a transport provider |
US7966643B2 (en) * | 2005-01-19 | 2011-06-21 | Microsoft Corporation | Method and system for securing a remote file system |
US7770205B2 (en) * | 2005-01-19 | 2010-08-03 | Microsoft Corporation | Binding a device to a computer |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US7132823B2 (en) * | 2005-01-21 | 2006-11-07 | Microsoft Corporation | Design for test for a high speed serial interface |
TW200627258A (en) * | 2005-01-27 | 2006-08-01 | Lite On Technology Corp | Medium transfer-recording control method and the embedded system using the same |
US7636911B2 (en) * | 2005-01-28 | 2009-12-22 | Microsoft Corporation | System and methods for capturing structure of data models using entity patterns |
EP1696321A1 (en) | 2005-02-23 | 2006-08-30 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for executing software applications |
US9300641B2 (en) * | 2005-02-11 | 2016-03-29 | Nokia Corporation | Method and apparatus for providing bootstrapping procedures in a communication network |
US7221878B2 (en) * | 2005-02-18 | 2007-05-22 | Hewlett-Packard Development Company, L.P. | Allowing image formation using consumable item where code of consumable item is identical to code of image-formation device |
US7376809B2 (en) * | 2005-03-09 | 2008-05-20 | International Business Machines Corporation | Systems and methods for multi-frame control blocks |
US7620711B2 (en) * | 2005-03-18 | 2009-11-17 | Siemens Aktiengesellschaft | Method of using configuration files for configuring technical devices |
US20060218649A1 (en) * | 2005-03-22 | 2006-09-28 | Brickell Ernie F | Method for conditional disclosure of identity information |
JP4517907B2 (en) * | 2005-03-23 | 2010-08-04 | セイコーエプソン株式会社 | Printing system, printing method, and printing control apparatus |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US20060215207A1 (en) * | 2005-03-28 | 2006-09-28 | Konica Minolta Systems Laboratory, Inc. | Color and monochrome management printing system |
JP4389829B2 (en) * | 2005-03-28 | 2009-12-24 | セイコーエプソン株式会社 | Client computer, printer driver generation method, printer driver search method |
KR100723777B1 (en) * | 2005-04-11 | 2007-05-30 | 주식회사 하이닉스반도체 | Autoread circuit |
WO2006110069A1 (en) * | 2005-04-13 | 2006-10-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Data value coherence in computer systems |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US7509250B2 (en) * | 2005-04-20 | 2009-03-24 | Honeywell International Inc. | Hardware key control of debug interface |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
JP4855710B2 (en) * | 2005-04-28 | 2012-01-18 | 株式会社東芝 | Software plug-in method and application program |
US8127147B2 (en) * | 2005-05-10 | 2012-02-28 | Seagate Technology Llc | Method and apparatus for securing data storage while insuring control by logical roles |
US20060259828A1 (en) | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Systems and methods for controlling access to secure debugging and profiling features of a computer system |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
DE102005024917A1 (en) * | 2005-05-31 | 2006-12-07 | Advanced Micro Devices, Inc., Sunnyvale | Register transfer level simulation device for simulating bit or bus synchronization of digital electronic circuit in e.g. silicon chip, has delay unit selectively delaying digital signal of flip-flop register around variable delay time |
JP5130646B2 (en) * | 2005-06-06 | 2013-01-30 | ソニー株式会社 | Storage device |
US8353046B2 (en) | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
EP1894114B1 (en) * | 2005-06-10 | 2014-08-13 | Freescale Semiconductor, Inc. | Device and method for media access control |
EP1894116A1 (en) * | 2005-06-10 | 2008-03-05 | Freescale Semiconductor, Inc. | Method and device for frame synchronization |
TWI267061B (en) * | 2005-06-21 | 2006-11-21 | Asustek Comp Inc | Method for processing multi-layered images |
WO2007001287A1 (en) * | 2005-06-23 | 2007-01-04 | Thomson Licensing | Multi-media access device registration system and method |
US8639946B2 (en) * | 2005-06-24 | 2014-01-28 | Sigmatel, Inc. | System and method of using a protected non-volatile memory |
US7337147B2 (en) * | 2005-06-30 | 2008-02-26 | Microsoft Corporation | Dynamic digital content licensing |
JP4410162B2 (en) * | 2005-07-05 | 2010-02-03 | 富士通株式会社 | Reconfigurable LSI |
US7797291B1 (en) * | 2005-07-11 | 2010-09-14 | Sprint Communications Company L.P. | Data retention auditing |
JP4345721B2 (en) * | 2005-07-14 | 2009-10-14 | コニカミノルタビジネステクノロジーズ株式会社 | Management system |
KR100648658B1 (en) * | 2005-07-19 | 2006-11-24 | 삼성전자주식회사 | Printing system and printer capable of electronic signature and method using the same |
US20070022250A1 (en) * | 2005-07-19 | 2007-01-25 | International Business Machines Corporation | System and method of responding to a cache read error with a temporary cache directory column delete |
EP1748343A1 (en) | 2005-07-29 | 2007-01-31 | STMicroelectronics Limited | Circuit personalisation |
JP4412733B2 (en) * | 2005-08-02 | 2010-02-10 | キヤノン株式会社 | Image processing apparatus and method, and computer program and storage medium |
US7907608B2 (en) | 2005-08-12 | 2011-03-15 | Mcafee, Inc. | High speed packet capture |
CN101243513A (en) * | 2005-08-23 | 2008-08-13 | 皇家飞利浦电子股份有限公司 | Information carrier authentication with a physical one-way function |
JP2007058969A (en) * | 2005-08-24 | 2007-03-08 | Sanyo Electric Co Ltd | Memory |
KR100833178B1 (en) * | 2005-08-26 | 2008-05-28 | 삼성전자주식회사 | System capable of controlling the number of block in a cache memory and method thereof |
JP2007064762A (en) * | 2005-08-30 | 2007-03-15 | Matsushita Electric Ind Co Ltd | Semiconductor device and test mode control circuit |
US8255108B2 (en) * | 2005-08-31 | 2012-08-28 | Spx Corporation | Dynamic file system creation for scan tools |
JP2007066109A (en) * | 2005-08-31 | 2007-03-15 | Fujitsu Ltd | Apparatus and method for controlling data transmission/reception |
US8183980B2 (en) * | 2005-08-31 | 2012-05-22 | Assa Abloy Ab | Device authentication using a unidirectional protocol |
US7818326B2 (en) | 2005-08-31 | 2010-10-19 | Mcafee, Inc. | System and method for word indexing in a capture system and querying thereof |
JP4513725B2 (en) * | 2005-11-09 | 2010-07-28 | ソニー株式会社 | Packet transmission apparatus, communication system, and program |
JP4674513B2 (en) * | 2005-09-14 | 2011-04-20 | 富士ゼロックス株式会社 | Spatial layout reproduction method, reader, and program |
US7979048B2 (en) * | 2005-09-15 | 2011-07-12 | Silicon Laboratories Inc. | Quasi non-volatile memory for use in a receiver |
US20070067445A1 (en) * | 2005-09-16 | 2007-03-22 | Smart Link Ltd. | Remote computer wake-up for network applications |
US8135741B2 (en) | 2005-09-20 | 2012-03-13 | Microsoft Corporation | Modifying service provider context information to facilitate locating interceptor context information |
EP1768028A1 (en) * | 2005-09-22 | 2007-03-28 | STMicroelectronics (Research & Development) Limited | Addressing peripherals in an ic |
US20070074046A1 (en) * | 2005-09-23 | 2007-03-29 | Czajkowski David R | Secure microprocessor and method |
US20100191959A1 (en) * | 2005-09-23 | 2010-07-29 | Space Micro Inc. | Secure microprocessor and method |
US7385491B2 (en) * | 2005-09-28 | 2008-06-10 | Itt Manufacturing Enterprises, Inc. | Tamper monitor circuit |
BRPI0616699A2 (en) * | 2005-09-28 | 2011-06-28 | Ontela Inc | method and system for establishing a service-application execution environment on a heterogeneously distributed computing system and a user-friendly data transfer service application within the service-application execution environment |
US9009265B2 (en) | 2005-09-28 | 2015-04-14 | Photobucket Corporation | System and method for automatic transfer of data from one device to another |
US9049243B2 (en) * | 2005-09-28 | 2015-06-02 | Photobucket Corporation | System and method for allowing a user to opt for automatic or selectively sending of media |
US8015253B1 (en) | 2005-09-28 | 2011-09-06 | Photobucket Corporation | System and method for controlling inter-device media exchanges |
US7870103B1 (en) * | 2005-10-13 | 2011-01-11 | Emc Corporation | Tolerating and reporting collisions in content-derived identifiers of data segments using secondary identifiers |
US7730011B1 (en) | 2005-10-19 | 2010-06-01 | Mcafee, Inc. | Attributes of captured objects in a capture system |
US7954037B2 (en) * | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
US8645712B1 (en) * | 2005-10-27 | 2014-02-04 | Altera Corporation | Electronic circuit design copy protection |
US7657104B2 (en) | 2005-11-21 | 2010-02-02 | Mcafee, Inc. | Identifying image type in a capture system |
US9176713B2 (en) * | 2005-11-30 | 2015-11-03 | International Business Machines Corporation | Method, apparatus and program storage device that provides a user mode device interface |
US7571368B1 (en) | 2006-01-26 | 2009-08-04 | Promethean Storage Llc | Digital content protection systems and methods |
US8832466B1 (en) * | 2006-01-27 | 2014-09-09 | Trustwave Holdings, Inc. | Methods for augmentation and interpretation of data objects |
US9718268B1 (en) | 2006-01-30 | 2017-08-01 | Shahar Turgeman | Ink printing system comprising groups of inks, each group having a unique ink base composition |
US9352573B1 (en) | 2006-01-30 | 2016-05-31 | Shahar Turgeman | Ink printing system comprising groups of inks, each group having a unique inkbase composition |
US10144222B1 (en) | 2006-01-30 | 2018-12-04 | Shahar Turgeman | Ink printing system |
US7421542B2 (en) * | 2006-01-31 | 2008-09-02 | Cisco Technology, Inc. | Technique for data cache synchronization |
US20070240126A1 (en) * | 2006-02-01 | 2007-10-11 | International Business Machines Corporation | System and method for event based resource selection |
US8386782B2 (en) * | 2006-02-02 | 2013-02-26 | Nokia Corporation | Authenticated group key agreement in groups such as ad-hoc scenarios |
US7421601B2 (en) * | 2006-02-17 | 2008-09-02 | International Business Machines Corporation | Method and system for controlling power in a chip through a power-performance monitor and control unit |
US7996899B1 (en) | 2006-02-24 | 2011-08-09 | Hitachi Global Storage Technologies Netherlands B.V. | Communication systems and methods for digital content modification and protection |
US8243922B1 (en) | 2006-02-24 | 2012-08-14 | Hitachi Global Storage Technologies Netherlands B.V. | Digital content modification for content protection |
US7441102B2 (en) * | 2006-02-28 | 2008-10-21 | Freescale Semiconductor, Inc. | Integrated circuit with functional state configurable memory and method of configuring functional states of the integrated circuit memory |
US8321691B2 (en) * | 2006-03-06 | 2012-11-27 | Stmicroelectronics S.A. | EMA protection of a calculation by an electronic circuit |
JP5060057B2 (en) * | 2006-03-08 | 2012-10-31 | 富士通株式会社 | Communication line monitoring system, relay device, and communication line monitoring method |
KR20070094320A (en) * | 2006-03-17 | 2007-09-20 | 엘지전자 주식회사 | Apparatus for receiving broadcasting, method for transmitting and receiving application, method for transmitting information of status receiving broadcasting, and data structure in accordance with status receiving broadcasting |
US8504537B2 (en) | 2006-03-24 | 2013-08-06 | Mcafee, Inc. | Signature distribution in a document registration system |
US8086842B2 (en) | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
WO2007127188A2 (en) * | 2006-04-24 | 2007-11-08 | Encryptakey, Inc. | Portable device and methods for performing secure transactions |
CN101433014A (en) * | 2006-04-28 | 2009-05-13 | 松下电器产业株式会社 | Communication device and communication system |
US7818740B2 (en) * | 2006-05-05 | 2010-10-19 | Microsoft Corporation | Techniques to perform gradual upgrades |
US8560829B2 (en) * | 2006-05-09 | 2013-10-15 | Broadcom Corporation | Method and system for command interface protection to achieve a secure interface |
US8285988B2 (en) | 2006-05-09 | 2012-10-09 | Broadcom Corporation | Method and system for command authentication to achieve a secure interface |
US20070282318A1 (en) * | 2006-05-16 | 2007-12-06 | Spooner Gregory J | Subcutaneous thermolipolysis using radiofrequency energy |
US8205262B2 (en) * | 2006-05-16 | 2012-06-19 | Bird Peter L | Hardware support for computer speciation |
US7689614B2 (en) | 2006-05-22 | 2010-03-30 | Mcafee, Inc. | Query generation for a capture system |
US7958227B2 (en) | 2006-05-22 | 2011-06-07 | Mcafee, Inc. | Attributes of captured objects in a capture system |
TW200807425A (en) * | 2006-06-05 | 2008-02-01 | Renesas Tech Corp | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID |
WO2007145903A2 (en) | 2006-06-05 | 2007-12-21 | Acumem Ab | System for and method of capturing application characteristics data from a computer system and modeling target system |
FR2902213B1 (en) * | 2006-06-08 | 2008-10-17 | Thomson Licensing Sas | ELECTRONIC CARD WITH SECURITY FUNCTIONS |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288740A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for secure boot across a plurality of processors |
US20070288738A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for selecting a random processor to boot on a multiprocessor system |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
US7774616B2 (en) * | 2006-06-09 | 2010-08-10 | International Business Machines Corporation | Masking a boot sequence by providing a dummy processor |
US8850411B2 (en) * | 2006-06-21 | 2014-09-30 | Element Cxi, Llc | Compiler system, method and software for a resilient integrated circuit architecture |
KR100804698B1 (en) * | 2006-06-26 | 2008-02-18 | 삼성에스디아이 주식회사 | The method of assuming the state of charge of the battery, battery management system using the method and the driving method of the battery management system using the method |
US7934092B2 (en) * | 2006-07-10 | 2011-04-26 | Silverbrook Research Pty Ltd | Electronic device having improved security |
US20080028226A1 (en) * | 2006-07-31 | 2008-01-31 | Brocker Matthew W | System-on-a-chip and method for securely transferring data on a system-on-a-chip |
GB0615392D0 (en) * | 2006-08-03 | 2006-09-13 | Wivenhoe Technology Ltd | Pseudo random number circuitry |
US7769842B2 (en) * | 2006-08-08 | 2010-08-03 | Endl Texas, Llc | Storage management unit to configure zoning, LUN masking, access controls, or other storage area network parameters |
GB0616135D0 (en) * | 2006-08-14 | 2006-09-20 | British Telecomm | Application controller |
US8422673B2 (en) * | 2006-08-31 | 2013-04-16 | Red Hat, Inc. | Method and system for protecting against unity keys |
US8010995B2 (en) * | 2006-09-08 | 2011-08-30 | International Business Machines Corporation | Methods, systems, and computer program products for implementing inter-process integrity serialization |
CA2662968C (en) * | 2006-09-11 | 2013-07-09 | Research In Motion Limited | Apparatus, and associated method, for paging an access terminal in a radio communication system |
DE102006045906A1 (en) * | 2006-09-28 | 2008-04-17 | Infineon Technologies Ag | Module with a controller for a chip card |
US20080080511A1 (en) * | 2006-09-28 | 2008-04-03 | Jian-Guo Chen | Buffer cluster structure and arbiter scheme for multi-port upper-layer network processor |
US9424270B1 (en) | 2006-09-28 | 2016-08-23 | Photobucket Corporation | System and method for managing media files |
US8094685B2 (en) * | 2006-10-04 | 2012-01-10 | Siemens Medical Solutions Usa, Inc. | Systems and methods for synchronizing multiple video streams |
US8452987B2 (en) * | 2006-10-06 | 2013-05-28 | Broadcom Corporation | Method and system for disaster recovery in a secure reprogrammable system |
US8528108B2 (en) * | 2006-10-06 | 2013-09-03 | Agere Systems Llc | Protecting secret information in a programmed electronic device |
US20080098380A1 (en) * | 2006-10-18 | 2008-04-24 | Toby Klusmeyer | System, method, and device for updating programmable electronic equipment with a transport device from a deployment server via the internet or other communication medium |
KR100831677B1 (en) * | 2006-10-27 | 2008-05-22 | 주식회사 하이닉스반도체 | Counter control signal generating circuit |
WO2008049235A1 (en) * | 2006-10-27 | 2008-05-02 | Storage Appliance Corporation | Systems and methods for controlling production quantities |
US7656331B2 (en) * | 2006-10-31 | 2010-02-02 | Freescale Semiconductor, Inc. | System on a chip with multiple independent outputs |
DE102006052173B4 (en) * | 2006-11-02 | 2023-06-01 | Fast Lta Gmbh | Write protection method and apparatus for at least one random access memory device |
US8443341B2 (en) | 2006-11-09 | 2013-05-14 | Rogue Wave Software, Inc. | System for and method of capturing application characteristics data from a computer system and modeling target system |
US7607752B2 (en) * | 2006-11-17 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | Misfiring print nozzle compensation |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US8719501B2 (en) | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
CN101715575A (en) * | 2006-12-06 | 2010-05-26 | 弗森多系统公司(dba弗森-艾奥) | Adopt device, the system and method for data pipe management data |
US8935302B2 (en) * | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
CN101636712B (en) | 2006-12-06 | 2016-04-13 | 才智知识产权控股公司(2) | The device of object requests, system and method is served in memory controller |
US20100318953A1 (en) * | 2006-12-13 | 2010-12-16 | Luminary Micro, Inc. | Platform programming for mass customization |
JP5043416B2 (en) * | 2006-12-15 | 2012-10-10 | キヤノン株式会社 | Information processing apparatus, system and program, device, and storage medium |
WO2008075311A2 (en) * | 2006-12-20 | 2008-06-26 | Nxp B.V. | Clock generation for memory access without a local oscillator |
US7794036B2 (en) * | 2006-12-22 | 2010-09-14 | Pitney Bowes Inc. | Ensuring print quality for postage meter systems |
US7711684B2 (en) | 2006-12-28 | 2010-05-04 | Ebay Inc. | Collaborative content evaluation |
US7877812B2 (en) * | 2007-01-04 | 2011-01-25 | International Business Machines Corporation | Method, system and computer program product for enforcing privacy policies |
US8472066B1 (en) | 2007-01-11 | 2013-06-25 | Marvell International Ltd. | Usage maps in image deposition devices |
US8234624B2 (en) * | 2007-01-25 | 2012-07-31 | International Business Machines Corporation | System and method for developing embedded software in-situ |
WO2008094470A1 (en) * | 2007-01-26 | 2008-08-07 | Magtek, Inc. | Card reader for use with web based transactions |
JP2008183884A (en) * | 2007-01-31 | 2008-08-14 | Fujifilm Corp | Image forming device and transfer method of printing data |
EP2118866A1 (en) * | 2007-02-09 | 2009-11-18 | Agency for Science, Technology and Research | A method and system for tamper proofing a system of interconnected electronic devices |
WO2008100520A2 (en) | 2007-02-12 | 2008-08-21 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
NZ553309A (en) * | 2007-02-19 | 2009-07-31 | Kevin I Plumpton | System and method minimisation, management and recovery of interruption |
US7703060B2 (en) * | 2007-02-23 | 2010-04-20 | International Business Machines Corporation | Stitched IC layout methods, systems and program product |
US7532993B2 (en) * | 2007-02-26 | 2009-05-12 | Infineon Technologies Ag | Device providing trim values |
US8260783B2 (en) | 2007-02-27 | 2012-09-04 | Siemens Aktiengesellschaft | Storage of multiple, related time-series data streams |
DE102007009909B4 (en) * | 2007-02-28 | 2016-09-08 | Globalfoundries Inc. | A method of validating an atomic transaction in a multi-core microprocessor environment |
US8484220B2 (en) * | 2007-03-06 | 2013-07-09 | Mcafee, Inc. | Clustered index with differentiated subfields |
US7636875B2 (en) * | 2007-03-08 | 2009-12-22 | Texas Instruments Incorporated | Low noise coding for digital data interface |
US8316158B1 (en) | 2007-03-12 | 2012-11-20 | Cypress Semiconductor Corporation | Configuration of programmable device using a DMA controller |
DE102007029133A1 (en) * | 2007-03-20 | 2008-09-25 | Ludwig-Maximilians-Universität | Method for computer-aided determination of the dependencies of a plurality of modules of a technical system, in particular of a software system |
WO2009022239A2 (en) * | 2007-03-26 | 2009-02-19 | Acumem Ab | System for and method of capturing performance characteristics data from a computer system and modeling target system performance |
US8060661B1 (en) | 2007-03-27 | 2011-11-15 | Cypress Semiconductor Corporation | Interface circuit and method for programming or communicating with an integrated circuit via a power supply pin |
JP5029101B2 (en) * | 2007-04-04 | 2012-09-19 | 富士ゼロックス株式会社 | Image processing apparatus, image recording apparatus, image processing method, and image processing program |
EP1978468A1 (en) * | 2007-04-04 | 2008-10-08 | Sap Ag | A method and a system for secure execution of workflow tasks in a distributed workflow management system within a decentralized network system |
US7958432B2 (en) * | 2007-04-11 | 2011-06-07 | International Business Machines Corporation | Verification of non volatile storage storing preserved unneeded data |
KR101351019B1 (en) * | 2007-04-13 | 2014-01-13 | 엘지전자 주식회사 | apparatus for transmitting and receiving a broadcast signal and method of transmitting and receiving a broadcast signal |
KR101351026B1 (en) | 2007-04-13 | 2014-01-13 | 엘지전자 주식회사 | apparatus for transmitting and receiving a broadcast signal and method of transmitting and receiving a broadcast signal |
EP2392253B1 (en) | 2007-04-18 | 2020-06-17 | Löwenstein Medical Technology S.A. | Method and device for updating respirators |
US20080263233A1 (en) * | 2007-04-19 | 2008-10-23 | Thomas Hein | Integrated circuit and memory device |
US20080266563A1 (en) * | 2007-04-26 | 2008-10-30 | Redman David J | Measuring color using color filter arrays |
US7761632B2 (en) | 2007-04-27 | 2010-07-20 | Atmel Corporation | Serialization of data for communication with slave in multi-chip bus implementation |
US7814250B2 (en) | 2007-04-27 | 2010-10-12 | Atmel Corporation | Serialization of data for multi-chip bus implementation |
US7769933B2 (en) * | 2007-04-27 | 2010-08-03 | Atmel Corporation | Serialization of data for communication with master in multi-chip bus implementation |
US7743186B2 (en) * | 2007-04-27 | 2010-06-22 | Atmel Corporation | Serialization of data for communication with different-protocol slave in multi-chip bus implementation |
WO2008137458A2 (en) * | 2007-05-01 | 2008-11-13 | Mentor Graphics Corporation | Generating test sequences for testing circuit channels |
US20080275662A1 (en) | 2007-05-01 | 2008-11-06 | Vladimir Dmitriev-Zdorov | Generating transmission-code compliant test sequences |
US7827455B1 (en) * | 2007-05-01 | 2010-11-02 | Unisys Corporation | System and method for detecting glitches on a high-speed interface |
US20080273584A1 (en) * | 2007-05-01 | 2008-11-06 | Vladimir Dmitriev-Zdorov | Generating test sequences for circuit channels exhibiting duty-cycle distortion |
KR100970003B1 (en) * | 2007-05-02 | 2010-07-16 | 한국전자통신연구원 | Method and apparatus for transmitting signal |
US9406388B2 (en) | 2007-05-10 | 2016-08-02 | Micron Technology, Inc. | Memory area protection system and methods |
TW200847087A (en) * | 2007-05-18 | 2008-12-01 | Beyond Innovation Tech Co Ltd | Method and system for protecting information between a master terminal and a slave terminal |
US8040556B2 (en) * | 2007-05-24 | 2011-10-18 | Dainippon Screen Mfg. Co., Ltd. | Image data generating method, printing method, image data generating apparatus, and printer |
US7823006B2 (en) * | 2007-05-29 | 2010-10-26 | Microsoft Corporation | Analyzing problem signatures |
US20080301433A1 (en) * | 2007-05-30 | 2008-12-04 | Atmel Corporation | Secure Communications |
ATE524006T1 (en) * | 2007-06-11 | 2011-09-15 | Fts Computertechnik Gmbh | METHOD AND ARCHITECTURE FOR SECURING REAL-TIME DATA |
US9037750B2 (en) * | 2007-07-10 | 2015-05-19 | Qualcomm Incorporated | Methods and apparatus for data exchange in peer to peer communications |
US20090022319A1 (en) * | 2007-07-19 | 2009-01-22 | Mark Shahaf | Method and apparatus for securing data and communication |
JP2009027472A (en) * | 2007-07-19 | 2009-02-05 | Toshiba Corp | Cipher calculation device |
US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
KR20090014034A (en) * | 2007-08-03 | 2009-02-06 | 삼성전자주식회사 | Inkjet image forming apparatus |
CN101364210B (en) * | 2007-08-06 | 2012-05-30 | 鸿富锦精密工业(深圳)有限公司 | Portable computer with components expandable |
JP2009053901A (en) * | 2007-08-27 | 2009-03-12 | Seiko Epson Corp | Printer |
US7505340B1 (en) * | 2007-08-28 | 2009-03-17 | International Business Machines Corporation | Method for implementing SRAM cell write performance evaluation |
US7917716B2 (en) * | 2007-08-31 | 2011-03-29 | Standard Microsystems Corporation | Memory protection for embedded controllers |
US8006095B2 (en) * | 2007-08-31 | 2011-08-23 | Standard Microsystems Corporation | Configurable signature for authenticating data or program code |
KR101429674B1 (en) * | 2007-09-11 | 2014-08-13 | 삼성전자주식회사 | Apparatus and method for reducing power consumption in system on chip |
FR2921171B1 (en) * | 2007-09-14 | 2015-10-23 | Airbus France | METHOD OF MINIMIZING THE VOLUME OF INFORMATION REQUIRED FOR DEBUGGING OPERATING SOFTWARE OF AN ON-BOARD AIRCRAFT SYSTEM, AND DEVICE FOR IMPLEMENTING THE SAME |
US8127233B2 (en) * | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
JP5082737B2 (en) * | 2007-10-09 | 2012-11-28 | パナソニック株式会社 | Information processing apparatus and information theft prevention method |
US8619877B2 (en) * | 2007-10-11 | 2013-12-31 | Microsoft Corporation | Optimized key frame caching for remote interface rendering |
US8121423B2 (en) | 2007-10-12 | 2012-02-21 | Microsoft Corporation | Remote user interface raster segment motion detection and encoding |
US8106909B2 (en) * | 2007-10-13 | 2012-01-31 | Microsoft Corporation | Common key frame caching for a remote user interface |
US8327191B2 (en) * | 2007-10-19 | 2012-12-04 | International Business Machines Corporation | Automatically populating symptom databases for software applications |
US20090113256A1 (en) * | 2007-10-24 | 2009-04-30 | Nokia Corporation | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding |
US7741659B2 (en) * | 2007-10-25 | 2010-06-22 | United Microelectronics Corp. | Semiconductor device |
US8135960B2 (en) * | 2007-10-30 | 2012-03-13 | International Business Machines Corporation | Multiprocessor electronic circuit including a plurality of processors and electronic data processing system |
US8260891B2 (en) * | 2007-10-30 | 2012-09-04 | Dell Products L.P. | System and method for the provision of secure network boot services |
CN102333100B (en) * | 2007-11-08 | 2013-11-06 | 华为技术有限公司 | Authentication method and terminal |
JP4992678B2 (en) * | 2007-11-13 | 2012-08-08 | 富士通株式会社 | Image processing method, control program, and image processing apparatus |
US7866779B2 (en) * | 2007-11-16 | 2011-01-11 | Hewlett-Packard Development Company, L.P. | Defective nozzle replacement in a printer |
CN101441587B (en) * | 2007-11-19 | 2011-05-18 | 辉达公司 | Method and system for automatically analyzing GPU test result |
JP5007663B2 (en) * | 2007-11-30 | 2012-08-22 | セイコーエプソン株式会社 | Business management system and program |
US8195912B2 (en) | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7809980B2 (en) * | 2007-12-06 | 2010-10-05 | Jehoda Refaeli | Error detector in a cache memory using configurable way redundancy |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8316277B2 (en) | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US8411665B2 (en) * | 2007-12-11 | 2013-04-02 | At&T Intellectual Property I, L.P. | System and method of routing voice communications via peering networks |
US8786359B2 (en) * | 2007-12-12 | 2014-07-22 | Sandisk Technologies Inc. | Current mirror device and method |
WO2009073969A1 (en) | 2007-12-13 | 2009-06-18 | Certicom Corp. | System and method for controlling features on a device |
US8028195B2 (en) * | 2007-12-18 | 2011-09-27 | International Business Machines Corporation | Structure for indicating status of an on-chip power supply system |
KR100909067B1 (en) * | 2007-12-18 | 2009-07-23 | 한국전자통신연구원 | Wake-up Receiver and Wake-up Method Using Constant Cyclic Power Shutdown |
US7917806B2 (en) * | 2007-12-18 | 2011-03-29 | International Business Machines Corporation | System and method for indicating status of an on-chip power supply system |
US7723153B2 (en) * | 2007-12-26 | 2010-05-25 | Organicid, Inc. | Printed organic logic circuits using an organic semiconductor as a resistive load device |
US8341751B2 (en) * | 2007-12-26 | 2012-12-25 | Wilson Kelce S | Software license management |
US7934052B2 (en) | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US7756659B2 (en) * | 2008-01-11 | 2010-07-13 | Fairchild Semiconductor Corporation | Delay stabilization for skew tolerance |
US8503679B2 (en) * | 2008-01-23 | 2013-08-06 | The Boeing Company | Short message encryption |
CN101364444B (en) * | 2008-02-05 | 2011-05-11 | 威盛电子股份有限公司 | Control method and memory and process system using the control method |
US8108831B2 (en) * | 2008-02-07 | 2012-01-31 | Microsoft Corporation | Iterative component binding |
US9069706B2 (en) * | 2008-02-11 | 2015-06-30 | Nvidia Corporation | Confidential information protection system and method |
US7886089B2 (en) * | 2008-02-13 | 2011-02-08 | International Business Machines Corporation | Method, system and computer program product for enhanced shared store buffer management scheme for differing buffer sizes with limited resources for optimized performance |
US8423993B2 (en) * | 2008-02-29 | 2013-04-16 | Red Hat, Inc. | Systems and methods for managing software patches |
JP4557021B2 (en) * | 2008-02-29 | 2010-10-06 | ブラザー工業株式会社 | Droplet ejector |
US8312534B2 (en) * | 2008-03-03 | 2012-11-13 | Lenovo (Singapore) Pte. Ltd. | System and method for securely clearing secret data that remain in a computer system memory |
KR100997879B1 (en) * | 2008-03-03 | 2010-12-07 | 삼성전자주식회사 | Crum unit, replaceable unit, image forming device comprising them, and method for performing a cryptographic data communication thereof |
US20090228875A1 (en) * | 2008-03-04 | 2009-09-10 | Devries Alex | Method and System for Reducing Disk Allocation by Profiling Symbol Usage |
US20100198830A1 (en) * | 2008-03-06 | 2010-08-05 | Nitrosecurity, Inc. | Dynamic data distribution aggregation |
PT2263146E (en) * | 2008-03-14 | 2013-06-04 | Hewlett Packard Development Co | Secure access to fluid cartridge memory |
US8752038B1 (en) * | 2008-03-17 | 2014-06-10 | Symantec Corporation | Reducing boot time by providing quantitative performance cost data within a boot management user interface |
US8314942B1 (en) * | 2009-02-27 | 2012-11-20 | Marvell International Ltd. | Positioning and printing of a handheld device |
JP4990315B2 (en) * | 2008-03-20 | 2012-08-01 | アナパス・インコーポレーテッド | Display device and method for transmitting clock signal during blank period |
US8171386B2 (en) * | 2008-03-27 | 2012-05-01 | Arm Limited | Single event upset error detection within sequential storage circuitry of an integrated circuit |
US8434064B2 (en) * | 2008-03-28 | 2013-04-30 | Microsoft Corporation | Detecting memory errors using write integrity testing |
US8504980B1 (en) * | 2008-04-14 | 2013-08-06 | Sap Ag | Constraining data changes during transaction processing by a computer system |
US8031952B2 (en) * | 2008-04-21 | 2011-10-04 | Broadcom Corporation | Method and apparatus for optimizing memory usage in image processing |
US8200986B2 (en) * | 2008-04-24 | 2012-06-12 | Apple Inc. | Computer enabled secure status return |
JP5050985B2 (en) * | 2008-04-30 | 2012-10-17 | 富士通株式会社 | Verification support program, verification support apparatus, and verification support method |
WO2009136402A2 (en) * | 2008-05-07 | 2009-11-12 | Cosmologic Ltd. | Register file system and method thereof for enabling a substantially direct memory access |
US9058483B2 (en) | 2008-05-08 | 2015-06-16 | Google Inc. | Method for validating an untrusted native code module |
JP5056573B2 (en) * | 2008-05-09 | 2012-10-24 | 富士通株式会社 | Design support program, design support apparatus, and design support method |
US7882406B2 (en) * | 2008-05-09 | 2011-02-01 | Lsi Corporation | Built in test controller with a downloadable testing program |
KR20110050404A (en) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | Apparatus, system, and method for detecting and replacing failed data storage |
US8819839B2 (en) * | 2008-05-24 | 2014-08-26 | Via Technologies, Inc. | Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels |
US8607034B2 (en) * | 2008-05-24 | 2013-12-10 | Via Technologies, Inc. | Apparatus and method for disabling a microprocessor that provides for a secure execution mode |
US8156391B2 (en) * | 2008-05-27 | 2012-04-10 | Lsi Corporation | Data controlling in the MBIST chain architecture |
PT2286328E (en) * | 2008-05-29 | 2014-10-08 | Hewlett Packard Development Co | Replaceable printer component including a memory storing a tag encryption mask |
PT3208736T (en) * | 2008-05-29 | 2020-01-21 | Hewlett Packard Development Co | Authenticating a replaceable printer component |
JP5217647B2 (en) * | 2008-06-04 | 2013-06-19 | 富士通株式会社 | Information processing apparatus and information processing method |
US8175403B1 (en) * | 2008-06-05 | 2012-05-08 | Google Inc. | Iterative backward reference selection with reduced entropy for image compression |
US8046643B2 (en) * | 2008-06-09 | 2011-10-25 | Lsi Corporation | Transport subsystem for an MBIST chain architecture |
US20090319736A1 (en) * | 2008-06-24 | 2009-12-24 | Hitachi, Ltd. | Method and apparatus for integrated nas and cas data backup |
JP2011527465A (en) * | 2008-06-30 | 2011-10-27 | モミニス リミテッド | Generation and distribution of computer applications |
US8181230B2 (en) * | 2008-06-30 | 2012-05-15 | International Business Machines Corporation | System and method for adaptive approximating of a user for role authorization in a hierarchical inter-organizational model |
US8151008B2 (en) | 2008-07-02 | 2012-04-03 | Cradle Ip, Llc | Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling |
US8205242B2 (en) | 2008-07-10 | 2012-06-19 | Mcafee, Inc. | System and method for data mining and security policy management |
US8325554B2 (en) * | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
US8954804B2 (en) * | 2008-07-15 | 2015-02-10 | Ati Technologies Ulc | Secure boot circuit and method |
US9176754B2 (en) | 2008-07-16 | 2015-11-03 | Google Inc. | Method and system for executing applications using native code modules |
US20100014670A1 (en) * | 2008-07-18 | 2010-01-21 | Texas Instruments Incorporated | One-Way Hash Extension for Encrypted Communication |
US8706951B2 (en) * | 2008-07-18 | 2014-04-22 | Marvell World Trade Ltd. | Selectively accessing faster or slower multi-level cell memory |
US8151349B1 (en) | 2008-07-21 | 2012-04-03 | Google Inc. | Masking mechanism that facilitates safely executing untrusted native code |
CH699208B1 (en) * | 2008-07-25 | 2019-03-29 | Em Microelectronic Marin Sa | Shared memory processor circuit and buffer system. |
US7992064B2 (en) * | 2008-07-29 | 2011-08-02 | Texas Instruments Incorporated | Selecting a scan topology |
US20100030627A1 (en) * | 2008-08-01 | 2010-02-04 | Christopher Lee | system and method of managing project templates |
CN101329719B (en) * | 2008-08-01 | 2010-11-10 | 西安西电捷通无线网络通信股份有限公司 | Anonymous authentication method suitable for homogeneous electronic label |
WO2010019593A1 (en) | 2008-08-11 | 2010-02-18 | Assa Abloy Ab | Secure wiegand communications |
US9253154B2 (en) | 2008-08-12 | 2016-02-02 | Mcafee, Inc. | Configuration management for a capture/registration system |
FR2935078B1 (en) * | 2008-08-12 | 2012-11-16 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | METHOD OF PROTECTING THE DECRYPTION OF CONFIGURATION FILES OF PROGRAMMABLE LOGIC CIRCUITS AND CIRCUIT USING THE METHOD |
US8582052B2 (en) * | 2008-08-22 | 2013-11-12 | Gentex Corporation | Discrete LED backlight control for a reduced power LCD display system |
US9324072B1 (en) * | 2008-08-22 | 2016-04-26 | Ixys Intl Limited | Bit-flipping memory controller to prevent SRAM data remanence |
US20100049658A1 (en) * | 2008-08-22 | 2010-02-25 | Javier Sanchez | Secure electronic transaction system |
US8051467B2 (en) * | 2008-08-26 | 2011-11-01 | Atmel Corporation | Secure information processing |
US8239567B1 (en) | 2008-09-09 | 2012-08-07 | Marvell International Ltd. | Filtering superfluous data fragments on a computer network |
US8356128B2 (en) * | 2008-09-16 | 2013-01-15 | Nvidia Corporation | Method and system of reducing latencies associated with resource allocation by using multiple arbiters |
US8132267B2 (en) * | 2008-09-30 | 2012-03-06 | Intel Corporation | Apparatus and method to harden computer system |
US20100083365A1 (en) * | 2008-09-30 | 2010-04-01 | Naga Gurumoorthy | Apparatus and method to harden computer system |
US20100082846A1 (en) * | 2008-10-01 | 2010-04-01 | Kyung Hwan Kim | Usb device and method for connecting the usb device with usb host |
US20100085239A1 (en) * | 2008-10-03 | 2010-04-08 | Rosemount Aerospace Inc. | Device and method for detecting a target using a high speed sampling device |
US8161367B2 (en) * | 2008-10-07 | 2012-04-17 | Arm Limited | Correction of single event upset error within sequential storage circuitry of an integrated circuit |
US8370552B2 (en) * | 2008-10-14 | 2013-02-05 | Nvidia Corporation | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions |
US7825721B2 (en) * | 2008-10-17 | 2010-11-02 | United Technologies Corp. | Systems and methods for filtering signals corresponding to sensed parameters |
US8056044B2 (en) * | 2008-10-21 | 2011-11-08 | Atmel Corporation | Signal processing |
US8020053B2 (en) * | 2008-10-29 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | On-line memory testing |
US8510713B1 (en) | 2008-10-31 | 2013-08-13 | Google Inc. | Method and system for validating a disassembler |
US20100132047A1 (en) * | 2008-11-24 | 2010-05-27 | Honeywell International Inc. | Systems and methods for tamper resistant memory devices |
US8180730B2 (en) * | 2008-11-25 | 2012-05-15 | International Business Machines Corporation | Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas |
US10452844B2 (en) * | 2008-11-26 | 2019-10-22 | International Business Machines Corporation | Protecting isolated secret data of integrated circuit devices |
JP5458556B2 (en) * | 2008-11-27 | 2014-04-02 | ソニー株式会社 | Timing adjustment circuit, solid-state imaging device, and camera system |
US8266593B2 (en) * | 2008-12-01 | 2012-09-11 | Wipro Limited | System and method for analyzing performance of a software testing system |
WO2010067495A1 (en) * | 2008-12-08 | 2010-06-17 | パナソニック株式会社 | System clock monitoring apparatus and motor control system |
US8417761B2 (en) * | 2008-12-08 | 2013-04-09 | International Business Machines Corporation | Direct decimal number tripling in binary coded adders |
US7895385B2 (en) * | 2008-12-09 | 2011-02-22 | Nvidia Corporation | Establishing communication over serial buses in a slave device |
US8194481B2 (en) | 2008-12-18 | 2012-06-05 | Mosaid Technologies Incorporated | Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation |
US8037235B2 (en) * | 2008-12-18 | 2011-10-11 | Mosaid Technologies Incorporated | Device and method for transferring data to a non-volatile memory device |
JP2010149537A (en) * | 2008-12-23 | 2010-07-08 | Autonetworks Technologies Ltd | Control apparatus, control method, and computer program |
TWI387023B (en) * | 2008-12-25 | 2013-02-21 | Silicon Motion Inc | Method of preventing data loss during a solder reflow process and memory device using the same |
US8055936B2 (en) * | 2008-12-31 | 2011-11-08 | Pitney Bowes Inc. | System and method for data recovery in a disabled integrated circuit |
CN101772020B (en) * | 2009-01-05 | 2011-12-28 | 华为技术有限公司 | Method and system for authentication processing, 3GPP authentication authorization accounting server and user device |
US8850591B2 (en) | 2009-01-13 | 2014-09-30 | Mcafee, Inc. | System and method for concept building |
US8706709B2 (en) | 2009-01-15 | 2014-04-22 | Mcafee, Inc. | System and method for intelligent term grouping |
US8125672B2 (en) * | 2009-01-21 | 2012-02-28 | Infoprint Solutions Company Llc | Dual ink systems in a printer |
US8788850B1 (en) * | 2009-01-22 | 2014-07-22 | Marvell International Ltd. | Systems and methods for using a security circuit to monitor a voltage of an integrated circuit to counter security threats to the integrated circuit |
EP2693641A1 (en) * | 2009-02-12 | 2014-02-05 | Mosaid Technologies Incorporated | Termination circuit for on-die termination |
US8371669B1 (en) * | 2009-02-18 | 2013-02-12 | Marvell International Ltd. | Fire timing control in printing devices |
US8242790B2 (en) * | 2009-02-23 | 2012-08-14 | Lewis James M | Method and system for detection of tampering related to reverse engineering |
US8598890B2 (en) * | 2009-02-23 | 2013-12-03 | Lewis Innovative Technologies | Method and system for protecting products and technology from integrated circuits which have been subject to tampering, stressing and replacement as well as detecting integrated circuits that have been subject to tampering |
US8473442B1 (en) | 2009-02-25 | 2013-06-25 | Mcafee, Inc. | System and method for intelligent state management |
JP2010200090A (en) * | 2009-02-26 | 2010-09-09 | Toshiba Corp | Phase compensation clock synchronizing circuit |
AU2010224157A1 (en) * | 2009-03-10 | 2011-10-20 | Ims Software Services, Ltd. | Systems and methods for address intelligence |
US8266503B2 (en) | 2009-03-13 | 2012-09-11 | Fusion-Io | Apparatus, system, and method for using multi-level cell storage in a single-level cell mode |
WO2010106537A2 (en) * | 2009-03-15 | 2010-09-23 | Authix Tecnologies Srl. | Remote product authentication |
US8938717B1 (en) * | 2009-03-16 | 2015-01-20 | Xilinx, Inc. | Updating an installed computer program |
JP5366600B2 (en) * | 2009-03-16 | 2013-12-11 | キヤノン株式会社 | Image forming apparatus |
US9442846B2 (en) | 2009-03-17 | 2016-09-13 | Cisco Technology, Inc. | High speed memory systems and methods for designing hierarchical memory systems |
US8433880B2 (en) | 2009-03-17 | 2013-04-30 | Memoir Systems, Inc. | System and method for storing data in a virtualized high speed memory system |
US8667121B2 (en) | 2009-03-25 | 2014-03-04 | Mcafee, Inc. | System and method for managing data and policies |
US8447722B1 (en) | 2009-03-25 | 2013-05-21 | Mcafee, Inc. | System and method for data mining and security policy management |
US8162433B2 (en) * | 2009-03-30 | 2012-04-24 | Xerox Corporation | System and method for scheduling ink jet recovery in an ink jet printer |
US8698823B2 (en) | 2009-04-08 | 2014-04-15 | Nvidia Corporation | System and method for deadlock-free pipelining |
US9569282B2 (en) | 2009-04-24 | 2017-02-14 | Microsoft Technology Licensing, Llc | Concurrent mutation of isolated object graphs |
US8726043B2 (en) * | 2009-04-29 | 2014-05-13 | Empire Technology Development Llc | Securing backing storage data passed through a network |
US8352679B2 (en) * | 2009-04-29 | 2013-01-08 | Empire Technology Development Llc | Selectively securing data and/or erasing secure data caches responsive to security compromising conditions |
US8799671B2 (en) * | 2009-05-06 | 2014-08-05 | Empire Technology Development Llc | Techniques for detecting encrypted data |
US8924743B2 (en) | 2009-05-06 | 2014-12-30 | Empire Technology Development Llc | Securing data caches through encryption |
US8417754B2 (en) | 2009-05-11 | 2013-04-09 | Empire Technology Development, Llc | Identification of integrated circuits |
US8180981B2 (en) * | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8538587B2 (en) * | 2009-05-21 | 2013-09-17 | Lennox Industries Inc. | HVAC system with automated blower capacity dehumidification, a HVAC controller therefor and a method of operation thereof |
US20100303239A1 (en) * | 2009-05-27 | 2010-12-02 | Fujitsu Limited | Method and apparatus for protecting root key in control system |
IL199272A0 (en) | 2009-06-10 | 2012-07-16 | Nds Ltd | Protection of secret value using hardware instability |
US9846789B2 (en) | 2011-09-06 | 2017-12-19 | International Business Machines Corporation | Protecting application programs from malicious software or malware |
US8954752B2 (en) | 2011-02-23 | 2015-02-10 | International Business Machines Corporation | Building and distributing secure object software |
US8819446B2 (en) * | 2009-06-26 | 2014-08-26 | International Business Machines Corporation | Support for secure objects in a computer system |
US9298894B2 (en) * | 2009-06-26 | 2016-03-29 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US9954875B2 (en) | 2009-06-26 | 2018-04-24 | International Business Machines Corporation | Protecting from unintentional malware download |
US8578175B2 (en) | 2011-02-23 | 2013-11-05 | International Business Machines Corporation | Secure object having protected region, integrity tree, and unprotected region |
JP4772891B2 (en) * | 2009-06-30 | 2011-09-14 | 株式会社東芝 | Host controller, computer terminal and card access method |
US8797337B1 (en) | 2009-07-02 | 2014-08-05 | Google Inc. | Graphics scenegraph rendering for web applications using native code modules |
KR101196410B1 (en) * | 2009-07-07 | 2012-11-01 | 삼성전자주식회사 | Method for auto setting configuration of television according to installation type of television and television using the same |
US8397088B1 (en) | 2009-07-21 | 2013-03-12 | The Research Foundation Of State University Of New York | Apparatus and method for efficient estimation of the energy dissipation of processor based systems |
US8984198B2 (en) * | 2009-07-21 | 2015-03-17 | Microchip Technology Incorporated | Data space arbiter |
JP5362010B2 (en) * | 2009-07-29 | 2013-12-11 | パナソニック株式会社 | Memory device, host device, and memory system |
US8176150B2 (en) * | 2009-08-12 | 2012-05-08 | Dell Products L.P. | Automated services procurement through multi-stage process |
US8370935B1 (en) | 2009-08-17 | 2013-02-05 | Fatskunk, Inc. | Auditing a device |
US8949989B2 (en) | 2009-08-17 | 2015-02-03 | Qualcomm Incorporated | Auditing a device |
US8544089B2 (en) | 2009-08-17 | 2013-09-24 | Fatskunk, Inc. | Auditing a device |
US8375442B2 (en) * | 2009-08-17 | 2013-02-12 | Fatskunk, Inc. | Auditing a device |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
EP2476039B1 (en) | 2009-09-09 | 2016-10-26 | SanDisk Technologies LLC | Apparatus, system, and method for power reduction management in a storage device |
WO2011031903A2 (en) * | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US9084071B2 (en) * | 2009-09-10 | 2015-07-14 | Michael-Anthony Lisboa | Simple mobile registration mechanism enabling automatic registration via mobile devices |
US8689434B2 (en) * | 2009-10-14 | 2014-04-08 | Nanya Technology Corporation | Integrated circuit manufacturing system |
JP5556405B2 (en) * | 2009-10-19 | 2014-07-23 | 株式会社リコー | Power supply control apparatus, image forming apparatus, and power supply control method |
CN102055887A (en) * | 2009-10-29 | 2011-05-11 | 鸿富锦精密工业(深圳)有限公司 | Network camera and data management and control method thereof |
US8902912B2 (en) | 2009-11-04 | 2014-12-02 | New Jersey Institute Of Technology | Differential frame based scheduling for input queued switches |
US8131889B2 (en) * | 2009-11-10 | 2012-03-06 | Apple Inc. | Command queue for peripheral component |
US9672109B2 (en) * | 2009-11-25 | 2017-06-06 | International Business Machines Corporation | Adaptive dispersed storage network (DSN) and system |
US8819452B2 (en) | 2009-11-25 | 2014-08-26 | Cleversafe, Inc. | Efficient storage of encrypted data in a dispersed storage network |
DE102009047538B4 (en) * | 2009-12-04 | 2018-02-22 | Endress + Hauser Process Solutions Ag | Method for optimizing the parameter setting of power supply parameters of a field device power module |
EP2507708B1 (en) * | 2009-12-04 | 2019-03-27 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8452989B1 (en) * | 2009-12-09 | 2013-05-28 | Emc Corporation | Providing security to an electronic device |
CN102095956B (en) * | 2009-12-11 | 2013-02-13 | 名硕电脑(苏州)有限公司 | Detecting device and method |
WO2011075167A1 (en) * | 2009-12-15 | 2011-06-23 | Memoir Systems,Inc. | System and method for reduced latency caching |
DE102009055271A1 (en) * | 2009-12-23 | 2011-06-30 | Carl Zeiss NTS GmbH, 73447 | Method for generating a representation of an object by means of a particle beam and particle beam apparatus for carrying out the method |
US20110161560A1 (en) * | 2009-12-31 | 2011-06-30 | Hutchison Neil D | Erase command caching to improve erase performance on flash memory |
US9134918B2 (en) * | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
US9514055B2 (en) * | 2009-12-31 | 2016-12-06 | Seagate Technology Llc | Distributed media cache for data storage systems |
US8645930B2 (en) * | 2010-01-04 | 2014-02-04 | Apple Inc. | System and method for obfuscation by common function and common function prototype |
EP2524334B1 (en) * | 2010-01-12 | 2020-07-08 | Stc.Unm | System and methods for generating unclonable security keys in integrated circuits |
WO2011094312A1 (en) * | 2010-01-26 | 2011-08-04 | Silver Tail Systems, Inc. | System and method for network security including detection of man-in-the-browser attacks |
WO2011094454A2 (en) * | 2010-01-27 | 2011-08-04 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US8854882B2 (en) | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
JP5446943B2 (en) * | 2010-01-29 | 2014-03-19 | ソニー株式会社 | Printing system and printer apparatus control method |
WO2011097482A1 (en) | 2010-02-05 | 2011-08-11 | Maxlinear, Inc. | Conditional access integration in a soc for mobile tv applications |
US8432981B1 (en) * | 2010-03-10 | 2013-04-30 | Smsc Holdings S.A.R.L. | High frequency and idle communication signal state detection |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
US8370648B1 (en) * | 2010-03-15 | 2013-02-05 | Emc International Company | Writing and reading encrypted data using time-based encryption keys |
KR20110105153A (en) * | 2010-03-18 | 2011-09-26 | 삼성전자주식회사 | Flipflop circuit and scan flipflop circuit |
JP5479177B2 (en) * | 2010-03-19 | 2014-04-23 | 株式会社Pfu | Information processing apparatus, consumable management method, and program |
US9141580B2 (en) * | 2010-03-23 | 2015-09-22 | Citrix Systems, Inc. | Systems and methods for monitoring and maintaining consistency of a configuration |
WO2011119985A2 (en) | 2010-03-26 | 2011-09-29 | Maxlinear, Inc. | Firmware authentication and deciphering for secure tv receiver |
US20120079279A1 (en) * | 2010-03-29 | 2012-03-29 | Maxlinear, Inc. | Generation of SW Encryption Key During Silicon Manufacturing Process |
WO2011123561A1 (en) | 2010-03-30 | 2011-10-06 | Maxlinear, Inc. | Control word obfuscation in secure tv receiver |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
CA2799738A1 (en) * | 2010-05-17 | 2011-11-24 | Jon Parsons | System and method for multi-dimensional secretion of digital data |
US10353774B2 (en) * | 2015-10-30 | 2019-07-16 | International Business Machines Corporation | Utilizing storage unit latency data in a dispersed storage network |
US9311664B2 (en) * | 2010-05-25 | 2016-04-12 | Salesforce.Com, Inc. | Systems and methods for automatically collection of performance data in a multi-tenant database system environment |
US20110302551A1 (en) * | 2010-06-02 | 2011-12-08 | Hummel Jr David Martin | System and method for analytic process design |
US8977936B2 (en) * | 2010-06-10 | 2015-03-10 | The Regents Of The University Of California | Strong single and multiple error correcting WOM codes, coding methods and devices |
US8433727B2 (en) * | 2010-06-22 | 2013-04-30 | Red Hat Israel, Ltd. | Method and apparatus for restricting access to writable properties at runtime |
US8514630B2 (en) | 2010-07-09 | 2013-08-20 | Sandisk Technologies Inc. | Detection of word-line leakage in memory arrays: current based approach |
US8305807B2 (en) | 2010-07-09 | 2012-11-06 | Sandisk Technologies Inc. | Detection of broken word-lines in memory arrays |
US8432732B2 (en) | 2010-07-09 | 2013-04-30 | Sandisk Technologies Inc. | Detection of word-line leakage in memory arrays |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8782435B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time using control flow signatures |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US10013354B2 (en) | 2010-07-28 | 2018-07-03 | Sandisk Technologies Llc | Apparatus, system, and method for atomic storage operations |
US9213522B2 (en) | 2010-07-29 | 2015-12-15 | Ford Global Technologies, Llc | Systems and methods for scheduling driver interface tasks based on driver workload |
US8972106B2 (en) | 2010-07-29 | 2015-03-03 | Ford Global Technologies, Llc | Systems and methods for scheduling driver interface tasks based on driver workload |
JP2013539572A (en) | 2010-07-29 | 2013-10-24 | フォード グローバル テクノロジーズ、リミテッド ライアビリティ カンパニー | Method for managing driver interface tasks and vehicle |
US8892855B2 (en) | 2010-08-10 | 2014-11-18 | Maxlinear, Inc. | Encryption keys distribution for conditional access software in TV receiver SOC |
JP2012043071A (en) * | 2010-08-16 | 2012-03-01 | Canon Inc | Adjusting system, adjusting device, adjusting method and program for the same |
US8867682B2 (en) | 2010-08-30 | 2014-10-21 | Exar Corporation | Dejitter (desynchronize) technique to smooth gapped clock with jitter/wander attenuation using all digital logic |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8819672B2 (en) * | 2010-09-20 | 2014-08-26 | International Business Machines Corporation | Multi-image migration system and method |
JP5159849B2 (en) * | 2010-09-24 | 2013-03-13 | 株式会社東芝 | Memory management device and memory management method |
US9454504B2 (en) * | 2010-09-30 | 2016-09-27 | Hewlett-Packard Development Company, L.P. | Slave device bit sequence zero driver |
WO2012048118A2 (en) | 2010-10-06 | 2012-04-12 | Blackbird Technology Holdings, Inc. | Method and apparatus for adaptive searching of distributed datasets |
WO2012048098A1 (en) | 2010-10-06 | 2012-04-12 | Blackbird Technology Holdings, Inc. | Method and apparatus for low-power, long-range networking |
US8718551B2 (en) | 2010-10-12 | 2014-05-06 | Blackbird Technology Holdings, Inc. | Method and apparatus for a multi-band, multi-mode smartcard |
US8532100B2 (en) * | 2010-10-19 | 2013-09-10 | Cisco Technology, Inc. | System and method for data exchange in a heterogeneous multiprocessor system |
US8904356B2 (en) | 2010-10-20 | 2014-12-02 | International Business Machines Corporation | Collaborative software debugging in a distributed system with multi-member variable expansion |
US8972945B2 (en) | 2010-10-21 | 2015-03-03 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific access control |
US9009673B2 (en) | 2010-10-21 | 2015-04-14 | International Business Machines Corporation | Collaborative software debugging in a distributed system with collaborative step over operation |
US8671393B2 (en) | 2010-10-21 | 2014-03-11 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific dynamic breakpoints |
US8687004B2 (en) | 2010-11-01 | 2014-04-01 | Apple Inc. | Font file with graphic images |
US8806615B2 (en) | 2010-11-04 | 2014-08-12 | Mcafee, Inc. | System and method for protecting specified data combinations |
US8850397B2 (en) | 2010-11-10 | 2014-09-30 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific display of local variables |
US8990775B2 (en) | 2010-11-10 | 2015-03-24 | International Business Machines Corporation | Collaborative software debugging in a distributed system with dynamically displayed chat sessions |
US9411709B2 (en) | 2010-11-10 | 2016-08-09 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific event alerts |
WO2012068227A1 (en) | 2010-11-16 | 2012-05-24 | Blackbird Technology Holdings, Inc. | Method and apparatus for interfacing with a smartcard |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
EP2652623B1 (en) | 2010-12-13 | 2018-08-01 | SanDisk Technologies LLC | Apparatus, system, and method for auto-commit memory |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
CN103210320B (en) | 2010-12-21 | 2016-01-13 | 英派尔科技开发有限公司 | For the virtual information of the location privacy in location Based service |
FR2970133B1 (en) * | 2010-12-30 | 2013-01-18 | Thales Sa | METHOD AND SYSTEM FOR TESTING CRYPTOGRAPHIC INTEGRITY OF ERROR TOLERANT DATA |
US8589509B2 (en) | 2011-01-05 | 2013-11-19 | Cloudium Systems Limited | Controlling and optimizing system latency |
US20120179943A1 (en) * | 2011-01-06 | 2012-07-12 | International Business Machines Corporation | Method for information transfer in a voltage-driven intelligent characterization bench for semiconductor |
JP5598337B2 (en) * | 2011-01-12 | 2014-10-01 | ソニー株式会社 | Memory access control circuit, prefetch circuit, memory device, and information processing system |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
WO2012100145A1 (en) * | 2011-01-21 | 2012-07-26 | Blackbird Technology Holdings, Inc. | Method and apparatus for memory management |
CN103329121B (en) | 2011-01-28 | 2016-11-02 | 惠普发展公司,有限责任合伙企业 | Document file management system and method |
US8484477B2 (en) | 2011-01-30 | 2013-07-09 | Hewlett-Packard Development Company, L.P. | Document management system and method |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
JP5842335B2 (en) * | 2011-02-08 | 2016-01-13 | セイコーエプソン株式会社 | Image recording apparatus, image recording apparatus control method, and program |
WO2012109139A1 (en) * | 2011-02-08 | 2012-08-16 | Telcordia Technologies, Inc. | Method and apparatus for secure data representation allowing efficient collection, search and retrieval |
US8909865B2 (en) | 2011-02-15 | 2014-12-09 | Blackbird Technology Holdings, Inc. | Method and apparatus for plug and play, networkable ISO 18000-7 connectivity |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
JP2012174184A (en) * | 2011-02-24 | 2012-09-10 | Canon Inc | Information processing device and control method of information processing device |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US20120221767A1 (en) | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
US9154392B2 (en) | 2011-03-02 | 2015-10-06 | Blackbird Technology Holdings, Inc. | Method and apparatus for power autoscaling in a resource-constrained network |
US8763075B2 (en) * | 2011-03-07 | 2014-06-24 | Adtran, Inc. | Method and apparatus for network access control |
US8493120B2 (en) | 2011-03-10 | 2013-07-23 | Arm Limited | Storage circuitry and method with increased resilience to single event upsets |
CN102180022B (en) * | 2011-03-11 | 2013-08-14 | 珠海艾派克微电子有限公司 | Imaging box, imaging device and imaging control method |
US8364729B2 (en) | 2011-03-17 | 2013-01-29 | Hewlett-Packard Development Company, L.P. | Document management system and method |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8649609B1 (en) | 2011-03-24 | 2014-02-11 | The United States Of America As Represented By The Adminstrator Of The National Aeronautics And Space Administration | Field programmable gate array apparatus, method, and computer program |
TW201242333A (en) * | 2011-04-06 | 2012-10-16 | Hon Hai Prec Ind Co Ltd | Image processing apparatus and method for controlling image processing apparatus |
TWI438632B (en) * | 2011-04-14 | 2014-05-21 | Mstar Semiconductor Inc | Controlling method and controller for memory |
US8806438B2 (en) | 2011-04-20 | 2014-08-12 | International Business Machines Corporation | Collaborative software debugging in a distributed system with variable-specific messages |
US8656360B2 (en) | 2011-04-20 | 2014-02-18 | International Business Machines Corporation | Collaborative software debugging in a distributed system with execution resumption on consensus |
US8739127B2 (en) * | 2011-04-20 | 2014-05-27 | International Business Machines Corporation | Collaborative software debugging in a distributed system with symbol locking |
CN102405678B (en) * | 2011-04-26 | 2014-01-01 | 华为技术有限公司 | Method and apparatus for calibrating low frequency clock |
US8719957B2 (en) * | 2011-04-29 | 2014-05-06 | Altera Corporation | Systems and methods for detecting and mitigating programmable logic device tampering |
US8379454B2 (en) | 2011-05-05 | 2013-02-19 | Sandisk Technologies Inc. | Detection of broken word-lines in memory arrays |
US9063862B2 (en) | 2011-05-17 | 2015-06-23 | Sandisk Technologies Inc. | Expandable data cache |
US20120302212A1 (en) * | 2011-05-25 | 2012-11-29 | Critical Medical Solutions, Inc. | Secure mobile radiology communication system |
US8977930B1 (en) * | 2011-06-02 | 2015-03-10 | Drc Computer Corporation | Memory architecture optimized for random access |
US9077499B2 (en) * | 2011-06-15 | 2015-07-07 | Metanoia Communications Inc. | Automatic power saving for communication systems |
US8817976B2 (en) * | 2011-06-24 | 2014-08-26 | Gregory Scott Callen | Reversible cipher |
US8756577B2 (en) | 2011-06-28 | 2014-06-17 | International Business Machines Corporation | Collaborative software debugging in a distributed system with private debug sessions |
US20130002315A1 (en) * | 2011-07-01 | 2013-01-03 | Philippe Boucard | Asynchronous clock adapter |
US8929961B2 (en) | 2011-07-15 | 2015-01-06 | Blackbird Technology Holdings, Inc. | Protective case for adding wireless functionality to a handheld electronic device |
TWI446160B (en) * | 2011-07-21 | 2014-07-21 | Silicon Motion Inc | Flash memory controller and data read method |
US8601276B2 (en) | 2011-07-27 | 2013-12-03 | Hewlett-Packard Development Company, L.P. | Managing access to a secure content-part of a PPCD following introduction of the PPCD into a workflow |
US8984298B2 (en) | 2011-07-27 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Managing access to a secure content-part of a PPCD using a key reset point |
US8775901B2 (en) | 2011-07-28 | 2014-07-08 | SanDisk Technologies, Inc. | Data recovery for defective word lines during programming of non-volatile memory arrays |
US8726104B2 (en) | 2011-07-28 | 2014-05-13 | Sandisk Technologies Inc. | Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages |
US8750042B2 (en) | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US8880713B2 (en) * | 2011-07-29 | 2014-11-04 | General Electric Company | System and methods for use in communicating with an energy management device in an energy device network |
JP2013031961A (en) * | 2011-08-02 | 2013-02-14 | Ricoh Co Ltd | Power supply control device and image forming apparatus |
US9021146B2 (en) | 2011-08-30 | 2015-04-28 | Apple Inc. | High priority command queue for peripheral component |
US8821012B2 (en) | 2011-08-31 | 2014-09-02 | Semiconductor Components Industries, Llc | Combined device identification and temperature measurement |
US8845189B2 (en) * | 2011-08-31 | 2014-09-30 | Semiconductor Components Industries, Llc | Device identification and temperature sensor circuit |
US9231926B2 (en) * | 2011-09-08 | 2016-01-05 | Lexmark International, Inc. | System and method for secured host-slave communication |
US8872635B2 (en) * | 2011-10-25 | 2014-10-28 | Static Control Components, Inc. | Systems and methods for verifying a chip |
US8334705B1 (en) | 2011-10-27 | 2012-12-18 | Certicom Corp. | Analog circuitry to conceal activity of logic circuitry |
US8635467B2 (en) | 2011-10-27 | 2014-01-21 | Certicom Corp. | Integrated circuit with logic circuitry and multiple concealing circuits |
US9069494B2 (en) * | 2011-10-31 | 2015-06-30 | Xerox Corporation | Evaluating and managing image quality performance and improving service effectiveness of groups of production printers |
US8793543B2 (en) | 2011-11-07 | 2014-07-29 | Sandisk Enterprise Ip Llc | Adaptive read comparison signal generation for memory systems |
US9288161B2 (en) * | 2011-12-05 | 2016-03-15 | International Business Machines Corporation | Verifying the functionality of an integrated circuit |
US9330031B2 (en) | 2011-12-09 | 2016-05-03 | Nvidia Corporation | System and method for calibration of serial links using a serial-to-parallel loopback |
US9703680B1 (en) | 2011-12-12 | 2017-07-11 | Google Inc. | System and method for automatic software development kit configuration and distribution |
US9087154B1 (en) * | 2011-12-12 | 2015-07-21 | Crashlytics, Inc. | System and method for providing additional functionality to developer side application in an integrated development environment |
US9262250B2 (en) | 2011-12-12 | 2016-02-16 | Crashlytics, Inc. | System and method for data collection and analysis of information relating to mobile applications |
CN103998245B (en) * | 2011-12-13 | 2016-08-03 | 佳能株式会社 | The manufacture method of nozzle chip |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US20130246336A1 (en) | 2011-12-27 | 2013-09-19 | Mcafee, Inc. | System and method for providing data protection workflows in a network environment |
US20130163034A1 (en) * | 2011-12-27 | 2013-06-27 | Xerox Corporation | Vendor selection method and system for wide format printing |
US8458804B1 (en) | 2011-12-29 | 2013-06-04 | Elwha Llc | Systems and methods for preventing data remanence in memory |
US9213645B2 (en) | 2011-12-29 | 2015-12-15 | Sandisk Technologies Inc. | Command aware partial page programming |
US8971072B2 (en) | 2011-12-30 | 2015-03-03 | Bedrock Automation Platforms Inc. | Electromagnetic connector for an industrial control system |
US9437967B2 (en) | 2011-12-30 | 2016-09-06 | Bedrock Automation Platforms, Inc. | Electromagnetic connector for an industrial control system |
US8862802B2 (en) | 2011-12-30 | 2014-10-14 | Bedrock Automation Platforms Inc. | Switch fabric having a serial communications interface and a parallel communications interface |
US8868813B2 (en) | 2011-12-30 | 2014-10-21 | Bedrock Automation Platforms Inc. | Communications control system with a serial communications interface and a parallel communications interface |
US9467297B2 (en) | 2013-08-06 | 2016-10-11 | Bedrock Automation Platforms Inc. | Industrial control system redundant communications/control modules authentication |
US10834094B2 (en) | 2013-08-06 | 2020-11-10 | Bedrock Automation Platforms Inc. | Operator action authentication in an industrial control system |
US11144630B2 (en) | 2011-12-30 | 2021-10-12 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US9600434B1 (en) | 2011-12-30 | 2017-03-21 | Bedrock Automation Platforms, Inc. | Switch fabric having a serial communications interface and a parallel communications interface |
US9727511B2 (en) | 2011-12-30 | 2017-08-08 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
US10834820B2 (en) | 2013-08-06 | 2020-11-10 | Bedrock Automation Platforms Inc. | Industrial control system cable |
US12061685B2 (en) | 2011-12-30 | 2024-08-13 | Analog Devices, Inc. | Image capture devices for a secure industrial control system |
US11967839B2 (en) | 2011-12-30 | 2024-04-23 | Analog Devices, Inc. | Electromagnetic connector for an industrial control system |
US11314854B2 (en) | 2011-12-30 | 2022-04-26 | Bedrock Automation Platforms Inc. | Image capture devices for a secure industrial control system |
US9191203B2 (en) | 2013-08-06 | 2015-11-17 | Bedrock Automation Platforms Inc. | Secure industrial control system |
US9370939B2 (en) | 2012-01-05 | 2016-06-21 | Zih Corp. | Method and apparatus for printer control |
WO2013103599A2 (en) | 2012-01-05 | 2013-07-11 | Zih Corp. | Method and apparatus for printhead control |
US20130179614A1 (en) * | 2012-01-10 | 2013-07-11 | Diarmuid P. Ross | Command Abort to Reduce Latency in Flash Memory Access |
US9570124B2 (en) * | 2012-01-11 | 2017-02-14 | Viavi Solutions Inc. | High speed logging system |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9299451B2 (en) | 2012-01-20 | 2016-03-29 | International Business Machines Corporation | Tamper resistant electronic system utilizing acceptable tamper threshold count |
US8918680B2 (en) | 2012-01-23 | 2014-12-23 | Apple Inc. | Trace queue for peripheral component |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US9059168B2 (en) | 2012-02-02 | 2015-06-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Adjustable meander line resistor |
US8890222B2 (en) | 2012-02-03 | 2014-11-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Meander line resistor structure |
US9418247B2 (en) * | 2012-02-07 | 2016-08-16 | MCube Inc. | Security system and methods for integrated devices |
US10078112B2 (en) | 2012-02-07 | 2018-09-18 | Mcube, Inc. | Security system and methods for integrated devices |
US8918885B2 (en) * | 2012-02-09 | 2014-12-23 | International Business Machines Corporation | Automatic discovery of system integrity exposures in system code |
US8812466B2 (en) * | 2012-02-10 | 2014-08-19 | International Business Machines Corporation | Detecting and combating attack in protection system of an industrial control system |
WO2013130281A1 (en) * | 2012-02-29 | 2013-09-06 | Altnet, Inc. | Stream recognition and filtering |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
TWI475866B (en) * | 2012-03-02 | 2015-03-01 | Univ Nat Cheng Kung | An authentication method of a chain structure |
US8914767B2 (en) * | 2012-03-12 | 2014-12-16 | Symantec Corporation | Systems and methods for using quick response codes to activate software applications |
US8699715B1 (en) * | 2012-03-27 | 2014-04-15 | Emc Corporation | On-demand proactive epoch control for cryptographic devices |
US8776195B1 (en) * | 2012-03-30 | 2014-07-08 | Emc Corporation | Common data format in knowledge-based authentication |
US9764561B2 (en) | 2012-04-04 | 2017-09-19 | Xerox Corporation | System and method for clearing weak and missing inkjets in an inkjet printer |
WO2013155522A1 (en) | 2012-04-13 | 2013-10-17 | Lewis Innovative Technologies, Inc. | Electronic physical unclonable functions |
US8985723B2 (en) | 2012-04-20 | 2015-03-24 | Xerox Corporation | System and method of compensating for defective inkjets |
DE102012103466B4 (en) * | 2012-04-20 | 2015-08-27 | Océ Printing Systems GmbH & Co. KG | Printing process and printing device |
US9131376B2 (en) | 2012-04-20 | 2015-09-08 | Bank Of America Corporation | Proximity-based dynamic vehicle navigation |
JP5918004B2 (en) * | 2012-04-27 | 2016-05-18 | 株式会社東海理化電機製作所 | Electronic key registration system |
JP2015522998A (en) * | 2012-05-23 | 2015-08-06 | ユニバーシティ オブ リーズ | Safety communication method |
US8854413B2 (en) | 2012-06-01 | 2014-10-07 | Cisco Technology, Inc. | Communicating with an endpoint using matrix barcodes |
WO2013186889A1 (en) * | 2012-06-14 | 2013-12-19 | 三菱電機株式会社 | I/o device, programmable logic controller, and arithmetic processing method |
US8804415B2 (en) | 2012-06-19 | 2014-08-12 | Fusion-Io, Inc. | Adaptive voltage range management in non-volatile memory |
FR2992083B1 (en) * | 2012-06-19 | 2014-07-04 | Alstom Transport Sa | COMPUTER, COMMUNICATION ASSEMBLY COMPRISING SUCH A COMPUTER, RAIL MANAGEMENT SYSTEM COMPRISING SUCH A SET, AND METHOD FOR RELIABILITY OF DATA IN A COMPUTER |
US8933412B2 (en) | 2012-06-21 | 2015-01-13 | Honeywell International Inc. | Integrated comparative radiation sensitive circuit |
US9618635B2 (en) | 2012-06-21 | 2017-04-11 | Honeywell International Inc. | Integrated radiation sensitive circuit |
US8575560B1 (en) | 2012-06-21 | 2013-11-05 | Honeywell International Inc. | Integrated circuit cumulative dose radiation sensor |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US8667141B2 (en) * | 2012-07-03 | 2014-03-04 | Xerox Corporation | Method and system for handling load on a service component in a network |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9563891B2 (en) * | 2012-07-09 | 2017-02-07 | Google Inc. | Systems, methods, and computer program products for integrating third party services with a mobile wallet |
US8955937B2 (en) | 2012-07-23 | 2015-02-17 | Xerox Corporation | System and method for inoperable inkjet compensation |
US9258907B2 (en) | 2012-08-09 | 2016-02-09 | Lockheed Martin Corporation | Conformal 3D non-planar multi-layer circuitry |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
JP5750414B2 (en) | 2012-08-27 | 2015-07-22 | 東芝テック株式会社 | Inkjet head drive device |
US8928929B2 (en) * | 2012-08-29 | 2015-01-06 | Eastman Kodak Company | System for generating tag layouts |
US8786889B2 (en) * | 2012-08-29 | 2014-07-22 | Eastman Kodak Company | Method for computing scale for tag insertion |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10158927B1 (en) * | 2012-09-05 | 2018-12-18 | Google Llc | Systems and methods for detecting audio-video synchronization using timestamps |
US9319878B2 (en) | 2012-09-14 | 2016-04-19 | Qualcomm Incorporated | Streaming alignment of key stream to unaligned data stream |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
WO2014046974A2 (en) | 2012-09-20 | 2014-03-27 | Case Paul Sr | Case secure computer architecture |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9979960B2 (en) | 2012-10-01 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions |
US12003514B2 (en) * | 2012-10-02 | 2024-06-04 | Mordecai Barkan | Program verification and malware detection |
KR102017828B1 (en) * | 2012-10-19 | 2019-09-03 | 삼성전자 주식회사 | Security management unit, host controller interface including the same, method for operating the host controller interface, and devices including the host controller interface |
KR102031661B1 (en) * | 2012-10-23 | 2019-10-14 | 삼성전자주식회사 | Data storage device and controller, and operation method of data storage device |
CN102929674B (en) * | 2012-11-02 | 2016-02-10 | 威盛电子股份有限公司 | Electronic installation and starting-up method |
US9595350B2 (en) * | 2012-11-05 | 2017-03-14 | Nxp Usa, Inc. | Hardware-based memory initialization |
US9098709B2 (en) * | 2012-11-13 | 2015-08-04 | International Business Machines Corporation | Protection of user data in hosted application environments |
US8714692B1 (en) | 2012-12-04 | 2014-05-06 | Xerox Corporation | System and method of compensating for defective inkjets with context dependent image data |
GB2508631A (en) * | 2012-12-06 | 2014-06-11 | Ibm | Propagating a query in a network by applying a delay at a node |
KR20140076840A (en) * | 2012-12-13 | 2014-06-23 | 에스케이하이닉스 주식회사 | Integrated circuit and semiconductor device using the same |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US10032659B2 (en) | 2012-12-28 | 2018-07-24 | Sunedison Semiconductor Limited (Uen201334164H) | Methods and systems for preventing unsafe operations |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
JP6071565B2 (en) * | 2013-01-11 | 2017-02-01 | キヤノン株式会社 | Method for manufacturing liquid discharge head |
US20140197865A1 (en) | 2013-01-11 | 2014-07-17 | International Business Machines Corporation | On-chip randomness generation |
EP2759405B1 (en) * | 2013-01-25 | 2018-09-19 | Müller Martini Holding AG | Method for the capture and transmission of process control data prior to and/or within a print process for the production of printed products in a printing machine |
US9218509B2 (en) | 2013-02-08 | 2015-12-22 | Everspin Technologies, Inc. | Response to tamper detection in a memory device |
US9135970B2 (en) | 2013-02-08 | 2015-09-15 | Everspin Technologies, Inc. | Tamper detection and response in a memory device |
US8824014B1 (en) | 2013-02-11 | 2014-09-02 | Xerox Corporation | System and method for adjustment of coverage parameters for different colors in image data |
US9065632B2 (en) * | 2013-02-20 | 2015-06-23 | Qualcomm Incorporated | Message authentication using a universal hash function computed with carryless multiplication |
US9088459B1 (en) * | 2013-02-22 | 2015-07-21 | Jpmorgan Chase Bank, N.A. | Breadth-first resource allocation system and methods |
US9753487B2 (en) | 2013-03-14 | 2017-09-05 | Micron Technology, Inc. | Serial peripheral interface and methods of operating same |
US8772745B1 (en) | 2013-03-14 | 2014-07-08 | Lockheed Martin Corporation | X-ray obscuration film and related techniques |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9215075B1 (en) | 2013-03-15 | 2015-12-15 | Poltorak Technologies Llc | System and method for secure relayed communications from an implantable medical device |
US9059742B1 (en) | 2013-03-15 | 2015-06-16 | Western Digital Technologies, Inc. | System and method for dynamic scaling of LDPC decoder in a solid state drive |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
WO2014155363A1 (en) | 2013-03-29 | 2014-10-02 | Ologn Technologies Ag | Systems, methods and apparatuses for secure storage of data using a security-enhancing chip |
US9235468B2 (en) * | 2013-04-12 | 2016-01-12 | Qualcomm Incorporated | Systems and methods to improve the reliability and lifespan of flash memory |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
CN109922462B (en) * | 2013-05-06 | 2022-03-25 | 康维达无线有限责任公司 | Apparatus and method for managing bootstrap |
RU2518950C9 (en) * | 2013-05-06 | 2014-09-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" | Method of encrypting n-bit unit m |
US10181124B2 (en) * | 2013-05-30 | 2019-01-15 | Dell Products, L.P. | Verifying OEM components within an information handling system using original equipment manufacturer (OEM) identifier |
US9230137B2 (en) * | 2013-05-30 | 2016-01-05 | Dell Products, L.P. | Secure original equipment manufacturer (OEM) identifier for OEM devices |
US8896086B1 (en) * | 2013-05-30 | 2014-11-25 | Freescale Semiconductor, Inc. | System for preventing tampering with integrated circuit |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
DE102013212525A1 (en) * | 2013-06-27 | 2014-12-31 | Siemens Aktiengesellschaft | Data storage device for protected data exchange between different security zones |
US10354325B1 (en) | 2013-06-28 | 2019-07-16 | Winklevoss Ip, Llc | Computer-generated graphical user interface |
US11282139B1 (en) | 2013-06-28 | 2022-03-22 | Gemini Ip, Llc | Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet |
US10269009B1 (en) | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
US9397500B2 (en) * | 2013-06-28 | 2016-07-19 | Solantro Semiconductor Corp. | Inverter with extended endurance memory |
US10068228B1 (en) * | 2013-06-28 | 2018-09-04 | Winklevoss Ip, Llc | Systems and methods for storing digital math-based assets using a secure portal |
US9898782B1 (en) | 2013-06-28 | 2018-02-20 | Winklevoss Ip, Llc | Systems, methods, and program products for operating exchange traded products holding digital math-based assets |
CN105379304B (en) * | 2013-07-04 | 2018-11-13 | 富士通株式会社 | Data network management system, data network management device, data processing equipment and data network management method |
CN103915119B (en) | 2013-07-11 | 2017-02-15 | 威盛电子股份有限公司 | Data storage device and flash memory control method |
US9131578B2 (en) | 2013-07-16 | 2015-09-08 | General Electric Company | Programmable light emitting diode (LED) driver technique based upon an input voltage signal |
US9194914B2 (en) * | 2013-07-16 | 2015-11-24 | Advanced Micro Devices, Inc. | Power supply monitor for detecting faults during scan testing |
US9179527B2 (en) * | 2013-07-16 | 2015-11-03 | General Electric Company | Programmable light emitting diode (LED) driver technique based upon a prefix signal |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10613567B2 (en) | 2013-08-06 | 2020-04-07 | Bedrock Automation Platforms Inc. | Secure power supply for an industrial control system |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9466236B2 (en) * | 2013-09-03 | 2016-10-11 | Synaptics Incorporated | Dithering to avoid pixel value conversion errors |
CN105431819A (en) | 2013-09-06 | 2016-03-23 | 华为技术有限公司 | Method and apparatus for asynchronous processor removal of meta-stability |
US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
EP2849024A1 (en) | 2013-09-16 | 2015-03-18 | ST-Ericsson SA | Power consumption management system and method |
JP6146570B2 (en) * | 2013-09-20 | 2017-06-14 | 東芝ライテック株式会社 | Dimming control system |
US9189617B2 (en) * | 2013-09-27 | 2015-11-17 | Intel Corporation | Apparatus and method for implementing zero-knowledge proof security techniques on a computing platform |
US9195857B2 (en) * | 2013-09-30 | 2015-11-24 | Infineon Technologies Ag | Computational system |
US20150095222A1 (en) * | 2013-10-02 | 2015-04-02 | Tyfone, Inc. | Dynamic identity representation in mobile devices |
US20150097839A1 (en) * | 2013-10-07 | 2015-04-09 | Tektronix, Inc. | Stochastic rasterization of waveform trace displays |
WO2015057116A1 (en) * | 2013-10-15 | 2015-04-23 | Telefonaktiebolaget L M Ericsson (Publ) | Establishing a secure connection between a master device and a slave device |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
KR20160075705A (en) * | 2013-10-25 | 2016-06-29 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Hash-based block matching in video and image coding |
CN105684409B (en) * | 2013-10-25 | 2019-08-13 | 微软技术许可有限责任公司 | Each piece is indicated using hashed value in video and image coding and decoding |
US9436831B2 (en) * | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
WO2015073585A2 (en) | 2013-11-12 | 2015-05-21 | Printreleaf, Inc. | Automated computer controlled system for measuring the consumption of printer resources and transacting environmental offsets |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US20150149024A1 (en) * | 2013-11-22 | 2015-05-28 | Sikorsky Aircraft Corporation | Latency tolerant fault isolation |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9223965B2 (en) | 2013-12-10 | 2015-12-29 | International Business Machines Corporation | Secure generation and management of a virtual card on a mobile device |
US9235692B2 (en) | 2013-12-13 | 2016-01-12 | International Business Machines Corporation | Secure application debugging |
US9497178B2 (en) | 2013-12-31 | 2016-11-15 | International Business Machines Corporation | Generating challenge response sets utilizing semantic web technology |
US9659137B2 (en) * | 2014-02-18 | 2017-05-23 | Samsung Electronics Co., Ltd. | Method of verifying layout of mask ROM |
US9703314B2 (en) * | 2014-02-26 | 2017-07-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for a variable frequency and phase clock generation circuit |
RU2564243C1 (en) * | 2014-02-28 | 2015-09-27 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Cryptographic transformation method |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
CN105393537B (en) * | 2014-03-04 | 2019-08-27 | 微软技术许可有限责任公司 | Hash table building and availability inspection for the Block- matching based on hash |
EP3114841B1 (en) * | 2014-03-04 | 2020-06-10 | Microsoft Technology Licensing, LLC | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US9542558B2 (en) | 2014-03-12 | 2017-01-10 | Apple Inc. | Secure factory data generation and restoration |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9641809B2 (en) * | 2014-03-25 | 2017-05-02 | Nxp Usa, Inc. | Circuit arrangement and method for processing a digital video stream and for detecting a fault in a digital video stream, digital video system and computer readable program product |
US9324448B2 (en) | 2014-03-25 | 2016-04-26 | Semiconductor Components Industries, Llc | Fuse element programming circuit and method |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
RU2542880C1 (en) * | 2014-03-31 | 2015-02-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет"ЛЭТИ" им. В.И. Ульянова (Ленина)" | Method of encrypting binary data unit |
TWI553484B (en) * | 2014-04-01 | 2016-10-11 | Nat Univ Chung Cheng | Prospective measurement processing device and processing method thereof |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
RU2542926C1 (en) * | 2014-04-14 | 2015-02-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" | Method to code message represented as multidigit binary number |
RU2542929C1 (en) * | 2014-04-14 | 2015-02-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульянова (Ленина)" | Method to code data unit represented as bit string |
DE102014207479A1 (en) * | 2014-04-17 | 2015-10-22 | Robert Bosch Gmbh | Method for classifying a data segment with regard to its further processing |
US9768957B2 (en) * | 2014-04-23 | 2017-09-19 | Cryptography Research, Inc. | Generation and management of multiple base keys based on a device generated key |
US9246501B2 (en) | 2014-04-29 | 2016-01-26 | Honeywell International Inc. | Converter for analog inputs |
EP2940869B1 (en) * | 2014-04-30 | 2017-09-06 | Nxp B.V. | Synchronised logic circuit |
WO2015174979A1 (en) * | 2014-05-15 | 2015-11-19 | Ge Intelligent Platforms, Inc. | Intrinsically safe universal i/o device using programmable asic |
US9343116B2 (en) | 2014-05-28 | 2016-05-17 | Micron Technology, Inc. | Providing power availability information to memory |
US10060973B1 (en) | 2014-05-29 | 2018-08-28 | National Technology & Engineering Solutions Of Sandia, Llc | Test circuits for integrated circuit counterfeit detection |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US10681372B2 (en) * | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US9258117B1 (en) | 2014-06-26 | 2016-02-09 | Amazon Technologies, Inc. | Mutual authentication with symmetric secrets and signatures |
CN105281061A (en) | 2014-07-07 | 2016-01-27 | 基岩自动化平台公司 | Industrial control system cable |
US9819488B2 (en) * | 2014-07-10 | 2017-11-14 | Ohio State Innovation Foundation | Generation of encryption keys based on location |
US9826252B2 (en) | 2014-07-29 | 2017-11-21 | Nxp Usa, Inc. | Method and video system for freeze-frame detection |
US9434165B2 (en) | 2014-08-28 | 2016-09-06 | Funai Electric Co., Ltd. | Chip layout to enable multiple heater chip vertical resolutions |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
KR20160030701A (en) * | 2014-09-11 | 2016-03-21 | 삼성전자주식회사 | Host divice transmitting print data to printer and method for rendering print data by host device |
JP6388155B2 (en) * | 2014-09-18 | 2018-09-12 | 富士ゼロックス株式会社 | Image forming apparatus and image data processing apparatus |
MX2017004210A (en) | 2014-09-30 | 2017-11-15 | Microsoft Technology Licensing Llc | Hash-based encoder decisions for video coding. |
US20160098162A1 (en) * | 2014-10-06 | 2016-04-07 | Lenovo (Singapore) Pte. Ltd. | Pen based locking mechanism |
US10180340B2 (en) * | 2014-10-09 | 2019-01-15 | Invensense, Inc. | System and method for MEMS sensor system synchronization |
US10123410B2 (en) | 2014-10-10 | 2018-11-06 | Lockheed Martin Corporation | Fine line 3D non-planar conforming circuit |
CN107073954B (en) | 2014-10-28 | 2020-04-17 | 惠普发展公司,有限责任合伙企业 | Printhead assembly and method of printing |
US10353793B2 (en) | 2014-11-05 | 2019-07-16 | Oracle International Corporation | Identifying improvements to memory usage of software programs |
US9552192B2 (en) * | 2014-11-05 | 2017-01-24 | Oracle International Corporation | Context-based generation of memory layouts in software programs |
US10275154B2 (en) | 2014-11-05 | 2019-04-30 | Oracle International Corporation | Building memory layouts in software programs |
TWI556249B (en) * | 2014-11-07 | 2016-11-01 | 群聯電子股份有限公司 | Data reading method, memory storage device and memory controlling circuit unit |
US10779147B2 (en) | 2014-11-18 | 2020-09-15 | Micron Technology, Inc. | Wireless memory interface |
KR101582168B1 (en) * | 2014-11-19 | 2016-01-05 | 서울대학교산학협력단 | Clock Recovery Scheme at DisplayPort Receiver |
US9780952B1 (en) * | 2014-12-12 | 2017-10-03 | Amazon Technologies, Inc. | Binding digitally signed requests to sessions |
US10298404B1 (en) | 2014-12-12 | 2019-05-21 | Amazon Technologies, Inc. | Certificate echoing for session security |
CN107408072B (en) * | 2014-12-16 | 2021-07-09 | 凯恩迪股份有限公司 | Method, medium, and apparatus for randomizing instructions |
US10303891B2 (en) | 2014-12-30 | 2019-05-28 | Data I/O Corporation | Automated manufacturing system with job packaging mechanism and method of operation thereof |
US9639425B1 (en) * | 2015-01-13 | 2017-05-02 | Marvell International Ltd. | Signature-based sleep recovery operation flow |
CN105891651B (en) | 2015-01-16 | 2019-12-10 | 恩智浦美国有限公司 | Low power open circuit detection system |
WO2016121635A1 (en) * | 2015-01-26 | 2016-08-04 | 株式会社ニコン | Mask case, storage device and storage method, transfer device and transfer method, and exposure device |
US9853977B1 (en) | 2015-01-26 | 2017-12-26 | Winklevoss Ip, Llc | System, method, and program product for processing secure transactions within a cloud computing system |
CN113946817A (en) * | 2015-01-30 | 2022-01-18 | E·马伊姆 | System and method for managing networking commitments for secure entities |
US9940457B2 (en) * | 2015-02-13 | 2018-04-10 | International Business Machines Corporation | Detecting a cryogenic attack on a memory device with embedded error correction |
US9606851B2 (en) | 2015-02-02 | 2017-03-28 | International Business Machines Corporation | Error monitoring of a memory device containing embedded error correction |
JP6418971B2 (en) * | 2015-02-05 | 2018-11-07 | キヤノン株式会社 | Information processing apparatus and control method thereof |
US9946677B2 (en) * | 2015-02-12 | 2018-04-17 | Atmel Corporation | Managing single-wire communications |
CN105988774A (en) * | 2015-02-20 | 2016-10-05 | 上海芯豪微电子有限公司 | Multi-issue processor system and method |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10158480B1 (en) | 2015-03-16 | 2018-12-18 | Winklevoss Ip, Llc | Autonomous devices |
US10915891B1 (en) | 2015-03-16 | 2021-02-09 | Winklevoss Ip, Llc | Autonomous devices |
US9361972B1 (en) * | 2015-03-20 | 2016-06-07 | Intel Corporation | Charge level maintenance in a memory |
US9979782B2 (en) | 2015-03-24 | 2018-05-22 | Qualcomm Incorporated | Low-power and low-latency device enumeration with cartesian addressing |
JP6498019B2 (en) * | 2015-04-10 | 2019-04-10 | キヤノン株式会社 | Image recording apparatus and control method thereof |
RU2580060C1 (en) * | 2015-05-20 | 2016-04-10 | Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И. Ульнова (Ленина)" | Method to encrypt messages, represented as a multi-bit binary number |
GB2539460A (en) * | 2015-06-16 | 2016-12-21 | Nordic Semiconductor Asa | Integrated circuit inputs and outputs |
US10122692B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Handshake offload |
CN106257879B (en) * | 2015-06-16 | 2020-02-14 | 阿里巴巴集团控股有限公司 | Method and device for downloading application |
US10122689B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Load balancing with handshake offload |
US10108557B2 (en) * | 2015-06-25 | 2018-10-23 | Intel Corporation | Technologies for memory confidentiality, integrity, and replay protection |
US9434176B1 (en) * | 2015-06-29 | 2016-09-06 | Xerox Corporation | Vector compensation for inoperative ink-jets in composite colors |
US10432196B2 (en) | 2015-07-22 | 2019-10-01 | Nuvoton Technology Corporation | Communication device, communication system and operation method thereof |
JP6473674B2 (en) * | 2015-07-28 | 2019-02-20 | ルネサスエレクトロニクス株式会社 | Communication terminal and program |
US9921962B2 (en) | 2015-09-24 | 2018-03-20 | Qualcomm Incorporated | Maintaining cache coherency using conditional intervention among multiple master devices |
BR112018006526A2 (en) * | 2015-09-30 | 2018-12-11 | Hewlett Packard Development Co | printer power management |
US20170109526A1 (en) * | 2015-10-20 | 2017-04-20 | Intel Corporation | Systems and methods for providing anti-malware protection and malware forensics on storage devices |
ES2821438T3 (en) * | 2015-10-22 | 2021-04-26 | Idemia Germany Gmbh | Method to process an encrypted print job |
US10084758B2 (en) | 2015-10-28 | 2018-09-25 | International Business Machines Corporation | System, method, and recording medium for communication and message comparison with encrypted light signals |
US9684506B2 (en) * | 2015-11-06 | 2017-06-20 | International Business Machines Corporation | Work-item expiration in software configuration management environment |
DE102015222622A1 (en) * | 2015-11-17 | 2017-05-18 | Koenig & Bauer Ag | Printing unit and a method for operating a printing unit |
US9455233B1 (en) | 2015-12-02 | 2016-09-27 | Freescale Semiconductor, Inc. | System for preventing tampering with integrated circuit |
TWI597666B (en) * | 2015-12-28 | 2017-09-01 | 緯創資通股份有限公司 | Method for using shared device and resource sharing system |
US20170192688A1 (en) * | 2015-12-30 | 2017-07-06 | International Business Machines Corporation | Lazy deletion of vaults in packed slice storage (pss) and zone slice storage (zss) |
TWI595248B (en) * | 2016-01-20 | 2017-08-11 | 新特系統股份有限公司 | Test Device Using Switch Switching Connections between Single Signal Channel and Multiple Pads |
US10554519B2 (en) | 2016-02-08 | 2020-02-04 | Cray Inc. | System and method for dampening power swings in distributed computer environments |
KR20170094815A (en) * | 2016-02-11 | 2017-08-22 | 삼성전자주식회사 | Nonvolatile memory capabling of outputting data using wrap around scheme, computing system having the same, and read method thereof |
US10176096B2 (en) | 2016-02-22 | 2019-01-08 | Qualcomm Incorporated | Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches |
US20170251835A1 (en) * | 2016-03-02 | 2017-09-07 | Dci Marketing, Inc. | Multi-facing merchandiser and methods relating to same |
US9573382B1 (en) | 2016-03-02 | 2017-02-21 | Xerox Corporation | System and method for missing inkjet compensation in a multi-level inkjet printer |
US20170263141A1 (en) * | 2016-03-09 | 2017-09-14 | Arnold Possick | Cheating and fraud prevention method and system |
JP6542148B2 (en) * | 2016-03-18 | 2019-07-10 | 株式会社東芝 | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM |
US20170288866A1 (en) * | 2016-03-30 | 2017-10-05 | AVAST Software s.r.o. | Systems and methods of creating a distributed ring of trust |
US10118696B1 (en) | 2016-03-31 | 2018-11-06 | Steven M. Hoffberg | Steerable rotating projectile |
US11249970B2 (en) * | 2016-05-05 | 2022-02-15 | Mastercard International Incorporated | Method and system for distributed data storage with eternal integrity guarantees |
US10126960B2 (en) * | 2016-05-10 | 2018-11-13 | Qualcomm Incorporated | Fuse-based anti-replay mechanism |
JP6755706B2 (en) * | 2016-05-11 | 2020-09-16 | キヤノン株式会社 | Information processing device, its control method, and program |
US10432685B2 (en) * | 2016-05-31 | 2019-10-01 | Brightcove, Inc. | Limiting key request rates for streaming media |
US10271209B2 (en) | 2016-06-12 | 2019-04-23 | Apple Inc. | Session protocol for backward security between paired devices |
TWI609378B (en) * | 2016-06-15 | 2017-12-21 | 慧榮科技股份有限公司 | Data storage device and operating method |
DK3297834T3 (en) * | 2016-06-17 | 2019-10-21 | Hewlett Packard Development Co | REPLACEMENT OF REPLACEABLE ELEMENT |
US10943250B2 (en) | 2016-06-17 | 2021-03-09 | International Business Machines Corporation | Technology for user engagement |
US10268601B2 (en) | 2016-06-17 | 2019-04-23 | Massachusetts Institute Of Technology | Timely randomized memory protection |
US10056890B2 (en) * | 2016-06-24 | 2018-08-21 | Exar Corporation | Digital controlled oscillator based clock generator for multi-channel design |
US10204011B1 (en) * | 2016-06-30 | 2019-02-12 | EMC IP Holding Company LLC | Techniques for partially restarting a computing device in response to a configuration change |
CN105988404B (en) * | 2016-06-30 | 2018-12-04 | 深圳市优必选科技有限公司 | Server control system |
FR3054763B1 (en) * | 2016-07-29 | 2019-08-30 | Dover Europe Sarl | SYSTEM FOR ADVANCED PROTECTION OF CONSUMABLE OR DETACHABLE ELEMENTS OF INDUSTRIAL PRINTER |
US10411833B2 (en) * | 2016-07-29 | 2019-09-10 | Qualcomm Incorporated | Early termination techniques for successive decoding processes |
US10310991B2 (en) * | 2016-08-11 | 2019-06-04 | Massachusetts Institute Of Technology | Timely address space randomization |
US10569542B2 (en) * | 2016-08-16 | 2020-02-25 | Zebra Technologies Corporation | Printhead pin configurations |
US10122392B2 (en) * | 2016-08-18 | 2018-11-06 | Advanced Micro Devices, Inc. | Active equalizing negative resistance amplifier for bi-directional bandwidth extension |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
WO2018048454A1 (en) | 2016-09-12 | 2018-03-15 | Hewlett-Packard Development Company, L.P. | Printing system reduced throughput mode |
US10243990B1 (en) | 2016-09-23 | 2019-03-26 | Apple Inc. | Systems and methods for detecting replay attacks on security space |
US10498532B2 (en) * | 2016-10-01 | 2019-12-03 | Intel Corporation | Parallel computation techniques for accelerated cryptographic capabilities |
US10169140B2 (en) * | 2016-10-18 | 2019-01-01 | International Business Machines Corporation | Loading a phase-locked loop (PLL) configuration using flash memory |
KR20180043626A (en) * | 2016-10-20 | 2018-04-30 | 삼성전자주식회사 | System and method for routing a bus including buffer |
US9858780B1 (en) | 2016-10-20 | 2018-01-02 | International Business Machines Corporation | Tamper resistant electronic devices |
US10595422B2 (en) | 2016-10-20 | 2020-03-17 | International Business Machines Corporation | Tamper resistant electronic devices |
US10368080B2 (en) | 2016-10-21 | 2019-07-30 | Microsoft Technology Licensing, Llc | Selective upsampling or refresh of chroma sample values |
US10685710B2 (en) | 2016-11-17 | 2020-06-16 | Toshiba Memory Corporation | Memory controller |
US10693725B1 (en) | 2016-11-28 | 2020-06-23 | Barefoot Networks, Inc. | Dynamically reconfiguring data plane of forwarding element to account for operating temperature |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
JP6829063B2 (en) * | 2016-12-08 | 2021-02-10 | パナソニック デバイスSunx株式会社 | Laser processing equipment |
JP6789789B2 (en) * | 2016-12-12 | 2020-11-25 | キヤノン株式会社 | Recording element substrate, recording head, and image forming apparatus |
US10452877B2 (en) | 2016-12-16 | 2019-10-22 | Assa Abloy Ab | Methods to combine and auto-configure wiegand and RS485 |
US10394784B2 (en) * | 2016-12-22 | 2019-08-27 | Intel Corporation | Technologies for management of lookup tables |
TWI609185B (en) * | 2016-12-23 | 2017-12-21 | 英業達股份有限公司 | Expansion circuit board for expanding jtag interface |
US10671378B2 (en) * | 2016-12-30 | 2020-06-02 | Paypal, Inc. | Updating particular features in an application |
CN106626794B (en) * | 2016-12-30 | 2020-07-28 | 珠海艾派克微电子有限公司 | Ink box indicator lamp control method and device, ink box chip and ink box |
US10432730B1 (en) | 2017-01-25 | 2019-10-01 | United States Of America As Represented By The Secretary Of The Air Force | Apparatus and method for bus protection |
KR102615775B1 (en) * | 2017-01-31 | 2023-12-20 | 에스케이하이닉스 주식회사 | Semiconductor device |
CN108418776B (en) * | 2017-02-09 | 2021-08-20 | 上海诺基亚贝尔股份有限公司 | Method and apparatus for providing secure services |
JP2018136866A (en) * | 2017-02-23 | 2018-08-30 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
JP6249119B1 (en) * | 2017-03-15 | 2017-12-20 | 日本電気株式会社 | Control device, control method, program, information processing device |
CN106991340B (en) * | 2017-03-17 | 2018-05-15 | 广州小微电子技术有限公司 | Chip encryption method |
JP6885151B2 (en) * | 2017-03-30 | 2021-06-09 | ブラザー工業株式会社 | Image processing device |
US10990707B1 (en) * | 2017-03-30 | 2021-04-27 | Comodo Security Solutions, Inc. | Device for safe data signing |
US10296477B2 (en) | 2017-03-30 | 2019-05-21 | United States of America as represented by the Secretary of the AirForce | Data bus logger |
US10579499B2 (en) * | 2017-04-04 | 2020-03-03 | International Business Machines Corporation | Task latency debugging in symmetric multiprocessing computer systems |
DE102017108216A1 (en) | 2017-04-18 | 2018-10-18 | Infineon Technologies Ag | Control system and method of memory access |
DE102017108219A1 (en) | 2017-04-18 | 2018-10-18 | Infineon Technologies Ag | Control system and method of memory access |
CN107038125B (en) * | 2017-04-25 | 2020-11-24 | 上海兆芯集成电路有限公司 | Processor cache with independent pipeline to speed prefetch requests |
US10511615B2 (en) * | 2017-05-05 | 2019-12-17 | Microsoft Technology Licensing, Llc | Non-protocol specific system and method for classifying suspect IP addresses as sources of non-targeted attacks on cloud based machines |
US10696899B2 (en) | 2017-05-09 | 2020-06-30 | International Business Machines Corporation | Light emitting shell in multi-compartment microcapsules |
US20180329837A1 (en) * | 2017-05-10 | 2018-11-15 | Qualcomm Incorporated | Input/output direction decoding in mixed vgpio state exchange |
CN108881120B (en) | 2017-05-12 | 2020-12-04 | 创新先进技术有限公司 | Data processing method and device based on block chain |
JP6834771B2 (en) * | 2017-05-19 | 2021-02-24 | 富士通株式会社 | Communication device and communication method |
WO2018216994A2 (en) * | 2017-05-23 | 2018-11-29 | 이명신 | Multifunction device control apparatus, security paper multifunction device and security system using same, and control method thereof |
US10900908B2 (en) | 2017-05-24 | 2021-01-26 | International Business Machines Corporation | Chemiluminescence for tamper event detection |
US10357921B2 (en) | 2017-05-24 | 2019-07-23 | International Business Machines Corporation | Light generating microcapsules for photo-curing |
TWI647551B (en) * | 2017-05-26 | 2019-01-11 | 新唐科技股份有限公司 | Communication device, communication system and operation method thereof |
US10534546B2 (en) * | 2017-06-13 | 2020-01-14 | Western Digital Technologies, Inc. | Storage system having an adaptive workload-based command processing clock |
US10392452B2 (en) | 2017-06-23 | 2019-08-27 | International Business Machines Corporation | Light generating microcapsules for self-healing polymer applications |
WO2018236396A1 (en) * | 2017-06-23 | 2018-12-27 | Hewlett-Packard Development Company, L.P. | Partial printing fluid short detection |
US10445500B2 (en) * | 2017-06-28 | 2019-10-15 | Arm Limited | Reset attack detection |
WO2019013760A1 (en) | 2017-07-11 | 2019-01-17 | Hewlett-Packard Development Company, L.P. | Fluidic die with primitive size greater than or equal to evaluator subset |
CN107484207B (en) * | 2017-07-13 | 2020-06-30 | 燕山大学 | Combined topology control and channel distribution load balancing method in wireless sensor network |
US10268572B2 (en) * | 2017-08-03 | 2019-04-23 | Fujitsu Limited | Interactive software program repair |
US10362055B2 (en) * | 2017-08-10 | 2019-07-23 | Blue Jeans Network, Inc. | System and methods for active brute force attack protection |
RU2652450C1 (en) * | 2017-08-18 | 2018-04-26 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Device for calculation montgomery modular product |
JP6992323B2 (en) * | 2017-08-24 | 2022-01-13 | コニカミノルタ株式会社 | Image forming device and correction control program |
CN107704730B (en) * | 2017-09-15 | 2021-08-10 | 成都驰通数码系统有限公司 | Self-encryption method for embedded software of electronic equipment |
CN107491659B (en) * | 2017-09-20 | 2022-03-15 | 上海联影医疗科技股份有限公司 | Medical equipment system upgrading method and device |
US10315419B2 (en) * | 2017-09-22 | 2019-06-11 | Eastman Kodak Company | Method for assigning communication addresses |
US10545844B2 (en) | 2017-09-29 | 2020-01-28 | Ricoh Company, Ltd. | Print verification system that reports defective printheads |
KR102366972B1 (en) * | 2017-12-05 | 2022-02-24 | 삼성전자주식회사 | Clock and data recovery device and method using current-controlled oscillator |
JP6584487B2 (en) * | 2017-12-20 | 2019-10-02 | キヤノン株式会社 | Information processing apparatus, control method thereof, and program |
US10649656B2 (en) * | 2017-12-28 | 2020-05-12 | Micron Technology, Inc. | Techniques to update a trim parameter in non-volatile memory |
CN108556483B (en) * | 2018-01-17 | 2019-08-09 | 森大(深圳)技术有限公司 | Modify method, apparatus, equipment and the medium of pre-press data compensation abnormal nozzle |
CN108537344B (en) * | 2018-02-01 | 2021-09-14 | 贵州电网有限责任公司 | Secondary equipment intelligent operation and maintenance method based on closed-loop knowledge management |
US11522700B1 (en) | 2018-02-12 | 2022-12-06 | Gemini Ip, Llc | Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US10438290B1 (en) | 2018-03-05 | 2019-10-08 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US10540654B1 (en) | 2018-02-12 | 2020-01-21 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11200569B1 (en) | 2018-02-12 | 2021-12-14 | Winklevoss Ip, Llc | System, method and program product for making payments using fiat-backed digital assets |
US10929842B1 (en) | 2018-03-05 | 2021-02-23 | Winklevoss Ip, Llc | System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat |
US11139955B1 (en) | 2018-02-12 | 2021-10-05 | Winklevoss Ip, Llc | Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US10373129B1 (en) | 2018-03-05 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11475442B1 (en) | 2018-02-12 | 2022-10-18 | Gemini Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
US11909860B1 (en) | 2018-02-12 | 2024-02-20 | Gemini Ip, Llc | Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain |
US11308487B1 (en) | 2018-02-12 | 2022-04-19 | Gemini Ip, Llc | System, method and program product for obtaining digital assets |
US10373158B1 (en) | 2018-02-12 | 2019-08-06 | Winklevoss Ip, Llc | System, method and program product for modifying a supply of stable value digital asset tokens |
CN108399075A (en) * | 2018-02-28 | 2018-08-14 | 郑州云海信息技术有限公司 | A kind of method and system of update management engine |
US20210107279A1 (en) * | 2018-03-05 | 2021-04-15 | Hewlett-Packard Development Company, L.P. | Zonal actuator fault detection |
US11334883B1 (en) | 2018-03-05 | 2022-05-17 | Gemini Ip, Llc | Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets |
WO2019172873A1 (en) * | 2018-03-05 | 2019-09-12 | Hewlett-Packard Development Company, L.P. | Actuator fault indication via wires along busses |
US10642951B1 (en) * | 2018-03-07 | 2020-05-05 | Xilinx, Inc. | Register pull-out for sequential circuit blocks in circuit designs |
US11712637B1 (en) | 2018-03-23 | 2023-08-01 | Steven M. Hoffberg | Steerable disk or ball |
CN108681458A (en) * | 2018-03-23 | 2018-10-19 | 天津清智科技有限公司 | A kind of hand-held programmer and its control method |
JP7183559B2 (en) * | 2018-03-30 | 2022-12-06 | ブラザー工業株式会社 | Printers and computer programs for printers |
US10969467B1 (en) | 2018-04-13 | 2021-04-06 | Kwesst Inc. | Programmable multi-waveform RF generator for use as battlefield decoy |
US11096243B2 (en) | 2018-04-13 | 2021-08-17 | Kwesst Inc. | Programmable multi-waveform RF generator for use as battlefield decoy |
US11017078B2 (en) * | 2018-04-24 | 2021-05-25 | Microsoft Technology Licensing, Llc | Environmentally-trained time dilation |
US10785017B2 (en) | 2018-04-24 | 2020-09-22 | Microsoft Technology Licensing, Llc | Mitigating timing attacks via dynamically scaled time dilation |
US10965444B2 (en) | 2018-04-24 | 2021-03-30 | Microsoft Technology Licensing, Llc | Mitigating timing attacks via dynamically triggered time dilation |
CN112005508B (en) | 2018-04-25 | 2023-02-17 | 三菱电机株式会社 | Information processing device, information processing method, and computer-readable recording medium |
US10700709B1 (en) * | 2018-04-27 | 2020-06-30 | Xilinx, Inc. | Linear block code decoding |
CN108804102B (en) * | 2018-05-24 | 2022-02-22 | 武汉斗鱼网络科技有限公司 | Method and system for expanding interface style of live broadcast room, server and storage medium |
CN108874371B (en) * | 2018-05-24 | 2022-02-22 | 武汉斗鱼网络科技有限公司 | Method and system for extending style of live broadcast room, server and storage medium |
US10892903B2 (en) * | 2018-05-29 | 2021-01-12 | Ememory Technology Inc. | Communication system capable of preserving a chip-to-chip integrity |
WO2019236079A1 (en) * | 2018-06-06 | 2019-12-12 | Hewlett-Packard Development Company, L.P. | Extendable width adjustors |
JP7137379B2 (en) * | 2018-07-05 | 2022-09-14 | Juki株式会社 | Production system, management device, program |
CN108985016A (en) * | 2018-07-12 | 2018-12-11 | 江苏慧学堂系统工程有限公司 | A kind of computer data information protective device |
CN110719250B (en) * | 2018-07-13 | 2021-07-06 | 中国科学院沈阳自动化研究所 | Powerlink industrial control protocol anomaly detection method based on PSO-SVDD |
TW202010325A (en) * | 2018-08-10 | 2020-03-01 | 華創車電技術中心股份有限公司 | System and method for data processing of on-board-unit |
US10838621B2 (en) * | 2018-08-14 | 2020-11-17 | Silicon Motion, Inc. | Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection |
US11165578B1 (en) | 2018-08-16 | 2021-11-02 | Pqsecure Technologies, Llc | Efficient architecture and method for arithmetic computations in post-quantum cryptography |
CN109191340A (en) * | 2018-08-27 | 2019-01-11 | 芜湖新使命教育科技有限公司 | A kind of Examinee identity verification system and verification method based on mobile terminal |
US10942909B2 (en) * | 2018-09-25 | 2021-03-09 | Salesforce.Com, Inc. | Efficient production and consumption for data changes in a database under high concurrency |
EP3824382A4 (en) * | 2018-09-26 | 2022-03-16 | Hewlett-Packard Development Company, L.P. | Color pipeline |
TWI668704B (en) * | 2018-10-01 | 2019-08-11 | 大陸商深圳大心電子科技有限公司 | Data management method and storage controller using the same |
WO2020086087A1 (en) * | 2018-10-25 | 2020-04-30 | Hewlett-Packard Development Company, L.P. | Integrated circuit(s) with anti-glitch canary circuit(s) |
US11068598B2 (en) * | 2018-11-01 | 2021-07-20 | Dell Products L.P. | Chassis internal device security |
CN109542059B (en) * | 2018-11-19 | 2022-04-01 | 国核自仪系统工程有限公司 | Historical data compression device and method |
CN110764797A (en) * | 2018-11-19 | 2020-02-07 | 哈尔滨安天科技集团股份有限公司 | Method, device and system for upgrading file in chip and server |
CN109615423B (en) | 2018-11-29 | 2020-06-16 | 阿里巴巴集团控股有限公司 | Service processing method and device |
US11338586B2 (en) | 2018-12-03 | 2022-05-24 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
DK3681723T3 (en) | 2018-12-03 | 2021-08-30 | Hewlett Packard Development Co | LOGICAL CIRCUIT |
MX2021005993A (en) | 2018-12-03 | 2021-07-06 | Hewlett Packard Development Co | Logic circuitry. |
EP4235494A3 (en) | 2018-12-03 | 2023-09-20 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
US10894423B2 (en) | 2018-12-03 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
EP3687815B1 (en) | 2018-12-03 | 2021-11-10 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
US11292261B2 (en) | 2018-12-03 | 2022-04-05 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
BR112021010754A2 (en) | 2018-12-03 | 2021-08-31 | Hewlett-Packard Development Company, L.P. | LOGICAL CIRCUITS |
AU2019392184A1 (en) | 2018-12-03 | 2021-07-29 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
AU2018452257B2 (en) | 2018-12-03 | 2022-12-01 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
CN109379195B (en) * | 2018-12-18 | 2021-04-30 | 深圳前海微众银行股份有限公司 | Zero-knowledge proof circuit optimization method, device, equipment and readable storage medium |
CN109697033B (en) * | 2018-12-19 | 2022-01-07 | 中国人民解放军国防科技大学 | Tile record disk sensing storage caching method and system |
US11456891B2 (en) | 2018-12-20 | 2022-09-27 | Rolls-Royce North American Technologies Inc. | Apparatus and methods for authenticating cyber secure control system configurations using distributed ledgers |
US10585650B1 (en) * | 2018-12-21 | 2020-03-10 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method and system for generating program code |
CN109710198B (en) * | 2018-12-29 | 2020-12-25 | 森大(深圳)技术有限公司 | Printing method, device and equipment for local dynamic variable image |
WO2020141524A1 (en) | 2018-12-31 | 2020-07-09 | Stratasys Ltd. | Method and system for improving color uniformity in inkjet printing |
CN109885351B (en) * | 2019-01-22 | 2021-09-28 | 飞天诚信科技股份有限公司 | Multi-application smart card and method for establishing master-slave application relationship thereof |
US12093942B1 (en) | 2019-02-22 | 2024-09-17 | Gemini Ip, Llc | Systems, methods, and program products for modifying the supply, depositing, holding, and/or distributing collateral as a stable value token in the form of digital assets |
US11366689B2 (en) * | 2019-02-26 | 2022-06-21 | Nxp Usa, Inc. | Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units |
CN111679785A (en) | 2019-03-11 | 2020-09-18 | 三星电子株式会社 | Memory device for processing operation, operating method thereof and data processing system |
DE102020105628A1 (en) | 2019-03-11 | 2020-09-17 | Samsung Electronics Co., Ltd. | Method for performing internal processing operations with a predefined protocol interface of a storage device |
US11144705B2 (en) | 2019-03-21 | 2021-10-12 | International Business Machines Corporation | Cognitive multiple-level highlight contrasting for entities |
CN110202940A (en) * | 2019-05-06 | 2019-09-06 | 珠海艾派克微电子有限公司 | Printing consumables, print cartridge and control method |
US11356283B2 (en) * | 2019-05-08 | 2022-06-07 | Seagate Technology Llc | Data storage using an encryption key with a time expiration associated therewith |
US11036406B2 (en) * | 2019-05-21 | 2021-06-15 | International Business Machines Corporation | Thermally aware memory management |
EP3742295A1 (en) * | 2019-05-23 | 2020-11-25 | NXP USA, Inc. | Automatic firmware rollback |
CN110162052A (en) * | 2019-05-27 | 2019-08-23 | 北京新能源汽车股份有限公司 | Code generation method and system for automatic driving decision and vehicle |
US11210280B2 (en) * | 2019-06-04 | 2021-12-28 | Alibaba Group Holding Limited | Systems and methods for fast bloom filter operations |
US20220091841A1 (en) * | 2019-06-10 | 2022-03-24 | Hewlett-Packard Development Company, L.P. | Replacement-triggered software updates |
CN110224789B (en) * | 2019-06-10 | 2021-09-07 | 哈尔滨工业大学 | Multi-mode HDLC controller based on FPGA |
US11182486B2 (en) * | 2019-06-11 | 2021-11-23 | Sophos Limited | Early boot driver for start-up detection of malicious code |
US11501370B1 (en) | 2019-06-17 | 2022-11-15 | Gemini Ip, Llc | Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange |
US11456877B2 (en) * | 2019-06-28 | 2022-09-27 | Intel Corporation | Unified accelerator for classical and post-quantum digital signature schemes in computing environments |
US11269999B2 (en) * | 2019-07-01 | 2022-03-08 | At&T Intellectual Property I, L.P. | Protecting computing devices from malicious tampering |
CN110362501B (en) * | 2019-07-05 | 2021-09-24 | 北京大学 | Apparatus and method for performing saturated addressing load and store operations |
CN110347555B (en) * | 2019-07-09 | 2021-10-01 | 英业达科技有限公司 | Hard disk operation state determination method |
TWI689736B (en) * | 2019-07-11 | 2020-04-01 | 瑞昱半導體股份有限公司 | Method of detecting correlation of pins of circuit and computer program product thereof |
US11037613B2 (en) * | 2019-07-17 | 2021-06-15 | Micron Technology, Inc. | Implementations to store fuse data in memory devices |
CN112311718B (en) * | 2019-07-24 | 2023-08-22 | 华为技术有限公司 | Method, device, equipment and storage medium for detecting hardware |
CN110413272B (en) * | 2019-07-30 | 2023-10-13 | 广州市百果园信息技术有限公司 | Front-end project construction method, device, storage medium and equipment |
CN110610077B (en) * | 2019-08-12 | 2021-05-11 | 深圳市国科亿道科技有限公司 | Encryption and decryption method based on chip |
US10957381B1 (en) * | 2019-08-28 | 2021-03-23 | Micron Technology, Inc. | Metadata grouping for un-map techniques |
CN110492964B (en) * | 2019-08-29 | 2020-10-02 | 广东博智林机器人有限公司 | CLOCK source synchronization device and method based on CLOCK BUFF |
US11416435B2 (en) * | 2019-09-03 | 2022-08-16 | Pensando Systems Inc. | Flexible datapath offload chaining |
US10971242B2 (en) | 2019-09-11 | 2021-04-06 | International Business Machines Corporation | Sequential error capture during memory test |
US10998075B2 (en) * | 2019-09-11 | 2021-05-04 | International Business Machines Corporation | Built-in self-test for bit-write enabled memory arrays |
CN110531307B (en) * | 2019-09-12 | 2021-09-21 | 宁波三星医疗电气股份有限公司 | Debugging method and device of power acquisition terminal and power acquisition terminal |
US11321457B2 (en) * | 2019-09-16 | 2022-05-03 | Nuvoton Technology Corporation | Data-sampling integrity check by sampling using flip-flops with relative delay |
US10642979B1 (en) * | 2019-09-19 | 2020-05-05 | Capital One Services, Llc | System and method for application tamper discovery |
CN110693486B (en) * | 2019-09-27 | 2022-06-14 | 武汉中旗生物医疗电子有限公司 | Electrocardiogram abnormity labeling method and device |
CN110752977B (en) * | 2019-10-11 | 2021-07-27 | 中国海洋大学 | Abnormal intrusion detection method and device for CAN bus of Internet of vehicles |
CN112671690B (en) * | 2019-10-16 | 2022-08-30 | 中国电信股份有限公司 | Streaming media communication method, device, system and storage medium |
EP3844000B1 (en) | 2019-10-25 | 2023-04-12 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
US10831954B1 (en) * | 2019-10-29 | 2020-11-10 | International Business Machines Corporation | Technology lookup table-based default assertion generation and consumption for timing closure of VLSI designs |
WO2021086384A1 (en) * | 2019-10-31 | 2021-05-06 | Hewlett-Packard Development Company, L.P. | Fluid delivery fault detection |
US11288406B1 (en) * | 2019-11-15 | 2022-03-29 | The Charles Stark Draper Laboratory, Inc. | Fast XOR interface with processor and memory |
CN110753221B (en) * | 2019-11-18 | 2021-04-27 | 中国科学院长春光学精密机械与物理研究所 | Real-time correction system for serial image data training of CMOS image sensor |
WO2021101539A1 (en) * | 2019-11-20 | 2021-05-27 | Hewlett-Packard Development Company, L.P. | Electronic component having extra functionality mode |
US11945225B2 (en) | 2019-11-22 | 2024-04-02 | Hewlett-Packard Development Company, L.P. | Determining printing fluid amounts |
CN111147158A (en) * | 2019-12-04 | 2020-05-12 | 杭州恒生数字设备科技有限公司 | Method for shielding multi-frequency WIFI signal |
US11775378B2 (en) * | 2019-12-16 | 2023-10-03 | Micron Technology, Inc. | Memory health status reporting |
CN111049604B (en) * | 2019-12-16 | 2021-10-15 | 深圳市烽云技术有限公司 | Wireless ad hoc network method and device based on auxiliary receiving channel |
CN111221755B (en) * | 2019-12-28 | 2020-11-10 | 重庆秦嵩科技有限公司 | Io interrupt control method for FPGA2 submodule |
TWI734326B (en) | 2019-12-30 | 2021-07-21 | 新唐科技股份有限公司 | Audio synchronization processing circuit and method thereof |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN111338984B (en) * | 2020-02-25 | 2022-05-17 | 大唐半导体科技有限公司 | Cache RAM and Retention RAM data high-speed exchange architecture and method thereof |
CN111339001B (en) * | 2020-03-09 | 2021-07-30 | 厦门润积集成电路技术有限公司 | Low-power-consumption single bus communication method and system |
US12034454B2 (en) | 2020-03-23 | 2024-07-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Verifying data integrity in a receiver |
US11080059B1 (en) * | 2020-03-30 | 2021-08-03 | Sandisk Technologies Llc | Reducing firmware size and increasing firmware performance |
KR20210133799A (en) | 2020-04-29 | 2021-11-08 | 삼성전자주식회사 | Data transceiving system including clock and data recovery device and operating method thereof |
US11282558B2 (en) * | 2020-05-21 | 2022-03-22 | Wuxi Petabyte Technologies Co., Ltd. | Ferroelectric random-access memory with ROMFUSE area having redundant configuration wordlines |
CN111722581B (en) * | 2020-05-28 | 2021-10-22 | 国电南瑞科技股份有限公司 | Method for improving communication transmission and data processing efficiency of PLC and upper computer |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
CN111693757A (en) * | 2020-06-22 | 2020-09-22 | 索尔思光电(成都)有限公司 | LD bias current detection method and circuit, and optical module |
CN111787320B (en) * | 2020-07-03 | 2022-02-08 | 北京博雅慧视智能技术研究院有限公司 | Transform coding system and method |
US20220021544A1 (en) * | 2020-07-15 | 2022-01-20 | Micron Technology, Inc. | Secure Serial Peripheral Interface (SPI) Flash |
US11509473B2 (en) * | 2020-07-20 | 2022-11-22 | Pqsecure Technologies, Llc | Architecture and method for hybrid isogeny-based cryptosystems |
CN111857307B (en) * | 2020-07-30 | 2022-04-01 | 南京英锐创电子科技有限公司 | Control device, control system and control method of power reset circuit |
CN112002495B (en) * | 2020-08-14 | 2022-08-19 | 李洪恩 | Cable core shaping device |
US11843667B2 (en) | 2020-08-17 | 2023-12-12 | Toyota Motor North America, Inc. | Real time boot for secure distributed systems |
EP4182794A1 (en) * | 2020-09-11 | 2023-05-24 | Google LLC | Hardware-based save-and-restore controller |
JP7362583B2 (en) * | 2020-09-23 | 2023-10-17 | 株式会社東芝 | information processing equipment |
US20220100428A1 (en) * | 2020-09-25 | 2022-03-31 | Micron Technology, Inc. | Frequency monitoring for memory devices |
US11600362B2 (en) | 2020-09-30 | 2023-03-07 | International Business Machines Corporation | Visually representing concepts and relationships on an electronic interface for delivered content |
JP2022070069A (en) * | 2020-10-26 | 2022-05-12 | グローリー株式会社 | Currency processing device and currency processing method |
CN112291066B (en) * | 2020-10-29 | 2022-02-01 | 中国科学院信息工程研究所 | Data sending method, data receiving method, terminal equipment and electronic equipment |
CN112463672A (en) * | 2020-11-04 | 2021-03-09 | 贵州电网有限责任公司 | Data transmission method, device and medium |
US11783026B2 (en) * | 2021-01-05 | 2023-10-10 | Nuvoton Technology Corporation | Processor with in-band fault-injection detection |
CN112748791B (en) * | 2021-01-19 | 2022-07-01 | 中国科学院微小卫星创新研究院 | Satellite comprehensive electronic computer autonomous switching method |
JP2022124765A (en) * | 2021-02-16 | 2022-08-26 | 富士通株式会社 | Multiple control program, information processing apparatus, and multiple control method |
CN112995330B (en) * | 2021-03-19 | 2021-10-01 | 北京北航天宇长鹰无人机科技有限公司 | Transparent information extraction method and device for data |
US20240193116A1 (en) * | 2021-04-16 | 2024-06-13 | Brookhaven Science Associates, Llc | Event-driven readout system with non-priority arbitration for multichannel data sources |
TWI805069B (en) * | 2021-04-26 | 2023-06-11 | 財團法人工業技術研究院 | High-frequency component test device and method thereof |
EP4341094A4 (en) * | 2021-05-21 | 2024-07-10 | Hewlett Packard Development Co | Page wide array print job interruptions |
CN113296705B (en) * | 2021-05-27 | 2022-09-27 | 浙江萤火虫区块链科技有限公司 | Framework system for parallel computing Poseido Hash in Filecin |
CN113553103B (en) * | 2021-06-03 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | Multi-core parallel scheduling method based on CPU + GPU heterogeneous processing platform |
CN113255296A (en) * | 2021-06-08 | 2021-08-13 | 北京翔东智能科技有限公司 | Electronic contract classified storage safety management system |
CN113452378B (en) * | 2021-06-28 | 2024-07-05 | 国网北京市电力公司 | Compression method, device and computer readable storage medium for twin data |
JP2023043534A (en) * | 2021-09-16 | 2023-03-29 | キオクシア株式会社 | Measuring method, measuring apparatus, and mark |
US20220004398A1 (en) * | 2021-09-22 | 2022-01-06 | Intel Corporation | Integrated circuit package reconfiguration mechanism |
CN113946313B (en) * | 2021-10-12 | 2023-05-05 | 哲库科技(北京)有限公司 | Processing circuit, chip and terminal of LOOKUP3 hash algorithm |
US11994938B2 (en) | 2021-11-11 | 2024-05-28 | Samsung Electronics Co., Ltd. | Systems and methods for detecting intra-chip communication errors in a reconfigurable hardware system |
US12001270B2 (en) * | 2021-12-07 | 2024-06-04 | Microchip Technology Incorporated | Vector fetch bus error handling |
US11983431B2 (en) * | 2022-01-20 | 2024-05-14 | Dell Products L.P. | Read-disturb-based read temperature time-based attenuation system |
US11928354B2 (en) | 2022-01-21 | 2024-03-12 | Dell Products L.P. | Read-disturb-based read temperature determination system |
US11922035B2 (en) | 2022-01-21 | 2024-03-05 | Dell Products L.P. | Read-disturb-based read temperature adjustment system |
CN114565069A (en) * | 2022-01-25 | 2022-05-31 | 国创移动能源创新中心(江苏)有限公司 | Data transmission system of contact card and control method thereof |
US20240283639A1 (en) * | 2022-05-31 | 2024-08-22 | As0001, Inc. | Systems and methods for configuration locking |
CN115080473B (en) * | 2022-06-29 | 2023-11-21 | 海光信息技术股份有限公司 | Multi-chip interconnection system and safe starting method based on same |
US20240028769A1 (en) * | 2022-07-22 | 2024-01-25 | Dell Products L.P. | Authentication of memory expansion capabilities |
US20240103761A1 (en) * | 2022-09-23 | 2024-03-28 | Synopsys, Inc. | Buffer circuitry for store to load forwarding |
DE102023102691A1 (en) | 2023-02-03 | 2024-08-08 | btv technologies gmbh | Method for writing data to an IC and system for carrying out the method |
DE102023108936A1 (en) | 2023-04-06 | 2024-10-10 | Dekron Gmbh | Method and device for printing containers |
CN116684221B (en) * | 2023-08-02 | 2023-10-17 | 佛山冠湾智能科技有限公司 | Time-sharing IO bus of integrative hardware modularization is driven in accuse |
US12118098B1 (en) | 2023-12-08 | 2024-10-15 | Pqsecure Technologies, Llc | Computer processing system and method configured to effectuate lower-order masking in a higher-order masked design |
CN118503298B (en) * | 2024-07-18 | 2024-09-24 | 杭州新中大科技股份有限公司 | Data processing method, device, equipment and storage medium based on double caches |
Citations (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US583542A (en) * | 1897-06-01 | Corn-sheller | ||
US4625181A (en) * | 1984-01-18 | 1986-11-25 | Siemens Aktiengesellschaft | Integrated semiconductor circuit with a ring oscillator |
US4932232A (en) * | 1988-05-20 | 1990-06-12 | Alcan Aluminum Corporation | Methods of detecting and correcting spray header malfunctions |
US5428309A (en) * | 1989-05-11 | 1995-06-27 | Mitsubishi Denki Kabushiki Kaisha | Delay circuit |
US5581284A (en) * | 1994-11-25 | 1996-12-03 | Xerox Corporation | Method of extending the life of a printbar of a color ink jet printer |
US5581198A (en) * | 1995-02-24 | 1996-12-03 | Xilinx, Inc. | Shadow DRAM for programmable logic devices |
US5621698A (en) * | 1994-12-31 | 1997-04-15 | Hyundai Electronics Industries Co., Ltd. | Data signal distribution circuit for synchronous memory device |
US5661428A (en) * | 1996-04-15 | 1997-08-26 | Micron Technology, Inc. | Frequency adjustable, zero temperature coefficient referencing ring oscillator circuit |
US5673316A (en) * | 1996-03-29 | 1997-09-30 | International Business Machines Corporation | Creation and distribution of cryptographic envelope |
US5835424A (en) * | 1994-09-09 | 1998-11-10 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory |
US6027195A (en) * | 1996-11-12 | 2000-02-22 | Varis Corporation | System and method for synchronizing the piezoelectric clock sources of a plurality of ink jet printheads |
US6246970B1 (en) * | 1998-07-10 | 2001-06-12 | Silverbrook Research Pty Ltd | Method for making a chip tamper-resistant |
US20010010724A1 (en) * | 2000-01-25 | 2001-08-02 | Murata Kikai Kabushiki Kaisha And Masao Kasahara | Secret key generating method, encryption method, cryptographic communication method and cryptographic communication system |
US6283572B1 (en) * | 1997-03-04 | 2001-09-04 | Hewlett-Packard Company | Dynamic multi-pass print mode corrections to compensate for malfunctioning inkjet nozzles |
US6327199B1 (en) * | 1998-10-09 | 2001-12-04 | Micron Technology, Inc. | Method for testing memory devices |
US20020013898A1 (en) * | 1997-06-04 | 2002-01-31 | Sudia Frank W. | Method and apparatus for roaming use of cryptographic values |
US6354689B1 (en) * | 1998-12-22 | 2002-03-12 | Eastman Kodak Company | Method of compensating for malperforming nozzles in a multitone inkjet printer |
US20020060707A1 (en) * | 2000-02-15 | 2002-05-23 | Chia-Lei Yu | Ink jet printer with a compensation function for malfunctioning nozzles |
US20020103999A1 (en) * | 2000-11-03 | 2002-08-01 | International Business Machines Corporation | Non-transferable anonymous credential system with optional anonymity revocation |
US6428139B1 (en) * | 2000-06-30 | 2002-08-06 | Silverbrook Research Pty Ltd. | Ink jet fault tolerance using extra ink dots |
US6651149B1 (en) * | 1998-12-10 | 2003-11-18 | Kabushiki Kaisha Toshiba | Data storage medium with certification data |
US20040046811A1 (en) * | 2002-09-09 | 2004-03-11 | Compaq Information Technologies Group, L.P. | System and method for compensating for non-functional ink cartridge ink jet nozzles |
US20040095194A1 (en) * | 2002-11-14 | 2004-05-20 | Gupta Atul K. | Dynamically trimmed voltage controlled oscillator |
US20040260932A1 (en) * | 2001-09-18 | 2004-12-23 | Hugues Blangy | Secure integrated circuit including parts having a confidential nature and method for operating the same |
US20050046452A1 (en) * | 2003-09-02 | 2005-03-03 | Briones Luis J. | All digital PLL trimming circuit |
US20050286287A1 (en) * | 2004-06-17 | 2005-12-29 | Samsung Electronics Co., Ltd. | Complementary nonvolatile memory device, methods of operating and manufacturing the same, logic device and semiconductor device including the same, and reading circuit for the same |
US20060052962A1 (en) * | 2002-12-02 | 2006-03-09 | Silverbrook Research Pty Ltd. | Integrated circuit having clock trim circuitry |
US7071751B1 (en) * | 2004-12-17 | 2006-07-04 | Xilinx, Inc. | Counter-controlled delay line |
US7124170B1 (en) * | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US20060238216A1 (en) * | 2003-07-30 | 2006-10-26 | Renesas Technology Corp. | Semiconductor integrated circuit |
US7192114B2 (en) * | 2003-09-24 | 2007-03-20 | Canon Kabushiki Kaisha | Printing apparatus and printing method |
US7200759B2 (en) * | 2001-06-08 | 2007-04-03 | Safenet B.V. | Method and device for making information contents of a volatile semiconductor memory irretrievable |
US7224803B2 (en) * | 2001-09-25 | 2007-05-29 | Admtek Incorporated | Method and device for encryption and decryption |
Family Cites Families (230)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US554828A (en) * | 1896-02-18 | maldura | ||
US635689A (en) * | 1899-01-06 | 1899-10-24 | Joseph D King | Adjustable handle-bar. |
US3654689A (en) * | 1970-06-03 | 1972-04-11 | Eis Automotive Corp | Method and apparatus of assembling and disassembling hydraulic disc brake calipers |
US4247913A (en) * | 1979-05-10 | 1981-01-27 | Hiniker Company | Protection circuit for storage of volatile data |
US4309602A (en) * | 1979-11-01 | 1982-01-05 | Eikonix Corportation | Wavefront sensing by phase retrieval |
JPS573164A (en) * | 1980-06-04 | 1982-01-08 | Nippon Denso Co Ltd | Microcomputer control device |
EP0079885A4 (en) * | 1981-05-27 | 1984-03-01 | Mostek Corp | Power supply control for integrated circuit. |
FR2542540B1 (en) * | 1983-03-08 | 1989-02-10 | Canon Kk | IMAGE PROCESSING SYSTEM |
US4644494A (en) * | 1984-02-06 | 1987-02-17 | Sundstrand Data Control, Inc. | Solid state memory for aircraft flight data recorder systems |
EP0165386B1 (en) * | 1984-04-26 | 1989-11-29 | Heidelberger Druckmaschinen Aktiengesellschaft | Method and storage system for the storage of control data for press actuators |
US4593384A (en) * | 1984-12-21 | 1986-06-03 | Ncr Corporation | Security device for the secure storage of sensitive data |
US4685056A (en) * | 1985-06-11 | 1987-08-04 | Pueblo Technologies, Inc. | Computer security device |
US4692903A (en) * | 1985-07-15 | 1987-09-08 | Zenith Electronics Corporation | Memory loss protection circuit |
US4683496A (en) * | 1985-08-23 | 1987-07-28 | The Analytic Sciences Corporation | System for and method of enhancing images using multiband information |
US4690555A (en) * | 1985-11-01 | 1987-09-01 | Hughes Aircraft Company | Solid-state wavefront slope determination |
WO1988001120A1 (en) * | 1986-07-31 | 1988-02-11 | Kabushiki Kaisya Advance | System for generating a shared cryptographic key and a communication system using the shared cryptographic key |
JPH0612616B2 (en) * | 1986-08-13 | 1994-02-16 | 日本テキサス・インスツルメンツ株式会社 | Semiconductor memory device |
US4882686A (en) * | 1987-06-22 | 1989-11-21 | Eastman Kodak Company | Printing apparatus with improved data formatting circuitry |
US5138438A (en) * | 1987-06-24 | 1992-08-11 | Akita Electronics Co. Ltd. | Lead connections means for stacked tab packaged IC chips |
EP0304289A3 (en) * | 1987-08-18 | 1991-03-13 | Kabushiki Kaisha Toshiba | Half-tone image reproduction method and apparatus |
US4992827A (en) * | 1987-12-28 | 1991-02-12 | Canon Kabushiki Kaisha | Image forming apparatus |
JP2710943B2 (en) * | 1988-02-26 | 1998-02-10 | キヤノン株式会社 | Inkjet printer |
CH678663A5 (en) * | 1988-06-09 | 1991-10-15 | Zeiss Carl Fa | |
US5031034A (en) * | 1988-06-20 | 1991-07-09 | Canon Kabushiki Kaisha | Image forming and processing apparatus with identification of character portions of images |
US5185717A (en) * | 1988-08-05 | 1993-02-09 | Ryoichi Mori | Tamper resistant module having logical elements arranged in multiple layers on the outer surface of a substrate to protect stored information |
US4924301A (en) * | 1988-11-08 | 1990-05-08 | Seecolor Corporation | Apparatus and methods for digital halftoning |
JP2563134B2 (en) * | 1989-01-25 | 1996-12-11 | 日本電子株式会社 | Scanning transmission type phase contrast electron microscope |
US5172134A (en) * | 1989-03-31 | 1992-12-15 | Canon Kabushiki Kaisha | Ink jet recording head, driving method for same and ink jet recording apparatus |
US5212664A (en) * | 1989-04-05 | 1993-05-18 | Mitsubishi Denki Kabushiki Kaisha | Information card with dual power detection signals to memory decoder |
US4999575A (en) * | 1989-09-25 | 1991-03-12 | General Electric Company | Power supply and monitor for controlling an electrical load following a power outage |
US5305436A (en) * | 1990-04-02 | 1994-04-19 | Hewlett-Packard Company | Hose bus video interface in personal computers |
JPH0461096A (en) * | 1990-06-29 | 1992-02-27 | Matsushita Electric Ind Co Ltd | Memory control device |
US5091938B1 (en) * | 1990-08-06 | 1997-02-04 | Nippon Denki Home Electronics | Digital data cryptographic system |
US5327404A (en) * | 1990-11-27 | 1994-07-05 | Vlsi Technology, Inc. | On-chip frequency trimming method for real-time clock |
JP3039563B2 (en) * | 1990-11-29 | 2000-05-08 | 株式会社日立製作所 | Scanning electron microscope and scanning electron microscope method |
US5309516A (en) * | 1990-12-07 | 1994-05-03 | Hitachi, Ltd. | Group cipher communication method and group cipher communication system |
US5193012A (en) * | 1991-04-29 | 1993-03-09 | Snap-Fax Corporation | Real-time conversion of still-video to half-tone for hard copy output (such as on a facsimile machine) |
JPH0548446A (en) | 1991-08-09 | 1993-02-26 | Sony Corp | Semiconductor integrated circuit |
US5198054A (en) * | 1991-08-12 | 1993-03-30 | Xerox Corporation | Method of making compensated collinear reading or writing bar arrays assembled from subunits |
JPH05217834A (en) * | 1992-01-31 | 1993-08-27 | Sharp Corp | Layout method of lsi chip on mask |
US5367375A (en) * | 1992-02-07 | 1994-11-22 | Hughes Aircraft Company | Spatial wavefront evaluation by intensity relationship |
DE69334149T2 (en) * | 1992-04-02 | 2008-02-14 | Kabushiki Kaisha Toshiba, Kawasaki | memory card |
JP3180494B2 (en) * | 1992-04-17 | 2001-06-25 | セイコーエプソン株式会社 | Logic device |
JPH06291994A (en) * | 1992-08-10 | 1994-10-18 | Ricoh Co Ltd | Method and unit for processing picture |
JP3221085B2 (en) * | 1992-09-14 | 2001-10-22 | 富士ゼロックス株式会社 | Parallel processing unit |
US5315635A (en) * | 1992-09-30 | 1994-05-24 | Motorola, Inc. | Reliable message communication system |
KR950011655B1 (en) * | 1992-10-31 | 1995-10-07 | 삼성전자주식회사 | Channel & broadcasting station marked apparatus |
US5457748A (en) * | 1992-11-30 | 1995-10-10 | Motorola, Inc. | Method and apparatus for improved security within encrypted communication devices |
US5440632A (en) * | 1992-12-02 | 1995-08-08 | Scientific-Atlanta, Inc. | Reprogrammable subscriber terminal |
US5363447A (en) * | 1993-03-26 | 1994-11-08 | Motorola, Inc. | Method for loading encryption keys into secure transmission devices |
US5784642A (en) * | 1993-04-05 | 1998-07-21 | Packard Bell Nec | System for establishing a transfer mode between system controller and peripheral device |
EP0626643B1 (en) | 1993-05-24 | 2000-05-03 | Hewlett-Packard Company | Processor responsive to environmental conditions to enable or disable a delay in a processing action |
JP3254913B2 (en) * | 1993-07-21 | 2002-02-12 | セイコーエプソン株式会社 | Control method of print head |
US5511202A (en) * | 1993-07-26 | 1996-04-23 | International Business Machines Corporation | Desktop computer system having zero-volt system suspend and control unit for ascertaining interrupt controller base address |
US5420798A (en) * | 1993-09-30 | 1995-05-30 | Macronix International Co., Ltd. | Supply voltage detection circuit |
US5375089A (en) * | 1993-10-05 | 1994-12-20 | Advanced Micro Devices, Inc. | Plural port memory system utilizing a memory having a read port and a write port |
US5467327A (en) * | 1993-12-22 | 1995-11-14 | Jamail; Randall | Method of masking data on a storage medium |
JPH07210472A (en) * | 1994-01-25 | 1995-08-11 | Fujitsu Ltd | I/o interface control method and computer system |
EP0665673A3 (en) * | 1994-02-01 | 1996-06-12 | Dainippon Screen Mfg | Method and apparatus for producing a halftone image using a threshold matrix. |
US5603063A (en) * | 1994-06-27 | 1997-02-11 | Quantum Corporation | Disk drive command queuing method using two memory devices for storing two types of commands separately first before queuing commands in the second memory device |
US5587730A (en) * | 1994-09-30 | 1996-12-24 | Xerox Corporation | Redundant full width array thermal ink jet printing for improved reliability |
US5594839A (en) * | 1994-10-17 | 1997-01-14 | Seiko Epson Corporation | Apparatus and method for improving black and color separation in halftoned images by printing black dots in a different screen phase |
DE69533937T2 (en) * | 1994-11-17 | 2005-06-30 | Canon K.K. | Transfer of shifted data to a color printer |
KR960019415A (en) * | 1994-11-23 | 1996-06-17 | 윤종용 | Plasma display panel |
JP3302847B2 (en) * | 1994-12-02 | 2002-07-15 | 富士通株式会社 | Storage device |
US5633714A (en) * | 1994-12-19 | 1997-05-27 | International Business Machines Corporation | Preprocessing of image amplitude and phase data for CD and OL measurement |
US5719602A (en) * | 1995-01-20 | 1998-02-17 | Hewlett-Packard Company | Controlling PWA inkjet nozzle timing as a function of media speed |
US5796416A (en) * | 1995-04-12 | 1998-08-18 | Eastman Kodak Company | Nozzle placement in monolithic drop-on-demand print heads |
JP2887836B2 (en) * | 1995-04-27 | 1999-05-10 | 富士ゼロックス株式会社 | Ink jet print head and image recording device |
US5689565A (en) * | 1995-06-29 | 1997-11-18 | Microsoft Corporation | Cryptography system and method for providing cryptographic services for a computer application |
JPH09123437A (en) * | 1995-08-28 | 1997-05-13 | Seiko Epson Corp | Ink jet printer and ink jet recording ink |
US5675365A (en) * | 1995-09-13 | 1997-10-07 | Xerox Corporation | Ejector activation scheduling system for an ink-jet printhead |
US5606703A (en) * | 1995-12-06 | 1997-02-25 | International Business Machines Corporation | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures |
US5619456A (en) * | 1996-01-19 | 1997-04-08 | Sgs-Thomson Microelectronics, Inc. | Synchronous output circuit |
JPH09212254A (en) * | 1996-02-06 | 1997-08-15 | Toshiba Corp | Clock margin control device |
US5805403A (en) * | 1996-03-28 | 1998-09-08 | 3Com Ltd. | Integrated circuit temperature monitoring and protection system |
US6371590B1 (en) * | 1996-04-09 | 2002-04-16 | Samsung Electronics Co., Ltd. | Method for testing nozzles of an inkjet printer |
US5915226A (en) * | 1996-04-19 | 1999-06-22 | Gemplus Card International | Prepaid smart card in a GSM based wireless telephone network and method for operating prepaid cards |
US5796313A (en) * | 1996-04-25 | 1998-08-18 | Waferscale Integration Inc. | Low power programmable ring oscillator |
EP0805050B1 (en) * | 1996-05-02 | 2003-04-16 | Ricoh Company, Ltd | Image forming method and apparatus for rapidly fixing ink on a recording medium |
US6113208A (en) * | 1996-05-22 | 2000-09-05 | Hewlett-Packard Company | Replaceable cartridge for a printer including resident memory with stored message triggering data |
US5796312A (en) * | 1996-05-24 | 1998-08-18 | Microchip Technology Incorporated | Microcontroller with firmware selectable oscillator trimming |
US6320782B1 (en) * | 1996-06-10 | 2001-11-20 | Kabushiki Kaisha Toshiba | Semiconductor memory device and various systems mounting them |
US5870267A (en) * | 1996-07-25 | 1999-02-09 | Konami Co., Ltd. | Semiconductor integrated circuit device with overheating protector and method of protecting semiconductor integrated circuit against overheating |
JP3411159B2 (en) * | 1996-08-02 | 2003-05-26 | 株式会社日立製作所 | Mobile computer support system |
US5822758A (en) | 1996-09-09 | 1998-10-13 | International Business Machines Corporation | Method and system for high performance dynamic and user programmable cache arbitration |
US5935259A (en) * | 1996-09-24 | 1999-08-10 | Apple Computer, Inc. | System and method for preventing damage to media files within a digital camera device |
US5754567A (en) * | 1996-10-15 | 1998-05-19 | Micron Quantum Devices, Inc. | Write reduction in flash memory systems through ECC usage |
JPH10163867A (en) * | 1996-11-29 | 1998-06-19 | Ricoh Co Ltd | Clock generator and its production |
US6168251B1 (en) * | 1996-12-18 | 2001-01-02 | Canon Kabushiki Kaisha | Recording apparatus and method for correcting offset of recorded pixels |
EP0849660B1 (en) * | 1996-12-19 | 2004-10-27 | Koninklijke Philips Electronics N.V. | Portable electronic apparatus with a device for detecting a variation in the supply voltage |
FR2757653B1 (en) * | 1996-12-20 | 1999-03-12 | Sextant Avionique | SELF-CONTAINED INPUT AND OUTPUT CONTROLLER |
US5754762A (en) * | 1997-01-13 | 1998-05-19 | Kuo; Chih-Cheng | Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU |
US5920630A (en) * | 1997-02-25 | 1999-07-06 | United States Of America | Method of public key cryptography that includes key escrow |
US5987576A (en) * | 1997-02-27 | 1999-11-16 | Hewlett-Packard Company | Method and apparatus for generating and distributing clock signals with minimal skew |
US6065113A (en) * | 1997-03-07 | 2000-05-16 | Texas Instruments Incorporated | Circuits, systems, and methods for uniquely identifying a microprocessor at the instruction set level employing one-time programmable register |
US6010205A (en) | 1997-03-12 | 2000-01-04 | Raster Graphics Inc. | Method and apparatus for improved printing |
AUPO799197A0 (en) * | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Image processing method and apparatus (ART01) |
US6112265A (en) * | 1997-04-07 | 2000-08-29 | Intel Corportion | System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command |
JPH10326493A (en) * | 1997-05-23 | 1998-12-08 | Ricoh Co Ltd | Compounded flash memory device |
US6064989A (en) * | 1997-05-29 | 2000-05-16 | Pitney Bowes Inc. | Synchronization of cryptographic keys between two modules of a distributed system |
US5841125A (en) * | 1997-06-06 | 1998-11-24 | Trw Inc. | High energy laser focal sensor (HELFS) |
US5896263A (en) * | 1997-06-27 | 1999-04-20 | Allen-Bradley Company, Llc | Output circuit having electronic overload protection activated by voltage drop across output transistor |
US6702417B2 (en) * | 1997-07-12 | 2004-03-09 | Silverbrook Research Pty Ltd | Printing cartridge with capacitive sensor identification |
US6803989B2 (en) * | 1997-07-15 | 2004-10-12 | Silverbrook Research Pty Ltd | Image printing apparatus including a microcontroller |
US7743262B2 (en) * | 1997-07-15 | 2010-06-22 | Silverbrook Research Pty Ltd | Integrated circuit incorporating protection from power supply attacks |
US6217165B1 (en) * | 1997-07-15 | 2001-04-17 | Silverbrook Research Pty. Ltd. | Ink and media cartridge with axial ink chambers |
AUPO794797A0 (en) * | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | A device (MEMS07) |
US6857724B2 (en) * | 1997-07-15 | 2005-02-22 | Silverbrook Research Pty Ltd | Print assembly for a wide format pagewidth printer |
EP0999935B1 (en) | 1997-08-01 | 2003-11-05 | Encad, Inc. | Ink jet printer, method and system compensating for nonfunctional print elements |
US5942949A (en) * | 1997-10-14 | 1999-08-24 | Lucent Technologies Inc. | Self-calibrating phase-lock loop with auto-trim operations for selecting an appropriate oscillator operating curve |
US6219142B1 (en) * | 1997-10-17 | 2001-04-17 | Southwest Sciences Incorporated | Method and apparatus for determining wave characteristics from wave phenomena |
US6026492A (en) * | 1997-11-06 | 2000-02-15 | International Business Machines Corporation | Computer system and method to disable same when network cable is removed |
US6385728B1 (en) * | 1997-11-26 | 2002-05-07 | International Business Machines Corporation | System, method, and program for providing will-call certificates for guaranteeing authorization for a printer to retrieve a file directly from a file server upon request from a client in a network computer system environment |
US6314521B1 (en) * | 1997-11-26 | 2001-11-06 | International Business Machines Corporation | Secure configuration of a digital certificate for a printer or other network device |
JP3065053B2 (en) * | 1998-01-06 | 2000-07-12 | セイコーエプソン株式会社 | Device monitoring system, local monitoring device, integrated monitoring device, device monitoring method, and computer-readable medium storing program |
FI108827B (en) * | 1998-01-08 | 2002-03-28 | Nokia Corp | A method for implementing connection security in a wireless network |
US6145054A (en) * | 1998-01-21 | 2000-11-07 | Sun Microsystems, Inc. | Apparatus and method for handling multiple mergeable misses in a non-blocking cache |
US5983225A (en) * | 1998-01-26 | 1999-11-09 | Telenor As | Parameterized lock management system and method for conditional conflict serializability of transactions |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
JP3847970B2 (en) * | 1998-04-14 | 2006-11-22 | キヤノン株式会社 | Print data processing apparatus, print data processing method, and recording medium |
US5973968A (en) * | 1998-04-30 | 1999-10-26 | Medtronic, Inc. | Apparatus and method for write protecting a programmable memory |
US6297888B1 (en) * | 1998-05-04 | 2001-10-02 | Canon Kabushiki Kaisha | Automatic alignment of print heads |
US6154195A (en) * | 1998-05-14 | 2000-11-28 | S3 Incorporated | System and method for performing dithering with a graphics unit having an oversampling buffer |
US6481820B1 (en) | 1998-05-25 | 2002-11-19 | Konica Corporation | Ink jet printer which can carry out high speed image formation and which can avoid image failure due to a defective nozzle |
US6226098B1 (en) * | 1998-06-11 | 2001-05-01 | Nuworld Marketing, Ltd | Printer appliance for use in a wireless system for broadcasting packets of information |
US6816968B1 (en) * | 1998-07-10 | 2004-11-09 | Silverbrook Research Pty Ltd | Consumable authentication protocol and system |
US20020008723A1 (en) | 1998-07-21 | 2002-01-24 | Xin Wen | Printer and method of compensating for malperforming and inoperative ink nozzles in a print head |
JP3611177B2 (en) | 1998-07-22 | 2005-01-19 | セイコーエプソン株式会社 | Inkjet recording apparatus and recording method |
US6350004B1 (en) * | 1998-07-29 | 2002-02-26 | Lexmark International, Inc. | Method and system for compensating for skew in an ink jet printer |
US6241338B1 (en) * | 1998-08-06 | 2001-06-05 | Seiko Epson Corporation | Dot printing using partial overlap scheme |
EP0983855A3 (en) | 1998-08-31 | 2000-08-02 | Hewlett-Packard Company | Dot substitution to compensate for failed ink jet nozzles |
US6915375B2 (en) * | 1998-08-31 | 2005-07-05 | Sony Corporation | Memory apparatus and a data-processing apparatus, and method for using the memory apparatus |
US6192349B1 (en) * | 1998-09-28 | 2001-02-20 | International Business Machines Corporation | Smart card mechanism and method for obtaining electronic tickets for goods services over an open communications link |
US6202101B1 (en) * | 1998-09-30 | 2001-03-13 | Compaq Computer Corporation | System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom |
AU760436B2 (en) * | 1998-10-16 | 2003-05-15 | Matsushita Electric Industrial Co., Ltd. | Production protection system dealing with contents that are digital production |
WO2000023279A1 (en) * | 1998-10-16 | 2000-04-27 | Silverbrook Research Pty. Limited | Improvements relating to inkjet printers |
US6526484B1 (en) * | 1998-11-16 | 2003-02-25 | Infineon Technologies Ag | Methods and apparatus for reordering of the memory requests to achieve higher average utilization of the command and data bus |
JP4395943B2 (en) * | 1998-11-26 | 2010-01-13 | セイコーエプソン株式会社 | Printing apparatus and information management method thereof |
AUPP752398A0 (en) * | 1998-12-04 | 1999-01-07 | Collins, Lyal Sidney | Secure multi-point data transfer system |
US6294962B1 (en) * | 1998-12-09 | 2001-09-25 | Cypress Semiconductor Corp. | Circuit(s), architecture and method(s) for operating and/or tuning a ring oscillator |
US6418472B1 (en) * | 1999-01-19 | 2002-07-09 | Intel Corporation | System and method for using internet based caller ID for controlling access to an object stored in a computer |
US6601151B1 (en) * | 1999-02-08 | 2003-07-29 | Sun Microsystems, Inc. | Apparatus and method for handling memory access requests in a data processing system |
US6771385B1 (en) * | 1999-03-03 | 2004-08-03 | Konica Corporation | Method of using a server connected with a network and a server system |
US6191660B1 (en) * | 1999-03-24 | 2001-02-20 | Cypress Semiconductor Corp. | Programmable oscillator scheme |
US6753739B1 (en) * | 1999-03-24 | 2004-06-22 | Cypress Semiconductor Corp. | Programmable oscillator scheme |
JP2000286737A (en) * | 1999-03-30 | 2000-10-13 | Kokusai Electric Co Ltd | Amplifier |
US6587947B1 (en) * | 1999-04-01 | 2003-07-01 | Intel Corporation | System and method for verification of off-chip processor code |
US7002702B1 (en) * | 1999-04-09 | 2006-02-21 | Canon Kabushiki Kaisha | Data processing apparatus and data processing method for controlling plural peripheral devices to provide function |
US6775022B2 (en) * | 1999-04-14 | 2004-08-10 | Canon Kabushiki Kaisha | Printer control based on head alignment |
US6390579B1 (en) * | 1999-04-15 | 2002-05-21 | Hewlett-Packard Company | Pulse width modulator using delay-line technology with automatic calibration of delays to desired operating frequency |
AUPP996099A0 (en) | 1999-04-23 | 1999-05-20 | Silverbrook Research Pty Ltd | A method and apparatus(sprint01) |
JP3389186B2 (en) * | 1999-04-27 | 2003-03-24 | 松下電器産業株式会社 | Semiconductor memory card and reading device |
US6312074B1 (en) * | 1999-04-30 | 2001-11-06 | Hewlett-Packard Company | Method and apparatus for detecting fluid level in a fluid container |
US6269164B1 (en) * | 1999-05-17 | 2001-07-31 | Paul Pires | Method of and system for encrypting messages |
US7035812B2 (en) * | 1999-05-28 | 2006-04-25 | Overture Services, Inc. | System and method for enabling multi-element bidding for influencing a position on a search result list generated by a computer network search engine |
US6711677B1 (en) * | 1999-07-12 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | Secure printing method |
US6947903B1 (en) * | 1999-08-06 | 2005-09-20 | Elcommerce.Com.Inc. | Method and system for monitoring a supply-chain |
US6757831B1 (en) * | 1999-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Logic block used to check instruction buffer configuration |
US7093137B1 (en) * | 1999-09-30 | 2006-08-15 | Casio Computer Co., Ltd. | Database management apparatus and encrypting/decrypting system |
JP4497689B2 (en) * | 1999-10-01 | 2010-07-07 | キヤノン株式会社 | Printing device, exchange unit, and memory unit |
EP1156489B1 (en) * | 1999-10-04 | 2004-12-29 | Seiko Epson Corporation | Integrated circuit, ink cartridge, and ink-jet printer |
JP2001162841A (en) * | 1999-12-07 | 2001-06-19 | Seiko Epson Corp | Printing of parallel bidirectional printing or unidirectional printing for every type of ink |
JP3587751B2 (en) * | 2000-01-25 | 2004-11-10 | 村田機械株式会社 | Common key generator, encryption communication method, encryption communication system, and recording medium |
US6850337B1 (en) * | 2000-01-31 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Methods and arrangement for providing and using printer configuration status information |
US6757832B1 (en) * | 2000-02-15 | 2004-06-29 | Silverbrook Research Pty Ltd | Unauthorized modification of values in flash memory |
AUPQ595900A0 (en) * | 2000-03-02 | 2000-03-23 | Silverbrook Research Pty Ltd | Modular printhead |
FR2807245B1 (en) * | 2000-03-30 | 2002-05-24 | France Telecom | METHOD FOR PROTECTING A CHIP FROM FRAUD |
CN1293482C (en) * | 2000-04-06 | 2007-01-03 | 索尼公司 | Storage area dividing method for portable device |
US7155590B2 (en) * | 2000-04-11 | 2006-12-26 | Mathis Richard M | Method and apparatus for computer memory protection and verification |
US7016898B1 (en) * | 2000-04-14 | 2006-03-21 | International Business Machines Corporation | Extension of browser web page content labels and password checking to communications protocols |
JP4387553B2 (en) * | 2000-04-27 | 2009-12-16 | キヤノン株式会社 | Printing control apparatus and method and information processing apparatus and method |
JP4681751B2 (en) * | 2000-05-01 | 2011-05-11 | キヤノン株式会社 | Recording apparatus and recording method |
JP2002033271A (en) * | 2000-05-12 | 2002-01-31 | Nikon Corp | Projection exposure method, device manufacturing method using it, and projection aligner |
US6545950B1 (en) * | 2000-05-16 | 2003-04-08 | Ericsson Inc. | Methods, systems, wireless terminals, and computer program products for calibrating an electronic clock using a base reference signal and a non-continuous calibration reference signal having greater accuracy than the base reference signal |
AUPQ766300A0 (en) | 2000-05-22 | 2000-06-15 | Canon Kabushiki Kaisha | Defective nozzle compensation |
US6859289B1 (en) * | 2000-05-23 | 2005-02-22 | Silverbrook Research Pty Ltd | Print engine/controller with color mask |
US7198347B2 (en) * | 2000-05-30 | 2007-04-03 | Seiko Epson Corporation | Adjustment of shift of dot position of printer |
US6807225B1 (en) * | 2000-05-31 | 2004-10-19 | Conexant Systems, Inc. | Circuit and method for self trimming frequency acquisition |
US6581111B1 (en) * | 2000-06-02 | 2003-06-17 | Advanced Micro Devices, Inc. | Out-of-order probing in an in-order system |
FR2810139B1 (en) * | 2000-06-08 | 2002-08-23 | Bull Cp8 | METHOD FOR SECURING THE PRE-INITIALIZATION PHASE OF AN ON-BOARD ELECTRONIC CHIP SYSTEM, ESPECIALLY A CHIP CARD, AND ON-BOARD SYSTEM IMPLEMENTING THE METHOD |
US6816750B1 (en) * | 2000-06-09 | 2004-11-09 | Cirrus Logic, Inc. | System-on-a-chip |
US6515304B1 (en) | 2000-06-23 | 2003-02-04 | International Business Machines Corporation | Device for defeating reverse engineering of integrated circuits by optical means |
US6467870B2 (en) * | 2000-07-21 | 2002-10-22 | Fuji Photo Film Co., Ltd. | Recording head |
US6816923B1 (en) * | 2000-07-31 | 2004-11-09 | Webtv Networks, Inc. | Arbitrating and servicing polychronous data requests in direct memory access |
US6453196B1 (en) * | 2000-08-07 | 2002-09-17 | Cardiac Pacemakers, Inc. | High frequency oscillator for implantable medical devices |
US6445232B1 (en) * | 2000-08-31 | 2002-09-03 | Xilinx, Inc. | Digital clock multiplier and divider with output waveform shaping |
US6252471B1 (en) * | 2000-09-29 | 2001-06-26 | Motorola Inc. | Programmable oscillator using magnetoresistive memory technology |
US7273483B2 (en) * | 2000-10-20 | 2007-09-25 | Ethicon Endo-Surgery, Inc. | Apparatus and method for alerting generator functions in an ultrasonic surgical system |
KR100358919B1 (en) * | 2000-11-18 | 2002-10-31 | 주식회사 메모리앤테스팅 | Semiconductor testing using Master-slave technique |
DE60035113T2 (en) * | 2000-11-30 | 2008-02-07 | Stmicroelectronics S.R.L., Agrate Brianza | Circuit architecture for trimming integrated circuits |
US6561627B2 (en) * | 2000-11-30 | 2003-05-13 | Eastman Kodak Company | Thermal actuator |
US6565174B2 (en) * | 2000-12-15 | 2003-05-20 | Hitachi Koki Co., Ltd. | Ink jet recording device |
JP2002215258A (en) * | 2001-01-23 | 2002-07-31 | Mitsubishi Electric Corp | Semiconductor integrated circuit device |
US6877833B2 (en) * | 2001-01-31 | 2005-04-12 | Canon Kabushiki Kaisha | Printing data producing method for printing apparatus |
JP2002254611A (en) * | 2001-02-28 | 2002-09-11 | Canon Inc | Recording device and selection method for recording head performance data |
JP2004533740A (en) * | 2001-03-03 | 2004-11-04 | オプティマム・パワー・テクノロジー・エルピー | Apparatus and method for adjusting a filter frequency in relation to a sampling frequency. |
JP3578097B2 (en) * | 2001-03-16 | 2004-10-20 | 日立プリンティングソリューションズ株式会社 | Charge deflecting device and ink jet printer using the same |
US6734538B1 (en) * | 2001-04-12 | 2004-05-11 | Bae Systems Information & Electronic Systems Integration, Inc. | Article comprising a multi-layer electronic package and method therefor |
US7203837B2 (en) * | 2001-04-12 | 2007-04-10 | Microsoft Corporation | Methods and systems for unilateral authentication of messages |
JP4065492B2 (en) * | 2001-05-15 | 2008-03-26 | キヤノン株式会社 | Inkjet printing apparatus, inkjet printing method, program, and computer-readable storage medium storing the program |
US7051332B2 (en) * | 2001-05-21 | 2006-05-23 | Cyberscan Technology, Inc. | Controller having a restart engine configured to initiate a controller restart cycle upon receipt of a timeout signal from a watchdog timer |
DE10125164C1 (en) * | 2001-05-23 | 2003-01-16 | Infineon Technologies Ag | Semiconductor chip with trimmable oscillator |
US6672697B2 (en) * | 2001-05-30 | 2004-01-06 | Eastman Kodak Company | Compensation method for overlapping print heads of an ink jet printer |
FI114416B (en) * | 2001-06-15 | 2004-10-15 | Nokia Corp | Method for securing the electronic device, the backup system and the electronic device |
US6604808B2 (en) * | 2001-07-03 | 2003-08-12 | Lexmark International, Inc. | Method for determining the skew of a printhead of a printer |
US6559629B1 (en) * | 2001-07-09 | 2003-05-06 | Cygnal Integrated Products, Inc. | Supply voltage monitor using bandgap device without feedback |
US7313824B1 (en) * | 2001-07-13 | 2007-12-25 | Liquid Machines, Inc. | Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent |
US20030011040A1 (en) * | 2001-07-13 | 2003-01-16 | Motorola, Inc. | Active feedback circuit for gain linearization |
US7137000B2 (en) * | 2001-08-24 | 2006-11-14 | Zih Corp. | Method and apparatus for article authentication |
US6741253B2 (en) * | 2001-10-09 | 2004-05-25 | Micron Technology, Inc. | Embedded memory system and method including data error correction |
US6595619B2 (en) * | 2001-10-30 | 2003-07-22 | Hewlett-Packard Development Company, L.P. | Printing mechanism service station for a printbar assembly |
US6650589B2 (en) * | 2001-11-29 | 2003-11-18 | Intel Corporation | Low voltage operation of static random access memory |
KR100454123B1 (en) * | 2001-12-06 | 2004-10-26 | 삼성전자주식회사 | Semiconductor integrated circuit devices and modules with the same |
KR20040070431A (en) * | 2001-12-18 | 2004-08-09 | 소니 가부시끼 가이샤 | Printer head |
US6925539B2 (en) * | 2002-02-06 | 2005-08-02 | Seagate Technology Llc | Data transfer performance through resource allocation |
US6829689B1 (en) * | 2002-02-12 | 2004-12-07 | Nvidia Corporation | Method and system for memory access arbitration for minimizing read/write turnaround penalties |
JP3967935B2 (en) * | 2002-02-25 | 2007-08-29 | 株式会社日立製作所 | Alignment accuracy measuring apparatus and method |
US6820972B2 (en) * | 2002-03-29 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Printing cartridge pigment replenishment apparatus and method |
NL1020312C2 (en) * | 2002-04-05 | 2003-10-07 | Otb Groep B V | Method and device for manufacturing a display, such as for example a polymeric OLED display, a display and a substrate for use in the method. |
US6738788B1 (en) * | 2002-04-17 | 2004-05-18 | Icid, Llc | Database system using a record key having some randomly positioned, non-deterministic bits |
US6809606B2 (en) | 2002-05-02 | 2004-10-26 | Intel Corporation | Voltage ID based frequency control for clock generating circuit |
US6637860B1 (en) * | 2002-05-13 | 2003-10-28 | Creo Srl | High throughput inkjet printer with provision for spot color printing |
US6767073B2 (en) * | 2002-05-14 | 2004-07-27 | Wellspring Trust | High-speed, high-resolution color printing apparatus and method |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
JP3707558B2 (en) * | 2002-08-26 | 2005-10-19 | セイコーエプソン株式会社 | Liquid jet head |
US6895475B2 (en) | 2002-09-30 | 2005-05-17 | Analog Devices, Inc. | Prefetch buffer method and apparatus |
US6819195B1 (en) * | 2003-03-07 | 2004-11-16 | Ami Semiconductor, Inc. | Stimulated quick start oscillator |
US7206928B2 (en) * | 2003-06-03 | 2007-04-17 | Digi International Inc. | System boot method |
US7444564B2 (en) | 2003-11-19 | 2008-10-28 | International Business Machines Corporation | Automatic bit fail mapping for embedded memories with clock multipliers |
-
2003
- 2003-12-02 US US10/727,180 patent/US20040199786A1/en not_active Abandoned
- 2003-12-02 US US10/727,204 patent/US7121639B2/en active Active
- 2003-12-02 US US10/727,160 patent/US20040249757A1/en not_active Abandoned
- 2003-12-02 US US10/727,238 patent/US7278034B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,227 patent/US20040201647A1/en not_active Abandoned
- 2003-12-02 US US10/727,251 patent/US7188282B2/en active Active
- 2003-12-02 DK DK03812106.7T patent/DK1572463T3/en active
- 2003-12-02 US US10/727,162 patent/US20060082609A1/en not_active Abandoned
- 2003-12-02 EP EP03812106A patent/EP1572463B1/en not_active Expired - Lifetime
- 2003-12-02 US US10/727,280 patent/US7152942B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,178 patent/US7181572B2/en active Active
- 2003-12-02 US US10/727,157 patent/US7818519B2/en not_active Expired - Fee Related
- 2003-12-02 CA CA002508141A patent/CA2508141C/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,161 patent/US7523111B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,159 patent/US7592829B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,158 patent/US7660998B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,233 patent/US7165824B2/en active Active
- 2003-12-02 WO PCT/AU2003/001616 patent/WO2004050369A1/en active IP Right Grant
- 2003-12-02 US US10/727,257 patent/US7302592B2/en not_active Expired - Fee Related
- 2003-12-02 AT AT03812106T patent/ATE504446T1/en not_active IP Right Cessation
- 2003-12-02 US US10/727,179 patent/US20050213761A1/en not_active Abandoned
- 2003-12-02 US US10/727,274 patent/US7770008B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,245 patent/US7399043B2/en not_active Expired - Lifetime
- 2003-12-02 US US10/727,198 patent/US7573301B2/en not_active Expired - Fee Related
- 2003-12-02 US US10/727,164 patent/US7707621B2/en not_active Expired - Fee Related
- 2003-12-02 DE DE60336677T patent/DE60336677D1/en not_active Expired - Lifetime
- 2003-12-02 US US10/727,163 patent/US7377608B2/en active Active
- 2003-12-02 US US10/727,192 patent/US20040225881A1/en not_active Abandoned
- 2003-12-02 US US10/727,210 patent/US7096137B2/en not_active Expired - Lifetime
-
2004
- 2004-01-12 US US10/754,536 patent/US7783886B2/en not_active Expired - Fee Related
- 2004-01-12 US US10/754,938 patent/US7831827B2/en not_active Expired - Fee Related
-
2005
- 2005-08-29 US US11/212,702 patent/US7171323B2/en not_active Expired - Fee Related
- 2005-11-14 US US11/272,491 patent/US7278697B2/en not_active Expired - Fee Related
-
2006
- 2006-05-30 US US11/442,131 patent/US7465005B2/en not_active Expired - Fee Related
- 2006-06-26 US US11/474,278 patent/US7360131B2/en not_active Expired - Fee Related
- 2006-07-19 US US11/488,841 patent/US7328115B2/en not_active Expired - Fee Related
-
2007
- 2007-05-16 US US11/749,749 patent/US7805626B2/en not_active Expired - Fee Related
- 2007-05-16 US US11/749,750 patent/US7747887B2/en not_active Expired - Fee Related
- 2007-12-05 US US11/951,213 patent/US7610163B2/en not_active Expired - Fee Related
- 2007-12-12 US US11/955,127 patent/US7467839B2/en not_active Expired - Lifetime
-
2008
- 2008-03-06 US US12/043,844 patent/US20080150997A1/en not_active Abandoned
- 2008-03-12 US US12/047,315 patent/US20080155826A1/en not_active Abandoned
- 2008-03-19 US US12/050,941 patent/US7540579B2/en not_active Expired - Lifetime
- 2008-11-06 US US12/266,479 patent/US20090058903A1/en not_active Abandoned
- 2008-11-23 US US12/276,368 patent/US7611215B2/en not_active Expired - Fee Related
- 2008-11-27 US US12/324,889 patent/US7747646B2/en not_active Expired - Fee Related
-
2009
- 2009-05-06 US US12/436,129 patent/US7722146B2/en not_active Expired - Fee Related
- 2009-07-09 US US12/500,593 patent/US7800410B2/en not_active Expired - Fee Related
- 2009-07-19 US US12/505,513 patent/US20090284279A1/en not_active Abandoned
- 2009-09-21 US US12/564,045 patent/US8005636B2/en not_active Expired - Fee Related
- 2009-10-20 US US12/582,632 patent/US7976116B2/en not_active Expired - Fee Related
-
2010
- 2010-01-31 US US12/697,272 patent/US7996880B2/en not_active Expired - Fee Related
- 2010-05-12 US US12/778,966 patent/US20100223453A1/en not_active Abandoned
- 2010-05-31 US US12/790,945 patent/US20100238213A1/en not_active Abandoned
- 2010-12-02 US US12/958,968 patent/US8038239B2/en not_active Expired - Fee Related
Patent Citations (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US583542A (en) * | 1897-06-01 | Corn-sheller | ||
US4625181A (en) * | 1984-01-18 | 1986-11-25 | Siemens Aktiengesellschaft | Integrated semiconductor circuit with a ring oscillator |
US4932232A (en) * | 1988-05-20 | 1990-06-12 | Alcan Aluminum Corporation | Methods of detecting and correcting spray header malfunctions |
US5428309A (en) * | 1989-05-11 | 1995-06-27 | Mitsubishi Denki Kabushiki Kaisha | Delay circuit |
US5835424A (en) * | 1994-09-09 | 1998-11-10 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory |
US5581284A (en) * | 1994-11-25 | 1996-12-03 | Xerox Corporation | Method of extending the life of a printbar of a color ink jet printer |
US5621698A (en) * | 1994-12-31 | 1997-04-15 | Hyundai Electronics Industries Co., Ltd. | Data signal distribution circuit for synchronous memory device |
US5581198A (en) * | 1995-02-24 | 1996-12-03 | Xilinx, Inc. | Shadow DRAM for programmable logic devices |
US5673316A (en) * | 1996-03-29 | 1997-09-30 | International Business Machines Corporation | Creation and distribution of cryptographic envelope |
US6011386A (en) * | 1996-04-15 | 2000-01-04 | Micron Technology, Inc. | Frequency adjustable, zero temperature coefficient referencing ring oscillator circuit |
US5661428A (en) * | 1996-04-15 | 1997-08-26 | Micron Technology, Inc. | Frequency adjustable, zero temperature coefficient referencing ring oscillator circuit |
US6027195A (en) * | 1996-11-12 | 2000-02-22 | Varis Corporation | System and method for synchronizing the piezoelectric clock sources of a plurality of ink jet printheads |
US6283572B1 (en) * | 1997-03-04 | 2001-09-04 | Hewlett-Packard Company | Dynamic multi-pass print mode corrections to compensate for malfunctioning inkjet nozzles |
US20020013898A1 (en) * | 1997-06-04 | 2002-01-31 | Sudia Frank W. | Method and apparatus for roaming use of cryptographic values |
US6246970B1 (en) * | 1998-07-10 | 2001-06-12 | Silverbrook Research Pty Ltd | Method for making a chip tamper-resistant |
US6327199B1 (en) * | 1998-10-09 | 2001-12-04 | Micron Technology, Inc. | Method for testing memory devices |
US6651149B1 (en) * | 1998-12-10 | 2003-11-18 | Kabushiki Kaisha Toshiba | Data storage medium with certification data |
US6354689B1 (en) * | 1998-12-22 | 2002-03-12 | Eastman Kodak Company | Method of compensating for malperforming nozzles in a multitone inkjet printer |
US7124170B1 (en) * | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US20010010724A1 (en) * | 2000-01-25 | 2001-08-02 | Murata Kikai Kabushiki Kaisha And Masao Kasahara | Secret key generating method, encryption method, cryptographic communication method and cryptographic communication system |
US20020060707A1 (en) * | 2000-02-15 | 2002-05-23 | Chia-Lei Yu | Ink jet printer with a compensation function for malfunctioning nozzles |
US6428139B1 (en) * | 2000-06-30 | 2002-08-06 | Silverbrook Research Pty Ltd. | Ink jet fault tolerance using extra ink dots |
US20020103999A1 (en) * | 2000-11-03 | 2002-08-01 | International Business Machines Corporation | Non-transferable anonymous credential system with optional anonymity revocation |
US7200759B2 (en) * | 2001-06-08 | 2007-04-03 | Safenet B.V. | Method and device for making information contents of a volatile semiconductor memory irretrievable |
US20040260932A1 (en) * | 2001-09-18 | 2004-12-23 | Hugues Blangy | Secure integrated circuit including parts having a confidential nature and method for operating the same |
US7224803B2 (en) * | 2001-09-25 | 2007-05-29 | Admtek Incorporated | Method and device for encryption and decryption |
US20040046811A1 (en) * | 2002-09-09 | 2004-03-11 | Compaq Information Technologies Group, L.P. | System and method for compensating for non-functional ink cartridge ink jet nozzles |
US20040095194A1 (en) * | 2002-11-14 | 2004-05-20 | Gupta Atul K. | Dynamically trimmed voltage controlled oscillator |
US20060052962A1 (en) * | 2002-12-02 | 2006-03-09 | Silverbrook Research Pty Ltd. | Integrated circuit having clock trim circuitry |
US7165824B2 (en) * | 2002-12-02 | 2007-01-23 | Silverbrook Research Pty Ltd | Dead nozzle compensation |
US7465005B2 (en) * | 2002-12-02 | 2008-12-16 | Silverbrook Research Pty Ltd | Printer controller with dead nozzle compensation |
US7610163B2 (en) * | 2002-12-02 | 2009-10-27 | Silverbrook Research Pty Ltd | Method of controlling quality for a print controller |
US20060238216A1 (en) * | 2003-07-30 | 2006-10-26 | Renesas Technology Corp. | Semiconductor integrated circuit |
US20050046452A1 (en) * | 2003-09-02 | 2005-03-03 | Briones Luis J. | All digital PLL trimming circuit |
US7192114B2 (en) * | 2003-09-24 | 2007-03-20 | Canon Kabushiki Kaisha | Printing apparatus and printing method |
US20050286287A1 (en) * | 2004-06-17 | 2005-12-29 | Samsung Electronics Co., Ltd. | Complementary nonvolatile memory device, methods of operating and manufacturing the same, logic device and semiconductor device including the same, and reading circuit for the same |
US7071751B1 (en) * | 2004-12-17 | 2006-07-04 | Xilinx, Inc. | Counter-controlled delay line |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110286017A1 (en) * | 2010-05-20 | 2011-11-24 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US8730523B2 (en) * | 2010-05-20 | 2014-05-20 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US20140218770A1 (en) * | 2010-05-20 | 2014-08-07 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
US9384431B2 (en) * | 2010-05-20 | 2016-07-05 | Canon Kabushiki Kaisha | Image processing apparatus, method, and storage medium that perform quantizing processing of image data for at least N colors |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7465005B2 (en) | Printer controller with dead nozzle compensation | |
US7891766B2 (en) | Printhead having combined printhead module types | |
US7891765B2 (en) | Printhead having displaced nozzle rows | |
US7618107B2 (en) | Printer with rotated ejection nozzle correction | |
US7556331B2 (en) | Inkjet printer having nozzle displacement correction | |
US7971949B2 (en) | Printer controller for correction of rotationally displaced printhead | |
US7934800B2 (en) | Printhead controller for nozzle fault correction | |
US7740334B2 (en) | Printer system having controller with correction for nozzle displacement | |
US7914107B2 (en) | Printer incorporating multiple synchronizing printer controllers | |
US7901037B2 (en) | Print engine having printhead control modes | |
US6921144B2 (en) | Drop firing control in multicolor ink jet printheads | |
US20070289131A1 (en) | Method Of Manufacturing Printhead Modules For Combination As Pagewidth Printhead | |
US20080170094A1 (en) | Printer controller for controlling offset nozzles of printhead ic | |
US7980648B2 (en) | Print engine controller utilizing on and off chip memory for dot data formatting | |
US7525677B2 (en) | Inkjet printer having image decoding controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SILVERBROOK RESEARCH PTY LTD, AUSTRALIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WALMSLEY, SIMON ROBERT;SILVERBROOK, KIA;REEL/FRAME:021799/0594 Effective date: 20080924 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: ZAMTEC LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SILVERBROOK RESEARCH PTY. LIMITED AND CLAMATE PTY LIMITED;REEL/FRAME:028516/0585 Effective date: 20120503 |