WO2009119886A1 - 液体収容体 - Google Patents

液体収容体 Download PDF

Info

Publication number
WO2009119886A1
WO2009119886A1 PCT/JP2009/056773 JP2009056773W WO2009119886A1 WO 2009119886 A1 WO2009119886 A1 WO 2009119886A1 JP 2009056773 W JP2009056773 W JP 2009056773W WO 2009119886 A1 WO2009119886 A1 WO 2009119886A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
read
encoding
storage element
encoded
Prior art date
Application number
PCT/JP2009/056773
Other languages
English (en)
French (fr)
Inventor
中野修一
Original Assignee
セイコーエプソン株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by セイコーエプソン株式会社 filed Critical セイコーエプソン株式会社
Priority to CN2009801010417A priority Critical patent/CN102741053A/zh
Publication of WO2009119886A1 publication Critical patent/WO2009119886A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically

Definitions

  • the present invention relates to a liquid container including a storage device, an access control method for a storage device provided in the liquid container, and an access control method for the storage device and the storage device.
  • a liquid container including a storage device for example, an ink cartridge is known.
  • a storage device for example, an ink cartridge
  • data stored in a storage device is used to determine whether or not the replacement part is optimal for the printing apparatus.
  • a technique for performing a determination with higher accuracy by encoding data stored in a storage device is also known.
  • a technique for attaching a storage device to a member optimal for the host device is known. In this technique, data stored in the storage device is encoded in order to improve the accuracy of determining whether or not the member is the optimum member.
  • an ink cartridge that encodes data stored in a storage device has a problem that it cannot be used by a conventional printer that does not support encoding.
  • the number of ink cartridges as replacement parts increases. There is a problem that the management cost in the manufacturer increases and the user is confused.
  • the data stored in the storage device is not supported by a computer that does not support encoding or the computer that does not have an encoding 'decoding program installed. There is a problem that it cannot be used. In order to address this problem, if we provide storage devices that encode data and storage devices that do not encode data, the number of storage devices increases. Costs increase and confuse users Disclosure of Invention
  • the present invention has been made to solve the above problems, and aims to improve the adaptability of the liquid container.
  • An object of the present invention is to improve the adaptability of a storage device.
  • the present invention adopts the following various aspects.
  • a first aspect provides a liquid container that includes a storage device and can be attached to a printing apparatus.
  • the first mode is to determine whether or not to perform encoding of read data when a storage element for storing data and a read request for data stored in the storage element are received from the printing apparatus.
  • An encoding determination unit; and a storage element control unit that performs an encoding process on the data read from the storage element and outputs the data when it is determined to execute the encoding of the read data.
  • the storage element control unit outputs the information read from the storage element without encoding when it is determined not to encode the read data. May be.
  • the storage element control unit is configured to read / write data from / to the storage element, and to read data from the storage element.
  • An encoding processing unit that executes encoding processing may be provided. In this case, reading / writing of data with respect to the storage element is executed by the reading / writing execution unit, and encoding of the read data is executed by the encoding processing unit.
  • the encoding process may be executed by an error detection encoding process using all or a part of the data stored in the storage element.
  • the encoding process is stored in the storage element. It may be a process of hash-encoding all or part of stored data. In this case, the calculation result can be encoded by hash encoding.
  • the encoding process may be executed by hash encoding of a calculation result using all or a part of data stored in the storage element.
  • the operation result can be encoded by hash encoding.
  • a second aspect provides a liquid container that includes a storage device and can be attached to a printing apparatus.
  • the liquid container according to the second aspect includes a storage element that stores data, an encoding unit that performs an encoding process on the data read from the storage element, and the storage element that is read from the storage element
  • a selection unit that selects and outputs either the data or the data encoded by the encoding unit
  • a third aspect provides a control method for a storage device provided in a liquid container that can be attached to a printing apparatus.
  • the control method according to the third aspect determines whether or not to encode read data when a read request for data stored in a storage element that stores data is received from the printing apparatus. When it is determined that the read data is to be encoded, the data read from the storage element is encoded and output.
  • the third mode can be realized in various modes in the same manner as the first mode. Furthermore, the third mode can be realized as a computer program recorded on a computer-readable medium such as a computer program, CD, DVD, or HDD.
  • a printing apparatus system having a printing apparatus and a liquid container that is detachably attached to the printing apparatus and includes a storage element that stores data.
  • the printing apparatus includes an output unit that outputs a data read request to the printing material container.
  • the container When receiving a read request for data stored in the storage element from the printing device, the container includes an encoding determination unit that determines whether or not to encode the read data, and the read data And a storage element control unit that performs an encoding process on the data read from the storage element and outputs the data when it is determined to execute the encoding.
  • the data read request instructs execution of encoding of the read data. It may contain commands to
  • the liquid container according to the present invention is applied to both a printing apparatus that requires an encoding process for read data and a printing apparatus that does not require an encoding process. Therefore, it is not necessary to manufacture a dedicated liquid container for each printing apparatus, and the manufacturing cost of the product of the liquid container or the management cost for sales can be reduced. In addition, products can be purchased and used without user confusion.
  • a fifth aspect provides a storage device that can be connected to a computer.
  • a storage device includes: a connection unit for connecting to the computer; a storage element that stores data; and a read request for data stored in the storage element from the computer An encoding determination unit that determines whether or not to encode the read data; and when it is determined to encode the read data, an encoding process is performed on the data read from the storage element And a storage element control unit that outputs to the communication unit.
  • the storage element control unit outputs the information read from the storage element without encoding when it is determined not to encode the read data. You may do it.
  • the storage element control unit reads / writes data from / to the storage element, and reads / writes from the storage element And an encoding processing unit that executes an encoding process on the processed data.
  • reading / writing of data with respect to the storage element is executed by the reading / writing execution unit, and encoding of the read data is executed by the encoding processing unit.
  • the encoding process may be executed by an error detection encoding process using all or part of the data stored in the storage element. In this case, encoding using an error detection code can be performed.
  • the encoding process may be a process of hash-encoding all or a part of the data stored in the storage element.
  • the calculation result can be encoded by hash encoding.
  • the encoding process includes all or part of data stored in the storage element. It may be executed by hash coding of the operation result using. In this case, the calculation result can be encoded by hash encoding.
  • a sixth aspect provides a storage device that can be connected to a control device.
  • a storage device performs a coding process on a communication unit for performing data communication with the control device, a storage element for storing data, and data read from the storage element.
  • An encoding unit; and a selection unit that selects any one of the data read from the storage element and the data encoded by the encoding unit and outputs the selected data to the communication unit.
  • a seventh aspect provides a control method for a storage device that is connectable to a control device and includes a storage element that stores data.
  • a method for controlling a storage device comprising: determining whether or not to perform encoding of read data when a read request for data stored in the storage element is received from the control device. When it is determined and it is determined that the read data is to be encoded, the data read from the storage element is encoded and output.
  • the same advantages as in the fifth aspect can be obtained.
  • the seventh aspect can be realized in various aspects in the same manner as the fifth aspect.
  • the seventh aspect can be realized as a computer program recorded on a computer-readable medium such as a computer program, CD, DVD, or HDD.
  • a storage device control system comprising: a control device; and a storage device that is connected to the control device and includes a storage element that stores data.
  • the control device includes an output unit that outputs a data read request to the storage device, and the storage device is stored in the storage element from the computer.
  • An encoding determination unit that determines whether or not to perform encoding of the read data, and when it is determined to execute encoding of the read data,
  • a storage element control unit that performs an encoding process on the data read from the storage element and outputs the encoded data to the communication unit.
  • the data read request when the control device requests execution of encoding of the read data, includes a command for instructing execution of encoding of the read data. May be included.
  • the storage device of the present invention can be applied to both a control device that requires encoding processing of read data and a control device that does not require encoding processing. Therefore, it is not necessary to manufacture a dedicated storage device for each control device, and the manufacturing cost of the storage device product or the management cost for sales can be reduced. In addition, users can purchase and use the product without confusion.
  • a ninth aspect provides a printing apparatus used together with a liquid container including a semiconductor device for storing data.
  • a printing apparatus includes a normal data reading unit that reads normal data that is not encoded from the semiconductor device, and requests the semiconductor device to encode the normal data.
  • the normal data An encoded data reading unit that reads encoded data, an encoding unit that generates the encoded data for comparison by performing the same encoding as the encoding on the normal data, and the encoded data for comparison.
  • a verification unit that compares the encoded data and verifies a communication state between the semiconductor device and the printing device;
  • the printing apparatus of the ninth aspect communication between the semiconductor device and the printing apparatus can be verified by comparing the comparison encoded data with the encoded data. That is, since reading of normal data which is not encoded from the semiconductor device and reading of normal data which is encoded are executed, an abnormality in the communication path between the semiconductor device and the printing apparatus can be detected.
  • the ninth aspect can also be realized as a communication verification method in a printing apparatus, a computer program that realizes the communication verification method, and a computer-readable medium that stores the program.
  • the printing apparatus according to a ninth aspect further includes a data writing unit that writes the normal data to the semiconductor device, and the normal data reading unit and the encoded data reading unit are written by the data writing unit, respectively.
  • encoded data obtained by encoding the normal data and the normal data written by the data writing unit may be read.
  • data written at a predetermined timing can be used as normal data, and there is no need to write data for verifying communication, and the number of accesses to the semiconductor device can be reduced.
  • the encoded data is subjected to reversible second encoding after the irreversible first encoding, and the encoding unit applies the encoded data to the encoded data
  • the second encoding may be decoded to obtain encoded data subjected to the first encoding, and the first encoding may be performed on the normal data.
  • the verification is performed based on the irreversible first encoding, so that the accuracy of the verification can be improved.
  • a tenth aspect provides a circuit board.
  • the circuit board according to the tenth aspect is externally controlled.
  • a communication unit for communicating data with the control device, a storage element for storing data, and a read request for data stored in the storage element from the external control device.
  • An encoding determination unit that determines whether or not to execute encoding; and when it is determined to execute encoding of the read data, the communication unit performs encoding processing on the data read from the storage element
  • a memory device that outputs to the semiconductor device, and a semiconductor device including one or more external terminals that are electrically connected to the communication unit.
  • the circuit board according to the tenth aspect can be applied to both an external control device that requires encoding processing of read data and an external control device that does not require encoding processing. There is no need to manufacture a dedicated semiconductor device for the control device, and the manufacturing cost of the circuit board equipped with the semiconductor device or the management cost for sales can be reduced. In addition, users can purchase and use products without confusion. Further, the circuit board according to the tenth aspect can take various aspects in the same manner as the memory device according to each of the fifth to seventh aspects, that is, the semiconductor device. Brief Description of Drawings
  • FIG. 1 is a block diagram showing a functional internal configuration of a semiconductor memory device included in the liquid container according to the present embodiment.
  • FIG. 2 is a block diagram showing a functional internal configuration of the write / read controller according to the present embodiment.
  • FIG. 3 is an explanatory diagram schematically illustrating an example of a data read request data string input to the semiconductor memory device included in the liquid container according to the present embodiment.
  • FIG. 4 is an explanatory view schematically showing a system including a liquid container and a printing apparatus according to the present embodiment.
  • FIG. 5 is a flowchart showing a processing routine executed in the semiconductor memory device when controlling access to the semiconductor memory device included in the liquid container according to the present embodiment. is there.
  • FIG. 6 is an explanatory diagram schematically illustrating an example of a read data string output from the semiconductor memory device included in the liquid container according to the present embodiment.
  • FIG. 7 is an explanatory view showing an example of the liquid container.
  • FIG. 8 is a block diagram showing an arrangement configuration of a write / read controller and a data encoding circuit according to another embodiment.
  • FIG. 9 is a block diagram showing a functional internal configuration of the semiconductor memory device according to the present embodiment.
  • FIG. 10 is a block diagram showing a functional internal configuration of the write / read controller according to the present embodiment.
  • FIG. 11 is an explanatory diagram schematically showing an example of a data read request data string input to the semiconductor memory device according to the present embodiment.
  • FIG. 12 is an explanatory diagram schematically showing a system including a semiconductor memory device and a computer according to this embodiment.
  • FIG. 13 is a flowchart showing a processing routine executed in the semiconductor memory device during access control to the semiconductor memory device according to this embodiment.
  • FIG. 14 is an explanatory diagram schematically showing an example of a read data string output from the semiconductor memory device according to this embodiment.
  • FIG. 15 is a block diagram showing an arrangement configuration of a write / read controller and a data encoding circuit according to another embodiment.
  • FIG. 16 is a block diagram showing a functional internal configuration of a semiconductor device mounted on a circuit board used in this embodiment.
  • FIG. 17 is a block diagram showing a functional internal configuration of the write / read controller according to the present embodiment.
  • FIG. 18 is an explanatory diagram showing a schematic configuration of an ink cartridge as a liquid container.
  • FIG. 19 is an explanatory diagram illustrating a connection mode between the printing apparatus and the ink cartridge according to the present embodiment.
  • FIG. 20 is an explanatory diagram illustrating an example of a communication verification process executed between the printing apparatus and the semiconductor device according to the present embodiment.
  • FIG. 21 is an explanatory diagram showing an example of a data string transmitted from the printing apparatus to the semiconductor device according to the present embodiment when writing data.
  • FIG. 22 is an explanatory diagram illustrating an example of a data string transmitted and received between the printing apparatus and the semiconductor device according to the present embodiment during normal reading.
  • FIG. 23 is an explanatory diagram illustrating an example of a data string transmitted and received between the printing apparatus and the semiconductor device according to the present embodiment at the time of encoding and reading.
  • FIG. 24 is a flowchart showing an example of encoded data generation and transmission processing executed in the semiconductor device according to the present embodiment.
  • FIG. 25 is an explanatory diagram illustrating an example of verification processing executed in the printing apparatus according to the present embodiment.
  • FIG. 1 is a block diagram showing a functional internal configuration of a semiconductor memory device provided in the liquid container according to the present embodiment.
  • FIG. 2 is a block diagram showing a functional internal configuration of the light no-read controller according to the present embodiment.
  • FIG. 3 is an explanatory diagram schematically showing an example of a data read request data string input to the semiconductor memory device included in the liquid container according to the present embodiment.
  • the semiconductor storage device 10 according to the present embodiment is a sequential access type storage device that does not require input of address data for designating an access destination address from the outside.
  • the semiconductor storage device 10 includes a memory array 10 0 0 as a storage element, an address counter 1 1 0, an ID comparator 1 3 0, a write / read controller 1 4 0, and a data encoding circuit 1 5 0. . Each of these circuits is connected by a bidirectional bus type signal line. At least the ID comparator 13 30, the write / read controller 14 0, and the data encoding circuit 15 50 may be collectively referred to as a storage element control unit.
  • the memory array 10 0 0 is a storage area having the characteristics of E E PROM that can be electrically erased and written.
  • the memory array 100 includes a plurality of data cells (memory cells) that store 1-bit information.
  • the memory array 10 0 has 8 addresses (addresses of 8 bits of data) as a predetermined address unit in one row, and 16 data cells (16 words in one column). ) Is stored, 16 words x 8 bits (1 2 8 bits) of data can be stored.
  • the memory array 100 includes a plurality of rows in units of 8 bits. However, each row is not an independent data cell column. This is realized by bending in bit units. In other words, for convenience, the row containing the 9th bit is simply called the 2nd byte, and the row containing the 17th bit is simply called the 3rd byte.
  • sequential access method In order to access a desired address in the memory array 100, it is necessary to access from the head sequentially, so-called sequential access method. Desired address possible in the case of random access method Direct access to is impossible.
  • Each data cell in the memory array 100 is connected to a word line and a bit (data) line. Select the corresponding word line (row) (apply a selection voltage) and write to the corresponding bit line. By applying voltage, data is transferred to the data cell. Written. The corresponding word line (row) is selected, the corresponding bit line is connected to the write Z read controller 14 0, and the data (1 or 0) of the data cell is read depending on whether or not current is detected. .
  • the predetermined address unit in this embodiment can be said to be the number of addresses (number of data cells) that can be written by applying a write voltage to one word line.
  • the memory array 10 0 has a column selection circuit (not shown) for sequentially connecting columns (bit lines) to the write / read controller 14 0 according to the number of external clock pulses counted by the address counter 1 1 0. I have.
  • the memory array 100 also has a row selection circuit (not shown) for sequentially applying a selection voltage to the rows (word lines) in accordance with the number of external clock pulses counted by the address counter 110.
  • access to the memory array 10 0 using address data is not executed, and the clock pulse counted exclusively by the address power counter 1 1 0 is obtained. According to the number, access to the desired address is performed. .
  • the address counter 1 1 0 is connected to the reset signal terminal R ST T, the clock signal terminal S C K T, the write / read controller 14 0, and the memory array 1 0 0.
  • the address counter 1 1 0 is reset to the initial value by setting the reset signal input via the reset signal terminal RSTT to 0 (or low).
  • Clock signal terminal Counts the number of clock pulses (increments the count value) in synchronization with the falling edge of the clock pulse input via SCKT.
  • the address counter 110 used in this embodiment is an 8-bit address counter that stores eight clock pulses corresponding to the number of data cells (bits) in one row of the memory array 100. It is. Note that the initial value may be any value as long as it is associated with the start position of the memory array 1 0 0. Generally, 0 is used as the initial value.
  • the ID comparator 130 is connected to the clock signal terminal S CKT, the data signal terminal SD AT, the reset signal terminal R STT, and the identification data and memory array included in the input data string input via the data signal terminal SDAT Determine whether the identification data stored in 1 00 matches.
  • the ID comparator 1 30 receives the first 3 bits of the operation code that is input after the reset signal RST is input, that is, the identification data, and the write Z read controller 1 40 Get from.
  • the ID comparator 1 3 0 is a 3-bit register (not shown) that stores the identification data of the first 3 bits included in the input data string shown in FIG. It has a 3-bit register (not shown) that stores the most significant 3-bit identification data acquired from the address, and determines whether the identification data matches depending on whether the values in both registers match. To do.
  • the ID comparator 1 30 sends an access permission signal AEN to the line 1 and the no-read controller 140 when the two identification data match.
  • the light no-read controller 140 is connected to the ID comparator 130, the data encoding circuit 150, the clock signal terminal S CKT, the data signal terminal SDAT, and the reset signal terminal RS TT.
  • the write / read controller 140 waits for the input of the access permission signal A EN from the 1D comparator 1 3 0, and the data signal in synchronization with the fourth clock signal after the reset signal RST is input.
  • Check the write / read control information (WZR information with 4 to 8 bit encoding selection information following the 3-bit ID information) included in the data string input via the terminal SDAT (see Figure 3). This is a circuit for writing the internal operation of the semiconductor memory device 10 or switching at least one of two or more read paths. In this embodiment, as shown in FIG.
  • the data string input to the semiconductor memory device 10 includes the identification information (ID) in the first 3 bits and the 4th to 8th bits.
  • ID identification information
  • W / R command with encoding selection information, command parity bit CP is provided in the 9th bit, and when the data string is write data, 8-bit write packet data (in the example of Fig. 3, from 10th bit to 1 7th bit) and data parity bit DP (18th bit in the example of Fig. 3).
  • a plurality of write packet data can be included, and a data parity bit DP is added immediately after each write bucket data.
  • the write / read controller 1 4 0 analyzes the acquired write / read information, and according to the analysis result, the memory array 1 0 In addition to the data transfer direction for 0, the data transfer direction for the data signal terminal SDAT (the signal line connected to the data signal terminal SDAT) is switched and controlled.
  • Write Z read controller 1 4 0 temporarily stores 8-bit write data after the operation code among the write data input from the data signal terminal SDAT to the input signal line from the data signal terminal SDAT.
  • 8-bit register (not shown) A register (not shown) for storing data read from the memory array 100 is provided.
  • the 8-bit register holds the data string (MSB) input from the data signal terminal SDAT via the input signal line until it reaches 8 bits. When 8 bits are collected, the 8-bit data that is held is retained. Are written to memory array 1 0 0.
  • the light read controller 14 0 sets the data transfer direction for the memory array 1 0 0 to the read direction when the power is turned on or reset, and sets the signal line connected to the data signal terminal SDAT to high impedance. Disables data transfer to data signal terminal SDAT. This state is maintained until the write Z read information is analyzed and it is determined that a write is requested. Therefore, data input via the data signal terminal SDAT after the reset signal is input. The first 8 bits of data in the column are not written to the memory array 10 0 0. On the other hand, the data (ID information) stored in the first 3 bits of the memory array 1 0 0 is stored in the ID comparator 1 3 Sent to 0. As a result, the first 8 bits of the memory array 100 are in a read-only state.
  • the write / read controller 140 switches the data transfer direction of the bus signal line to the write direction when it receives the number of clock pulses corresponding to the start address of the writable area during the write process. When the number of clock pulse inputs corresponding to the end address of the writable area is received, the write / read controller 140 switches the data transfer direction of the bus signal line to the read direction.
  • the write voltage necessary for writing is generated by, for example, a charge pump circuit (not shown).
  • the write / read controller 140 switches the data transfer direction of the bus signal line to the read direction when it receives a number of clock pulse inputs corresponding to the start address of the writable area during the read process.
  • the write / read controller 14 0 can either read data from the memory array 10 0 or read data encoded through the data encoding circuit 1 5 0.
  • a switch 1 4 1 is provided as a selection unit for selecting and outputting these.
  • the write / read controller 14 0 deciphers the WZR command with encoding selection information sent from the printer that is the host computer, and if there is data indicating a request for encoding the read data, Switch 1 4 1 to output the read data, and switch 1 4 1 to output the read data if there is no request for encoding the read data.
  • a printing apparatus that does not support encoded read data can perform a desired process using read data that is not encoded because it does not require data encoding.
  • Printers that support encoded read data can request data encoding. It is possible to execute a desired process using the encoded read data.
  • the data encoding circuit 15 0 is connected to the write / read controller 14 0 via a signal line.
  • the data encoding circuit 150 performs the encoding process using the read data input from the write / read controller 140.
  • the encoding process by the data encoding circuit 150 is executed by, for example, parity calculation, checksum calculation, and CRC (cyclic redundancy check) using all or part of the read data.
  • the data used for the encoding operation may be all readable data stored in the memory array 100, or may be the read data itself that is requested to be read this time.
  • the encoding circuit 1 5 0 creates a read data string to which a parity value (parity bit) or a checksum value obtained by calculation is added.
  • a parity value parity bit
  • a checksum value obtained by calculation
  • the encoding process by the data encoding circuit 150 encodes the parity bit and the checksum value, which are the operation results obtained by a parity operation, a checksum operation, etc. using all or part of the read data. It is executed by making it.
  • the data encoding circuit 150 creates a read data string to which the encoded parity bit or checksum value is added. Since the obtained error correction code is encoded, the accuracy of detection of garbled data and alteration during communication can be improved, and the reliability of the data string can be improved. Even in this case, the data value fluctuates. By performing the encoding process using the checksum value obtained using the read data or the parity bit, the reliability of the read data string can be further improved.
  • the encoding process may be executed using a combination of the read data and the parity bit, and the encoding process may be executed using the verification result of the read data (a 1-bit value indicating whether it is correct or incorrect). good.
  • the encoding process by the data encoding circuit 15 50 is executed by obtaining a hash value using a hash function from the calculation result using all or part of the read data (hash encoding). .
  • the data encoding circuit 150 obtains a hash value using the parity bit, the checksum value, or the verification result of the read data, and creates a read data string to which the obtained hash value is added.
  • the obtained error correction code is hash-encoded, the accuracy of detecting data alteration and alteration during communication can be improved, and the reliability of the data string can be improved. Even in this case, the reliability of the read data string is further improved by obtaining the hash value using the checksum value, parity bit, or verification result obtained using the read data whose data value varies. Can be made.
  • a hash value may be obtained using a combination of read data and parity bits.
  • encoding not only data requested to be read but also other data stored in the memory array 100 may be used.
  • the encoding process may be executed using the liquid usage (consumption or remaining amount) data.
  • the liquid usage data whose data value fluctuates, it becomes possible to obtain different encoding processing results for each reading timing, and the reliability of the reading data can be improved.
  • the encoding capability of the semiconductor memory device 10 is high, in the hash encoding, not only the error correction code obtained by the operation but also the encoding including the read data may be executed. Is wrong The read data itself can be hash encoded without calculating the correction code.
  • FIG. 1 An example of the circuit configuration of the present invention is shown in FIG.
  • the transmission path from the memory array 1100 is branched into two.
  • One of the branched transmission paths reaches switch 1 4 1.
  • the other path reaches the switch 14 1 via the data encoding circuit 15 50.
  • the data encoding circuit 150 may be installed in the middle of the transmission path between the memory array 100 and the switch 14 1 in the other path.
  • the switch 14 1 receives the output from the data encoding circuit 1 5 0 and the output from the memory array 1 0 0, and the switch 1 4 1 selects one of these to select the data terminal SDA Output to.
  • FIG. 4 is an explanatory view schematically showing a system including a liquid container and a printing apparatus according to the present embodiment.
  • the printing device 30 and the semiconductor memory device 10 of each liquid container 20 are connected by a bus system via a clock signal line CL, a data signal line DL, and a reset signal line RL. That is, each semiconductor memory device 10 is connected to the printing device 30 via each common signal line.
  • the printing apparatus 30 includes a data generation unit 31, a decoding circuit 3 2, and an input / output unit 33 that are connected to each other by internal wiring.
  • the data generation unit 31 generates a data string including identification information (ID) for identifying the semiconductor memory device 10 to be read, a read command, and an encoding request command.
  • ID identification information
  • the decode circuit 32 is a circuit for decoding the encoded read data received from the semiconductor memory device 10 and determining whether the data is correct (whether it has been corrupted by tampering or noise). is there. Specifically, for example, when a parity bit is added, as shown in FIG. 6 to be described later, a 1-bit data parity bit DP added to each 8-bit read data and a read data If the parity bits calculated using the data match, the data is determined to be correct, and if not, the data is determined to be incorrect. Also, for example, when an encoded checksum value is given, the checksum value encoded using the key is decrypted, and the checksum value obtained and the write data are used as data. It is determined whether or not is correct.
  • the read data is verified, the hash value obtained by applying the hash function to the execution result, and the read data
  • the data is determined to be correct if it matches the hash value assigned to the data, and the data is determined to be incorrect if they do not match.
  • the verify eye processing may be realized by the decode circuit 32, or a verify circuit may be provided separately.
  • the input / output unit 33 is connected to the clock signal line CL, the data signal line DL, and the reset signal line RL, and transmits the clock signal SCK and the reset signal RST to the semiconductor memory device 10.
  • Data signal SDA is exchanged with storage device 1 0. Operation of semiconductor memory device:
  • FIG. 5 is a flowchart showing a processing routine executed in the semiconductor memory device when controlling access to the semiconductor memory device included in the liquid container according to the present embodiment.
  • FIG. 6 is an explanatory diagram schematically illustrating an example of a read data string output from the storage device included in the liquid container according to the present embodiment. In the following example, a case where a plurality of semiconductor storage devices 10 are connected to the printing device 30 by bus will be described.
  • each liquid container 20 (each semiconductor storage device 10) is connected to the printing device 30 via a common clock signal line CL, data signal line DL, and reset signal line RL. Therefore, the data transmitted from the printing device 30 is transmitted to each semiconductor memory device 10. Specifically, as described above, as described above, whether or not the identification information included in the data string received by the ID comparator 130 matches the identification information stored in the memory array 100. Is determined.
  • step S 1 0 2 No
  • the semiconductor memory device 10 determines that both IDs do not match (step S 1 0 2: No)
  • step S 104 the semiconductor memory device 10 determines whether or not reading of the received data is requested. Specifically, as described above, the ID comparator 1 30 sends the access permission signal A EN to the write / read controller 140, and the write no read controller 140 receives the access permission signal AEN, Analyze the read write command bit included in the received data string to determine whether it is a write request or a read request.
  • step S 104 determines that reading of the received data is not requested, that is, writing is requested (step S 104: No), the memory array 10 0 The received data is written (step S 1 0 8), and this processing routine ends. Writing of data to a desired address in the memory array 100 is executed by the write read controller 140 as described above.
  • step S1 04 determines whether or not encoding of the read data is requested (step S1). 06). Specifically, as described above, the received data Judgment is made by analyzing the WZR command with encoding selection information in the 4th to 8th bits of the first column.
  • the semiconductor memory device 10 outputs the data read from the memory array 100 to the data signal terminal S DAT when the encoding is not required (step S 10 06: No) (step S 1 1 0), this processing routine ends. Specifically, as described above, the switch 14 1 in the write Z read controller 140 is switched so that the data read from the memory array 100 is output to the data signal terminal SDAT. .
  • the semiconductor memory device 10 outputs the encoded read data to the data signal terminal SDAT (step S 1 1 2) when the encoding is requested (step S 1 06: Yes).
  • the processing routine ends. Specifically, as described above, the write-no-read control is performed so that the encoded read data read from the memory array 100 and output through the data encoding circuit 150 is output to the data signal terminal SDAT. Switch 1 4 1 on roller 1 40 is switched. For example, when encoding using parity bits is performed, the read data in which the data parity bit DP is written immediately after every 8 bits of read data following the 3 bits of identification information as shown in FIG. Sent to 3 0. When the checksum value is encoded, read data to which the encoded checksum value is added instead of the data parity bit DP in FIG. 6 is transmitted to the printing apparatus 30. .
  • the encoded read data is output when the read data is required to be encoded, and the read data is required to be encoded. If not, the read data as it is read from the memory array 100 can be output. Accordingly, two types of read data can be output based on whether or not the printing apparatus 30 can process the encoded read data. As a result, the adaptability of the liquid container is improved. be able to.
  • the printing apparatus 30 to which the liquid container 20 according to the present embodiment is mounted when it is determined that the read data is incorrect as a result of the decoding process, a process using the read data, for example, By not performing the printing process and the liquid suction process that accompanies the printing process, inconveniences based on erroneous data can be prevented. For example, because the data is incorrect, the printing process is executed even though the amount of liquid in the liquid container 20 is less than the amount of liquid required to complete the print job, and printing is interrupted halfway. It is possible to prevent a situation in which the printing head is hurt by executing the printing process even though the amount of liquid in the liquid container 20 is small, and damaging the printing head. .
  • FIG. 7 is an explanatory view showing an example of the liquid container.
  • the liquid container 20 includes the semiconductor storage device 10 described above and a liquid storage chamber (not shown).
  • the liquid container 20 is a print recording material container such as an ink cartridge, for example, and the semiconductor storage device 10 receives a control signal from the printing device 30 via the terminal T and reads it out to the printing device. Send data and error detection signal.
  • the liquid container 20 provided in the printing apparatus may be single or plural. Other examples:
  • the write / read controller 140 switches the switch 14 1 to switch the encoded read data or the read data as it is read.
  • FIG. 8 is a block diagram showing an arrangement configuration of a write / read controller and a data encoding circuit according to another embodiment. That is, the write read controller 140 may read data from the memory array 100 and subsequently determine whether or not to output the data to the data encoding circuit 150. In this case, the switch 142 may be provided in the middle of the path connecting the memory array 100 and the data encoding circuit 150.
  • the signal line from the memory array 100 is electrically connected to the switch 142, and the output signal line from the switch is electrically connected to the data encoding circuit 150 and the data terminal SDAT. do it.
  • the switch 142 functions as a selection unit that selects whether to output the data from the memory array 100 to the data terminal SDAT or to the data encoding circuit 150.
  • the sequential access type memory array 100 has been described as an example, but it goes without saying that the same effect can be obtained in a semiconductor memory device having a random access type memory array.
  • the address signal line may be provided separately from the data signal line.
  • the write unit does not have to be 1 byte, but may be 1 bit. In this case, for example, the encoding process may be executed using several bits including a desired one bit.
  • the data encoding circuit 15 50 is provided separately from the write Z read controller 140, but may be incorporated in the write / read controller 140.
  • the semiconductor memory device 10 reads out the encoded identification data indicating whether or not the encoding process has been performed on the read data by the data encoding circuit 15
  • Data string may be added. In this case, it is possible to easily determine whether or not the read data is encoded based on the encoded identification data.
  • the data communication between the printing apparatus and the printing material container is realized by electrical connection using a terminal, but non-contact communication represented by RFID or the like may be used.
  • the communication unit may use a wireless communication antenna such as an IC tag.
  • a semiconductor memory device and an access control method in the semiconductor memory device according to the second embodiment will be described below based on the embodiments with reference to the drawings.
  • the semiconductor memory device corresponds to the memory device in the claims.
  • FIG. 9 is a block diagram showing a functional internal configuration of the semiconductor memory device according to this embodiment.
  • FIG. 10 is a block diagram showing a functional internal configuration of the light read controller according to the present embodiment.
  • FIG. 11 is an explanatory diagram schematically showing an example of a data read request data string input to the semiconductor memory device according to this embodiment.
  • the semiconductor memory device 10 0 z according to the present embodiment designates an access destination address from the outside. This is a sequential access type storage device that does not require the input of address data to be specified.
  • the semiconductor storage device 10 Z includes a memory array 10 0 z as a storage element, an address counter 1 1 0 z, a write / read controller 1 4 0 z, and a data encoding circuit 1 5 0 z. Yes.
  • the semiconductor memory device 10 Z is also electrically connected to an external control device, and has a data terminal SDAT for communicating data as a communication unit. Each of these circuits is connected by a bidirectional bus type signal line. At least the light / read controller 14 40 Z and the data encoding circuit 15 50 z may be collectively referred to as a storage element control unit.
  • the memory array 10 0 z as a storage element is a storage area having the characteristics of E EP ROM where data can be electrically erased and written.
  • the memory array 100 z has a plurality of data cells (memory cells) for storing 1-bit information.
  • the memory array 10 0 z has, for example, 8 addresses (address for 8 bits of data) in a row as a predetermined address unit, and 16 data cells (16 words) per column. Can be stored, 16 words x 8 bits (1 2 8 bits) of data can be stored.
  • the memory array 10 0 z in this embodiment has a plurality of rows in units of 8 bits, but each row is not an independent data cell column, that is, one data cell column. This is realized by bending the 8 bits.
  • the row containing the 9th bit is called the second byte
  • the row containing the 17th pit is called the 3rd byte.
  • a word line and a bit (data) line are connected to each data cell in the memory array 100 z, and a corresponding word line (row) is selected (a selection voltage is applied) and a corresponding bit line is selected.
  • a write voltage By applying a write voltage to the data cell Is written.
  • the corresponding word line (row) is selected, the corresponding bit line is connected to the write / read controller 140 z, and the data (1 or 0) of the data cell is read depending on whether or not current is detected.
  • the predetermined address unit in this embodiment can be said to be the number of addresses (number of data cells) that can be written by applying a write voltage to one of the read lines.
  • Memory array 100 z is a column selection circuit (not shown) that connects columns (bit lines) to write read controller 140 Z in sequence according to the number of external clock pulses counted by address counter 1 1 0 z. It has.
  • the memory array 100 also has a row selection circuit (not shown) for sequentially applying a selection voltage to the row (word line) according to the number of external clock pulses counted by the address power counter ll O z. .
  • access to the memory array 100 z using the address data is not executed, and the clocks counted exclusively by the address counter 110 z are not used.
  • the desired address is accessed according to the number of clock pulses.
  • Address counter 1 1 0 z is connected to reset signal terminal R STT, clock signal terminal S CKT, write Z read controller 140 z, and memory array ⁇ ⁇ ⁇ ⁇ .
  • the address counter 1 1 0 z is reset to the initial value by setting the reset signal input via the reset signal terminal RS TT to 0 (or low).
  • the number of clock pulses is counted (count value is incremented) in synchronization with the falling edge of the clock pulse input via pin S CKT.
  • the address counter 1 1 0 z used in this embodiment is an 8-bit address counter that stores the number of clock pulses corresponding to the number of data cells (number of bits) in one row of the memory array ⁇ ⁇ ⁇ ⁇ . is there.
  • the initial value may be any value as long as it is associated with the leading position of the memory array 100 z, and generally 0 is used as the initial value.
  • the light Z read controller 140 z is connected to the data encoding circuit 150 z, the clock signal terminal S CKT, the data signal terminal SDAT, and the reset signal terminal RSTT.
  • Write / read controller 1 40 z is the write / read control information included in the data string input via the data signal terminal SDAT in synchronization with the first clock signal after the reset signal RST is input.
  • the data string input to the semiconductor memory device 10 z is a WZR command with encoding selection information in the first 5 bits, and a command in the 6th bit.
  • parity bit CP is provided and the data string is write data
  • 8-bit write packet data (7th to 14th bits in the example in Figure 11)
  • data parity bit DP ( Figure 1) In the 1 example, the 15th bit) is provided.
  • a plurality of write packet data can be included, and a data parity bit DP is added immediately after each write bucket data.
  • the write-no-read controller 140 Z analyzes the acquired write / read information, and according to the analysis result, the data transfer direction for the memory array 100 z and the data signal terminal SDAT (data signal terminal SDAT Controls switching of data transfer direction (for signal lines connected to).
  • Write / read controller 1 40 z writes 8 bits after operation code out of write data input from data signal terminal S DAT to input signal line from data signal terminal S DAT
  • An 8-bit register (not shown) that temporarily stores data and a register (not shown) that stores data read from the memory array 100 z are provided.
  • the 8-bit register holds the data string (MS B) input from the data signal terminal S DAT via the input signal line until it reaches 8 bits. However, the retained 8-bit data is written to the memory array 100 z.
  • the write / read controller 14 0 z sets the data transfer direction for the memory array 1 0 0 z to the read direction when the power is turned on or reset, and sets the signal line connected to the data signal terminal SDAT to high impedance. By doing so, data transfer to the data signal terminal SDAT is prohibited. This state is maintained until the write Z read information is analyzed and it is determined that a write is requested. Therefore, the data of the first bit of the data string input via the data signal terminal SDAT after the reset signal is input is not written to the memory array 100 z, and the first bit of the memory array ⁇ ⁇ ⁇ Is in a read-only state.
  • the write read controller 140 0 z switches the data transfer direction of the bus signal line to the write direction when it receives the number of clock pulse inputs corresponding to the start address of the writable area during the write process.
  • the write Z read controller 140 0 Z switches the data transfer direction of the bus signal line to the read direction.
  • the write voltage necessary for writing is generated by, for example, a charge pump circuit (not shown).
  • the write / read controller 14 0 z switches the data transfer direction of the bus signal line to the read direction when it receives the number of clock pulse inputs corresponding to the start address of the writable area during the read process.
  • the light controller 1 4 0 z is either read from the memory array 1 0 0 z or encoded via the data encoding circuit 1 5 0 z.
  • Switch 1 4 1 z is provided as a selection unit for selecting and outputting any one of the read data, and the Latin read controller 1 4 0 z is used to encode the read data from the host computer as the control device.
  • switch 1 4 1 z When requested, switch 1 4 1 z to output encoded read data.
  • switch 1 4 1 ⁇ is switched so that the read data is output.
  • a host computer that does not support encoded read data can perform desired processing using read data that is not encoded because it does not require data encoding.
  • a host computer corresponding to the encoded read data can execute a desired process by using the encoded read data by requesting the encoding of the data.
  • the data encoding circuit 15 0 ⁇ is connected to the write / read controller 14 0 ⁇ via a signal line.
  • the data encoding circuit 15 0 ⁇ performs encoding processing using the read data input from the write / read controller 14 0 ⁇ .
  • the encoding process by the data encoding circuit 1 5 0 ⁇ is executed by, for example, parity calculation using all or part of the read data, checksum calculation, and C R C (cyclic redundancy check).
  • the data used for the encoding operation may be all the readable data stored in the memory array 1 0 0 ⁇ , or even the read data requested to be read this time. good.
  • the data encoding circuit 1 5 0 ⁇ creates a read data string to which a parity value (parity bit) or a checksum value obtained by calculation is added.
  • a parity value parity bit
  • a checksum value obtained by calculation
  • the encoding process by the data encoding circuit 1 5 0 ⁇ encodes a parity bit and a checksum value, which are calculation results obtained by a parity operation, a checksum operation, etc. using all or part of the read data. By doing Is done.
  • the data encoding circuit 1 5 0 Z creates read data sequence plus the encoded parity bits or a checksum value. Since the obtained error correction code is encoded, the accuracy of detecting garbled data and alteration during communication can be improved, and the reliability of the data string can be improved.
  • the checksum value obtained using the read data whose data value fluctuates or the most recently written (updated) data, or the parity bit By performing the encoding process using, the reliability of the read data string can be further improved.
  • the encoding process may be executed using a combination of read data and parity bits, and the encoding process is executed using the verification result of the read data (a 1-bit value indicating whether it is correct or incorrect). It may be done.
  • the encoding process by the data encoding circuit 15 50 z is executed by obtaining a hash value using a hash function from a calculation result using all or part of the read data (hash encoding).
  • the data encoding circuit 150 z obtains a hash value using the parity bit, the checksum value, or the verification result of the read data, and creates a read data string to which the obtained hash value is added. Since the obtained error correction code is hash-coded, the accuracy of detecting data corruption and alteration during communication can be improved, and the reliability of the data string can be improved.
  • the checksum value, the parity bit, or the value calculated using the read data whose data value fluctuates or the most recently written (updated) data is used.
  • the hash value may be obtained using a combination of read data and parity bits.
  • the code value such as parity bit and checksum value is obtained using the read data whose data value fluctuates or the most recently written (updated) data, and the code value and the data used to obtain the code value are obtained. It may be sent with the data requested to be read. In this case, it is possible to reduce the addition of encoding operations and use data whose values are updated, so that different encoding processing results can be obtained for each read timing, improving the reliability of read data It can be made.
  • the hash encoding not only the error correction code obtained by the operation but also the encoding including the read data may be executed. Furthermore, the read data itself may be hash-coded without calculating an error correction code.
  • Examples of data whose values are updated include time and date, as well as data related to the operation of the control device that needs to be managed by the control device.
  • FIG. 1 An example of the circuit configuration of the present invention is shown in FIG.
  • the transmission path from the memory array 1 0 0 z is branched into two.
  • One of the branched transmission paths reaches switch 1 4 1 z.
  • the other path reaches the switch 14 1 z via the data encoding circuit 15 50 z.
  • the data encoding circuit 1 5 0 z may be installed in the middle of the transmission path between the memory array 1 0 0 z and the switch 1 4 1 z in the other path.
  • the switch 1 4 1 z receives the output from the data encoding circuit 1 5 0 z and the output from the memory array ⁇ ⁇ ⁇ ⁇ , and selects one of these to output to the data terminal SDAT.
  • FIG. 12 schematically shows a system including a storage device and a computer 30 z according to this embodiment.
  • the semiconductor memory device 10 z can be realized as, for example, an external storage device 20 that can be connected to the computer 30 Z through a connection cable and a connection terminal.
  • the computer 30 z and the semiconductor memory device 10 z are connected via a connection cable including a clock signal line C L, a data signal line D L, and a reset signal line RL.
  • the semiconductor memory device 10 may include a connection terminal, and may be directly connected (attached) to the connection terminal included in the computer 30 z.
  • the computer 30 z includes a data generation unit 3 1 z, a decoding circuit 3 2 z, and an input / output unit 33 z that are connected to each other by internal wiring.
  • the data generation unit 3 1 z generates a data string including a read command and an encoding request command.
  • the decode circuit 3 2 z decodes the encoded read data received from the semiconductor memory device 10 z to determine whether the data is correct (whether it has been corrupted by falsification or noise). Circuit. Specifically, for example, when a parity bit is added, as shown in FIG. 14 to be described later, the data parity bit DP added every 8 bits of read data of the data string, and the read data If the parity bits calculated using the match, the data is determined to be correct, and if not, the data is determined to be incorrect. For example, when an encoded checksum value is given, the encoded checksum value is decrypted using the key, and the checksum value obtained and the write data are used to write data. It is determined whether or not is correct.
  • a verification process is performed on the read data, and a hash value obtained by applying a hash function to the execution result is read.
  • the verification process may be realized by the decoding circuit 3 2 z, or a verification circuit may be provided separately.
  • the input / output unit 3 3 z is connected to the clock signal line CL, data signal line DL, and reset signal line RL, and transmits the clock signal S CK and reset signal R ST to the semiconductor memory device 10 z.
  • the data signal SD A is exchanged with the semiconductor memory device 10 z . Operation of semiconductor memory device:
  • FIG. 13 is a flowchart showing a processing routine executed in the semiconductor memory device during access control to the semiconductor memory device according to this embodiment.
  • FIG. 14 is an explanatory view schematically showing an example of a read data string output from the semiconductor memory device according to this embodiment.
  • step S 1 20 When the semiconductor storage device ⁇ ⁇ ⁇ of the external storage device 20 z receives data from the computer 30 z (step S 1 20), it determines whether or not reading of the received data is requested (step S 1 twenty two) . Specifically, the write Z read controller 140 z analyzes the write no-read command bit with encoding selection information written in the first bit of the received data string, and performs either a write request or a read request. It is determined whether it is.
  • step S 1 2 2 If the semiconductor memory device 10 z determines that reading of the received data is not requested, that is, writing is requested (step S 1 2 2: No), the memory array 1 ⁇ 0 Writes the received data to z (step S 1 26), and ends this processing routine.
  • Writing data to a desired address for the memory array ⁇ ⁇ ⁇ ⁇ is executed by the write / read controller 140 z as described above.
  • the semiconductor memory device 10 z determines whether or not encoding of the read data is requested (step S 1 24). Specifically, as described above, the received data Judgment is made by analyzing the WZR command with encoding selection information in the first to fifth bits of the data string.
  • step S 1 2 4 the semiconductor memory device 10 outputs the data read from the memory array 1 0 0 Z to the data signal terminal SDAT (step S 1 2 8) End this processing routine. Specifically, as described above, the write / read controller 1 4 0 z so that the data read from the memory array ⁇ ⁇ ⁇ ⁇ is selected and output to the data signal terminal S DAT. The switch at 1 4 1 z is switched.
  • the semiconductor memory device 10 Z outputs the encoded read data to the data signal terminal S DAT (step S 1 3 0) when encoding is requested (step S 1 24: Y es). ) End this processing routine.
  • the read operation is performed so that the read data read from the memory array 100 z and passed through the data encoding circuit 150 z is selected and output to the data signal terminal S DAT.
  • Switch 1 4 1 z in G / Lead controller 1 40 z is switched.
  • read data with data parity bit DP written immediately after every 8 bits of read data is sent to computer 30 z as shown in Fig. 14. Is done.
  • the checksum value is encoded, read data to which the encoded checksum value is added instead of the data parity bit DP in FIG. 14 is transmitted to the computer 30 z.
  • the encoded read data is output when the read data is required to be encoded, and the read data is required to be encoded. If not, the read data can be output as it is read from the memory array 100 z. Therefore, two types of read data can be output based on whether or not the converter 30 z can process the encoded read data. As a result, the semiconductor memory device 1 The adaptability of 0 z can be improved. '' Also, with the same semiconductor memory device 10 z, the reliability of data communication between the computer 30 z and the semiconductor memory device 10 Z is improved by encoding the corresponding computer 30 z This makes it possible to read out data from a non-compliant computer 30 z.
  • the computer 30 z to which the semiconductor memory device 10 Z according to the present embodiment is mounted if it is determined that the read data is incorrect as a result of the decoding process, a process using the read data, for example, By not performing processing such as database processing, it is possible to prevent inconvenience based on incorrect data. For example, it is possible to prevent or suppress inconveniences such as incorrect accounting processing being executed because the data is incorrect.
  • the write Z read controller 14 0 z switches the switch 1 4 1 z to change the encoded read data or the unread read data (unencoded read data) to the data signal.
  • the data is output to the terminal SDAT, as shown in Fig. 15, the data read from the memory array 10 0 z is output to the data signal terminal SDAT via the data encoding circuit 15 0 z or directly.
  • a switch 1 4 2 for switching may be provided.
  • FIG. 15 is a block diagram showing an arrangement configuration of a write / read controller and a data encoding circuit according to another embodiment.
  • the write-in read controller 14 0 z reads data from the memory array 1 0 0 z and then determines whether or not to output to the data encoding circuit 1 5 0 z. It may be fixed. In this case, the switch 1 4 2 z may be provided in the middle of the path connecting the memory array 1 0 0 z and the data encoding circuit 1 5 0 z. That is, the signal line from the memory array ⁇ ⁇ ⁇ ⁇ is electrically connected to the switch 14 2 z, and the output signal line from the switch is electrically connected to the data encoding circuit 15 00 z and the data terminal SDAT. It is sufficient to make it connected.
  • the switch 1 4 2 z functions as a selection unit that selects whether to output data from the memory array 1 0 0 z to the data encoding circuit 1 5 0 z that outputs to the data terminal SDAT.
  • a sequential access type memory array 10 0 z was described as an example, but the same effect can be obtained even in a semiconductor memory device equipped with a random access type memory termination array and flash memory. Needless to say.
  • the random access type it is possible to read the data of the desired address by analyzing the opcode and specifying the row address and column address by the RAS signal and CAS signal.
  • the memory controller In the case of flash memory, the memory controller Thus, it becomes possible to read out desired data by changing the logical address designated by the computer 30 into a physical address.
  • the address signal line may be provided separately from the data signal line.
  • the external storage device including the computer 30 Z and the semiconductor storage device 10 Z can be connected via various types of communication cables such as a USB cable, a serial cable, an IEEE 1 3 94 cable, or a USB terminal. Can be connected directly through the serial terminal, IEEE 1 3 9 4 terminal.
  • a communication control unit for controlling data exchange with the computer 30 z is further provided.
  • the write unit does not have to be 1 byte, but may be a 1-bit unit or a block unit. In this case, for example, the encoding process may be performed using several bits including a desired one bit.
  • each semiconductor memory device 10 z is identified by the identification information, and the read data from each semiconductor memory device 10 z is also transmitted from any semiconductor memory device 10 Z based on the identification information. It is determined whether the data is processed.
  • the data encoding circuit 150 z is provided separately from the write / read controller 140 z, but it may be incorporated in the write Z read controller 140 z. .
  • the semiconductor memory device 10 z reads out the encoded identification data indicating whether or not the encoding process has been performed on the read data by the data encoding circuit 15 50 z. ) May be added. In this case, it is possible to easily determine whether or not the read data is encoded based on the encoded identification data.
  • data communication between the printing device and the printing material container is realized by electrical connection using terminals, but non-contact communication represented by RF ID may be used.
  • the communication unit may use a wireless communication antenna such as an IC tag.
  • FIG. 16 is a block diagram showing a functional internal configuration of a semiconductor device mounted on a circuit board used in this embodiment.
  • FIG. 17 is a block diagram showing a functional internal configuration of the write-ready controller according to the present embodiment.
  • the semiconductor device according to the present embodiment is connected to the printing apparatus and operates based on access from the printing apparatus (access such as writing and reading) in the same manner as the semiconductor memory device according to the first embodiment. .
  • the semiconductor device 10 a includes a memory array 100 a, a clock counter 1 1 1 a, an address selector 1 1 2, an ID comparator 1 30 a, and a write / reset.
  • Decoder controller 140a encoded data generation circuit (verification data generation circuit) 50a, parity bit generation / addition circuit 160.
  • At least the ID comparator 13 30 a, the write / read controller 140 a, and the encoded data generation circuit 15 50 a may be collectively referred to as a memory control unit (storage element control unit).
  • the semiconductor device 10 a is mounted on the circuit board CB.
  • the circuit board CB is provided in a liquid container that contains the recording material (recording agent) of the printing apparatus, and the semiconductor device and the printing apparatus are electrically connected when the liquid container is mounted on the printing apparatus.
  • Semiconductor device 10 0a reset signal terminal RSTT, clock signal terminal SC KT, power supply terminals VDDT, VS ST, data signal terminal S DAT are external terminals T of circuit board CB, that is, external reset signal terminals T l, External clock signal terminal ⁇ 2, external power supply terminal ⁇ 3, ⁇ 4, and external data signal terminal ⁇ 5 are each electrically connected.
  • the reset signal terminal RS TT, clock signal terminal S CKT, power supply terminal VDDT, and VS ST are supplied with a reset signal, clock signal, and power supply voltage, respectively, from the printer.
  • the semiconductor device 10 a according to the present embodiment is initialized when the reset signal is at the first level, and is in the initial state.When the reset signal is switched to the high level, the initial state is canceled and the printing device Accept access.
  • the memory array 100 a (storage element) has basically the same configuration as the memory array 100 used in the first embodiment.
  • the memory array 100 a in this embodiment stores the identification information ID of the semiconductor device 10 a in the row selected by the address selector 1 1 2 first after the start of access by the controller of the printing apparatus.
  • the identification information ID is used to select one semiconductor device to be accessed from the printing device among a plurality of semiconductor devices connected by bus to the printing device.
  • the clock counter 1 1 1 a is connected to the reset signal terminal R STT, the clock signal terminal S CKT, the write / read controller 140 a, and the address selector 1 1 2.
  • the clock counter 1 1 1 a is reset to the initial value by setting the reset signal input via the reset signal terminal RSTT to 0 (or low). Counts the number of clock pulses (increments or decrements the power count value) in synchronization with the falling edge of the external clock pulse input via the signal terminal S CKT.
  • the initial value of the clock counter 1 1 1 a may be any value as long as it is associated with the value for selecting the W0 row (also referred to as the first row) in which the identification information ID is stored in the memory array 100 a.
  • the clock counter 1 1 1 a divides the external clock and generates an address count clock, which is output to the address selector 1 1 2.
  • the clock counter 1 1 1 a divides the external clock with a different period depending on the type of access, read, or write. For example, when the access type is write, one address power clock is generated with 8 external clocks. When the access type is normal read, which will be described later, 1 external clock is generated with 1 external clock. An address count clock is generated.
  • the end address selector 1 1 2 is connected to the reset signal terminal R STT, the write Z read controller 140 a, the clock counter 1 1 1 and the memory array 1 00 a.
  • the address selector 1 1 2 counts the number of pulses of the address power clock output from the clock counter 1 1 1 a, and generates a row selection signal according to the count value.
  • the row selection signal is a signal for directly selecting (designating) a desired row of the memory array 100a.
  • the count value counted by the address selector 1 1 2 is initialized when the reset signal is low (reset low). First
  • the initial count value at the time of initialization is a value for generating a row selection signal for selecting the first row of the memory array 1 0 0 a.
  • the address selector 1 1 2 outputs a row selection signal to the memory array 100 a based on the control of the write / read controller 1 40 a.
  • the ID comparator 1 30 a is connected to the clock signal terminal S CKT, the data signal terminal S DAT, the reset signal terminal R S TT, and the write / read controller 140 a.
  • the ID comparator 1 30 a is a memory array 1100 and an identification information ID included in the data string transmitted from the controller of the printing device and input via the data signal terminal SDAT after the initialization state of the semiconductor device 1 0 a is released. It is determined whether or not the identification information ID stored in a matches with a. More specifically, the ID comparator 130 a acquires the first 3 bits of data in the data string input after the high level reset signal R ST T is input, that is, the identification information ID.
  • the ID comparator 1 3 0 a is the first 3 bits of data (identification data for designating the semiconductor device 10 to be accessed by the printing device) included in the data string sent from the printing device, and the memory array 1 00 Determines whether the identification information ID read from a matches.
  • the I D comparator 1 30 a sends an access permission signal AEN to the write / read controller 1 40 a when both identification data ID matches.
  • ID comparator 1 30 a does not output access permission signal AEN.
  • the semiconductor device 10 0 a determined that the identification data ID does not match does not execute either writing or reading, and returns to the initialization state by inputting the reset signal (0).
  • the write / read controller 140a includes a memory array 100a, an address selector 1 1 2, an ID comparator 1 30a, an encoded data generation circuit 1 50a, This circuit is connected to the clock signal terminal S CKT, the data signal terminal S DAT, and the reset signal terminal RS TT.
  • the write / read controller 140a has basically the same configuration as the write / read controller 140 used in the first embodiment.
  • Write Z read controller 14 Oa is an 8-bit temporary storage of the write data string in the transmit data string (data string conceived in Fig. 23) input during data input from the data signal terminal SDAT.
  • the 8-bit register holds the data string (MS B) input from the data signal terminal S DAT via the input signal line until it reaches 8 bits, and is held when 8 bits are aligned. Bit data is written to memory array 100a.
  • the write Z read controller 140a sends a command (4th to 8th bits of the transmission data string) indicating the type of access to the semiconductor device 10a transmitted following the identification information ID transmitted from the printing device. Whether the access from the printing device is a write request (whether a write command has been received), a normal read request (whether a normal read command has been received), or an encoded read request (Is an encoded read command (also called a verification data generation command) received) is analyzed. Therefore, the light no-read controller 140 a can also be called an encoding determination unit.
  • the write / read controller 1 40a executes write processing or read processing based on the command analysis result.
  • the write / read controller 140a sets the memory array 100a in the data reading direction, and from the semiconductor device 10a. Set so that no data is sent to the printer. . This state is maintained until the type of access (command) is analyzed and either writing or reading is executed. Therefore The data of the transmission data string input via the data signal terminal SDAT after the reset signal is input is not written to the memory array 1 0 0 a, but is stored in the first 3 bits of the memory array 1 0 0 a. Data (identification information ID) is sent to the ID comparator 1 3 0 a. As a result, the first row of the memory array 1 0 0 a is in a read-only state.
  • the write / read controller 14 0a can read data from the memory array 10 0 0a (normal data) or via the encoded data generation circuit 15 0a.
  • a switch 1 4 1 a is provided as a selection unit for selecting and outputting one of the encoded read data (encoded data).
  • Write Z read controller 1 4 0 a switches to output the encoded read data when the command included in the data string transmitted from the printing device is the encoded read command. Switch a to coding position SP 1 and if it is a normal read command, switch 1 4 1 a to normal position SP 2 so that the read data is output.
  • the path between the memory array 10 0 0 a and the data terminal S D AT is different between the encoded data read time and the normal read time.
  • the encoded data generation circuit 1 5 0 a is connected to the write read controller 1 4 0 a via a signal line.
  • the encoded data generation circuit 150a executes the encoding process using the read data for a plurality of rows input from the write Z read controller 140a.
  • a checksum operation is performed on the read data for a plurality of rows to generate 8-bit checksum data (first encoding).
  • the ink amount data ink remaining amount data or ink consumption amount data
  • the encoded data generation circuit 150 a performs reversible encoding processing on the generated checksum data to generate encoded data (verification data). Instead of the checksum, an arithmetic process for obtaining an irreversible hash value using a hash function may be performed on the read data to be encoded.
  • the generated verification data is output to the write / read controller 1400a.
  • Parity bit generation / addition circuit 1 60 is connected to the write / read controller 1 4 0 a.
  • Parity bit generation 'Additional circuit 1 6 0 writes / reads the verification data generated by the encoded data generation circuit 1 5 0 a or the unencoded normal data (normal read data) Controller 1 4 0 Receives from a and generates parity bit using received verification data or normal read data.
  • Nority bit generation 'Addition circuit 1 6 0 adds the generated parity bit to the verification data or normal read data, and sends it to the write Z read controller 1 4 0 a.
  • Parity bit generation is usually performed using a data string for each data string (8 bits) of read data or a data string of verification data. In this embodiment, the generation of the parity bit executed by the parity bit generation / addition circuit 160 and the addition of the generated parity bit to the data string are not called data string encoding.
  • FIG. 18 is an explanatory diagram showing a schematic configuration of an ink cartridge as a liquid container.
  • FIG. 19 is an explanatory diagram illustrating a connection mode between the printing apparatus and the ink cartridge according to the present embodiment.
  • the ink cartridge 20 a includes a circuit board CB on which the semiconductor device 10 a described above is mounted, and an ink storage chamber (not shown).
  • the printing device 300 is connected to the external terminal T (T1 to T5) of the mounting portion 310 for mounting the ink cartridge 20a detachably and the ink cartridge 20a.
  • Terminal 3 2 0 is provided.
  • the mounting part 3 1 0 may be arranged on the carriage (on carrier) It may be located anywhere other than on the carriage (off-carriage type). Further, the ink cartridge 20 a may be disposed on the mounting portion 3 10 provided outside the printing apparatus 300, and further, on the mounting portion 3 10 disposed inside the printing apparatus 300.
  • the printing device 300 includes a central processing unit (CPU) 3001, a storage device 302, such as ROM and RAM, an input / output unit 303, and a printing unit 304.
  • CPU 30 1, storage device 3 02, input / output unit 303 and printing unit 3 04 are connected to each other via an internal bus so that bidirectional communication is possible.
  • the ROM of the storage device 302 has a data string for writing (identification information ID, a write command, and a data string to be written to the memory array), and a data string for normal reading that reads the data stored in the memory array as it is (identification) (Information ID and normal read command) or read the encoded data by applying the encoding process to the data read from the memory array (generate verification data from the data read from the memory array and receive the verification data
  • Data generation module 3 0 2 a which generates a read data string (identification information ID and encoded read command), and encoding / decoding module 3 02 for encoding or decoding data b, Stores a communication verification module 302 c that performs communication verification.
  • the RAM of the storage device 302 temporarily stores data read from the semiconductor device 10a, generated write data, and data required for module execution.
  • the data generation module 3 0 2 a s encoding 'decoding module 30 2 b and the communication verification module 3 0 2 c are executed by the CPU 30 1, so that the normal data reading unit and the encoded data reading unit respectively It functions as a copy data writing unit, encoding / decoding unit, and verification unit.
  • the functions realized by the CPU 301 executing these modules may be realized as hardware.
  • the input / output unit 303 is connected to the printing apparatus side terminal 320, and data is transferred to the semiconductor device 10a included in the ink cartridge 20a. Or receive data from the semiconductor device 10a.
  • the printing unit 30 4 includes at least a print head provided in the carriage and a conveyance mechanism that conveys the print medium (printing paper) in the sub-scanning direction, and is supplied from the ink cartridge 20 a through the print head. Ink is ejected to form an image on the print medium.
  • the CPU 3 0 1, the storage device 3 0 2, and the input / output unit 3 0 3 of the printing apparatus 3 0 0 are also referred to as a controller of the printing apparatus 3 0 0.
  • the controller of the printing device 300 transmits a reset signal that initializes the semiconductor device 10 a to the semiconductor device via the reset signal line at the end of each access to the semiconductor device 10 a. .
  • the ink cartridge 20 0 a provided in the printing apparatus 300 may be single or plural. In a plurality of cases, as shown in FIG. 4, the semiconductor device 10 a provided in the ink cartridge 20 a is connected to the controller of the printing device 30 0 by a bus.
  • FIG. 20 ′ is an explanatory diagram illustrating an example of a communication verification process executed between the printing apparatus and the semiconductor device according to the present embodiment.
  • FIG. 21 is an explanatory diagram showing an example of a data string transmitted from the printing apparatus to the semiconductor device according to the present embodiment when writing data.
  • FIG. 22 is an explanatory diagram illustrating an example of a data string transmitted and received between the printing apparatus and the semiconductor device according to the present embodiment during normal reading.
  • FIG. 23 is an explanatory diagram illustrating an example of a data string transmitted and received between the printing apparatus and the semiconductor device according to the present embodiment at the time of encoding and reading.
  • FIG. 24 is a flowchart illustrating an example of encoded data generation and transmission processing executed in the semiconductor device according to the present embodiment.
  • FIG. 25 is an explanatory diagram illustrating an example of verification processing executed in the printing apparatus according to the present embodiment.
  • the printing device 300 is a semiconductor device 10 0 a as the recording agent ink is consumed, such as when printing is performed or when the printing head is cleaned.
  • the ink amount data is updated.
  • the printing device 300 generates a data string for requesting writing illustrated in FIG. 21 in order to update the ink amount data by the data generation module 30 02a, and sends it to the semiconductor device 10a.
  • a write request is made to the PS (PS 1).
  • the data string requesting writing in FIG. 21 has a total of 3 bits of identification information ID for each 1 bit, a 5-bit write command, and a write data string of predetermined bits.
  • the printing device 3 0 0 generates a data sequence for requesting normal reading, which is exemplified as a transmission data sequence in FIG. 2 2 by the data generation module 3 0 2 a,
  • a normal read request is made for data containing (PS 2).
  • the data string requesting normal read in Figure 22 has 3 bits of ID information, 5 bits of normal read command, and 1 dummy bit for each 1 bit.
  • the normal reading means reading of data (normal data) that has not been encoded in the semiconductor device 10a.
  • the semiconductor device 10 a that has received the normal read request does not generate encoded data using the requested data (normal data), and as shown in FIG.
  • the normal read data in which 1-bit parity bit is added to the read data is transmitted to the printing device 300 (SS 1).
  • the received data string means a data string received by the printing apparatus 300.
  • the printing device 3 0 0 stores the received normal read data in the storage device 3 0 2.
  • the printing apparatus 300 generates a data sequence for requesting encoded reading for requesting reading of encoded data, which is exemplified as a transmission data sequence in FIG. 23 by the data generation module 30 02a. Transmit to the semiconductor device 10 a (PS 3).
  • the encoded read request reads the same data as the data (normal data) read in the normal read request from the memory array 1 0 0 a, This is a request for transmitting to the printing apparatus 300 after performing the conversion.
  • the semiconductor device 10 a reads the same data as the data transmitted to the printing device 30 0 0 in response to the normal read data request from the memory array 1 100 a, and is illustrated as a received data string in FIG.
  • the verification data is generated by performing the encoding process, and the parity bit is added and transmitted to the printing apparatus 300 (SS 2).
  • the reception data string in FIG. 23 means data received by the printing apparatus 300, and has 8 bits of verification data and 1 parity bit.
  • the printing device 300 performs comparison processing using the received verification data and the normal read data stored in the storage device 300. Specifically, the printing device 3 0 0 performs encoding performed to generate verification data in the semiconductor device 1 0 a with respect to the normal read data stored in the storage device 3 0 2. If the same encoded data is generated and the comparison encoded data is generated and does not match the received verification data, an error has occurred in the communication path, or the semiconductor device 1 0 a has no error. Judge that condition is occurring.
  • a data read process executed in the semiconductor device 10 a will be described with reference to FIG.
  • the semiconductor device 10a reads the normal read command or the encoded read. Triggered when a transmission data string including a command (verification data generation command) is received.
  • the semiconductor device 10a receives the identification information ID included in the data string received from the printing device 300, and the received data string is stored in its own memory array 100a. Determine whether it matches the information ID. If the identification information ID matches the identification information ID read from the memory array 10 0 a, the semiconductor device 10 a determines that it is an access target of the printing device 3 0 0.
  • the semiconductor device 10 a determines whether the received command is a normal read command or an encoded read command (step S 2 0 0), and the write / read controller 1 according to the received command. 4 0 a Switch the switch 1 4 1 a (Step S 20 1). Specifically, the switch 14 1 a is switched to the encoded position SP 1 when the received command is an encoded read command, and is switched to the normal position SP 2 when the received command is a normal read command.
  • the semiconductor device 10a reads data (normal data) from the memory array 100a (step S202). If the command determined in step S200 is an encoded read command and encoding is requested, the semiconductor device 10a performs checksum calculation processing (step S204).
  • Step S 20 3 Y es
  • the switch 14 1 a in the light Z read controller 1 40 a outputs the data read from the memory array 1 00 a to the encoded data generation circuit 1 5 0 a Therefore, the data read from the memory array 100 a is sent to the encoded data generation circuit 150 a.
  • the encoded data generation circuit 1 5 0 a obtains a checksum using the read data. For example, checksums such as 8 bits and 16 bits are obtained. Note that the checksum calculation process is an irreversible calculation process, and the original data cannot be obtained by decoding.
  • the semiconductor device 10 a performs reversible data encoding processing (second encoding processing) on the obtained checksum and generates verification data.
  • the second encoding process is a process capable of decoding from data encoded using a common key and encoding the data, and the original data can be obtained by decoding.
  • the semiconductor device 10 0 a performs parity operation processing on the obtained verification data (encoded data) by the parity bit generation / addition circuit 16 0 (step S 20 6), and obtains the obtained parity value (parity bit). ) Is added to the verification data and transmitted to the printing apparatus 30 (step S 2 10), and this processing routine is terminated.
  • step S 203 if the command determined in step S 2 0 0 is a normal read command (step S 203: No), the semiconductor device 10 a proceeds to step S 206.
  • NORITY BIT GENERATION AND ADDITION CIRCUIT 1 6 0 performs parity operation processing on the data read from memory array 1 0 0 a and sends normal read data with parity bit added to printer 300 (Step S207) and this processing routine is terminated. In other words, only the parity calculation process is executed for normal read data.
  • the verification process in the printing apparatus 300 will be described with reference to FIG.
  • the verification process is a process executed in the printing apparatus 300 when the CPU 3 0 1 executes the verification module 3 0 2 c.
  • the description of the transmission processing (PS 1, PS 2, PS 3) for the semiconductor device 10 0a is omitted in FIG. 20, and data is received from the semiconductor device 10 0a (SS 1, SS 2)
  • the verification process to be executed after this is explained.
  • the printing apparatus 300 receives the normal read data from the semiconductor device 10a as a response to the normal read request (P S 2) (step S 300: S S 1 in FIG. 20).
  • the printing apparatus 300 performs a parity check process on the received normal read data and removes the parity bit from the normal read data string (step S 3 0 1). If it is determined that there is no error as a result of the NORMAL check (step S302: Yes), the printing apparatus 300 moves to step S30.6, and if it is determined that there is an error (step S302). Step S 30 2: No), and the process proceeds to Step S 3 10.
  • Step S 304 When the printing apparatus 300 receives the encoded data (verification data) as a response to the data encoding request (PS 3) (step S 30 3: SS 2 in FIG. 20), the printing apparatus 300 executes a parity check process ( Step S 304). If it is determined that there is no error as a result of the parity check (step S 305: Yes), the printing apparatus 300 removes the parity bit from the data string and executes the encoding / decoding module 30 2 b to perform encoding. Decrypt data and get decryption checksum CS 0 S 3 0 6).
  • the printing apparatus 300 executes the encoding / decoding module 3 0 2 b on the normal read data from which the parity bit has been removed in step S 3 0 1 and executes it in the semiconductor apparatus 10 a.
  • the same checksum calculation process as the checksum calculation process that has been performed is executed to calculate an operation checksum CS 1 (encoded data for comparison) (step S 3 07).
  • the printing device 3 0 0 executes the verification module 3 0 2 c and compares the decryption checksum CS 0 with the operation checksum CS 1 (step S 3 0 8). If they match (step S 3 0 9: Y es), this processing routine ends.
  • step S 3 09 determines that a parity error has occurred as a result of the parity check in steps S 3 0 2 and S 3 0 5 (steps S 3 0 2 and S 3 0 5 : No), a cartridge error is notified (step S 3 10).
  • the cartridge error notification is realized by turning on or blinking the indicator lamp provided in the printing device 300 or displaying an error message on the display provided in the printing device 300. . Further, when the printing apparatus 300 is connected to a personal computer, it may be realized by displaying an error message on the display display of the personal computer.
  • Ink cartridge according to the present embodiment described above 20 0 a semiconductor device 1 0 a
  • the printing apparatus 300 it is possible to detect a communication abnormality that cannot be determined based on the reading of either one by comparing the normal read data and the encoded data (verification data). It can. For example, when normal reading, which is not encoded data reading, is executed twice and an attempt is made to detect a communication error based on whether the read data matches or not, the printer side terminal 3 2 0 and the circuit board CB Even if the electrical connection with the external terminal T is not established, if the first normal read data and the second normal read data match, the printing device 300 will be connected to the circuit board CB.
  • the normal read data that does not execute the encoding process for the same data (normal data) read from the memory array 10 0 a of the semiconductor device 1 O a Verification is performed using the encoded data that has been subjected to the encoding process. Therefore, by comparing these data, it is possible to more accurately verify whether a communication error or an abnormality of the semiconductor device 10 a has actually occurred.
  • encoded reading is executed after normal reading, but normal reading may be executed after executing encoded reading. It is sufficient if the normal read data and the encoded read data can be compared.
  • E E PROM is used as an example of the semiconductor device 10a.
  • a semiconductor device including a memory array including ferroelectric memory cells and an arithmetic circuit may also be used.
  • the communication verification process (request / reception process for normal read data and encoded data) is performed after the data string is written to the semiconductor device 10a. Alternatively, it may be executed at the time of the first writing process after activation of the printing apparatus 300, at the time of the first writing process after replacement of the ink cartridge 20a, or at the time of a predetermined number of writing processes. Even if the data to be written has not occurred, the communication verification process may be executed using predetermined data stored in the semiconductor device 10a after the ink cartridge 20a is replaced.
  • parity bit generation and parity bit addition are further performed on the encoded data of the normal read data, but these parity processing is performed on either one or both data. However, it may not be implemented.
  • the present invention has been described based on the examples and the modifications. However, the above-described embodiments of the present invention are for facilitating understanding of the present invention and do not limit the present invention. The present invention does not depart from the spirit and scope of the claims. Changes and modifications can be made, and the present invention includes equivalents thereof.

Landscapes

  • Ink Jet (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Read Only Memory (AREA)

Abstract

 液体収容体20に備えられている半導体記憶装置10において、読み出しデータの符号化要求を受信すると、ライト/リードコントローラ140はスイッチ141を切り換えて、データ符号化回路150によって符号化された読み出しデータをデータ信号端子書SDATに出力する。一方、読み出しデータの符号化要求を受信しない場合には、ライト/リードコントローラ140はスイッチ141を切り換えて、メモリアレイ100から読み出したままのデータをデータ信号端子書SDATに出力する。

Description

明細書
液体収容体
技術分野 .
本発明は、 記憶装置を備える液体収容体および液体収容体に備えられた記憶装 置に対するアクセス制御方法、 並びに、 記憶装置および記憶装置に対するァクセ ス制御方法に関する。
背景技術
記憶装置を備える液体収容体、 例えば、 ィンクカートリッジが知られている。 このィンクカートリッジでは、 印刷装置に最適な交換部品であるか否かを判定す るために記憶装置に記憶されているデータが用いられている。 また、 記憶装置に 記憶されているデータを符号化することによって、 より精度の高い判定を行う技 術も知られている。 さらに、 ホス ト装置に最適な部材に対して記憶装置を装着さ せる技術が知られている。 この技術では、 最適な部材であるか否かの判定精度を 高めるために、 記憶装置に記憶されているデータが符号化されている。
しかしながら、 記憶装置に記憶されているデータを符号化するインクカートリ ッジでは、 符号化に対応していない従来のプリンタでは使用できなくなるという 問題がある。 この問題に対応するために、 データが符号化されたインクカートリ ッジとデータが符号化されていないィンクカートリッジとを備えるとすれば、 交 換部品であるインクカートリッジの種類が増えてしまうため、 製造業者における 管理コスト等が増大すると共に、 ユーザの混乱を招くという問題がある。
記憶装置に記憶されているデータを符号化する場合には、 符号化に対応してい ない、 あるいは、 符号化 '復号化プログラムがインス トールされていないコンビ ユータでは記憶装置に記憶されているデータを利用できないという問題がある。 この問題に対応するために、 データを符号化する記憶装置とデータを符号化しな い記憶装置とを提供するとすれば、 記憶装置の種類が増えてしまうため、 製品の 製造コストあるいは販売上の管理コスト等が増大すると共に、 ユーザの混乱を招 くという問題がある 発明の開示
本発明は、 上記課題を解決するためになされたものであり、 液体収容体の適応 性の向上を目的とする。 本発明は、 記憶装置の適応性の向上を目的とする。 上記課題の少なくとも一部を解決するために、 本発明は以下の種々の態様を採 る。
第 1の態様は、 記憶装置を備え、 印刷装置に装着可能な液体収容体を提供する 。 第 1の態様は、 データを格納する記憶素子と、 前記印刷装置から前記記憶素子 に格納されているデータの読み出し要求を受けた場合に、 読み出しデータの符号 化を実行するか否かを判定する符号化判定部と、 前記読み出しデータの符号化を 実行すると判定された場合に、 前記記憶素子から読み出したデータに対して符号 化処理を行い出力する記憶素子制御部とを備える。
第 1の態様に係る液体収容体において、 前記記憶素子制御部は、 前記読み出し データの符号化を実行しないと判定された場合には、 前記記憶素子から読み出し た情報を符号化せずに出力しても良い。
第 1の態様に係る液体収容体において、 前記記憶素子制御部は、 前記記憶素 子との間でデータの読み書きを実行する読み書き実行部と、 前記記憶素子から読 み出されたデータに対して符号化処理を実行する符号化処理部とを備えても良い 。 この場合には、 読み書き実行部によって記憶素子に対するデータの読み書きが 実行され、 符号化処理部によつて読み出しデータに対する符号化が実行される。 第 1の態様に係る液体収容体において、 前記符号化処理は、 前記記憶素子に格 納されているデータの全部または一部を用いた誤り検出符号化処理により実行さ れても良い。 この場合には、 誤り検出符号による符号化を実行することができる 第 1の態様に係る液体収容体において、 前記符号化処理は、 前記記憶素子に格 納されているデータの全部または一部をハッシュ符号化する処理であっても良い 。 この場合には、 演算結果のハッシュ符号化による符号化を実行することができ る。
第 1の態様に係る液体収容体において、 前記符号化処理は、 前記記憶素子に格' 納されているデータの全部または一部を用いた演算結果のハッシュ符号化により 実行されても良い。 この場合には、 演算結果のハッシュ符号化による符号化を実 行することができる。
第 2の態様は、 記憶装置を備え、 印刷装置に装着可能な液体収容体を提供する 。 第 2の態様に係る液体収容体は、 データを格納する記憶素子と、 前記記憶素子 から読み出されたデータに対して符号化処理を行う符号化部と、 前記記憶素子か ら読み出されたデータと、 前記符号化部で符号化されたデータとのうちいずれか を選択して出力する選択部とを備える。
第 3の態様は、 印刷装置に装着可能な液体収容体に備えられた記憶装置に対す る制御方法を提供する。 第 3の態様に係る制御方法は、 前記印刷装置から、 デー タを格納する記憶素子に格納されているデータの読み出し要求を受けた場合に、 読み出しデータの符号化を実行するか否かを判定し、 前記読み出しデータの符号 化を実行すると判定した場合に、 前記記憶素子から読み出したデータに対して符 号化処理を行い出力することを備える。
第 3の態様によれば、 第 1の態様と同様の利点を得ることができる。 第 3の態 様は、 第 1の態様と同様にして種々の態様にて実現され得る。 さらに、 第 3の態 様は、 コンピュータプログラム、 C D、 D V D、 H D Dといったコンピュータ読 み取り可能媒体に記録されたコンピュータプログラムとしても実現され得る。 第 4の態様は、 印刷装置と、 前記印刷装置に着脱可能に装着されるとともに、 データを記憶する記憶素子を備えた液体収容体とを有する印刷装置システムを提 供する。 第 4の態様に係る印刷装置システムにおいて、 前記印刷装置は、 前記印 刷材収容体に対してデータの読み出し要求を出力する出力部を備え、 前記液体収 容体は、 前記印刷装置から前記記憶素子に格納されているデータの読み出し要求 を受けた場合に、 読み出しデータの符号化を実行するか否かを判定する符号化判 定部と、 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶 素子から読み出したデータに対して符号化処理を行い出力する記憶素子制御部と を備える。
第 4の態様に係る印刷装置システムにおいて、 前記印刷装置が前記読み出しデ ータの符号化の実行を要求する場合には、 前記データの読み出し要求が、 読み出 しデータの符号化の実行を指示するコマンドを含んでもよい。
上述した第 1〜第 4の各態様によれば、 本願発明の液体収容体は、 読み出しデ ータの符号化処理を要求する印刷装置と、 符号化処理を要求しない印刷装置との 両方に適用可能であるから、 それぞれの印刷装置に専用の液体収容体を製造する 必要がなくなり、 液体収容体の製品の製造コストあるいは販売上の管理コストな どを低減できる。 さらに、 ユーザが混乱することなく、 製品を購入、 使用するこ とが可能となる。
第 5の態様は、 計算機に接続可能な記憶装置を提供する。 第 5の態様に係る記 憶装置は、 前記計算機と接続するための接続部と、 データを格納する記憶素子と 、 前記計算機から前記記憶素子に格納されているデータの読み出し要求を受けた 場合に、 読み出しデータの符号化を実行するか否かを判定する符号化判定部と、 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子から 読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制御 部とを備える。
第 5の態様に係る記憶装置において、 前記記憶素子制御部は、 前記読み出しデ ータの符号化を実行しないと判定された場合には、 前記記憶素子から読み出した 情報を符号化せずに出力しても良い。
第 5の態様に係る記憶装置において、 前記記憶素子制御部は、 前記記憶素子と の間でデータの読み書きを実行する読み書き実行部と、 前記記憶素子から読み出 されたデータに対して符号化処理を実行する符号化処理部とを備えても良い。 こ の場合には、 読み書き実行部によつて記憶素子に対するデータの読み書きが実行 され、 符号化処理部によって読み出しデータに対する符号化が実行される。 第 5の態様に係る記憶装置において、 前記符号化処理は、 前記記憶素子に格納 されているデータの全部または一部を用いた誤り検出符号化処理により実行され ても良い。 この場合には、 誤り検出符号による符号化を実行することができる。 第 5の態様に係る記憶装置において、 前記符号化処理は、 前記記憶素子に格納 されているデータの全部または一部をハッシュ符号化する処理であっても良い。 この場合には、 演算結果のハッシュ符号化による符号化を実行することができる 第 5の態様に係る記憶装置において、 前記符号化処理は、 前記記憶素子に格納 されているデータの全部または一部を用いた演算結果のハッシュ符号化により実 行されても良い。 この場合には、 演算結果のハッシュ符号化による符号化を実行 することができる。
第 6の態様は、 制御装置に接続可能な記憶装置を提供する。 第 6の態様に係る 記憶装置は、 前記制御装置とデータの通信を行うための通信部と、 データを格納 する記憶素子と、 前記記憶素子から読み出されたデータに対して符号化処理を行 う符号化部と、 前記記憶素子から読み出されたデータと、 前記符号化部で符号化 されたデータとのうちいずれかを選択して前記通信部に出力する選択部とを備え る。
第 7の態様は、 制御装置と接続可能であり、 データを記憶する記憶素子を備え る記憶装置の制御方法を提供する。 第 3の態様に係る記憶装置の制御方法は、 前 記制御装置から、 前記記憶素子に記憶されているデータの読み出し要求を受けた 場合に、 読み出したデータの符号化を実行するか否かを判定し、 前記読み出しデ ータの符号化を実行すると判定した場合に、 前記記憶素子から読み出したデータ に対して符号化処理を行い出力することを備える。 第 7の態様によれば、 第 5の態様と同様の利点を得ることができる。 第 7の態 様は、 第 5の態様と同様にして種々の態様にて実現され得る。 さらに、 第 7の態 様は、 コンピュータプログラム、 C D、 D V D、 H D Dといったコンピュータ読 み取り可能媒体に記録されたコンピュータプログラムとしても実現され得る。 第 8の態様は、 制御装置と、 前記制御装置に接続されるとともに、 データを記 憶する記憶素子を備えた記憶装置とを有する記憶装置の制御システムを提供する 。 第 8の態様に係る制御システムにおいて、 前記制御装置は、 前記記憶装置に対 してデータの読み出し要求を出力する出力部を備え、 前記記憶装置は、 前記計算 機から前記記憶素子に格納されているデータの読み出し要求を受けた場合に、 読 み出しデータの符号化を実行するか否かを判定する符号化判定部と、 前記読み出 しデータの符号化を実行すると判定された場合に、 前記記憶素子から読み出した データに対して符号化処理を行い前記通信部に出力する記憶素子制御部とを備え る。
第 8の態様に係る制御システムにおいて、 前記制御装置が前記読み出しデータ の符号化の実行を要求する場合には、 前記データの読み出し要求が、 読み出しデ ータの符号化の実行を指示するコマンドを含んでもよい。
上述した第 5〜第 8の各態様によれば、 本願発明の記憶装置は、 読み出しデー タの符号化処理を要求する制御装置と、 符号化処理を要求しない制御装置との両 方に適用可能であるから、 それぞれの制御装置に専用の記憶装置を製造する必要 がなくなり、 記憶装置の製品の製造コストあるいは販売上の管理コストなどを低 減できる。 さらに、 ユーザが混乱することなく、 製品を購入、 使用することが可 能となる。
第 9の態様は、 データを格納する半導体装置を備えた液体収容体と共に用いら れる印刷装置を提供する。 第 9の態様に係る印刷装置は、 前記半導体装置から符 号化されていない通常データを読み出す通常データ読み出し部と、 前記半導体装 置に対して前記通常データの符号化を要求し、 符号化された前記通常データであ る符号化データを読み出す符号化データ読み出し部と、 前記通常データに対して 前記符号化と同一の符号化を行って比較用符号化データを生成する符号化部と、 前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前記 印刷装置との間における通信状態の検証を行う検証部とを備える。
第 9の態様に係る印刷装置によれば、 比較用符号化データと符号化データとを 比較して半導体装置と印刷装置との間における通信の検証を行うことができる。 すなわち、 半導体装置から符号化されていない通常データの読み出しと、 符号化 されている通常データの読み出しを実行するので、 半導体装置と印刷装置との間 の通信経路における異常を検出することができる。 なお、 第 9の態様は、 印刷装 置における通信検証方法、 通信検証方法を実現するコンピュータプログラム、 当 該プログラムを格納したコンピュータ読み取り可能媒体としても実現され得る。 第 9の態様に係る印刷装置はさらに、 前記通常データを前記半導体装置に書き 込むデータ書き込み部を備え、 前記通常データ読み出し部および前記符号化デー タ読み出し部は、 それぞれ前記データ書き込み部によって書き込まれた前記通常 データおよぴ前記データ書き込み部によって書き込まれた前記通常データを符号 ィ匕した符号化データを読み出しても良い。 この場合には、 所定のタイミングにて 書き込まれるデータを通常データとして用いることが可能となり、 通信の検証の ためにデータの書き込みを行う必要がなくなり、 半導体装置に対するアクセス数 を低減することができる。
第 9の態様に係る印刷装置において、 前記符号化データには不可逆的な第 1の 符号化の後に可逆的な第 2の符号化が施されており、 前記符号化部は前記符号化 データに対する前記第 2の符号化を復号して前記第 1の符号化が施された符号化 データを得ると共に、 前記通常データに対して前記第 1の符号化を行つても良い 。 この場合には、 不可逆的な第 1の符号化に基づいて検証が行われるので、 検証 の精度の向上を図ることができる。
第 1 0の態様は回路基板を提供する。 第 1 0の態様に係る回路基板は、 外部制 御装置とデータの通信を行うための通信部と、 データを格納する記憶素子と、 前 記外部制御装置から前記記憶素子に格納されているデータの読み出し要求を受け た場 合に、 読み出しデータの符号化を実行するか否かを判定する符号化判定部 と、 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子 から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子 制御部とを備える半導体装置と、 前記通信部と電気的に接続されている 1または 複数の外部端子とを備える。
第 1 0の態様に係る回路基板によれば、 読み出しデータの符号化処理を要求す る外部制御装置と、 符号化処理を要求しない外部制御装置との両方に適用可能で あるから、 それぞれの外部制御装置に専用の半導体装置を製造する必要がなくな り、 半導体装置を備える回路基板の製造コストあるいは販売上の管理コストなど を低減できる。 さらに、 ユーザが混乱することなく、 製品を購入、 使用すること が可能となる。 また、 第 1 0の態様に係る回路基板は、 第 5〜第 7の各態様に係 る記憶装置、 すなわち半導体装置と同様にして種々の態様を取り得る。 図面の簡単な説明
図 1は本実施例に係る液体収容体が備える半導体記憶装置の機能的な内部構成 を示すブロック図である。
図 2は本実施例に係るライ ト /リードコントローラの機能的な内部構成を示す ブロック図である。
図 3は本実施例に係る液体収容体が備える半導体記憶装置に対して入力される データ読み出し要求データ列の一例を模式的に示す説明図である。
図 4は本実施例に係る液体収容体と印刷装置を含むシステムを模式的に示す説 明図である。
図 5は本実施例に係る液体収容体が備える半導体記憶装置に対するアクセス制 御時に半導体記憶装置において実行される処理ルーチンを示すフローチャートで ある。
図 6は本実施例に係る液体収容体が備える半導体記憶装置から出力される読み 出しデータ列の一例を模式的に示す説明図である。
図 7は液体収容体の一例を示す説明図である。
図 8は他の実施例に係るライ ト/リードコントローラおよぴデータ符号化回路 の配置構成を示すプロック図である。
図 9は本実施例に係る半導体記憶装置の機能的な内部構成を示すプロック図で あ 。
図 1 0は本実施例に係るライ ト/リードコントローラの機能的な内部構成を示 すブロック図である。
図 1 1は本実施例に译る半導体記憶装置に対して入力されるデータ読み出し要 求データ列の一例を模式的に示す説明図である。
図 1 2は本実施例に係る半導体記憶装置とコンピュータを含むシステムを模式 的に示す説明図である。
図 1 3は本実施例に係る半導体記憶装置に対するアクセス制御時に半導体記憶 装置において実行される処理ルーチンを示すフローチヤ一トである。
図 1 4は本実施例に係る半導体記憶装置から出力される読み出しデータ列の一 例を模式的に示す説明図である。
図 1 5は他の実施例に係るライト /リードコントローラおよびデータ符号化回 路の配置構成を示すプロック図である。
図 1 6は本実施例において用いられる回路基板上に実装された半導体装置の機 能的な内部構成を示すプロック図である。
図 1 7は本実施例に係るライ ト/リードコントローラの機能的な内部構成を示 すブロック図である。
図 1 8は液体収容体としてのインクカートリッジの概略構成を示す説明図であ る。 図 1 9は本実施例に係る印刷装置とインクカートリッジとの接続態様を示す説 明図である。
図 2 0は本実施例に係る印刷装置と半導体装置との間で実行される通信検証処 理の一例を示す説明図である。
図 2 1はデータ書き込み時に印刷装置から本実施例に係る半導体装置に対して 送信されるデータ列の例を示す説明図である。
図 2 2は通常読み出し時に印刷装置と本実施例に係る半導体装置との間で送受 信されるデータ列の例を示す説明図である。
図 2 3は符号化読み出し時に印刷装置と本実施例に係る半導体装置との間で送 受信されるデータ列の例を示す説明図である。
図 2 4は本実施例に係る半導体装置において実行される符号化データの生成、 送信処理の一例を示すフローチヤ一トである。
図 2 5は本実施例に係る印刷装置において実行される検証処理の一例を示す説 明図である。 発明を実施するための最良の形態
•第 1の実施例:
以下、 第 1の実施例に係る液体収容体および液体収容体に備えられる半導体記 憶装置におけるアクセス制御方法について図面を参照しつつ説明する。
•半導体記憶装置の構成
図 1〜図 3を参照して本実施例に係る液体収容体および液体収容体に備えられ る半導体記憶装置の構成について説明する。 図 1は本実施例に係る液体収容体が 備える半導体記憶装置の機能的な内部構成を示すプロック図である。 図 2は本実 施例に係るライ トノリードコントローラの機能的な内部構成を示すブロック図で ある。 図 3は本実施例に係る液体収容体が備える半導体記憶装置に対して入力さ れるデータ読み出し要求データ列の一例を模式的に示す説明図である。 本実施例に係る半導体記憶装置 1 0は、 外部からアクセス先のアドレスを指定 するァドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶装 置である。 半導体記憶装置 1 0は、 記憶素子としてのメモリアレイ 1 0 0、 アド レスカウンタ 1 1 0、 I Dコンパレータ 1 3 0、 ライ ト/リードコントローラ 1 4 0、 データ符号化回路 1 5 0を備えている。 これら各回路は、 双方向バス式の 信号線によつて接続されている。 なお、 少なくとも I Dコンパレータ 1 3 0、 ラ ィ ト /リードコントローラ 1 4 0、 データ符号化回路 1 5 0を記憶素子制御部と 総称することがある。
メモリアレイ 1 0 0は、 データの電気的な消去、 書き込みが可能な E E P R O Mの特性を有する記憶領域である。 メモリアレイ 1 0 0には、 1ビットの情報を 格納するデータセル (メモリセル) が複数備えられている。 メモリアレイ 1 0 0 は、 例えば、 1行に 8ア ドレス (データ 8 ビッ ト分のア ドレス) を所定のァ ドレ ス単位として備えており、 1列に 1 6個のデータセル ( 1 6ワード) が配置され ている場合には、 1 6ワード X 8ビット ( 1 2 8ビッ ト) のデータを格納するこ とができる。
本実施例におけるメモリアレイ 1 0 0は、 上述のように 8ビットを単位とする 複数の行を備えているが、 各行は独立したデータセル列ではなく、 いわば、 1本 のデータセル列を 8ビット単位で折り曲げることによって実現されている。 すな わち、 便宜的に 9ビット目を含む行を 2バイ ト目、 1 7ビット目を含む行を 3バ イ ト目と呼んでいるに過ぎない。 この結果、 メモリアレイ 1 0 0における所望の ア ドレスにアクセスするためには、 先頭から順次アクセスする、 いわゆる、 シー ケンシャルアクセス方式によるアクセスが必要となり、 ランダムアクセス方式の 場合に可能な所望のアドレスに対する直接的なアクセスは不可能となる。
メモリアレイ 1 0 0における各データセルには、 ワード線とビット (データ) 線が接続されており、 対応するワード線 (行) を選択 (選択電圧を印加) して、 対応するビット線に書き込み電圧を印加することによってデータセルにデータが 書き込まれる。 また、 対応するワード線 (行) を選択し、 対応するビッ ト線をラ ィ ト Zリードコントローラ 1 4 0と接続し、 電流の検出の有無によってデータセ ルのデータ ( 1または 0 ) が読み出される。 なお、 本実施例における所定ァドレ ス単位とは、 1本のヮード線に書き込み電圧を加えることにより書き込みが可能 なア ドレス数 (データセル数) であるということができる。
メモリアレイ 1 0 0は、 アドレスカウンタ 1 1 0によりカウントされた外部ク 口ックパルス数に応じて順次、 列 (ビッ ト線) をライ ト /リードコントローラ 1 4 0と接続する図示しないカラム選択回路を備えている。 メモリアレイ 1 0 0は また、 アドレスカウンタ 1 1 0によりカウントされた外部ク口ックパルス数に応 じて順次、 行 (ワード線) に選択電圧を印加する図示しないロー選択回路を備え ている。 以上のように、 本実施例に係る半導体記憶装置 1 0では、 ア ドレスデー タを用いたメモリアレイ 1 0 0に対するアクセスは実行されず、 専らア ドレス力 ゥンタ 1 1 0によってカウントされたク口ックパルス数にしたがって、 所望のァ ドレスに対するアクセスが実行される。 .
アドレスカウンタ 1 1 0は、 リセッ ト信号端子 R S T T、 ク口ック信号端子 S C K T、 ライ ト/リードコントローラ 1 4 0、 メモリアレイ 1 0 0と接続されて いる。 アドレスカウンタ 1 1 0は、 リセッ ト信号端子 R S T Tを介して入力され るリセッ ト信号を 0 (またはロー) にすることにより初期値にリセッ トされ、 リ セッ ト信号が 1 とされた後にク口ック信号端子 S C K Tを介して入力されるクロ ックパルスの立ち下がりに同期してク口ックパルス数をカウン'ト (カウント値を インク リメント) する。
本実施例に用いられるァ ドレスカウンタ 1 1 0は、 メモリアレイ 1 0 0の 1行 のデータセル数 (ビッ ト数) に対応する 8個のクロックパルス数を格納する 8 ビ ッ トのアドレスカウンタである。 なお、 初期値はメモリアレイ 1 0 0の先頭位置 と関連付けられていればどのような値でも良く、 一般的には 0が初期値として用 いられる I Dコンパレータ 1 30は、 ク口ック信号端子 S CKT、 データ信号端子 S D AT リセット信号端子 R STTと接続され、 データ信号端子 SDATを介して 入力された入力データ列に含まれる識別データとメモリアレイ 1 00に格納され ている識別データとがー致するか否かを判定する。 詳述すると、 I Dコンパレー タ 1 3 0は、 リセット信号 R S Tが入力された後に入力されるオペレーションコ ードの先頭 3ビッ トのデータ、 すなわち識別データを、 ライ ト Zリードコント口 ーラ 1 40から取得する。 I Dコンパレータ 1 3 0は、 図 3に示す入力データ列 に含まれる先頭 3ビットの識別データを格納する 3ビットレジスタ (図示しない ) 、 ライ ト リードコントローラ 1 40を介してメモリアレイ 1 00の指定のァ ドレスから取得した最上位 3ビットの識別データを格納する 3ビットレジスタ ( 図示しない) を有しており、 両レジスタの値が一致するか否かによって識別デー タが一致するか否かを判定する。 I Dコンパレータ 1 3 0は、 両識別データが一 致する場合には、 アクセス許可信号 A E Nをライ 1、ノリードコントローラ 1 40 に送出する。 I Dコンパレータ 1 3 0は、 リセット信号 R S Tが入力 (R S T = 0または L o w) されるとレジスタの値をクリアする。
ライ トノリードコントローラ 1 40は、 I Dコンパレータ 1 30、 データ符号 化回路 1 5 0、 クロック信号端子 S CKT、 データ信号端子 SDAT、 リセッ ト 信号端子 R S TTと接続されている。 ライ ト/リードコントローラ 1 40は、 1 Dコンパレータ 1 3 0、 からのアクセス許可信号 A ENの入力を待って、 リセッ ト信号 R S Tが入力された後の 4つめのクロック信号に同期してデータ信号端子 S DATを介して入力されるデータ列に含まれる書き込み/読み出し制御情報 ( 3ビットの I D情報に続く 4〜8ビット目の符号化選択情報付き WZR情報) を 確認し (図 3参照) 、 半導体記憶装置 1 0の内部動作を書き込みまたは少なくと も 2つ以上の読み出し経路の内のいずれか一つの経路切り換える回路である。 こ こで、 本実施例において半導体記憶装置 1 0に入力されるデータ列は、 図 3に示 すように、 先頭から 3ビットに識別情報 ( I D) 、 4ビット目〜 8ビット目に符 号化選択情報付き W/ Rコマンド、 9ビット目にコマンドパリティビット C Pを 備え、 データ列が書き込みデータである場合には、 8 ビッ トの書き込みパケット データ (図 3の例では 1 0ビット目〜 1 7ビット目) 、 データパリティビット D P (図 3の例では 1 8ビット目) を備えている。 なお、 書き込みパケットデータ は複数含まれ得ると共に、 各書き込みバケツ トデータの直後にはデータパリティ ビット D Pが付加される。
具体的には、 ライ ト/リードコントローラ 1 4 0は、 I Dコンパレータ 1 3 0 からのアクセス許可信号 A E Nが入力されると、 取得した書き込み/読み出し情 報を解析し、 解析結果に従ってメモリアレイ 1 0 0に対するデータ転送方向なら ぴにデ一タ信号端子 S D A Tに対する (データ信号端子 S D A Tと接続されてい る信号線の) データ転送方向を切り換え制御する。 ライ ト Zリードコントローラ 1 4 0は、 データ信号端子 S D A Tからの入力信号線に対して、 データ信号端子 S D A Tから入力された書き込みデータのうち、 オペレーションコード以降の 8 ビットの書き込みデータを一時的に格納する 8ビットレジスタ (図示しない) お ょぴメモリアレイ 1 0 0から読み出したデータを格納するレジスタ (図示しない ) を備えている。
8ビットレジスタには、 データ信号端子 S D A Tから入力信号線を介して入力 されるデータ列 (M S B ) が 8ビットとなるまで保持され、 8ビット分揃ったと ころで、 保持されている 8ビットのデータがメモリアレイ 1 0 0に対して書き込 まれる。
ライ トノリードコントローラ 1 4 0は、 電源 O N時、 リセット時には、 メモリ アレイ 1 0 0に対するデータ転送方向を読み出し方向に設定し、 データ信号端子 S D A Tに接続されている信号線をハイインピーダンスとすることでデータ信号 端子 S D A Tに対するデータ転送を禁止する。 この状態は、 書き込み Z読み出し 情報を解析し、 書き込みが要求されていると判断されるまで維持される。 したが つて、 リセット信号入力後にデータ信号端子 S D A Tを介して入力されるデータ 列の先頭 8ビットのデータはメモリアレイ 1 0 0に書き込まれることはなく、 一 方で、 メモリアレイ 1 0 0の先頭 3 ビッ トに格納されているデータ ( I D情報) は、 I Dコンパレータ 1 3 0に送出される。 この結果、 メモリアレイ 1 0 0の先 頭 8ビットは読み出し専用状態となる。
ライ ト /リードコントローラ 1 4 0は、 書き込み処理時には、 書き込み可能領 域の先頭ァドレスに相当する数のク口ックパルス入力を受けると、 バス信号線の データ転送方向を書き込み方向に切り換える。 書き込み可能領域の終端ァドレス に相当する数のクロックパルス入力を受けると、 ライ ト /リードコントローラ 1 4 0は、 バス信号線のデータ転送方向を読み出し方向に切り換える。 書き込みに 必要な書き込み電圧は、 例えば、 図示しないチャージポンプ回路によって生成さ れる。
ライ ト/リードコントローラ 1 4 0は、 読み出し処理時には、 書き込み可能領 域の先頭ァドレスに相当する数のクロックパルス入力を受けると、 バス信号線の データ転送方向を読み出し方向に切り換える。
ライ ト/リードコントローラ 1 4 0は、 図 2に示すように、 メモリアレイ 1 0 0から読み出したままのデータ、 あるいは、 データ符号化回路 1 5 0を介して符 号化された読み出しデータのいずれかを選択して出力するための選択部としてス ィツチ 1 4 1を備えている。 ライ ト/リードコントローラ 1 4 0は、 ホストコン ピュータである印刷装置から送信された符号化選択情報付き WZ Rコマンドを解 祈し、 読み出しデータの符号化の要求を示すデータがある場合には、 符号化され た読み出しデータを出力するようにスィツチ 1 4 1を切り換え、 読み出しデータ の符号化の要求がない場合には、 読み出したままのデータを出力するようにスィ ツチ 1 4 1を切り換える。 この結果、 符号化された読み出しデータに対応してい ない印刷装置は、 データの符号化を要求しないため符号化されていない読み出し データを用いて所望の処理を実行することが可能となり、 一方、 符号化された読 み出しデータに対応している印刷装置はデータの符号化を要求することによって 符号化された読み出しデータを用いて所望の処理を実行することが可能となる。 データ符号化回路 1 5 0は、 ライ ト/リードコントローラ 1 4 0と信号線を介 して接続されている。 データ符号化回路 1 5 0は、 ライ ト/リードコントローラ 1 4 0から入力された読み出しデータを用いて符号化処理を実行する。 データ符 号化回路 1 5 0による符号化処理は、 例えば、 読み出しデータの全部または一部 を用いたパリティ演算、 チェックサム演算、 C R C (巡回冗長検査) により実行 される。 この場合、 符号化演算に用いられるデータはメモリアレイ 1 0 0に格納 されている全ての読み出し可能なデータであっても良く、 今回、 読み出しが要求 されている読み出しデータ自体であっても良い。 符号化回路 1 5 0は、 演算によ り求められたパリティ値 (パリティビット) またはチェックサム値等を加えた読 み出しデータ列を作成する。 ここで、 一例として、 液体収容体 2 0に備えられて いる半導体記憶装置 1 0に格納されている読み出しデータには、 少なくとも液体 使用量 (消費量または残量) に関するデータが含まれている場合があり、 これら データの値は変動し、 メモリアレイ 1 0 0のデータは適宜更新される。 したがつ て、 液体使用量に関するデータの読み出し要求がある場合だけでなく、 他のデー タ読み出し要求がある場合にも液体使用量に関するデータを符号化演算に用いる ことによって、 符号化の度に異なる読み出しデータおよびパリティビットの組合 せ、 またはチェックサム値を得ることが可能となり、 読み出しデータ列の唯一性 および信頼性を向上させることができる。
あるいは、 データ符号化回路 1 5 0による符号化処理は、 読み出しデータの全 部または一部を用いたパリティ演算、 チェックサム演算等によって求められた演 算結果である、 パリティビット、 チヱックサム値を符号化することによって実行 される。 この場合、 データ符号化回路 1 5 0は、 符号化されたパリティビットま たはチェックサム値を加えた読み出しデータ列を作成する。 求められた誤り訂正 符号が符号化されるので、 通信中のデータ化け、 改変の検出精度が向上し、 デー タ列の信頼性を向上させることができる。 この場合にも、 データの値が変動する 読み出しデータを用いて求められたチェックサム値、 またはパリティビットを用 いて符号化処理が実行することによって、 読み出しデータ列の信頼性を更に向上 させることができる。 なお、 読み出しデータおよびパリティビッ トの組合せを用 いて符号化処理が実行されても良く、 読み出しデータのベリファイ結果 (正しい か正しくないかを示す 1ビット値) を用いて符号化処理が実行されても良い。 さらには、 データ符号化回路 1 5 0による符号化処理は、 読み出しデータの全 部または一部を用いた演算結果からハッシュ関数を用いてハッシュ値を求めるこ と (ハッシュ符号化) により実行される。 この場合、 データ符号化回路 1 5 0は 、 パリティビット、 チェックサム値、 あるいは読み出しデータのベリファイ結果 を用いてハッシュ値を求め、 求めたハッシュ値を加えた読み出しデータ列を作成 する。 求められた誤り訂正符号がハッシュ符号化されるので、 通信中のデータ化 け、 改変の検出精度が向上し、 データ列の信頼性を向上させることができる。 こ の場合にも、 データの値が変動する読み出しデータを用いて求められたチェック サム値、 パリティビット、 あるいはべリファイ結果を用いてハッシュ値を求める ことにより、 読み出しデータ列の信頼性を更に向上させることができ 。 なお、 読み出しデータおよびパリティビットの組合せを用いてハッシュ値が ·求められて も良い。
なお、 符号化にあたっては、 読み出しが要求されたデータのみならず、 メモリ アレイ 1 0 0に格納されているその他のデータが用いられても良い。 例えば、 ィ ンク種データといった液体種別の読み出しが要求されている場合であっても、 液 体使用量 (消費量または残量) のデータを用いて符号化処理が実行されても良い 。 データ値が変動する液体使用量のデータを用いることによって、 読み出すタイ ミング毎に異なる符号化処理結果を得ることが可能となり、 読み出しデータの信 賴性を向上させることができる。 また、 半導体記憶装置 1 0における符号化能力 が高い場合には、 ハッシュ符号化においては、 演算により得られた誤り訂正符号 のみならず、 読み出しデータを含めて符号化が実行されても良く、 さらには、 誤 り訂正符号を算出することなく、 読み出しデータ自身をハッシュ符号化しても良 レ、。
本発明の回路の構成の一例は図 2に示されたものである。 メモリアレイ 1 0 0 からの送信経路は二つに分岐している。 分岐した送信経路のうち一方はスィツチ 1 4 1に至る。 そして、 他方の経路は、 データ符号化回路 1 5 0を経由してスィ ツチ 1 4 1に至る。 データ符号化回路 1 5 0は、 他方の経路において、 メモリア レイ 1 0 0とスィッチ 1 4 1との間の送信経路の途中に設置されるようにすれば よい。 スィツチ 1 4 1には、 データ符号化回路 1 5 0からの出力と、 メモリァレ ィ 1 0 0からの出力とが入力され、 スィッチ 1 4 1はこれらのうちいずれかを選 択してデータ端子 S D Aに出力する。
•液体収容体を含むシステムの構成:
図 4は本実施例に係る液体収容体と印刷装置を含むシステムを模式的に示す説 明図である。
印刷装置 3 0と各液体収容体 2 0の半導体記憶装置 1 0はクロック信号線 C L 、 データ信号線 D L、 リセット信号線 R Lを介してバス方式にて接続されている 。 すなわち、 各半導体記憶装置 1 0は、 共通の各信号線を介して印刷装置 3 0に 接続されている。 印刷装置 3 0は、 内部配線によって相互に接続されているデー タ生成部 3 1、 デコード回路 3 2、 および入出力部 3 3を備えている。 データ生 成部 3 1は、 読み出し対象となる半導体記憶装置 1 0を識別するための識別情報 ( I D ) 、 読み出しコマンド、 符号化要求コマンドを含むデータ列を生成する。 デコード回路 3 2は、 半導体記憶装置 1 0から受信した符号化された読み出し データをデコードし、 データが正しいか否か (改竄またはノィズ等によって化け ていないか否か) を判定するための回路である。 具体的には、 例えば、 パリティ ビットが付加されている場合には、 後述する図 6に示すように各 8ビットの読み 出しデータ毎に付加される 1ビットのデータパリティビット D Pと、 読み出しデ ータとを用いて算出されたパリティビットが一致すればデータは正しいと判定さ れ、 一致しなければデータは誤っていると判定される。 また、 例えば、 符号化さ れたチェックサム値が付与されている場合には、 鍵を用いて符号化されたチエツ クサム値を復号し、 得られたチェックサム値と書き込みデータとを用いてデータ が正しいか否かが判定される。 さらに、 例えば、 ベリフアイ結果に基づいたハツ シュ値が付与されている場合には、 読み出しデータのベリファイ処理を実行し、 実行結果に対してハッシュ関数を適用して得られたハッシュ値と、 読み出しデー タに付与されているハッシュ値とがー致すればデータは正しいと判定され、 一致 しなければデータは誤っていると判定される。 ベリフアイ処理はデコード回路 3 2によって実現されても良く、 あるいは、 ベリファイ用の回路を別に備えても良 レ、。
入出力部 3 3は、 クロック信号線 C L、 データ信号線 D L、 リセット信号線 R Lと接続されており、 半導体記憶装置 1 0に対して、 クロック信号 S C K、 リセ ット信号 R S Tを送信し、 半導体記憶装置 1 0 との間でデータ信号 S D Aをやり とりする。 半導体記憶装置の動作:
図 5および図 6を参照して本実施例に係る液体収容体が備える半導体記憶装置 1 0の動作について説明する。 図 5は本実施例に係る液体収容体が備える半導体 記憶装置に対するアクセス制御時に半導体記憶装置において実行される処理ルー チンを示すフローチャートである。 図 6は本実施例に係る液体収容体が備える記 憶装置から出力される読み出しデータ列の一例を模式的に示す説明図である。 な お、 以下の例では、 印刷装置 3 0に対して複数の半導体記憶装置 1 0がバス接続 されている場合について説明する。
半導体記憶装置 1 0は印刷装置 3 0からデータを受信すると (ステップ S 1 0 0 ) 、 データ (データ列) に含まれる I Dが自身の I Dと一致するか否かを判定 する (ステップ S I 0 2) 。 本実施例では、 各液体収容体 20 (各半導体記憶装 置 1 0) は印刷装置 3 0に対して共通のクロック信号線 CL、 データ信号線 DL 、 リセット信号線 RLを介してバス接続されているので、 印刷装置 30から送信 されるデータは各半導体記憶装置 1 0に対して送信される。 I Dの判定は、.具体 的には、 既述の通り、 I Dコンパレータ 1 3 0によって受信したデータ列に含ま れる識別情報とメモリアレイ 1 00に格納されている識別情報とがー致するか否 かが判定される。
半導体記憶装置 1 0は、 両 I Dがー致しないと判定すると (ステップ S 1 0 2 : N o) 、 受信したデータは自身に対するデータ列ではないと判断し、 今回のァ クセスに対する処理ルーチンを終了する。
半導体記憶装置 1 0は、 両 I Dがー致すると判定すると (ステップ S 1 02 : Y e s ) , 受信したデータの読み出しが要求されているか否かを判定する (ステ ップ S 1 04) 。 具体的には、 既述の通り、 I Dコンパレータ 1 3 0はライ ト / リードコントローラ 1 40に対してアクセス許可信号 A ENを送信し、 ライ トノ リードコントローラ 1 40はアクセス許可信号 AENを受けて、 受信したデータ 列に含まれるリードノライ トコマンドビットを解析し、 書き込み要求または読み 出し要求のいずれであるかを判定する。
半導体記憶装置 1 0は、 受信したデータの読み出しが要求されていない、 すな わち、 書き込みが要求されていると判定した場合には (ステップ S 1 04 : N o ) 、 メモリアレイ 1 0 0に対して受信したデータの書き込み処理を実行し (ステ ップ S 1 0 8) 、 本処理ルーチンを終了する。 メモリアレイ 1 00に対する所望 のァドレスへのデータの書き込みは、 ライ ト リードコントローラ 140によつ て既述の通り実行される。
半導体記憶装置 1 0は受信したデータの読み出しが要求されていると判定する と (ステップ S 1 04 : Y e s) 、 読み出しデータの符号化が要求されているか 否かを判定する'(ステップ S 1 06) 。 具体的には、 既述の通り、 受信したデー タ列の先頭の 4〜 8ビット目のの符号化選択情報付き WZRコマンドを解析して 判定される。
半導体記憶装置 1 0は、 符号化が要求されていない場合には (ステップ S 1 0 6 : N o) 、 メモリアレイ 1 0 0から読み出したデータをデータ信号端子 S DA Tに出力し (ステップ S 1 1 0) 、 本処理ルーチンを終了する。 具体的には、 既 述の通り、 メモリアレイ 1 00から読み出されたままのデータをデータ信号端子 S DATに出力されるように、 ライ ト Zリードコントローラ 140におけるスィ ツチ 1 4 1が切り換えられる。
半導体記憶装置 1 0は、 符号化が要求されている場合には (ステップ S 1 06 : Y e s) 、 符号化された読み出しデータをデータ信号端子 SDATに出力し ( ステップ S 1 1 2) 、 本処理ルーチンを終了する。 具体的には、 既述の通り、 メ モリアレイ 1 00から読み出され、 データ符号化回路 1 50を経た符号化読み出 しデータがデータ信号端子 S DATに出力されるように、 ライ トノリードコント ローラ 1 40におけるスィッチ 1 4 1が切り換えられる。 例えば、 パリティビッ トを用いる符号化が実行された場合には、 図 6に示すように識別情報 3ビットに 続く 8ビットの読み出しデータ毎の直後にデータパリティビット DPが書き込ま れた読み出しデータが印刷装置 3 0に対して送信される。 また、 チヱックサム値 の符号化が実行された場合には、 図 6中のデータパリティビット DPに代えて符 号化されたチェックサム値が加えられた読み出しデータが印刷装置 30に対して 送信される。
以上説明した本実施例に係る液体収容体 20によれば、 読み出しデータの符号 化が要求されている場合には符号化された読み出しデータを出力し、 読み出しデ ータの符号化が要求されていない場合にはメモリアレイ 1 00から読み出された ままの読み出しデータを出力することができる。 したがって、 印刷装置 3 0が符 号化された読み出しデータを処理可能であるか否かに基づいて、 2通りの読み出 しデータを出力することができる。 この結果、 液体収容体の適応性を向上させる ことができる。
また、 同一の液体収容体 2◦によって、 対応する印刷装置 3 0に対しては符号 化処理により印刷装置 3 0と液体収容体 2 0との間におけるデータ通信の信頼性 を向上を図ることが可能となり、 対応しない印刷装置 3 0に対してはデータの読 み出しを可能にすることができる。 すなわち、 装着対象となる印刷装置 3 0の機 能に応じたデータ通信の信頼性を提供することができる。 これにより、 液体収容 体 2 0の種類の増加を抑制することが可能となり、 ユーザの混乱の防止、 液体収 容体 2 0の製造コストあるいは管理コストの増大を抑制または防止することがで さる。
さらに、 本実施例に係る液体収容体 2 0が装着される印刷装置 3 0においては 、 デコード処理の結果、 読み出しデータが誤っていると判断した場合には、 読み 出しデータを用いる処理、 例えば、 印刷処理、 印刷処理に伴う液体の吸引処理を 実行しないことによって、 誤ったデータに基づく不都合を未然に防止することが できる。 例えば、 データが誤っているために、 液体収容体 2 0内の液体量が印刷 ジョブを完了するために必要な液体量よりも少ないにもかかわらず印刷処理を実 行し、 途中で印刷を中断する事態、 あるいは、 液体収容体 2 0内の液体量が少な いにもかかわらず印刷処理を実行して空撃ちしてしまい印刷へッドを痛めてしま う事態を未然に防止することができる。
•液体収容体の構成:
図 7は液体収容体の一例を示す説明図である。 液体収容体 2 0は、 上述の半導 体記憶装置 1 0、 およぴ図示しない液体収容室を備えている。 液体収容体 2 0は 、 例えば、 インクカートリッジといった印刷記録財収容体であり、 半導体記憶装 置 1 0は、 端子 Tを介して印刷装置 3 0から制御信号を受信し、 印刷装置に対し て読み出しデータ、 誤り検出信号を送信する。 なお、 印刷装置に備えられる液体 収容体 2 0は単一であってもよく、 複数であっても良い。 その他の実施例:
(1) 上記実施例ではライ ト /リードコントローラ 1 40はスィツチ 1 4 1を切 り換えることによって、 符号化された読み出しデータまたは読み出されたままの
(非符号化読み出しデータ) をデータ信号端子 S DATに出力しているが、 図 8 に示すように、 メモリアレイ 1 00から読み出したデータをデータ符号化回路 1 50を介してまたは直接データ信号端子 SDATへ出力するように切り換えるス イッチ 1 4 2を備えていても良い。 図 8は他の実施例に係るライ ト /リードコン トローラおよびデータ符号化回路の配置構成を示すプロック図である。 すなわち 、 ライ ト リードコントローラ 140はメモリアレイ 1 00からデータを読み出 し、 続いて、 データ符号化回路 1 5 0へ出力するか否かを判定しても良い。 この 場合、 スィ ッチ 1 42は、 メモリアレイ 1 00とデータ符号化回路 1 5 0とを結 ぶ経路の途中に設けられるようにすればよい。 すなわち、 メモリアレイ 1 00か らの信号線がスィツチ 142に電気的に接続され、 スィツチからの出力信号線が 、 データ符号化回路 1 50及びデータ端子 S DATに電気的に接続されているよ うにすればよい。 スィッチ 142はメモリアレイ 1 0 0からのデータをデータ端 子 S DATに出力するか、 データ符号化回路 1 5 0に出力するかを選択する選択 部として機能する。
(2) 上記実施例では、 シーケンシャルアクセス型のメモリアレイ 1 00を例に とって説明したが、 ランダムアクセス型のメモリアレイを備える半導体記憶装置 においても同様の効果が得られることは言うまでもない。 ランダムアクセス型の メモリアレイの場合には、 ァドレス信号線をデータ信号線とは別に設けてもよい 。 また、 書き込み単位は 1バイ トでなくてもよく、 1ビット単位でも良い。 この 場合には、 例えば、 所望の 1ビットを含む数ビットを用いて符号化処理を実行す れば良い。
(3) 上記各実施例では、 複数の半導体記憶装置 1 0が印刷装置 30に対して信 号線を介してパス接続される例をとつて説明したが、 半導体記憶装置 1 0と印刷 装置 3 0とはスター接続されていても良く、 また、 印刷装置 3 0に対して 1つの 半導体記憶装置 1 0が接続されていても良い。 この場合には、 識別情報は不要で あり、 半導体記憶装置は I Dコンパレータ 1 3 0を備えなくて良い。
( 4 ) 上記実施例では、 データ符号化回路 1 5 0はライ ト Zリードコントローラ 1 4 0と別に備えられているが、 ライ ト/リードコントローラ 1 4 0に組み込ま れていても良い。
( 5 ) 半導体記憶装置 1 0は、 データ符号化回路 1 5 0によって読み出しデータ に対して符号化処理を実行したか否かを示す符号化識別データを読み出しデータ
(データ列) に付加しても良い。 この場合には、 符号化識別データに基づいて、 読み出しデータが符号化されたか否かを容易に判定することができる。
( 6 ) 上記実施例では、 印刷装置と印刷材収容体との間のデータ通信は、 端子に よる電気的な接続により実現されているが、 R F I Dなどに代表される非接触通 信でもよく、 その場合、 通信部は I Cタグなどの無線通信用アンテナを用いても 良い。
•第 2の実施例:
以下、 第 2の実施例に係る半導体記憶装置および半導体記憶装置におけるァク セス制御方法について図面を参照しつつ、 実施例に基づいて説明する。 なお、 半 導体記憶装置は請求項における記憶装置に該当する。
-半導体記憶装置の構成
図 9〜図 1 1を参照して本実施例に係る半導体記憶装置の構成について説明す る。 図 9は本実施例に係る半導体記憶装置の機能的な内部構成を示すプロック図 である。 図 1 0は本実施例に係るライ トメリードコントローラの機能的な内部構 成を示すブロック図である。 図 1 1は本実施例に係る半導体記憶装置に対して入 力されるデータ読み出し要求データ列の一例を模式的に示す説明図である。 本実施例に係る半導体記憶装置 1 0 zは、 外部からアクセス先のアドレスを指 定するァドレスデータを入力する必要のないシーケンシャルアクセス方式の記憶 装置である。 半導体記憶装置 1 0 Zは、 記憶素子としてのメモリアレイ 1 0 0 z 、 アドレスカウンタ 1 1 0 z、 ライ ト /リードコントローラ 1 4 0 z、 デ一タ符 号化回路 1 5 0 zを備えている。 半導体記憶装置 1 0 Zはまた、 外部の制御装置 と電気的に接続されるとともに、 データの通信を行うためのデータ端子 S D A T を通信部として有する。 これら各回路は、 双方向バス式の信号線によって接続さ れている。 なお、 少なくともライ ト /リードコントロ一ラ 1 4 0 Z、 データ符号 化回路 1 5 0 zを記憶素子制御部と総称することがある。
記憶素子としてのメモリアレイ 1 0 0 zは、 データの電気的な消去、 書き込み が可能な E E P R O Mの特性を有する記憶領域である。 メモリアレイ 1 0 0 zに は、 1ビッ トの情報を格納するデータセル (メモリセル) が複数備えられている 。 メモリアレイ 1 0 0 zは、 例えば、 1行に 8ア ドレス (データ 8ビット分のァ ドレス) を所定のア ドレス単位として備えており、 1列に 1 6個のデータセル ( 1 6ワード) が配置されてる場合には、 1 6ワード X 8ビット ( 1 2 8ビット) のデータを格納することができる。
本実施例におけるメモリアレイ 1 0 0 zは、 上述のように 8ビットを単位とす る複数の行を備えているが、 各行は独立したデータセル列ではなく、 いわば、 1 本のデータセル列を 8ビット単位で折り曲げることによって実現されている。 す なわち、 便宜的に 9ビット目を含む行を 2バイ ト目、 1 7ピット目を含む行を 3 バイ ト目と呼んでいるに過ぎない。 この結果、 メモリアレイ 1 0 0 zにおける所 望のアドレスにアクセスするためには、 先頭から順次アクセスする、 いわゆる、 シーケンシャルアクセス方式によるアクセスが必要となり、 ランダムアクセス方 式の場合に可能な所望のァドレスに対する直接的なアクセスは不可能となる。 メモリアレイ 1 0 0 zにおける各データセルには、 ワード線とビッ ト (データ ) 線が接続されており、 対応するワード線 (行) を選択 (選択電圧を印加) して 、 対応するビット線に書き込み電圧を印加することによってデータセルにデータ が書き込まれる。 また、 対応するワード線 (行) を選択し、 対応するビット線を ライ ト/リードコントローラ 1 40 zと接続し、 電流の検出の有無によってデ一 タセルのデータ ( 1または 0) が読み出される。 なお、 本実施例における所定ァ ドレス単位とは、 1本のヮード線に書き込み電圧を加えることにより書き込みが 可能なア ドレス数 (データセル数) であるということができる。
メモリアレイ 1 00 zは、 ア ドレスカウンタ 1 1 0 zによりカウントされた外 部クロックパルス数に応じて順次、 列 (ビット線) をライ ト リードコントロー ラ 1 40 Zと接続する図示しないカラム選択回路を備えている。 メモリアレイ 1 0 0はまた、 ァドレス力ゥンタ l l O zによりカウントされた外部ク口ックパル ス数に応じて順次、 行 (ワード線) に選択電圧を印加する図示しないロー選択回 路を備えている。 以上のように、 本実施例に係る半導体記憶装置 1 0 zでは、 ァ ドレスデータを用いたメモリアレイ 1 00 zに対するアクセスは実行されず、 専 らア ドレスカウンタ 1 1 0 zによってカウントされたク口ックパルス数にしたが つて、 所望のァドレスに対するアクセスが実行される。
ア ドレスカウンタ 1 1 0 zは、 リセット信号端子 R S TT、 クロック信号端子 S CKT、 ライ ト Zリードコントローラ 140 z、 メモリアレイ Ι Ο Ο ζ と接続 されている。 アドレスカウンタ 1 1 0 zは、 リセット信号端子 R S TTを介して 入力されるリセット信号を 0 (またはロー) にすることにより初期値にリセット され、 リセット信号が 1とされた後にク口ック信号端子 S CKTを介して入力さ れるクロックパルスの立ち下がりに同期してクロックパルス数をカウント (カウ ント値をィンクリメント) する。
本実施例に用いられるァドレスカウンタ 1 1 0 zは、 メモリアレイ Ι Ο Ο ζの 1行のデータセル数 (ビッ ト数) に対応する 8個のクロックパルス数を格納する 8ビットのァドレスカウンタである。 なお、 初期値はメモリアレイ 1 00 zの先 頭位置と関連付けられていればどのような値でも良く、 一般的には 0が初期値と して用いられる。 ライ ト Zリードコントローラ 1 40 zは、 データ符号化回路 1 50 z、 クロッ ク信号端子 S CKT、 データ信号端子 SDAT、 リセット信号端子 RSTTと接 続されている。 ライ ト/リードコントローラ 1 40 zは、 リセット信号 RSTが 入力された後の 1つめのク口ック信号に同期してデータ信号端子 SDATを介し て入力されるデータ列に含まれる書き込み 読み出し制御情報 (1〜5ビット目 の符号化選択情報付き WZR情報) を確認し (図 1 1参照) 、 半導体記憶装置 1 0 zの内部動作を書き込みまたは少なくとも 2つ以上の読み出し経路の内のいず れか一つの経路切り換える回路である。 ここで、 本実施例において半導体記憶装 置 1 0 zに入力されるデータ列は、 図 1 1に示すように、 先頭から 5ビットに符 号化選択情報付き WZRコマンド、 6ビッ ト目にコマンドパリティ ビッ ト C Pを 備え、 データ列が書き込みデータである場合には、 8ビットの書き込みパケット データ (図 1 1の例では 7ビッ ト目〜 1 4ビット目) 、 データパリティビッ ト D P (図 1 1の例では 1 5ビット目) を備えている。 なお、 書き込みパケットデー タは複数含まれ得ると共に、 各書き込みバケツトデータの直後にはデータパリテ ィビット D Pが付加される。
具体的には、 ライ トノリードコントローラ 1 40 Zは、 取得した書き込み/読 み出し情報を解析し、 解析結果に従ってメモリアレイ 1 00 zに対するデータ転 送方向ならびにデータ信号端子 S D A Tに対する (データ信号端子 S D A Tと接 続されている信号線の) データ転送方向を切り換え制御する。 ライ ト/リードコ ントローラ 1 40 zは、 データ信号端子 S DATからの入力信号線に対して、 デ ータ信号端子 S DATから入力された書き込みデータのうち、 オペレーションコ 一ド以降の 8ビットの書き込みデータを一時的に格納する 8ビットレジスタ (図 示しない) およびメモリアレイ 1 0 0 zから読み出したデータを格納するレジス タ (図示しない) を備えている。
8ビットレジスタには、 データ信号端子 S DATから入力信号線を介して入力 されるデータ列 (MS B) が 8ビットとなるまで保持され、 8ビット分揃ったと ころで、 保持されている 8ビットのデータがメモリアレイ 1 0 0 zに対して書き 込まれる。
ライ ト/リードコントローラ 1 4 0 zは、 電源 O N時、 リセット時には、 メモ リアレイ 1 0 0 zに対するデータ転送方向を読み出し方向に設定し、 データ信号 端子 S D A Tに接続されている信号線をハイインピーダンスとすることでデータ 信号端子 S D A Tに対するデータ転送を禁止する。 この状態は、 書き込み Z読み 出し情報を解析し、 書き込みが要求されていると判断されるまで維持される。 し たがって、 リセット信号入力後にデータ信号端子 S D A Tを介して入力されるデ ータ列の先頭ビットのデータはメモリアレイ 1 0 0 zに書き込まれることはなく 、 メモリアレイ Ι Ο Ο ζの先頭ビットは読み出し専用状態となる。
ライ トノリードコントローラ 1 4 0 zは、 書き込み処理時には、 書き込み可能 領域の先頭ァドレスに相当する数のクロックパルス入力を受けると、 バス信号線 のデータ転送方向を書き込み方向に切り換える。 書き込み可能領域の終端ァドレ スに相当する数のク口ックパルス入力を受けると、 ライ ト Zリードコントローラ 1 4 0 Zは、 バス信号線のデータ転送方向を読み出し方向に切り換える。 書き込 みに必要な書き込み電圧は、 例えば、 図示しないチャージポンプ回路によって生 成される。
ライ ト/リードコントローラ 1 4 0 zは、 読み出し処理時には、 書き込み可能 領域の先頭ァドレスに相当する数のクロックパルス入力を受けると、 バス信号線 のデータ転送方向を読み出し方向に切り換える。
ライ ト リ^ "ドコントローラ 1 4 0 zは、 図 1 ◦に示すように、 メモリアレイ 1 0 0 zから読み出したままのデータ、 あるいは、 データ符号化回路 1 5 0 zを 介して符号化された読み出しデータのいずれかを選択して出力するための選択部 としてスィッチ 1 4 1 zを備えている。 ラ トノリードコントローラ 1 4 0 zは 、 制御装置としてのホストコンピュータから読み出しデータの符号化の要求があ る場合には、 符号化された読み出しデータを出力するようにスィツチ 1 4 1 zを 切り換え、 読み出しデータの符号化の要求がない場合には、 読み出したままのデ ータを出力するようにスィツチ 1 4 1 ζを切り換える。 この結果、 符号化された 読み出しデータに対応していないホストコンピュータは、 データの符号化を要求 しないため符号化されていない読み出しデータを用いて所望の処理を実行するこ とが可能となり、 一方、 符号化された読み出しデータに対応しているホス トコン ピュータはデータの符号化を要求することによって符号化された読み出しデータ を用いて所望の処理を実行することが可能となる。
データ符号化回路 1 5 0 ζは、 ライト Ζリードコントローラ 1 4 0 ζと信号線 を介して接続されている。 データ符号化回路 1 5 0 ζは、 ライ ト/リードコント ローラ 1 4 0 ζから入力された読み出しデータを用いて符号化処理を実行する。 データ符号化回路 1 5 0 ζによる符号化処理は、 例えば、 読み出しデータの全部 または一部を用いたパリティ演算、 チェックサム演算、 C R C (巡回冗長検查) により実行される。 この場合、 符号化演算に用いられるデータはメモリアレイ 1 0 0 ζに格納されている全ての読み出し可能なデータであっても良く、 今回、 読 み出しが要求されている読み出しデータであっても良い。 データ符号化回路 1 5 0 ζは、 演算により求められたパリティ値 (パリティビッ ト) またはチェックサ ム値等を加えた読み出しデータ列を作成する。 ここで、 符号化処理を実行する際 には、 読み出しが要求されたデータに加えて、 データの読み出し要求の如何にか かわらず直近に書き込まれた (更新された) データ、 あるいは、 データの値が定 期的に更新されるデータを符号化演算に用いることによって、 符号化の度に異な る読み出しデータおよびパリティビットの組合せ、 またはチェックサム値を得る ことが可能となり、 読み出しデータ列の唯一性および信頼性を向上させることが できる。
あるいは、 データ符号化回路 1 5 0 ζによる符号化処理は、 読み出しデータの 全部または一部を用いたパリティ演算、 チェックサム演算等によって求められた 演算結果である、 パリティビット、 チヱックサム値を符号化することによって実 行される。 この場合、 データ符号化回路 1 5 0 Zは、 符号化されたパリティビッ トまたはチェックサム値を加えた読み出しデータ列を作成する。 求められた誤り 訂正符号が符号化されるので、 通信中のデータ化け、 改変の検出精度が向上し、 データ列の信頼性を向上させることができる。 この場合にも、 読み出しが要求さ れたデータに加えて、 データの値が変動する読み出しデータあるいは直近に書き 込まれた (更新された) データを用いて求められたチェックサム値、 またはパリ ティビットを用いて符号化処理が実行することによって、 読み出しデータ列の信 賴性を更に向上させることができる。 なお、 読み出しデータおょぴパリティビッ トの組合せを用いて符号化処理が実行されても良く、 読み出しデータのベリファ ィ結果 (正しいか正しくないかを示す 1ビット値) を用いて符号化処理が実行さ れても良い。
さらには、 データ符号化回路 1 5 0 zによる符号化処理は、 読み出しデータの 全部または一部を用いた演算結果からハッシュ関数を用いてハッシュ値を求める こと (ハッシュ符号化) により実行される。 この場合、 データ符号化回路 1 5 0 zは、 パリティビット、 チェックサム値、 あるいは読み出しデータのベリファイ 結果を用いてハッシュ値を求め、 求めたハッシュ値を加えた読み出しデータ列を 作成する。 求められた誤り訂正符号がハッシュ符号化されるので、 通信中のデー タ化け、 改変の検出精度が向上し、 データ列の信頼性を向上させることができる 。 この場合にも、 読み出しが要求されたデータに加えて、 データの値が変動する 読み出しデータあるいは直近に書き込まれた (更新された) データを用いて求め られたチェックサム値、 パリティビット、 あるいはべリファイ結果を用いてハツ シュ値を求めることにより、 読み出しデータ列の信頼性を更に向上させることが できる。 なお、 読み出しデータおよびパリティビッ トの組合せを用いてハッシュ 値が求められても良い。
さらに、 符号化にあたっては、 読み出しが要求されたデータではなく、 メモリ アレイ 1 ◦ 0 zに格納されているその他のデータが用いられても良い。 例えば、 データの値が変動する読み出しデータあるいは直近に書き込まれた (更新された ) データを用いてパリティビット、 チヱックサム値といった符号値を求め、 求め た符号値と符号値を求めるために用いられたデータが、 読み出しの要求されたデ ータと共に送信されても良い。 この場合には、 符号化演算の付加を軽減できると 共に値が更新されるデータを用いることによって、 読み出すタイミング毎に異な る符号化処理結果を得ることが可能となり、 読み出しデータの信頼性を向上させ ることができる。 また、 半導体記憶装置 1 0 zにおける符号化能力が高い場合に は、 ハッシュ符号化においては、 演算により得られた誤り訂正符号のみならず、 読み出しデータを含めて符号化が実行されても良く、 さらには、 誤り訂正符号を 算出することなく、 読み出しデータ自身をハッシュ符号化しても良い。
なお、 値が更新されるデータの例としては、 時刻、 日付などの他、 制御装置の 動作に関連するデータであつて制御装置におレ、て管理する必要があるデータなど があげられる。 このような制御装置の動作に伴って異なる値を持ち得るデータを 符号化に利用することで、 データの唯一性が高くなり、 信頼性の高い符号化が可 能となる。
本発明の回路の構成の一例は図 1 0に示されたものである。 メモリアレイ 1 0 0 zからの送信経路は二つに分岐している。 分岐した送信経路のうち一方はスィ ツチ 1 4 1 zに至る。 そして、 他方の経路は、 データ符号化回路 1 5 0 zを経由 してスィツチ 1 4 1 zに至る。 データ符号化回路 1 5 0 zは、 他方の経路におい て、 メモリアレイ 1 0 0 zとスィッチ 1 4 1 zとの間の送信経路の途中に設置さ れるようにすればよい。 スィッチ 1 4 1 zは、 データ符号化回路 1 5 0 zからの 出力と、 メモリアレイ Ι Ο Ο ζからの出力とが入力され、 これらのうちいずれか を選択してデータ端子 S D A Tに出力する。
•半導体記憶装置を含むシステムの構成:
図 1 2は本実施例に係る記憶装置とコンピュータ 3 0 zを含むシステムを模式 的に示す説明図である。 半導体記憶装置 1 0 zは、 例えば、 接続ケーブル、 接続 端子を介してコンピュータ 3 0 Zと接続可能な外付け記憶装置 2 0として実現さ れ得る。
図 1 2において、 コンピュータ 3 0 zと半導体記憶装置 1 0 zは、 クロック信 号線 C L、 データ信号線 D L、 リセット信号線 R Lを含む接続ケーブルを介して 接続されている。 あるいは、 半導体記憶装置 1 0が接続端子を備え、 コンビユー タ 3 0 zが備える接続端子に直接接続 (装着) されても良い。 コンピュータ 3 0 zは、 内部配線によって相互に接続されているデータ生成部 3 1 z、 デコード回 路 3 2 z、 および入出力部 3 3 zを備えている。 データ生成部 3 1 zは、 読み出 しコマンド、 符号化要求コマンドを含むデータ列を生成する。
デコード回路 3 2 zは、 半導体記憶装置 1 0 zから受信した符号化された読み 出しデータをデコードし、 データが正しいか否か (改竄またはノィズ等によって 化けていないか否か) を判定するための回路である。 具体的には、 例えば、 パリ ティビットが付加されている場合には、 後述する図 1 4に示すようにデータ列の 読み出しデータ 8ビット毎に付加されているデータパリティビット D Pと、 読み 出しデータとを用いて算出されたパリティビットが一致すればデータは正しいと 判定され、 一致しなければデータは誤っていると判定される。 また、 例えば、 符 号化されたチェックサム値が付与されている場合には、 鍵を用いて符号化された チェックサム値を復号し、 得られたチェックサム値と書き込みデータとを用いて データが正しいか否かが判定される。 さらに、 例えば、 ベリファイ結果に基づい たハッシュ値が付与されている場合には、 読み出しデータのベリフアイ処理を実 行し、 実行結果に対してハッシュ関数を適用して得られたハッシュ値と、 読み出 しデータに付与されているハッシュ値とがー致すればデータは正しいと判定され 、 一致しなければデータは誤っていると判定される。 ベリファイ処理はデコード 回路 3 2 zによって実現されても良く、 あるいは、 ベリファイ用の回路を別に備 えても良い。 入出力部 3 3 zは、 クロック信号線 C L、 データ信号線 D L、 リセッ ト信号線 RLと接続されており、 半導体記憶装置 1 0 zに対して、 クロック信号 S CK、 リセット信号 R STを送信し、 半導体記憶装置 1 0 zとの間でデータ信号 SD A をやりとりする。 半導体記憶装置の動作:
図 1 3および図 1 4を参照して本実施例に係る半導体記憶装置 1 0 zの動作に ついて説明する。 図 1 3は本実施例に係る半導体記憶装置に対するアクセス制御 時に半導体記憶装置において実行される処理ルーチンを示すフローチヤ一トであ る。 図 1 4は本実施例に係る半導体記憶装置から出力される読み出しデータ列の —例を模式的に示す説明図である。
外付け記憶装置 20 zの半導体記憶装置 Ι Ο ζはコンピュータ 30 zからデ一 タを受信すると (ステップ S 1 20) 、 受信したデータの読み出しが要求されて いるか否かを判定する (ステップ S 1 2 2) 。 具体的には、 ライ ト Zリードコン トローラ 1 40 zは受信したデータ列の先頭ビットに書き込まれている符号化選 択情報付きライ トノリードコマンドビットを解析し、 書き込み要求または読み出 し要求のいずれであるかを判定する。
半導体記憶装置 1 0 zは、 受信したデータの読み出しが要求されていない、 す なわち、 書き込みが要求されていると判定した場合には (ステップ S 1 2 2 : N o) 、 メモリアレイ 1 ◦ 0 zに対して受信したデータの書き込み処理を実行し ( ステップ S 1 26) 、 本処理ルーチンを終了する。 メモリアレイ Ι Ο Ο ζに対す る所望のァ ドレスへのデータの書き込みは、 ライ ト /リードコントローラ 1 40 zによって既述の通り実行される。
半導体記憶装置 1 0 zは受信したデータの読み出しが要求されていると判定す ると (ステップ S 1 2 2 : Y e s ) 、 読み出しデータの符号化が要求されている か否かを判定する (ステップ S 1 24) 。 具体的には、 既述の通り、 受信したデ ータ列の先頭の 1〜5ビット目の符号化選択情報付き WZRコマンドを解析して 判定される。
半導体記憶装置 1 0は、 符号化が要求されていない場合には (ステップ S 1 2 4 : N o) 、 メモリアレイ 1 0 0 Zから読み出したデータをデータ信号端子 SD ATに出力し (ステップ S 1 2 8) 、 本処理ルーチンを終了する。 具体的には、 既述の通り、 メモリアレイ Ι Ο Ο ζから読み出されたままのデータを選択して、 データ信号端子 S DATに出力されるように、 ライ ト/リードコントローラ 1 4 0 zにおけるスィツチ 1 4 1 zが切り換えられる。
半導体記憶装置 1 0 Zは、 符号化が要求されている場合には (ステップ S 1 2 4 : Y e s) 、 符号化された読み出しデータをデータ信号端子 S DATに出力し (ステップ S 1 3 0) 、 本処理ルーチンを終了する。 具体的には、 既述の通り、 メモリアレイ 1 00 zから読み出され、 データ符号化回路 1 50 zを経た符号化 読み出しデータが選択されてデータ信号端子 S DATに出力されるように、 ライ ト /リードコントローラ 1 40 zにおけるスィッチ 1 4 1 zが切り換えられる。 例えば、 パリティビットを用いる符号化が実行された場合には、 図 1 4に示すよ うに 8ビットの読み出しデータ毎の直後にデータパリティビット DPが書き込ま れた読み出しデータがコンピュータ 30 zに対して送信される。 また、 チェック サム値の符号化が実行された場合には、 図 1 4中のデータパリティビット DPに 代えて符号化されたチェックサム値が加えられた読み出しデータがコンピュータ 30 zに対して送信される。
以上説明した本実施例に係る半導体記憶装置 1 0 Zによれば、 読み出しデータ の符号化が要求されている場合には符号化された読み出しデータを出力し、 読み 出しデータの符号化が要求されていない場合にはメモリアレイ 1 00 zから読み 出されたままの読み出しデータを出力することができる。 したがって、 コンビュ ータ 30 zが符号化された読み出しデータを処理可能であるか否かに基づいて、 2通りの読み出しデータを出力することができる。 この結果、 半導体記憶装置 1 0 zの適応性を向上させることができる。 ' また、 同一の半導体記憶装置 1 0 zによって、 対応するコンピュータ 3 0 zに 対しては符号化処理によりコンピュータ 3 0 zと半導体記憶装置 1 0 Z との間に おけるデータ通信の信頼性を向上を図ることが可能となり、 対応しないコンビュ ータ 3 0 zに対してはデータの読み出しを可能にすることができる。 すなわち、 装着対象となるコンピュータ 3 0の機能に応じたデータ通信の信頼性を提供する ことができる。 これにより、 半導体記憶装置 1 0 zの種類の増加を抑制すること が可能となり、 ユーザが混乱することなく製品を購入、 使用することができる。 加えて、 半導体記憶装置 1 0 zの製造コストあるいは販売上の管理コストの増大 を抑制または防止することができる。
さらに、 本実施例に係る半導体記憶装置 1 0 Zが装着されるコンピュータ 3 0 zにおいては、 デコード処理の結果、 読み出しデータが誤っていると判断した場 合には、 読み出しデータを用いる処理、 例えば、 データベース処理といった処理 を実行しないことによって、 誤ったデータに基づく不都合を未然に防止すること ができる。 例えば、 データが誤っているために、 誤った経理処理が実行されると いった不都合を防止、 抑制することができる。
その他の実施例:
( 1 ) 上記実施例ではライ ト Zリードコントローラ 1 4 0 zはスィツチ 1 4 1 z を切り換えることによって、 符号化された読み出しデータまたは読み出されたま まの (非符号化読み出しデータ) をデータ信号端子 S D A Tに出力しているが、 図 1 5に示すように、 メモリアレイ 1 0 0 zから読み出したデータをデータ符号 化回路 1 5 0 zを介してまたは直接データ信号端子 S D A Tへ出力するように切 り換えるスィツチ 1 4 2を備えていても良い。 図 1 5は他の実施例に係るライ ト /リードコントローラおよびデータ符号化回路の配置構成を示すブロック図であ る。 すなわち、 ライ トノリードコントローラ 1 4 0 zはメモリアレイ 1 0 0 zか らデータを読み出し、 続いて、 データ符号化回路 1 5 0 zへ出力するか否かを判 定しても良い。 この場合、 スィッチ 1 4 2 zは、 メモリアレイ 1 0 0 zとデータ 符号化回路 1 5 0 zとを結ぶ経路の途中に設けられるようにすればよい。 すなわ ち、 メモリアレイ Ι Ο Ο ζからの信号線がスィツチ 1 4 2 zに電気的に接続され 、 スィッチからの出力信号線が、 データ符号化回路 1 5 0 z及ぴデータ端子 S D A Tに電気的に接続されているようにすればよい。 スィッチ 1 4 2 zはメモリア レイ 1 0 0 zからのデータをデータ端子 S D A Tに出力するカ データ符号化回 路 1 5 0 zに出力するかを選択する選択部として機能する。
( 2 ) 上記実施例では、 シーケンシャルアクセス型のメモリアレイ 1 0 0 zを例 にとって説明したが、 ランダムアクセス型のメモリ了レイ、 フラッシュメモリ を 備える半導体記憶装置においても同様の効果が得られることは言うまでもない。 ランダムアクセス型の場合には、 ォペコードを解析して R A S信号および C A S 信号によって行ァドレスと列ァドレスを指定することによって所望のァドレスの データを読み出すことが可能となり、 フラッシュメモリの場合にはメモリ コント ローラによって、 コンピュータ 3 0により指定された論理ァドレスを物理ァドレ スに変化して所望のデータを読み出すことが可能となる。 ランダムアクセス型の メモリアレイの場合には、 ァドレス信号線をデータ信号線とは別に設けてもよい 。 また、 コンピュータ 3 0 Zと半導体記憶装置 1 0 Zを備える外付け記憶装置と は、 U S Bケーブル、 シリアルケーブル、 I E E E 1 3 9 4ケープルといった種 々の型の通信ケーブルを介して、 あるいは、 U S B端子、 シリアル端子、 I E E E 1 3 9 4端子を介して直接接続され得る。 この場合、 コンピュータ 3 0 zとの データのやりとりを制御する通信制御部がさらに備えられる。 さらに、 書き込み 単位は 1バイ トでなくてもよく、 1ビット単位、 ブロック単位であっても良い。 この場合には、 例えば、 所望の 1ビットを含む数ビットを用いて符号化処理を実 行すれば良い。
( 3 ) 上記実施例では、 単数の半導体記憶装置 1 0 zがコンピュータ 3 0 zに対 して信号線を介して接続される例をとつて説明したが、 複数の半導体記憶装置 1 0 z とコンピュータ 3 0 zとは US Bによってパス接続されていても良い。 こ 場合には、 識別情報は各半導体記憶装置 1 0 zは識別情報によって識別され、 各 半導体記憶装置 1 0 zからの読み出しデータもまた識別情報に基づいていずれの 半導体記憶装置 1 0 Zから送信されたデータであるかが判別される。
(4) 上記実施例では、 データ符号化回路 1 50 zはライ ト/リードコントロー ラ 1 40 zと別に備えられているが、 ライ ト Zリードコントローラ 1 40 zに組 み込まれていても良い。
(5) 半導体記憶装置 1 0 zは、 データ符号化回路 1 5 0 zによって読み出しデ ータに対して符号化処理を実行したか否かを示す符号化識別データを読み出しデ ータ (データ列) に付加しても良い。 この場合には、 符号化識別データに基づい て、 読み出しデータが符号化されたか否かを容易に判定することができる。
(6) 上記実施例では、 印刷装置と印刷材収容体との間のデータ通信は、 端子に よる電気的な接続により実現されているが、 RF I Dなどに代表される非接触通 信でもよく、 その場合、 通信部は I Cタグなどの無線通信用アンテナを用いても 良レヽ。
•第 3の実施例:
符号化システムの構成:
図 1 6は本実施例において用いられる回路基板上に実装された半導体装置の機 能的な内部構成を示すブロック図である。 図 1 7は本実施例に係るライ トダリー ドコントローラの機能的な内部構成を示すブロック図である。 なお、 本実施例に 係る半導体装置は、 第 1の実施例に係る半導体記憶装置と同様にして、 印刷装置 に接続され、 印刷装置からのアクセス (書き込み、 読み出し等のアクセス) に基 づき動作する。
本実施例に係る半導体装置 1 0 aは、 メモリアレイ 1 00 a、 クロックカウン タ 1 1 1 a、 アドレスセレクタ 1 1 2、 I Dコンパレータ 1 30 a、 ライ ト/リ —ドコントローラ 140 a、 符号化データ生成回路 (検証用データ生成回路) 50 a、 パリティビット生成 ·付加回路 1 6 0を備えている。 なお、 少なくとも I Dコンパレータ 1 3 0 a, ライ ト/リードコントローラ 1 40 a、 符号化デー タ生成回路 1 5 0 aをメモリ制御部 (記憶素子制御部) と総称することがある。 なお、 本実施例では、 半導体装置 1 0 aは回路基板 CB上に実装されている。 回 路基板 CBは印刷装置の記録材 (記録剤) を収容する液体収容体に備えられ、 液 体収容体が印刷装置に装着されたときに半導体装置と印刷装置とは電気的に接続 される。 半導体装置 1 0 aのリセッ ト信号端子 RSTT、 クロック信号端子 S C KT、 電源端子 VDDT、 VS ST、 データ信号端子 S DATは、 回路基板 CB の外部端子 T、 すなわち、 外部リセッ ト信号端子 T l、 外部クロック信号端子 Τ 2、 外部電源端子 Τ 3、 Τ4、 外部データ信号端子 Τ 5とそれぞれ電気的に接続 されている。 リセット信号端子 RS TT、 クロック信号端子 S CKT、 電源端子 VDDT、 VS STには、 それぞれ印刷装置からリセッ ト信号、 クロック信号、 電源電圧が供給される。 本実施例に係る半導体装置 1 0 aは、 リセッ ト信号が口 一レベルの時に初期化されて初期化状態となり、 リセット信号がハイレベルに切 り替わると初期化状態が解除されて印刷装置からアクセスを受け付ける。
メモリアレイ 1 00 a (記憶素子) は、 第 1の実施例において用いられたメモ リアレイ 1 00と基本的に同様の構成を備えている。 本実施例におけるメモリア レイ 1 00 aは、 印刷装置のコントローラによるアクセス開始後、 最初にァドレ スセレクタ 1 1 2によって選択される行に、 半導体装置 1 0 aの識別情報 I Dを 記憶している。 識別情報 I Dは、 印刷装置にバス接続される複数の半導体装置の うち、 印刷装置からのアクセス対象となる 1つの半導体装置を選択するために用 いられる。
メモリアレイ 1 00 aには、 ァドレスセレクタ 1 1 2から出力される行選択信 号によって指定される行 (ワード線) に対して、 ライ ト Zリードコントローラ 1 4 0 aによる制御の下、 書き込み、 若しくは読み出しが実行される。 本実施例に おけるメモリアレイ 1 00 aでは、 所定行に対して 8ビット分のセルが選択され るように構成されている。 したがって、 行選択信号によって選択される行の 8ビ ット分のメモリセル単位で読み出し、 若しくは書き込みが実行される。
クロックカウンタ 1 1 1 aは、 リセッ ト信号端子 R STT、 ク口ック信号端子 S CKT、 ライ ト/リードコントローラ 1 40 a、 ア ドレスセレクタ 1 1 2と接 続されている。 クロックカウンタ 1 1 1 aは、 リセッ ト信号端子 R S TTを介し て入力されるリセッ ト信号を 0 (またはロー) にすることにより初期値にリセッ トされ、 リセッ ト信号が 1 とされた後にクロック信号端子 S CKTを介して入力 される外部ク口ックパルスの立ち下がりに同期してクロックパルス数をカウント (力ゥント値をィンクリメントまたはデクリメント) する。 クロックカウンタ 1 1 1 aの初期値は、 メモリアレイ 1 00 aにおいて識別情報 I Dが格納されてい る W0行 (先頭行とも言う) を選択する値と関連付けられていればどのような値 でも良く、 一般的には 0が初期値として用いられる。 ク口ックカウンタ 1 1 1 a は外部ク口ックを分周してア ドレスカウント用のクロックを生成し、 ァドレスセ レクタ 1 1 2に出力する。 クロックカウンタ 1 1 1 aは、 アクセスの種類、 読み 出し、 若しくは書き込み、 に応じて異なる周期で外部クロックを分周する。 例え ば、 アクセスの種類が書き込みの時には 8個の外部クロックで 1個のア ドレス力 ゥント用クロックが生成され、 アクセスの種類が、 後述する通常読み出しの時に は 9個の外部クロックで 1個のアドレスカウント用クロックが生成される。
了ドレスセレクタ 1 1 2は、 リセッ ト信号端子 R STT、 ライ ト Zリードコン トローラ 1 40 a、 クロックカウンタ 1 1 1およびメモリアレイ 1 00 aに接続 されている。 ア ドレスセレクタ 1 1 2は、 クロックカウンタ 1 1 1 aから出力さ れるァドレス力ゥント用クロックのパルス数をカウントし、 そのカウント値に応 じて行選択信号を生成する。 行選択信号は、 メモリアレイ 1 00 aの所望の行を 直接選択 (指定) するための信号である。 ア ドレスセレクタ 1 1 2がカウントす るカウント値はリセッ ト信号がロー (リセッ トロー) のときに初期化される。 初 期化時におけるカウント値の初期値はメモリアレイ 1 0 0 aの先頭行を選択する 行選択信号が生成される値である。 ア ドレスセレクタ 1 1 2は、 ライ ト/リード コントローラ 1 40 aの制御に基づき、 行選択信号をメモリアレイ 1 00 aに出 力する。
I Dコンパレータ 1 30 aは、 クロック信号端子 S CKT、 データ信号端子 S DAT, リセッ ト信号端子 R S TT、 ライ ト/リードコントローラ 140 aに接 続されている。 I Dコンパレータ 1 30 aは、 半導体装置 1 0 aの初期化状態の 解除後、 印刷装置のコントローラから送信されデータ信号端子 SDATを介して 入力されるデータ列に含まれる識別情報 I Dとメモリアレイ 1 00 aに予め格納 されている識別情報 I Dとが一致するか否かを判定する。 詳述すると、 I Dコン パレータ 1 30 aは、 ハイレベルのリセット信号 R S Tが入力された後に入力さ れるデータ列の先頭 3ビットのデータ、 すなわち、 識別情報 I Dを取得する。 ま た、 同じタイミングにて、 ライ ト/リードコントローラ 1 40 aを介して、 アド レスセレクタ 1 1 2のカウンタの初期値によって選択される行に含まれる識別情 報 I Dを取得する。 I Dコンパレータ 1 3 0 aは、 印刷装置から送信されたデー タ列に含まれる先頭 3ビットのデータ (印刷装置がアクセス対象とする半導体装 置 1 0を指定するための識別データ) と、 メモリアレイ 1 00 aから読み出した 識別情報 I Dとが一致するか否かを判定する。 I Dコンパレータ 1 30 aは、 両 識別データ I Dがー致する場合には、 アクセス許可信号 AENをライ ト/リード コントローラ 1 40 aに送出する。 一方、 両識別データ I Dがー致しない場合に は、 I Dコンパレータ 1 30 aはアクセス許可信号 AENを出力しない。 これに より、 識別データ I Dがー致しないと判断した半導体装置 1 0 aは、 書き込み、 読み出しのいずれも実行せず、 リセット信号 (0) の入力によって初期化状態に 戻る。
ライ ト/リードコントローラ 140 aは、 メモリアレイ 1 00 a、 ア ドレスセ レクタ 1 1 2、 I Dコンパレータ 1 30 a、 符号化デ一タ生成回路 1 50 a、 パ リティビット生成付加回路 1 6 0、 クロック信号端子 S CKT、 データ信号端子 S DAT, リセット信号端子 R S TTと接続されている。 ライ ト/リードコント ローラ 140 aは、 第 1の実施例において用いられたライ トノリードコントロー ラ 1 40と基本的に同様の構成を備えている。 ライ ト Zリードコントローラ 1 4 O aは、 データ信号端子 S DATから入力される書き込み時の送信データ列 (図 2 3に想到するデータ列) のうち、 書き込みデータ列を一時的に格納する 8ビッ トレジスタ (図示しない) およびメモリアレイ 1 00 aから読み出したデータを 格納するレジスタ (図示しない) を備えている。 8ビットレジスタには、 データ 信号端子 S DATから入力信号線を介して入力されるデータ列 (MS B) が 8ビ ットとなるまで保持され、 8ビット分揃ったところで、 保持されている 8ビット のデータがメモリアレイ 1 00 aに対して書き込まれる。
ライ ト Zリードコントローラ 140 aは、 印刷装置から送信される識別情報 I Dに続いて送信される半導体装置 1 0 aに対するアクセスの種類を示すコマンド (送信データ列の 4ビット目〜 8ビット目) を解析し、 印刷装置からのアクセス が書き込みを要求であるのか (書き込みコマンドを受信したのか) 、 通常読み出 しを要求であるのか (通常読み出しコマンドを受信したのか) 、 符号化読み出し 要求であるのか (符号化読み出しコマンド (検証用データ生成コマンドともいう ) を受信したのか) を解析する。 したがって、 ライ トノリードコントローラ 1 4 0 aは符号化判定部と呼ぶこともできる。 ライ ト/リードコントローラ 1 40 a は、 I Dコンパレータ 1 30 aからアクセス許可信号 AENが入力されると、 コ マンド解析結果に基づいて、 書き込み処理、 または読み出し処理を実行する。 ライ ト/リードコントローラ 140 aは、 半導体装置 1 0 aに電源が供給され 、 初期化状態が解除された時には、 メモリアレイ 1 00 aをデータ読み出し方向 に設定し、 また、 半導体装置 1 0 aから印刷装置に対してデータが送信されない ように設定する。 。 この状態は、 アクセスの種類 (コマンド) を解析し、 書き込 み若しくは読み出しのいずれかの処理が実行されるまで維持される。 したがって 、 リセット信号入力後にデータ信号端子 S D A Tを介して入力される送信データ 列のデータはメモリアレイ 1 0 0 aに書き込まれることはなく、 一方で、 メモリ アレイ 1 0 0 aの先頭 3ビットに格納されているデータ (識別情報 I D ) は、 I Dコンパレータ 1 3 0 aに送出される。 この結果、 メモリアレイ 1 0 0 aの先頭 行は読み出し専用状態となる。
ライ ト/リードコントローラ 1 4 0 aは、 図 1 7に示すように、 メモリアレイ 1 0 0 aから読み出したままのデータ (通常データ) 、 あるいは、 符号化データ 生成回路 1 5 0 aを介して符号化された読み出しデータ (符号化データ) のいず れかを選択して出力するための選択部としてスィツチ 1 4 1 aを備えている。 ラ ィ ト Zリードコントローラ 1 4 0 aは、 印刷装置から送信されたデータ列に含ま れるコマンドが符号化読み出しコマンドである場合には、 符号化された読み出し データを出力するようにスィツチ 1 4 1 aを符号化位置 S P 1に切り換え、 通常 読み出しコマンドである場合には、 読み出したままのデータを出力するようにス イッチ 1 4 1 aを通常位置 S P 2に切り換える。 この結果、 メモリアレイ 1 0 0 aとデータ端子 S D A T間の経路は、 符号化データ読み出し時と通常読み出し時 とでは異なる。
符号化データ生成回路 1 5 0 aは、 ライ ト リードコントローラ 1 4 0 aと信 号線を介して接続されている。 符号化データ生成回路 1 5 0 aは、 ライ ト Zリー ドコントローラ 1 4 0 aから入力された複数行分の読み出しデータを用いて符号 化処理を実行する。 符号化データ生成回路 1 5 0 aによる符号化処理では、 先ず 、 複数行分の読み出しデータについてチェックサム演算を実行し、 8ビッ トのチ エックサムデータを生成する (第 1の符号化) 。 本実施例では、 符号化対象とな るデータ (通常データ) として、 印刷の実行に伴い印刷装置のコントローラによ つて更新されるデータであるィンク量データ (ィンク残量データまたはィンク消 費量データ) と、 印刷の実行に伴い印刷装置のコントローラによって更新されず 、 読み出しのみに用いられるィンクカートリッジの製造に関するデータが用いら れる。 次に、 符号化データ生成回路 1 5 0 aは、 生成したチェックサムデータに 対して可逆的な符号化処理を実行して符号化データ (検証用データ) を生成する 。 なお、 チェックサムに代えて、 符号化対象の読み出しデータに対して、 ハツシ ュ関数を用いて不可逆的なハッシュ値を求める演算処理を行つても良い。 生成さ れた検証用データは、 ライ ト /リードコントローラ 1 4 0 aに出力される。
パリティビッ ト生成 ·付加回路 1 6 0は、 ライ ト/リードコントローラ 1 4 0 aと接続されている。 パリティビット生成 '付加回路 1 6 0は、 符号化データ生 成回路 1 5 0 aによって生成された検証用データ、 または、 符号化されていない 通常データ (通常読み出しデータ) と、 をライ ト/リードコントローラ 1 4 0 a から受信し、 受信した検証用データまたは通常読み出しデータを用いてパリティ ビットを生成する。 ノ リティビット生成 '付加回路 1 6 0は、 生成したパリティ ビットを検証用データまたは通常読み出しデータに付加して、 ライ ト Zリードコ ントローラ 1 4 0 aに送信する。 パリティビッ トの生成は、 通常読み出しデータ のデータ列 (8ビット) 毎のデータ列、 あるいは、 検証用データのデータ列を用 いて実行される。 なお、 本実施例では、 パリティビット生成 ·付加回路 1 6 0に よって実行されるパリティビットの生成および生成されたパリティビットのデ一 タ列に対する付加は、 データ列の符号化とは呼ばない。
インクカートリッジと印刷装置の構成:
図 1 8は液体収容体としてのインクカートリッジの概略構成を示す説明図であ る。 図 1 9は本実施例に係る印刷装置とインクカートリッジとの接続態様を示す 説明図である。
インクカートリッジ 2 0 aは、 上述の半導体装置 1 0 aが実装された回路基板 C B、 および図示しないインク収容室を備えている。 印刷装置 3 0 0は、 インク カートリッジ 2 0 aを脱着可能に搭載するための搭載部 3 1 0、 インクカートリ ッジ 2 0 aの外部端子 T ( T 1〜T 5 ) と接続する印刷装置側端子 3 2 0を備え ている。 搭載部 3 1 0は、 キャリッジ上に配置されていても良く (オンキヤリツ ジタイプ) 、 キャリッジ上ではない任意の場所に配置されていても良い (オフキ ャリッジタイプ) 。 また、 インクカートリッジ 20 aは、 印刷装置 3 00の外部 に設けられた搭載部 3 1 0に配置されていてもよく、 さらには、 印刷装置 300 の内部に配置されている搭載部 3 1 0に対して回路基板 CBのみが装着され、 ィ ンクカートリッジ 20 a本体は印刷装置 3 00の外部に配置されていても良い。 印刷装置 3 00は、 中央演算装置 (C PU) 3 0 1、 ROM, RAM等の記憶 装置 30 2、 入出力部 303、 印刷部 3 04を備えている。 CPU 30 1、 記憶 装置 3 02、 入出力部 303および印刷部 3 04は内部バスによって双方向通信 可能に接続されている。 記憶装置 30 2の ROMは、 書き込み用のデータ列 (識 別情報 I Dと書き込みコマンドとメモリアレイへの書き込みデータ列) 、 メモリ アレイに記憶されているデータをそのまま読み出す通常読み出し用のデータ列 ( 識別情報 I Dと通常読み出しコマンド) 、 または、 メモリアレイから読み出した データに符号化処理を施して符号化データを読み出す (メモリアレイから読み出 したデータから検証用データを生成して検証用データを受信する) ための符号化 読み出しのデータ列 (識別情報 I Dと符号化読み出しコマンド) を生成するデ一 タ生成モジュール 3 0 2 a, データを符号化ままたは復号するための符号化 ·復 号モジュール 3 02 b, 通信の検証を行う通信検証モジュール 302 cを格納す る。 また、 記憶装置 3 0 2の RAMは、 半導体装置 1 0 aから読み出したデータ 、 生成された書き込み用データ、 モジュールの実行に必要とされるデータを一時 的に記憶する。 データ生成モジュール 3 0 2 a s 符号化 '復号モジュール 30 2 b、 通信検証モジュール 3 0 2 cは、 CPU 30 1によって実行されることによ つて、 それぞれ通常データ読み出し部、 符号化データ読み出し部おょぴデータ書 き込み部、 符号化 ·復号部、 検証部として機能する。 また、 CPU 30 1がこれ らの各モジュールを実行することによって実現される機能は、 それぞれ、 ハード ウェアとして実現されても良い。 入出力部 30 3は印刷装置側端子 3 20と接続 されており、 インクカートリッジ 20 aが備える半導体装置 1 0 aに対してデー タを送信し、 あるいは、 半導体装置 1 0 aからデータを受信する。 印刷部 3 0 4 は、 少なくともキャリッジに備えられた印刷ヘッド、 印刷媒体 (印刷用紙) を副 走査方向に搬送する搬送機構を備え、 印刷へッドを介してインクカートリッジ 2 0 aから供給されたインクを吐出して印刷媒体上に画像を形成する。 印刷装置 3 0 0の C P U 3 0 1、 記憶装置 3 0 2および入出力部 3 0 3を印刷装置 3 0 0の コントローラともいう。 印刷装置 3 0 0のコントローラは、 半導体装置 1 0 aに 対する各アクセスの終了の度に、 リセット信号線を介して、 半導体装置 1 0 aを 初期化状態とするリセット信号を半導体装置に送信する。
なお、 印刷装置 3 0 0に備えられるィンクカートリッジ 2 0 aは単一であって もよく、 複数であっても良い。 複数の場合には、 図 4に示すように、 インクカー トリッジ 2 0 aに備えられている半導体装置 1 0 aは、 印刷装置 3 0 0のコント ローラに対してバス接続される。
•通信検証処理: ·
図 2 0'は本実施例に係る印刷装置と半導体装置との間で実行される通信検証処 理の一例を示す説明図である。 図 2 1はデータ書き込み時に印刷装置から本実施 例に係る半導体装置に対して送信されるデータ列の例を示す説明図である。 図 2 2は通常読み出し時に印刷装置と本実施例に係る半導体装置との間で送受信され るデータ列の例を示す説明図である。 図 2 3は符号化読み出し時に印刷装置と本 実施例に係る半導体装置との間で送受信されるデータ列の例を示す説明図である 。 図 2 4は本実施例に係る半導体装置において実行される符号化データの生成、 送信処理の一例を示すフローチャートである。 図 2 5は本実施例に係る印刷装置 において実行される検証処理の一例を示す説明図である。
図 2 0を参照して印刷装置 3 0 0と半導体装置 1 0 a との間で実行される通信 検証処理の概要について説明する。 印刷装置 3 0 0は、 印刷実行若しくは印刷へ ッドのクリーニングなど記録剤であるインクの消費等に伴い、 半導体装置 1 0 a のインク量データの更新を行う。 すなわち、 印刷装置 3 0 0は、 データ生成モジ ユール 3 0 2 aによって、 インク量データを更新するために、 図 2 1に例示する 書き込みを要求するデータ列を生成し、 半導体装置 1 0 aに対して書き込み要求 を行う (P S 1 ) 。 図 2 1における書き込みを要求するデータ列は各 1ビッ ト計 3ビットの識別情報 I D、 5ビッ トの書き込みコマンドおよび所定ビッ トの書き 込みデータ列を有している。 印刷装置 3 0 0は、 データ生成モジュール 3 0 2 a によって、 図 2 2に送信データ列として例示する、 通常読み出しを要求するデー タ列を生成し、 半導体装置 1 0 aに対してインク量データを含むデータの通常読 み出し要求を行う (P S 2 ) 。 図 2 2における通常読み出しを要求するデータ列 は、 各 1ビット計 3ビットの I D情報、 5ビットの通常読み出しコマンドおよび 1 ビットのダミービットを有している。 ここで、 通常読み出しとは、 半導体装置 1 0 aにおいて符号化が施されていないデータ (通常データ) の読み出しを意味 する。
通常読み出し要求を受け取った半導体装置 1 0 aは、 要求されたデータ (通常 データ) を用いて符号化データを生成することなく、 図 2 2に受信データ列とし て例示するように、 8ビットの読み出しデータに 1ビットのパリティビットが付 加された通常読み出しデータを印刷装置 3 0 0に送信する (S S 1 ) 。 なお、 受 信データ列とは、 印刷装置 3 0 0によって受信されるデータ列を意味する。 印刷 装置 3 0 0は、 受信した通常読み出しデータを記憶装置 3 0 2に格納する。 印刷 装置 3 0 0は、 データ生成モジュール 3 0 2 aによって、 図 2 3に送信データ列 として例示する、 符号化データ.の読み出しを要求するための符号化読み出しを要 求するデータ列を生成し、 半導体装置 1 0 aに対して送信する (P S 3 ) 。 図 2 3における符号化読み出しを要求するデータ列は、 各 1 ビット計 3ビットの識別 情報 I D、 5ビッ トの符号化要求コマンド、 1ビッ トのダミービットを有してい る。 ここで、 符号化読み出しの要求は、 通常読み出し要求において読み出したデ ータ (通常データ) と同一のデータをメモリアレイ 1 0 0 aから読み出し、 符号 化を施した上で印刷装置 3 0 0に送信させるための要求である。 。 半導体装置 1 0 aは、 通常読み出しデータ要求に応じて印刷装置 3 0 0に対して送信したデー タと同一のデータをメモリアレイ 1 0 0 aから読み出し、 図 2 3に受信データ列 として例示するように、 符号化処理を施して検証用データを生成し、 パリティビ ットを付加して印刷装置 3 0 0に送信する (S S 2 ) 。 図 2 3における受信用デ ータ列は、 印刷装置 3 0 0によって受信されるデータを意味し、 8 ビッ トの検証 用データと 1ビッ卜のパリティビットを有している。
印刷装置 3 0 0は、 受信した検証用データと記憶装置 3 0 2に格納されている 通常読み出しデータとを用いて比較処理を実行する。 具体的には、 印刷装置 3 0 0は、 記憶装置 3 0 2に格納されている通常読み出しデータに対して、 半導体装 置 1 0 aにおいて検証用データを生成するために施された符号化と同一の符号化 を施して比較用符号化データを生成し、 受信した検証用データと不一致の場合に は、 通信経路に異常が発生している、 若しくは、 半導体装置 1 0 aに何からの不 具合が発生していると判断する。
図 2 4を参照して半導体装置 1 0 aにおいて実行されるデータ読み出し処理に ついて説明する。 本処理ルーチンは、 半導体装置 1 0 aが印刷装置 3 0 0から送 信された初期化状態を解除する信号を受信後、 半導体装置 1 0 aが、 通常読み出 しコマンド、 若しくは、 符号化読み出しコマンド (検証用データ生成コマンド) を含む送信データ列を受信した場合に開始される。 半導体装置 1 0 aは、 印刷装 置 3 0 0から受信したデータ列に含まれる識別情報 I Dを受信して、 受信したデ ータ列が自身のメモリアレイ 1 0 0 aに記憶されている識別情報 I Dと一致する か否かを判断する。 半導体装置 1 0 aは、 識別情報 I Dとメモリアレイ 1 0 0 a から読み出した識別情報 I Dとが一致する場合には、 自身が印刷装置 3 0 0のァ クセス対象であると判断する。 半導体装置 1 0 aは、 受信したコマンドが通常読 み出しコマンド、 または符号化読み出しコマンドのいずれであるかを判断し (ス テツプ S 2 0 0 ) 、 受信コマンドに応じてライ ト /リードコントローラ 1 4 0 a 内のスィツチ 1 4 1 aを切り換える (ステップ S 20 1) 。 具体的には、 スィッ チ 1 4 1 aは、 受信コマンドが符号化読み出しコマンドの場合には符号化位置 S P 1に切り換えられ、 通常読み出しコマンドの場合には通常位置 S P 2に切り換 えられる。 半導体装置 1 0 aは、 メモリアレイ 1 00 aからデータ (通常データ ) を読み出す (ステップ S 202) 。 半導体装置 1 0 aは、 ステップ S 200に おいて判断されたコマンドが符号化読み出しコマンドであり、 符号化が要求され ている場合にはチェックサム演算処理を実行する (ステップ S 2 04) 。 (ステ ップ S 20 3 : Y e s ) ライ ト Zリードコントローラ 1 40 a内のスィッチ 14 1 aは、 メモリアレイ 1 00 aから読み出したデータを符号化データ生成回路 1 5 0 aに出力するように切り換えられているので、 メモリアレイ 1 00 aから読 み出されたデータは符号化データ生成回路 1 50 aに送られる。 符号化データ生 成回路 1 5 0 aは、 読み出したデータ用いてチェックサムを求める。 例えば、 8 ビット、 1 6ビットといったチェックサムを求める。 なお、 チェックサム演算処 理は不可逆的な演算処理であり、 復号によって元のデータを得ることはできない
(第 1の符号化処理) 。 半導体装置 1 0 aは、 求めたチェックサムに対して可逆 的なデータ符号化処理 (第 2の符号化処理) を実行して検証用データを生成する
(ステップ S 205) 。 第 2の符号化処理は共通のキーを利用して符号化された データからの復号化およびデータの符号化が可能な処理であり、 復号によって元 のデータを得ることができる。 半導体装置 1 0 aは求めた検証用データ (符号化 データ) に対して、 パリティビット生成 ·付加回路 1 6 0によってパリティ演算 処理を実行し (ステップ S 20 6) 、 求めたパリティ値 (パリティビット) を検 証用データに付加して印刷装置 30に対して送信し (ステップ S 2 1 0) 、 本処 理ルーチンを終了する。
一方、 半導体装置 1 0 aは、 ステップ S 2◦ 0において判断されたコマンドが 通常読み出しコマンドである場合には (ステップ S 20 3 : N o) 、 、 ステップ S 20 6に移行する。 ライ ト Zリードコントローラ 1 40 a内のスィツチ 14 1 aは、 メモリアレイ 1 00 aから読み出したデータをパリティビット生成 ·付加 回路 1 6 0に出力するように切り換えられているので、 符号化データ生成回路 1 5 0 aには出力されない。 ノ リティビット生成 ·付加回路 1 6 0は、 メモリァレ ィ 1 0 0 aから読み出されたデータに対して、 パリティ演算処理を実行し、 パリ ティビットを付加した通常読み出しデータを印刷装置 3 00に対して送信して ( ステップ S 20 7) 、 本処理ルーチンを終了する。 すなわち、 通常読み出しデー タに対しては、 パリティ演算処理のみが実行される。
図 2 5を参照して印刷装置 300における検証処理について説明する。 検証処 理は、 CPU 3 0 1が検証モジュール 3 0 2 cを実行することにより印刷装置 3 0 0において実行される処理である。 なお、 以下の説明では、 図 20において半 導体装置 1 0 aに対する送信処理 (P S 1、 P S 2、 P S 3) についての説明は 省略し、 半導体装置 1 0 aからデータを受信 (S S 1、 S S 2) した後に実行さ れる検証処理について説明する。 印刷装置 3 00は、 通常読み出し要求 (P S 2 ) に対する応答として、 半導体装置 1 0 aから通常読み出しデータを受信する ( ステップ S 3 00 :図 20における S S 1 ) 。 印刷装置 300は、 受信した通常 読み出しデータに対してパリティチェック処理を実行すると共に、 通常読み出し のデータ列からパリティビットを除去する (ステップ S 3 0 1 ) 。 印刷装置 30 0は、 ノ リティチェックの結果、 誤りなしと判定した場合には (ステップ S 30 2 : Y e s ) 、 ステップ S 3 0 6に移行し、 誤り有りと判定した場合には (ステ ップ S 30 2 : N o ) 、 ステップ S 3 1 0に移行する。
印刷装置 300は、 デ一タ符号化要求 (P S 3) に対する応答として、 符号化 データ (検証用データ) を受信すると (ステップ S 30 3 :図 20における S S 2) 、 パリティチェック処理を実行する(ステップ S 304)。 印刷装置 3 00は 、 パリティチェックの結果、 誤りなしと判定した場合には (ステップ S 305 : Y e s ) 、 データ列からパリティビットを除き、 符号化 .復号モジュール 30 2 bを実行して符号化データを復号し、 復号チェックサム C S 0を取得する(ステ ップ S 3 0 6 )。 すなわち、 半導体装置 1 0 a内において可逆的な符号化処理が 施された検証用データに対して復号処理を施すことによって、 半導体装置 1 0 a においてチェックサム演算処理によって得られたチェックサムに相当するデータ を取得することができる。
印刷装置 3 0 0は、 ステップ S 3 0 1においてパリティビットが除去された通 常読み出しデータに対して、 符号化 ·復号モジュール 3 0 2 bを実行して、 半導 体装置 1 0 aにおいて実行されたチヱックサム演算処理と同一のチヱックサム演 算処理を実行して演算チェックサム C S 1 (比較用符号化データ) を算出する ( ステップ S 3 0 7 ) 。 印刷装置 3 0 0は、 検証モジュール 3 0 2 cを実行して、 復号チェックサム C S 0と演算チヱックサム C S 1とを比較し(ステップ S 3 0 8 )、 一致する場合には(ステップ S 3 0 9 : Y e s )、 本処理ルーチンを終了す る。 すなわち、 復号チェックサム C S 0と演算チェックサム C S 1とが一致する 場合には、 半導体装置 1 0 aと印刷装置 3 0 0のコントローラ間の通信経路のェ ラー、 半導体装置 1 0 aの異常は発生していないと判断することができる。
一方、 印刷装置 3 0 0は、 復号チェックサム C S 0と演算チェックサム C S 1 とが一致しない場合には(ステップ S 3 0 9 : N o )、 カートリッジエラーを報知 して(ステップ S 3 1 0 )、 本処理ルーチンを終了する。 また、 印刷装置 3 0 0は 、 ステップ S 3 0 2、 S 3 0 5において、 パリティチェックの結果、 パリティェ ラーが発生していると判定した場合にも (ステップ S 3 0 2、 S 3 0 5 : N o ) 、 カートリッジエラーを報知する (ステップ S 3 1 0 )。 カートリッジエラーの報 知は、 印刷装置 3 0 0に備えられている表示灯の点灯または点滅、 あるいは、 印 刷装置 3 0 0に備えられている表示ディスプレイ上へのエラーメッセージの表示 によって実現される。 さらに、 印刷装置 3 0 0がパーソナルコンピュータと接続 されている場合には、 パーソナルコンピュータの表示ディスプレイ上にエラーメ ッセージを表示することによって実現されても良い。
以上説明した本実施例に係るインクカートリッジ 2 0 a (半導体装置 1 0 a ) および印刷装置 3 0 0によれば、 通常読み出しデータと符号化データ (検証用デ ータ) を比較することによって、 いずれか一方の読み出しに基づく場合に判定で きない通信異常を検出することができる。 例えば、 符号化データ読み出しではな い通常読み出しを 2回実行し、 読み出したデータが一致するかしないかに基づい て通信異常を検出しようとしたとき、 印刷装置側端子 3 2 0と回路基板 C Bの外 部端子 Tとの電気的接続が取れていない場合であっても、 1回目の通常読み出し データと 2回目の通常読み出しデータとがー致すれば、 印刷装置 3 0 0は回路基 板 C Bとの接続経路に異常は発生していないと判断してしまうおそれがある。 こ れに対し、 本実施例では、 半導体装置 1 O aのメモリアレイ 1 0 0 aから読み出 される同一のデータ (通常データ) に対して、 符号化処理を実行しない通常読み 出しデータと、 符号化処理を実行した符号化データとを用いて検証を実行する。 したがって、 これらのデータを比較することによって本当に通信エラーや半導体 装置 1 0 aの異常が発生していないかをより正確に検証することができる。
判定の結果、 通信経路や半導体装置 1 0 aに異常が発生していると判断した場 合には、 印刷処理を実行しないことによって、 誤ったデータに基づく不都合を未 然に防止することができる。 例えば、 データが誤っているために、 インクカート リッジ 2 0 a内の液体量が印刷ジョブを完了するために必要な液体量よりも少な いにもかかわらず印刷処理を実行し、 途中で印刷を中断する事態、 あるいは、 ィ ンクカートリッジ 2 0 a内の液体量が少ないにもかかわらず印刷処理を実行して 空擊ちしてしまい印刷へッドを痛めてしまう事態を未然に防止することができる さらに、 本実施例では、 チェックサム演算処理によりデータの圧縮処理を行い 通信に用いられるビット数を低減してビットエラーの発生の抑制、 通信速度、 後 段の演算処理速度の向上を図ることができる。 また、 パリティビットを用いるこ とにより通信前後のデータの信頼性を検証することができる。 -第 3の実施例の変形例:
( 1 ) 上記実施例では、 通信異常、 すなわち、 復号チェックサム C S 0と演算チ エックサム C S 1の不一致が検出された場合には、 直ちにカートリッジエラーの 報知を実行しているが、 所定回数、 例えば、 2〜5回、 符号化読み出しデータの 読み出しおよび通常読み出しデータの読み出し、 復号チェックサム C S 0と演算 チェックサム C S 1を用いた検証を繰り返し、 その後、 カートリッジエラーを報 知しても良い。
( 2 ) 上記実施例では、 通常読み出し後に符号化読み出しが実行されているが、 符号化読み出し実行後に通常読み出しが実行されても良い。 通常読み出しデータ と符号化読み出しデータとの対比を行うことができれば十分である。
( 3 ) 上記実施例では、 E E P R O Mを半導体装置 1 0 aの例として用いたが、 この他に、 強誘電体メモリセルからなるメモリアレイ、 演算回路を備えた半導体 装置を用いても良い。
( 4 ) 上記実施例では、 半導体装置 1 0 aに対するデータ列の書き込みの後に通 信検証処理 (通常読み出しデータおょぴ符号化データの要求 ·受信処理) が実行 されているが、 この他にも、 印刷装置 3 0 0の起動後の最初の書き込み処理時、 インクカートリッジ 2 0 a交換後の最初の書き込み処理時、 所定回数の書き込み 処理時に実行するようにしても良い。 また、 書き込むべきデータが発生していな い場合であっても、 インクカートリッジ 2 0 a交換後に半導体装置 1 0 aに格納 されている所定のデータを用いて通信検証処理が実行されても良い。
( 5 ) 上記実施例では、 通常読み出しデータの符号化データに対して、 更にパリ ティビットの生成とパリティビットの付加を行っているが、 これらパリティ処理 ははいずれか一方のデータまたは双方のデータに対して実施されなくても良い。 以上、 実施例、 変形例に基づき本発明について説明してきたが、 上記した発明 の実施の形態は、 本発明の理解を容易にするためのものであり、 本発明を限定す るものではない。 本発明は、 その趣旨並びに特許請求の範囲を逸脱することなく 変更、 改良され得ると共に、 本発明にはその等価物が含まれる。

Claims

請求の範囲
1 . 記憶装置を備え、 印刷装置に装着可能な液体収容体であって、
データを格納する記憶素子と、
前記印刷装置から前記記憶素子に格納されているデータの読み出し要求を受け た場合に、 読み出しデータの符号化を実行するか否かを判定する符号化判定部と 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子か ら読み出したデータに対して符号化処理を行い出力する記憶素子制御部とを備え る液体収容体。
2 . 請求項 1に記載の液体収容体において、
前記記憶素子制御部は、 前記読み出しデータの符号化を実行しないと判定され た場合には、 前記記憶素子から読み出した情報を符号化せずに出力する液体収容 体。
3 . 請求項 1または請求項 2に記載の液体収容体において、
前記記憶素子制御部は、
前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、 前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化 処理部とを備える液体収容体。
4 . 請求項 1から請求項 3のいずれかに記載の液体収容体において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を 用いた誤り検出符号化処理により実行される液体収容体。
5 . 請求項 1から請求項 3のいずれかに記載の液体収容体において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を ハッシュ符号化する処理である液体収容体。
6 . 請求項 1から請求項 3のいずれかに記載の液体収容体において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を 用いた演算結果のハッシュ符号化により実行される液体収容体。
7 . 記憶装置を備え、 印刷装置に装着可能な液体収容体であって、
データを格納する記憶素子と、
前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、 前記記憶素子から読み出されたデータと、 前記符号化部で符号化されたデータ とのうちいずれかを選択して出力する選択部と、
を備える液体収容体。
8 . 印刷装置に装着可能な液体収容体に備えられた記憶装置に対する制御方法 であって、
前記印刷装置から、 データを格鈉する記憶素子に格納されているデータの読み 出し要求を受けた場合に、 読み出しデータの符号化を実行するか否かを判定し、 前記読み出しデータの符号化を実行すると判定した場合に、 前記記憶素子から 読み出したデータに対して符号化処理を行い出力する制御方法。
9 . 印刷装置と、 前記印刷装置に着脱可能に装着されるとともに、 データを記 憶する記憶素子を備えた液体収容体とを有する印刷装置システムにおいて、 前記印刷装置が、 前記印刷材収容体に対してデータの読み出し要求を出力する 出力部を備え、
前記液体収容体が、 前記印刷装置から前記記憶素子に格納されているデータの 読み出し要求を受けた場合に、 読み出しデータの符号化を実行するか否かを判定 する符号化判定部と、 前記読み出しデータの符号化を実行すると判定された場合 に、 前記記憶素子から読み出したデータに対して符号化処理を行い出力する記憶 素子制御部と、 を備える印刷装置システム。
1 0 . 請求項 9に記載の印刷装置システムにおいて、 前記印刷装置が前記読み 出しデータの符号化の実行を要求する場合には、 前記データの読み出し要求が、 読み出しデータの符号化の実行を指示するコマンドを含むことを特徴とする、 印 刷装置システム。
1 1 . 制御装置に接続可能な記憶装置であって、
前記制御装置とデータの通信を行うための通信部と、
データを格納する記憶素子と、
前記制御装置から前記記憶素子に格納されているデータの読み出し要求を受け た場合に、 読み出しデータの符号化を実行するか否かを判定する符号化判定部と 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子か ら読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子制 御部とを備える記憶装置。
1 2 . 請求項 1 1に記載の記憶装置において、
前記記憶素子制御部は、 前記読み出しデータの符号化を実行しないと判定され た場合には、 前記記憶素子から読み出した情報を符号化せずに出力する記憶装置
1 3 . 請求項 1 1または請求項 1 2に記載の記憶装置において、
前記記憶素子制御部は、
前記記憶素子との間でデータの読み書きを実行する読み書き実行部と、 前記記憶素子から読み出されたデータに対して符号化処理を実行する符号化 処理部とを備える記憶装置。
1 4 . 請求項 1 1から請求項 1 3のいずれかに記載の記憶装置体において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を 用いた誤り検出符号化処理により実行される記憶装置。
1 5 . 請求項 1 1から請求項 1 3のいずれかに記載の記憶装置において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を ハッシュ符号化する処理である記憶装置。
1 6 . 請求項 1 1から請求項 1 3のいずれかに記載の記憶装置において、 前記符号化処理は、 前記記憶素子に格納されているデータの全部または一部を 用いた演算結果のハッシュ符号化により実行される記憶装置。
1 7 . 制御装置に接続可能な記憶装置であって、
前記制御装置とデータの通信を行うための通信部と、
データを格納する記憶素子と、
前記記憶素子から読み出されたデータに対して符号化処理を行う符号化部と、 前記記憶素子から読み出されたデータと、 前記符号化部で符号化されたデータ とのうちいずれかを選択して前記通信部に出力する選択部と、
を備える記憶装置。
1 8 . 制御装置と接続可能であり、 データを記憶する記憶素子を備える記憶装 置の制御方法であって、
前記制御装置から、 前記記憶素子に記憶されているデータの読み出し要求を受 けた場合に、 読み出したデータの符号化を実行するか否かを判定し、
前記読み出しデータの符号化を実行すると判定した場合に、 前記記憶素子から 読み出したデータに対して符号化処理を行い出力する記憶装置の制御方法。
1 9 . 制御装置と、 前記制御装置に接続されるとともに、 データを記憶する記 憶素子を備えた記憶装置とを有する記憶装置の制御システムにおいて、
前記制御装置が、 前記記憶装置に対してデータの読み出し要求を出力する出力 部を備え、
前記記憶装置が、 前記計算機から前記記憶素子に格納されているデータの読み 出し要求を受けた場合に、 読み出しデータの符号化を実行するか否かを判定する 符号化判定部と、 前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子から読み出したデータに対して符号化処理を行い前記通信部に出力 する記憶素子制御部と、 を備える記憶装置の制御システム。
2 0 . 請求項 1 9に記載の制御システムにおいて、 前記制御装置が前記読み出 しデータの符号化の実行を要求する場合には、 前記データの読み出し要求が、 読 み出しデータの符号化の実行を指示するコマンドを含むことを特徴とする、 制御 システム。
2 1 . データを格納する半導体装置を備えた液体収容体と共に用いられる印刷 装置であって、
前記半導体装置から符号化されていない通常データを読み出す通常データ読み 出し部と、
前記半導体装置に対して前記通常データの符号化を要求し、 符号化された前記 通常データである符号化データを読み出す符号化データ読み出し部と、
前記通常データに対して前記符号化と同一の符号化を行って比較用符号化デー タを生成する符号化 ·復号部と、
前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前 記印刷装置との間における通信状態の検証を行う検証部とを備える印刷装置。
2 2 . 請求項 2 1に記載の印刷装置はさらに、
前記通常データを前記半導体装置に書き込むデータ書き込み部を備え、 前記通常データ読み出し部および前記符号化データ読み出し部は、 それぞれ前 記データ書き込み部によって書き込まれた前記通常データおよび前記データ書き 込み部によつて書き込まれた前記通常データを符号化した符号化データを読み出 す、 印刷装置。
2 3 . 請求項 2 1または 2 2に記載の印刷装置において、
前記符号化データには不可逆的な第 1の符号化の後に可逆的な第 2の符号化が 施されており、
前記符号化 ·復号部は前記符号化データに対する前記第 2の符号化を復号して 前記第 1の符号化が施された符号化データを得ると共に、 前記通常データに対し て前記第 1の符号化を行う、 印刷装置。
2 4 . データを格納する半導体装置を備えた液体収容体と共に用いられる印刷 装置における通信検証方法であって、
前記半導体装置から符号化されていない通常データを読み出し、 前記半導体装置に対して前記通常データの符号化を要求し、
前記半導体装置から符号化された前記通常データである符号化データを読み出 し、
前記検証用データに対して前記符号化と同一の符号化を行って比較用符号化デ —タを生成し、
前記比較用符号化データと前記符号化データとを比較して前記半導体装置と前 記印刷装置との間における通信状態の検証を行う通信検証方法。
2 5 . 回路基板であって、
外部制御装置とデータの通信を行うための通信部と、
データを格納する記憶素子と、
前記外部制御装置から前記記憶素子に格納されているデータの読み出し要求 を受けた場合に、 読み出しデータの符号化を実行するか否かを判定する符号化判 定部と、
前記読み出しデータの符号化を実行すると判定された場合に、 前記記憶素子 から読み出したデータに対して符号化処理を行い前記通信部に出力する記憶素子 制御部とを備える半導体装置と、
前記通信部と電気的に接続されている 1または複数の外部端子とを備える 回路基板。
PCT/JP2009/056773 2008-03-26 2009-03-25 液体収容体 WO2009119886A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009801010417A CN102741053A (zh) 2008-03-26 2009-03-25 液体容纳体

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2008-079632 2008-03-26
JP2008-079639 2008-03-26
JP2008079632 2008-03-26
JP2008079639 2008-03-26
JP2009-059583 2009-03-12
JP2009059583A JP5141606B2 (ja) 2008-03-26 2009-03-12 印刷装置

Publications (1)

Publication Number Publication Date
WO2009119886A1 true WO2009119886A1 (ja) 2009-10-01

Family

ID=41114066

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/056773 WO2009119886A1 (ja) 2008-03-26 2009-03-25 液体収容体

Country Status (4)

Country Link
US (1) US8335978B2 (ja)
JP (1) JP5141606B2 (ja)
CN (1) CN102741053A (ja)
WO (1) WO2009119886A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523606A (ja) * 2008-05-29 2011-08-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 交換式プリンタコンポーネントの真正性の確認

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2237163B1 (en) * 2009-04-01 2013-05-01 Seiko Epson Corporation System having a plurality of memory devices and data transfer method for the same
JP5482275B2 (ja) * 2009-04-01 2014-05-07 セイコーエプソン株式会社 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム
JP5556371B2 (ja) * 2010-05-25 2014-07-23 セイコーエプソン株式会社 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム
JP5790119B2 (ja) * 2011-04-22 2015-10-07 セイコーエプソン株式会社 記憶装置、ホスト装置、回路基板、液体容器及びシステム
JP6221370B2 (ja) * 2012-08-30 2017-11-01 セイコーエプソン株式会社 媒体処理装置、及び媒体処理装置の制御方法
JP2018041472A (ja) 2012-08-30 2018-03-15 セイコーエプソン株式会社 媒体処理装置、及び媒体処理方法
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
JP6213345B2 (ja) * 2014-03-31 2017-10-18 富士通株式会社 転送装置、決定方法、及びデータ処理装置
US9733847B2 (en) 2014-06-02 2017-08-15 Micron Technology, Inc. Systems and methods for transmitting packets in a scalable memory system protocol
CN104637543B (zh) * 2014-12-10 2019-02-19 珠海艾派克微电子有限公司 芯片和使用该芯片的墨盒
JP2015164804A (ja) * 2015-02-25 2015-09-17 利仁 曽根 印刷消耗品システム
JP2017074790A (ja) * 2016-12-07 2017-04-20 利仁 曽根 Icチップ、交換部品および装置
JP6949616B2 (ja) * 2017-08-10 2021-10-13 キヤノン株式会社 記録装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482164A (en) * 1987-09-24 1989-03-28 Canon Kk Communication system
JP2000031980A (ja) * 1998-07-10 2000-01-28 Kokusai Electric Co Ltd 無線lanシステムとその暗号化方法
JP2002127550A (ja) * 2000-07-21 2002-05-08 Fuji Photo Film Co Ltd 画像記録装置の用品、その判定方法および製造方法
JP2002166530A (ja) * 2000-10-31 2002-06-11 Hewlett Packard Co <Hp> インクジェットプリントアウトのエッジ品質を改良するシステムおよび方法
JP2005324547A (ja) * 2004-04-29 2005-11-24 Hewlett-Packard Development Co Lp 消耗品カートリッジの盗難抑止装置および方法
JP2006050653A (ja) * 2005-08-30 2006-02-16 Canon Inc データ通信装置及び方法、データ通信システム及び記憶媒体
JP2006159788A (ja) * 2004-12-09 2006-06-22 Canon Inc インクジェット記録装置および記録装置の制御方法
JP2007093595A (ja) * 2005-09-01 2007-04-12 Matsushita Electric Ind Co Ltd 送受信システム,外部発信受信装置,および送受信方法
JP2007326338A (ja) * 2006-06-09 2007-12-20 Seiko Epson Corp 特性判定装置及び方法及びインクカートリッジ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266002B2 (ja) 1996-08-29 2002-03-18 オムロン株式会社 純正交換部品識別装置及び純正交換部品識別方法
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
CA2343853A1 (en) * 2000-04-14 2001-10-14 Muga Mochizuki Semiconductor device, ink tank provided with such semiconductor device, ink jet cartridge, ink jet recording apparatus, method for manufacturing such semiconductor device, and communication system, method for controlling pressure, memory element, security system of ink jet recording apparatus
US7052101B2 (en) * 2000-07-21 2006-05-30 Fuji Photo Film Co., Ltd. Supply for image recording apparatus, method of determining the same and method of manufacturing the same
US6912686B1 (en) * 2000-10-18 2005-06-28 Emc Corporation Apparatus and methods for detecting errors in data
JP3649123B2 (ja) * 2000-12-26 2005-05-18 セイコーエプソン株式会社 回路基板の端子
US7958359B2 (en) * 2001-04-30 2011-06-07 Digimarc Corporation Access control systems
US20030063311A1 (en) 2001-10-03 2003-04-03 Covitt Marc L. Method and apparatus identifying printing supplies
US20030090531A1 (en) * 2001-11-02 2003-05-15 Eastman Kodak Company Digital data preservation system
JP2005251156A (ja) 2004-02-05 2005-09-15 Ricoh Co Ltd 電子装置、画像形成装置、電子装置の制御方法、プログラム、記録媒体、画像形成装置管理システム、デジタル証明書を記憶した部材、デジタル証明書取得方法、およびデジタル証明書設定システム
US7540429B2 (en) * 2004-04-02 2009-06-02 Silverbrook Research Pty Ltd Surface having disposed therein or thereon coded data
WO2006013529A1 (en) * 2004-08-02 2006-02-09 Koninklijke Philips Electronics N.V. Data storage and replay apparatus
AU2006253347B2 (en) * 2005-05-30 2009-09-10 Seiko Epson Corporation Semiconductor storage apparatus
JP4818651B2 (ja) * 2005-07-13 2011-11-16 ルネサスエレクトロニクス株式会社 暗号化・復号化回路
US8128186B2 (en) * 2007-07-27 2012-03-06 Hewlett-Packard Development Company, L.P. Non-volatile memory data integrity validation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482164A (en) * 1987-09-24 1989-03-28 Canon Kk Communication system
JP2000031980A (ja) * 1998-07-10 2000-01-28 Kokusai Electric Co Ltd 無線lanシステムとその暗号化方法
JP2002127550A (ja) * 2000-07-21 2002-05-08 Fuji Photo Film Co Ltd 画像記録装置の用品、その判定方法および製造方法
JP2002166530A (ja) * 2000-10-31 2002-06-11 Hewlett Packard Co <Hp> インクジェットプリントアウトのエッジ品質を改良するシステムおよび方法
JP2005324547A (ja) * 2004-04-29 2005-11-24 Hewlett-Packard Development Co Lp 消耗品カートリッジの盗難抑止装置および方法
JP2006159788A (ja) * 2004-12-09 2006-06-22 Canon Inc インクジェット記録装置および記録装置の制御方法
JP2006050653A (ja) * 2005-08-30 2006-02-16 Canon Inc データ通信装置及び方法、データ通信システム及び記憶媒体
JP2007093595A (ja) * 2005-09-01 2007-04-12 Matsushita Electric Ind Co Ltd 送受信システム,外部発信受信装置,および送受信方法
JP2007326338A (ja) * 2006-06-09 2007-12-20 Seiko Epson Corp 特性判定装置及び方法及びインクカートリッジ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523606A (ja) * 2008-05-29 2011-08-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 交換式プリンタコンポーネントの真正性の確認
US9141816B2 (en) 2008-05-29 2015-09-22 Hewlett-Packard Development Company, L.P. Authenticating a replaceable printer component
US9495549B2 (en) 2008-05-29 2016-11-15 Hewlett-Packard Development Company, L.P. Authenticating a replaceable printer component
US9619663B2 (en) 2008-05-29 2017-04-11 Hewlett-Packard Development Company, L.P. Authenticating a replaceable printer component

Also Published As

Publication number Publication date
US20090287891A1 (en) 2009-11-19
JP2009255550A (ja) 2009-11-05
US8335978B2 (en) 2012-12-18
CN102741053A (zh) 2012-10-17
JP5141606B2 (ja) 2013-02-13

Similar Documents

Publication Publication Date Title
WO2009119886A1 (ja) 液体収容体
JP6630869B2 (ja) メモリシステムにおけるリンクエラー訂正
JP2009259225A (ja) 液体収容体
US8931876B2 (en) Storage apparatus, host apparatus, circuit board, liquid container, and system
US8959294B2 (en) Storage device, host device, circuit board, liquid container, and system
JP4066980B2 (ja) 印刷記録材容器
WO2006064824A1 (ja) 記憶装置および記憶装置を備える印刷記録材容器
US8006045B2 (en) Dummy write operations
US9266342B2 (en) Storage device, host apparatus, circuit substrate, liquid container, and system
JP5678516B2 (ja) 記憶装置、回路基板、液体容器及びシステム
JP5609490B2 (ja) 記憶装置、ホスト装置、回路基板、液体容器及びシステム
KR101526497B1 (ko) 시스템 온 칩 및 이에 대한 정보 처리 방법
US8625386B2 (en) Non-volatile memory device, circuit board, printing material container and printer
JP6679971B2 (ja) 記憶装置、液体容器及びホスト装置
US20110205590A1 (en) Storage device, substrate, liquid container, host device, and system
JP2013198986A (ja) 印刷装置
KR20080013316A (ko) 메모리 제어 장치, 이를 가지는 메모리 시스템 및 메모리의오류 탐색 제어 방법
JP5391018B2 (ja) カウント装置
JP4947070B2 (ja) 記憶装置
JP2013051017A (ja) 記憶装置及び印刷装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980101041.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09724739

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09724739

Country of ref document: EP

Kind code of ref document: A1