WO2006129780A1 - シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ - Google Patents

シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ Download PDF

Info

Publication number
WO2006129780A1
WO2006129780A1 PCT/JP2006/311053 JP2006311053W WO2006129780A1 WO 2006129780 A1 WO2006129780 A1 WO 2006129780A1 JP 2006311053 W JP2006311053 W JP 2006311053W WO 2006129780 A1 WO2006129780 A1 WO 2006129780A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
write
bit
written
writing
Prior art date
Application number
PCT/JP2006/311053
Other languages
English (en)
French (fr)
Inventor
Noboru Asauchi
Eitaro Otsuka
Original Assignee
Seiko Epson Corporation
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 Seiko Epson Corporation filed Critical Seiko Epson Corporation
Priority to EP06747098A priority Critical patent/EP1901306A4/en
Priority to CN2006800193243A priority patent/CN101189681B/zh
Priority to JP2007519077A priority patent/JPWO2006129780A1/ja
Publication of WO2006129780A1 publication Critical patent/WO2006129780A1/ja

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Definitions

  • Non-volatile memory that performs verify processing in sequential writing
  • the present invention relates to a semiconductor memory device that can rewrite data, a semiconductor memory device that is sequentially accessed, and a data write control method for a semiconductor memory device that is sequentially accessed.
  • Semiconductor memory devices that can rewrite data are widely used as storage devices for various electronic devices.
  • Such a semiconductor memory device does not restrict rewriting of input data that satisfies a predetermined data condition in an electronic device, but restricts rewriting of input data that does not satisfy the data condition. It may be desirable to use it in For example, the rewrite is executed only when “rewrite data is larger than the data stored in the semiconductor memory device (referred to as“ data to be rewritten ”). It is conceivable to set a condition such as “A rewrite is executed only when the rewritten data is smaller than the data to be rewritten”.
  • a technique for controlling the writing of data to the storage device for example, a technique is known in which a write prohibition device for the storage device is provided outside the storage device.
  • a write prohibition device for the storage device is provided outside the storage device.
  • information indicating that writing to the data storage area is not permitted is written to an address behind the data storage area in the storage device.
  • a technique for prohibiting writing to a data storage area is known.
  • a semiconductor memory device that permits only sequential access to data cells in a memory array for example, an EEPROM, is known. Since such a semiconductor storage device is relatively inexpensive, it is used as a storage device for holding data regarding the remaining amount or consumption of the consumption material.
  • the memory array generally has a grid-like internal structure of X rows and X columns, and when each data cell stores 1-bit data, y pit data per row is stored. Can be stored. Disclosure of the invention
  • Such a problem can be solved by using a memory array of X rows and X ny columns. Some columns (data cells) of the memory array of X rows and X ny columns are not used when shared by the writing device. As a result, there arises a problem that the memory array cannot be used effectively, and since it is a sequential access method, it is necessary to execute access to an unnecessary data cell in order to access a desired data cell. There is a problem that the access speed decreases.
  • the present invention has been made in order to solve the above-described problem, and improves the writing reliability of data having a longer data length than the data length that can be stored in one row of a memory array included in the semiconductor memory device. With the goal.
  • the present invention also provides a semiconductor memory device. The purpose is to prohibit writing data that does not satisfy the specified data conditions.
  • a first aspect of the present invention provides a semiconductor memory device.
  • the semiconductor memory device according to the first aspect of the present invention has a plurality of data storage rows in a predetermined address unit and is accessed sequentially, and a write memory to be written to the memory array.
  • Write data holding means for holding a write capacity with a data capacity corresponding to n times the predetermined address unit (n is an integer of 2 or more) in the predetermined address unit;
  • a write / write device for writing the write data in a predetermined address unit to the target data storage row to be written in the memory array; and the target data storage row
  • the written data in the predetermined address unit and the write address in the predetermined address unit held in the write data holding means If the data verification means for determining whether or not the evening matches, and if the written data and the written data do not match, the data writing means determines the next row after the target data storage row. And a control unit that does not execute writing of the remaining write data to the data storage row.
  • a write capacity having a data capacity equivalent to n times the predetermined address unit that can be stored in the data storage row of the memory array is stored in the memory array.
  • the written data for a predetermined address unit written in the target bank and the stored data for the predetermined address unit held in the write data holding means are -If it does not match, the data writing means does not write the remaining write data to the data storage row next to the target data storage row. Therefore, the memory provided in the semiconductor memory device The write reliability of data with a data length longer than the data length that can be stored in one row of the array can be improved.
  • the control unit includes the writing When the embedded data and the write data match, writing of the write data to the data storage row next to the target data storage row by the data writing means may be executed. In such a case, the remaining data of the write data can be sequentially written into the memory array while maintaining the reliability of the data.
  • the data verifying unit • has written the address data in units of the address from the target data storage row Data is read, and the written data and data to be written are written using the written data and data in the predetermined address unit and the written data in the predetermined address unit. It may be determined whether or not it matches. In such a case, it is possible to determine whether or not the written data matches the written data in a predetermined address unit.
  • the data verifying unit writes the write data for each address from the target data storage row after the writing of the write data to the target data storage row is completed.
  • Read the written data acquire write data from the write data holding means in one address unit, read the written data of the predetermined one address unit, and the acquired one address. It may be determined whether or not the written data and the written data match each other using a unit of data. In such a case, it is possible to determine whether written data and written data match in units of one address.
  • the semiconductor memory device further includes existing data storage means for storing existing data stored in the target data storage row before the write data is written, and the data verification If it is determined by the means that the written data does not match the written data, the existing data storage Data write-back means for writing the existing data stored in a stage to the target data storage row may be provided. In such a case, the data stored in the memory array can be returned to the value before writing the write data.
  • data is stored in the data storage row in order from the most significant bit, and the data writing means has the most significant bit with respect to the memory array. You may perform the overnight writing in order from ⁇ . In such a case, it is possible to more quickly determine whether the value of the write data matches the value of the existing data that has been read.
  • a second aspect of the present invention provides a semiconductor memory device.
  • a semiconductor memory device includes a nonvolatile memory array having a plurality of data storage rows each including eight data cells storing 1-bit data, and sequentially accessed, Write data to be written to the memory array, and write data holding means for holding write data of n times 8 bits (n is an integer of 2 or more) in units of 8 bits, and the held write data Data writing means for writing the target data storage row to be written in the memory array in 8-bit units, and the 8-bit written data written in the target data storage row.
  • Data verifying means for determining whether the evening matches 8-bit write data held in the write data holding means, and the write And a controller that does not execute writing of the remaining write data to the data storage row next to the target data storage row by the data writing means when the written data does not match the written data.
  • write data having a data capacity corresponding to n times the predetermined 8-bit data that can be stored in the data row of the memory array is stored in the memory array in units of 8 bits.
  • the control unit when the written data and the write data match, the control unit performs the next to the target data storage row by the data writing means.
  • the write data may be written to the data storage row. In such a case, the remaining data of the write data can be sequentially written to the memory array while maintaining the reliability of the data.
  • n in a predetermined address unit is provided for a semiconductor memory device having a plurality of overnight storage rows in a predetermined address unit and having a nonvolatile memory array that is accessed sequentially.
  • a write control method is provided to write data with a data capacity equivalent to twice (n is an integer of 2 or more).
  • the target data to be written in the memory array is written in the predetermined address, unit, and written to the target data storage row.
  • a write control method of the third aspect of the present invention it is possible to obtain the same functions and effects as those of the semiconductor memory device according to the first aspect of the present invention, and to achieve the third aspect of the present invention.
  • a write control method includes: a semiconductor memory device according to the first aspect of the present invention; Similarly, various aspects can be realized.
  • the written address of the predetermined address unit written in the next data storage line and the held address unit of the predetermined address unit are further included. It is determined whether or not the write data matches, and if the written data and the write data do not match, the remaining write data for the next data storage line of the next data storage line is determined. It is not necessary to execute the writing. Further, when the written data and the written data match, writing of the remaining write data to the next data storage line of the next data storage line may be executed. In such a case, it is possible to improve the write reliability of write data for a plurality of storage rows in the memory array.
  • a semiconductor memory device having a non-volatile memory array having a plurality of data storage rows each having eight data cells storing 1-bit data and sequentially accessing.
  • it provides a write control method for writing write data that is n times 8 bits (n is an integer of 2 or more).
  • the write control method according to a fourth aspect of the present invention is configured to receive write data that is n times longer than the 8 bits, hold the received write data in units of 8 bits, and Write the retained write data to the target data storage row to be written in the array in 8-bit units, and write data in 8 pit units written to the target data storage row. And whether or not the held 8-bit unit write data matches, and if the written data and the written data do not match, The remaining data is not written to the data storage line.
  • the write control method of the fourth aspect of the present invention it is possible to obtain the same operational effects as those of the semiconductor memory device according to the second aspect of the present invention, and the fourth aspect of the present invention.
  • the write control method according to this aspect can be realized in various aspects in the same manner as the semiconductor memory device according to the second aspect of the present invention.
  • the write control method further includes: 8-bit written data written to the next data storage row; and the retained 8-bit written data. If the written data and the write data do not match, the remaining write data for the next data storage line of the next data storage line is determined. You don't have to write. In addition, when the written data and the written data match, the remaining write data may be written to the data storage row next to the next data storage row. In such a case, it is possible to improve the write reliability of write data for a plurality of storage rows in the memory array.
  • the methods according to the third and fourth aspects of the present invention can also be realized as a program and a computer-readable recording medium that records the program.
  • a fifth aspect of the present invention provides a semiconductor memory device.
  • a semiconductor memory device includes: a nonvolatile memory array; and a read / write controller that controls data write to the memory array and data read from the memory array.
  • the read / write controller stores the value of the input multi-bit write data and the multi-bit storage area where the multi-bit write data is to be written when data write to the memory array is requested.
  • the value of the stored data of the plurality of bits is compared with the maximum number of bits of the write data of the plurality of bits in order in 1-bit units, and a predetermined magnitude relationship is established with respect to the value of each bit of the stored data.
  • the semiconductor memory device of the fifth aspect of the present invention it is possible to prohibit writing of write data that does not satisfy the predetermined magnitude relationship.
  • the stored data stored in the storage area that has been written and the writing of the determined bit are written. If the data does not match, and if they do not match, the write data of the bit after the determined bit can be prohibited from being written. It is possible to more reliably prohibit writing data that does not satisfy the size relationship.
  • a semiconductor memory device includes: a nonvolatile memory array; and a read / write controller that controls data writing to the memory array and data reading from the memory array.
  • the read / write controller is configured to output a plurality of bits of data to be written and a plurality of bits to be written when the data write to the memory array is requested.
  • a plurality of bits of storage data stored in the storage area are sequentially compared in increments of 1 bit from the largest picker among the plurality of bits of data storage, and the storage data If there is a bit that is determined to satisfy the predetermined magnitude relationship with respect to the value of each bit, the determined bit is assigned first.
  • the stored data stored in the memory and the write data of the determined bit are checked to see if they match, and if they match, the n bits starting from the determined bit
  • a bit later than Write data is written in units of n bits, and if they do not match, write is prohibited for write data of bits after n bits starting with the determined bit.
  • the fifth semiconductor memory device of the present invention having the above-described configuration, it is possible to prohibit writing of write data that does not satisfy the predetermined magnitude relationship.
  • writing the bits determined to satisfy the prescribed magnitude relationship It is checked whether the data and the stored data stored in the storage area where the write data was written match, and if they do not match, the predetermined magnitude relationship is satisfied. Since it is possible to prohibit writing to the write data of the bit after the bit judged to be in error, the write data that does not satisfy the predetermined magnitude relationship is more securely prohibited from being written. be able to.
  • the semiconductor memory device can also be realized as a write control method for a semiconductor memory device, a program, and a computer-readable recording medium recording the program.
  • the semiconductor memory device accommodates a printing record and a recording material that are detachably attached to the printing device in order to store information on the amount of the printing recording material. It is a printing recording material container to be used, and may be used by being attached to a housing portion that houses the printing recording material. In this case, it is possible to improve the reliability of information relating to the amount of printing recording material.
  • a printing system comprising: a printing apparatus; and a printing recording material container having the semiconductor memory device according to the first, second, and fifth aspects of the present invention that is detachably attached to the printing apparatus.
  • the printing apparatus includes a semiconductor storage device mounted on the printing recording material container, a data signal line, a clock signal line, a reset signal line, a positive power supply line, and a negative electrode. Via power line And a host computer that transmits information on the amount of the printing recording material consumed in the printing apparatus to the semiconductor storage device, and is installed in the printing recording material container.
  • a semiconductor memory device stores the amount of information related to the received printing recording material in the memory array.
  • the data length that can be stored in one row of the memory array provided in the semiconductor storage device is Even long data lengths can improve the writing reliability.
  • FIG. 1 is a block diagram showing a functional internal configuration of the semiconductor memory device according to the first embodiment.
  • FIG. 2 is an explanatory diagram schematically showing an internal configuration map of a memory array provided in the semiconductor memory device according to the first embodiment.
  • FIG. 3 is an explanatory diagram schematically showing the structure of write data written to the semiconductor memory device in the first embodiment.
  • FIG. 4 is a timing chart showing the temporal relationship among the reset signal R ST, the external clock signal S CK, the data signal S D A, and the address count evening value when the read operation is executed in the semiconductor memory device according to the first example.
  • FIG. 5 is a timing chart showing a temporal relationship between the reset signal RST, the external clock signal SCK :, the data signal SDA, and the address counter value when the write operation is performed in the semiconductor memory device according to the first embodiment. .
  • FIG. 6 is a flowchart showing a processing routine of the first data verification process in the writing process executed by the semiconductor memory device according to the first embodiment.
  • FIG. 7 is a flowchart showing the processing routine of the first data verification process according to the first embodiment.
  • FIG. 10 is a flowchart showing a processing routine of second data verification processing in executed writing processing.
  • FIG. 8 is an explanatory diagram showing an application example of the semiconductor memory device according to the first embodiment.
  • FIG. 9 is a block diagram showing the internal circuit configuration of the semiconductor memory device according to the second embodiment.
  • FIG. 10 is a flowchart showing the procedure of the data write operation in the second embodiment.
  • FIG. 11 is a block diagram showing the internal circuit configuration of the semiconductor memory device according to the third embodiment.
  • FIG. 12 is a flowchart showing the procedure of the overnight write operation in the third embodiment.
  • FIG. 13 is a flowchart showing the procedure of the data write operation as a modification of the third embodiment.
  • FIG. 14 is a flowchart showing the procedure of the data write operation as a modification of the third embodiment.
  • FIG. 1 is a block diagram showing a functional internal configuration of the semiconductor memory device according to the first embodiment.
  • FIG. 2 is an explanatory diagram schematically showing an internal configuration map of the memory array provided in the semiconductor memory device according to the first embodiment.
  • FIG. 3 is an explanatory diagram schematically showing the structure of write data written to the semiconductor memory device in the first embodiment. It is.
  • the semiconductor memory device 10 is a sequential access type storage device that does not need to input address data for designating an access destination address from the outside.
  • Semiconductor memory device 1 0 is memory array 1 00, address counter 1 1 0, IN / OUT controller 120, ID comparator 1 30, write / read controller 140, increment controller 1 50, charge pump circuit 1 6 0, 8 Bit latch register 1 7 0 is provided. Each of these circuits is connected by a bus type signal line.
  • the memory array 100 includes an E E P ROM array 1 0 1 and a mask ROM array 1 0 2.
  • £? ⁇ ⁇ : Array 10 1 is a storage area that has the characteristics of an EEPROM that can electrically erase and write data.
  • the EE PROM array 1 0 1 used in this embodiment When writing, data can be written immediately without erasing existing data.
  • the mask ROM array 102 is a storage area having the characteristics of an erasable and non-rewritable mask ROM in which data is written during the manufacturing process.
  • the EEPROM array 101 and the mask ROM array 10 2 of the memory array 100 are provided with a plurality of data cells (memory cells) for storing 1-bit information schematically shown in FIG.
  • the memory array 100 has 8 addresses (addresses for 8 bits per night) as a predetermined address unit in one row.
  • the EEPROM array 100 1 Each row has 8 data cells (8 bits), and 16 data cells (16 bits) in one column. 16 words x 8 bits ( 1 28-bit) data can be stored.
  • the mask ROM array 102 has 8 data cells (8 bits) in one row and 8 data cells (8 words) in one column, 8 words x 8 bits (64 bits). Can be stored.
  • the data written to the memory array 100 is shown in FIG.
  • the first 3 bits have identification information (ID 0 to ID 2), and the fourth bit from the beginning has write / read control information for instructing either writing or reading.
  • the write data has 16 bits (D15 to D0) in order from the most significant bit (MSB).
  • MSB most significant bit
  • the write data in this embodiment is data having a bit length that can be stored in one row by the memory array 100, that is, a data length that is twice as long as 8 bits.
  • the memory array 10 0 in this embodiment includes an EEPROM ROM array 10 1 and a mask ROM array 10 2.
  • Identification information (ID information) for identifying each semiconductor memory device is stored in the first 3 addresses of the EEPROM array 101 (A0 to A2 column, 3 bits in the first row). Writing to the first line including the first three addresses is prohibited, and for example, it cannot be rewritten after shipment from the factory.
  • the 9th address (08H) to 16th address (0FH) and 17th address (10H) to 24th address (07H) of EE PROM array 10 1 are constant. Under conditions, rewritable 16-bit information is stored. In each of these addresses, write data (D 15 to D 0) is stored as described in association with each address (08 H to 17 H) in FIG. That is, data of 8 pits of D 15 to D 8 is written in the first row (0 8H to 0 FH), and data of D 7 to D 0 is written in the second row (1 0H to 17H). .
  • the row composed of the ninth address (08H) to the 16th address (0FH) and the 17th address (10H) to 24th address (17H) is limited to write.
  • Each of the 9th address to the 16th address and the 17th address to the 24th address may be referred to as a predetermined address unit.
  • the fixed condition is, for example, when the stored information is information about ink consumption, and the value of the written data is larger than the value of the existing data. Or, if the stored information is information about the remaining amount of ink, the value of the data to be written is smaller than the existing data value.
  • E E P R O M Array 1 0 1 Addresses after the 2nd 5th address are read-only areas. For example, they cannot be rewritten after shipment from the factory.
  • the mask ROM array 1 0 2 is written with information (data) when the memory array is manufactured. After the memory array is manufactured, writing cannot be executed even before shipment from the factory.
  • the memory array 100 includes a plurality of rows in units of 8 bits. However, each row is not an independent data cell column. It is realized by bending in bit units. In other words, for convenience, the row containing the 9th pit is simply called the 2nd byte, and the row containing the 17th bit is just called the 3rd byte. As a result, in order to access a desired address in the memory array 100, it is necessary and necessary to access sequentially from the head, so-called sequential access method. Direct access to the address is not possible.
  • Each data cell in the memory array 100 is connected to a word line and a pit (data) line. Select the corresponding word line (row) (apply a selection voltage) and write to the corresponding pit line. Data is written to the data cell by applying a voltage. The corresponding word line (row) is selected, the corresponding bit line is connected to the IN / OUT controller 1 2 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 column selection circuit 1 0 3 connects the columns (bit lines) to the IN / OUT controller 1 2 0 in order according to the number of external clock pulses counted by the address counter 1 1 0.
  • the row selection circuit 1 0 4 is counted by the address counter 1 1 0.
  • the selection voltage is applied to the rows (word lines) sequentially according to the number of external clock pulses applied. That is, in the semiconductor memory device 10 according to the present embodiment, access to the memory array 100 using the address data is not executed, and a desired address is exclusively determined according to the number of clock pulses counted by the address counter 110. Access to is performed.
  • the address count 1 1 0 is connected to the reset signal terminal R S TT, the clock signal terminal S CKT, the column selection circuit 103, and the mouth selection circuit 104.
  • 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). After the reset signal is set to 1, the external clock signal terminal S The number of clock pulses is counted in synchronization with the falling edge of the clock pulse input via CKT (count value is incremented).
  • the address counter 110 used in this embodiment is an 8-bit address counter that stores the number of eight clock pulses corresponding to the number of data cells (number of bits) in one row of the memory array 100. Note that the initial value may be any value as long as it is associated with the head position of the memory array 100, and generally 0 is used as the initial value.
  • the IN / OUT controller 120 transfers the write data input to the data signal terminal SDAT to the memory array 100, or receives the data read from the memory array 100 and receives the data. This is a circuit to output to the signal terminal S DAT.
  • I NZOUT controller 120 is connected to data signal terminal SDAT, reset signal terminal RS TT, memory array 100, and write-no-read controller 140. Switches the data transfer direction for 100 and the data transfer direction (for the signal line connected to data signal terminal SDAT) for data signal terminal SDAT.
  • I Data signal terminal for NZOUT controller 1 20 The input signal line from SDAT is written to the data signal terminal SDAT.
  • An 8-bit latch register 170 that temporarily stores data is connected.
  • the 8-bit latch register 1 70 holds the data string (MS B) input from the data signal terminal SDAT via the input signal line until it reaches 8 bits. 0 8-bit data held for 1 is written.
  • the 8-bit latch register 170 is a so-called FIFO shift register. When the 9th bit of the input data is newly latched, the already latched 1st bit data is released.
  • the I NZOUT controller 120 sets the data transfer direction for the memory array 100 to the read direction, and the input signal line between the 8-pit latch register 1 70 and the I NZOUT controller 120 is Data input to the data signal terminal S DAT is prohibited. This state is maintained until a write processing request is input from the write Z read controller 140. Therefore, the data of the first 4 bits of the data string input via the data signal terminal S DAT after the reset signal is input is not written to the memory array 100. On the other hand, the first 4 bits of the memory array 100 ( The data stored in the 4th bit is don't care) and sent to the ID comparator evening 130. As a result, the first 4 bits of the memory array 100 are read-only.
  • ID Comparator 1 30 is connected to clock signal terminal S CKT, data signal terminal SD AT, and reset signal terminal RSTT, and the identification data and memory included in the input data string input via data signal terminal SDAT It is determined whether or not the identification data stored in array 1 00 (EE PROM array 1 0 1) matches. Specifically, the ID comparator 100 acquires the first 3 bits of the operation code that is input after the reset signal RST is input, that is, the identification data.
  • ID comparator 130 is a 3-bit register (not shown) that stores the identification data included in the input column, IN / OUT controller Has a 3-bit register (not shown) that stores the most significant 3-bit identification data obtained from the memory array 1 0 0 via 1 2 0, and whether or not the values in both registers match To determine whether the identification data match.
  • ID comparator 130 is a 3-bit register (not shown) that stores the identification data included in the input column, IN / OUT controller Has a 3-bit register (not shown) that stores the most significant 3-bit identification data obtained from the memory array 1 0 0 via 1 2 0, and whether or not the values in both registers match To determine whether the identification data match.
  • the ID comparator 1 3 0 sends the access permission signal EN to the write / read controller 140 when both identification data matches.
  • Write ⁇ Read controller 1 40 is I NZOUT controller 1 20 ID comparator 1 3 0, Increment controller 15 0, Charge pump circuit 1 60, Clock signal terminal S CKT, Data signal terminal SDAT, Reset signal terminal RS TT.
  • the write Z load controller 140 receives write Z read control information (3-pit ID information) that is input via the data signal terminal S DAT in synchronization with the fourth clock signal after the reset signal RST is input. This is a circuit that switches the internal operation of the semiconductor memory device 10 to either writing or reading.
  • the write Z read controller 140 analyzes the acquired write Z read command when the access enable signal AEN from the ID comparator 1 30 and the write enable signal WEN 1 from the increment controller WEN 1 are input. To do. If the write / read controller 1 40 is a write command, the write enable signal WEN that permits the write by switching the data transfer direction of the bus signal line to the write direction to the I NZOUT controller 1 2 0 2 is sent and the charge pump circuit 1 6 0 is requested to generate a write voltage.
  • the write data DI written to the write-restricted row is data having a characteristic that the value increases (increments)
  • the write data is DI
  • the write data DI data is determined by determining whether the write data DI is smaller than the existing data DE already stored in the write-restricted row. Garbled, reduce or prevent incorrect data entry. This function is provided by the increment controller in the former case and the decrement controller in the latter case. In this embodiment, the former will be described as an example in the following description.
  • the increment controller 15 0 is connected to the reset signal terminal R S TT, the write / read controller 140, and the charge pump circuit 16 0 via signal lines.
  • the increment controller 1 5 0 has a 4-bit counter 1 5 1 and 8-bit internal registers 1 5 2 and 1 5 3 inside.
  • Increment controller 1 5 0 determines whether or not the write data DI written to the write-restricted row is larger than the existing data DE already stored in the write-restricted row, and the EEPROM array 1 0 Determine whether the data written to 1 has been written correctly (verify, verify).
  • Increment controller 1 5 0 reads the existing data DE from the write-restricted row of the EEPROM array 1 0 1 by latching the write data DI into the 8-bit latch register 1 7 Store in internal register 1 5 2.
  • Increment controller 15 0 compares existing data ED to be read ED and write data DI input to 8-bit latch register 1 170 in 1-bit units, and write data DI is larger than existing data DE. Determine whether the value is overnight. In order to speed up the process, it is desirable that the input write data is MSB.
  • the increment controller 1 5 0 When the write data DI is larger than the existing data DE, the increment controller 1 5 0 outputs a write enable signal WEN 1 to the write / read controller 140. If there are multiple write-restricted rows, the write data DI is the existing data in all write-restricted rows. Only when the value is larger than DE, the increment controller 1 5 0 outputs the write enable signal WEN 1.
  • the increment controller 1 5 0 verifies whether or not the data has been written correctly after writing the write data, and if the write data is not written correctly, the internal 8-bit internal register 1 5
  • the existing data DE stored in 2 is written back to the memory array 1 0 0.
  • the 4-bit counter 1 5 1 provided in the increment controller 1 5 0 is 8 bits behind the external clock signal from the write standby state, and the charge pump circuit 1 6 Internal oscillator provided for 0 1 6 2 Starts counting up upon receipt of an internal clock signal.
  • the count value counted up by the 4-bit count 1 5 1 is input to the column selection circuit 1 0 3 and the row selection circuit 1 0 4, and the existing data D E just written is read out.
  • the charge pump circuit 1 60 is used to set the write voltage required for writing data to the EEPROM array based on the request signal from the write Z read controller 1 4 0. This is a circuit for supplying to the selected bit line via.
  • the charge pump circuit 160 has an internal oscillator 16 2 that generates the required operating frequency when boosting the voltage, and generates the required write voltage by boosting the voltage obtained via the positive power supply terminal VDDT. .
  • FIG. 4 is a timing chart showing the temporal relationship between the reset signal RST, the external clock signal SCK, the delay signal SDA, and the address counter value during the read operation in the semiconductor memory device according to the first embodiment.
  • the host computer (not shown) will synchronize the data signal SDA containing the 4-bit operation code with the external clock signal.
  • the operation code includes identification information ID 0, ID 1, and ID 2 in the first 3 bits, and the command bit for deciding whether to write or read in the 4th bit from the beginning. .
  • the comparison of identification information is performed as follows.
  • the ID comparator 130 receives the data input to the data signal terminal SDAT in synchronization with the rising edges of the three clock signals SCK after the reset signal RST is switched from low to high, that is, 3 Acquire pit identification information and store it in the first 3-bit register.
  • the ID comparator 1 30 acquires data from the address of the memory array 1 00 specified by the counter value 00, 01, 02 of the address counter 1 1 0, that is, stored in the memory array 100. Acquire identification information and store it in the second 3-bit register.
  • the ID comparator 130 determines whether or not the identification information stored in the first and second registers matches. If the identification information does not match, the I NZOUT controller 120 controls the 8-bit latch register. The high impedance state for the input signal line between 1 7 0 and I NZOUT controller 1 20 is maintained. On the other hand, the ID comparator 130 outputs an access permission signal AEN to the write / read controller 140 when the identification information and information stored in the first and second registers match.
  • the line / read controller 140 that has received the access permission signal AEN sends the command sent to the bus signal line in synchronization with the rising edge of the fourth clock signal SCK after the reset signal RST switches from low to high. The bit is acquired and it is determined whether or not it is a write command.
  • the write Z read controller 140 outputs a read command to the I NZOUT controller 120 if the acquired command bit is not a write command.
  • I NZOUT controller 1 20 that received the read command is memory array 1 0 Change data transfer direction to 0 to read direction and allow data transfer. Since the address counter 1 1 0 counts up in synchronization with the falling edge of the clock signal S CK, the address counter value after the operation code is input 1 10 is 04 and stored in 04 H of the memory array 1 00 Read from existing data DE. The existing data stored in the memory array is sequentially output to the data signal terminal SDAT via the I NZOUT controller 120 in synchronization with the falling edge of the clock signal S CK. DE is held for the period until the next fall of the clock signal SCK.
  • the existing data DE stored in the next address (data cell) in the memory array 100 becomes the data signal terminal SDAT. Is output. This operation is repeated in synchronization with the clock signal S CK until the desired address is reached. That is, since the semiconductor memory device 10 in this embodiment is a sequential access type memory device, the host computer issues the number of clock signal pulses corresponding to the address to be read or written. Address counter 1 1 0 The counter value must be incremented to the count value corresponding to the given address. As a result, the existing data DE is sequentially read from the address specified by the count value of the address counter 110 which is sequentially incremented in synchronization with the clock signal SCK.
  • the memory array 100 of the semiconductor memory device 10 has only addresses 00H to BFH, but the address count 110 is counted up to the address FFH.
  • the addresses C 0H to FFH are pseudo areas, and the corresponding addresses do not exist in the memory array 100. During the period in which such pseudo areas are accessed, the value “0” is set for the data signal terminal SDAT. "Is output. When address count 1 10 counts up to address FFH, the address returns to address 00H. After the read operation is completed, the host computer Then, a reset signal RST of 0 or LOW is input, and the semiconductor memory device 10 is put in a standby state for receiving an operation code.
  • FIG. 5 is a timing chart showing the temporal relationship between the reset signal RST, the external clock signal SCK, the data signal SDA, and the address count evening value when the write operation is executed in the semiconductor memory device according to the first embodiment. Is. In the semiconductor memory device 10 according to the present embodiment, writing is executed in row units (8-bit units), that is, in predetermined address units (8 address units).
  • the / read controller 140 sends a response to the I NZOUT controller 1 20 To output the write enable signal WEN 2.
  • the IN / OUT controller 120 Upon receiving the write enable signal WEN 2, the IN / OUT controller 120 changes the overnight transfer direction to the memory array 100 to the write direction, and changes the signal line high between the 8-bit latch register 1 70 and the IN / OUT controller. Cancel the impedance setting and allow data transfer. As a result, the value (0 or 1) of the write data DI is transferred to each bit line of the memory array 100.
  • the write Z read controller 140 requests the charge pump circuit 160 to generate a write voltage after the rising edge of the clock signal SCK in the eighth cycle after the write standby state, and the generated write voltage is The bit line selected by the column selection circuit 103 is applied to all the bit lines in this embodiment. As a result, the 8-bit data stored in the 8-pit latch register 1 70 is “1”. “0” is written to the write limit line at once.
  • the count value of 7 dress count 1 1 0 is incremented by 1 and written to the next address (8 addresses).
  • the write data DI 2 (2nd byte data) to be loaded is fetched.
  • the existing data DE just written and the write data DI used for writing DI and A verify process is performed to determine whether or not the two match.
  • the count value for specifying the address of the existing 8-bit data DE just written by the 4-bit counter 15 1 provided in the increment controller 150 is displayed in the column selection circuit. Input to 1 03 and row selection circuit 1 04.
  • the existing 8-bit data DE just written is output from the IN / OUT controller 120, and the increment controller 150 is connected via the IN / OUT controller 120.
  • the verify process for verifying whether the existing data DE just written and the write data DI used for writing match each other of the second byte write data DI 2 It may be executed at the timing when the bit is latched in the 8-bit latch register, 170 (data verify 2 period). Specifically, the increment controller 150 is released from the 8-bit latch register 1 70 at the timing when each bit of the write data DI 2 of the second byte is latched in the 8-bit latch register 1 70.
  • 1-bit write data DI 1 n used for the write immediately before writing is acquired, and the existing data just written in 1-bit units from the first write-restricted row of the memory array 100 Evening DE 1 n is read from MS B.
  • the increment controller 150 matches the acquired write data DI 1 n with the read existing data DE 1 n. Verify whether or not. By repeating this bit-wise comparison process 8 times (Deliver Verify 2 period), it is possible to determine whether or not the write data DI 1 of the first byte has been correctly written to the first write limit row. .
  • the write data DI is 16 bits long as shown in FIG. 3, and the write restriction row has two rows (8 addresses X) of the first write restriction row and the second write restriction row. 2) Therefore, when the above processing is executed twice, writing of the writing data DI is completed.
  • the write data sent from the host computer has the same value (0 or 1) as the data currently stored in the memory array 100, except for the data corresponding to the address to be rewritten. ing. That is, the address that is not rewritten in the memory array 100 is overwritten with the same value.
  • FIG. 6 is a flowchart showing a processing routine of the first data verification process in the writing process executed by the semiconductor memory device 10 according to the first embodiment.
  • the increment controller 150 reads the existing data DE 1 just written from the first write restriction row of the memory array 100 (step S 10 0) Compared with the write data DI 1 stored in the 8-bit latch register 170 (step S 1 0 2). Specifically, the increment controller 1 5 0 uses the internal clock signal generated by the internal oscillator 1 6 2 of the charge pump circuit 1 60 during the clock low period after the end of writing of the first byte.
  • the increment controller 1 5 0 inputs the count value of the 4-bit counter 1 5 1 to the column selection circuit 1 0 3 and row selection circuit 1 0 4, and the first write limit of the memory array 1 0 0 Read the 8-bit existing data DE 1 just written from the line through the INOZO UT controller 120 in address order and latch it in the 8-bit internal register 15 3. In other words, the internal clock signal is output with a delay of 8 bits (8 clocks) from the write standby state.
  • the increment controller 1 5 0 is the write used to write to the existing data DE 1 latched in the 8-bit internal register 1 5 3 and the first write-restricted row latched in the 8-bit latch register 1 7 0. It is determined whether or not the data DI 1 matches (step S 1 0 4). Increment controller 1 5 0 is stored in 8-bit internal register 1 5 3 read from the first write limit row DE 1 is stored in 8-bit latch register 1 7 0 If it matches the written data DI 1 that has been written (step S 10 04: Yes), it is determined that the writing has been completed normally (step S 10 06), and this processing routine is completed. In such a case, the write processing of the second byte of write data DI 2 for the second write-restricted row is the same as the write processing of DI 1 of the first byte for the first write-restricted row. Executed.
  • step S -1 1 0: Y es this processing routine is terminated, while the increment controller 15 0 is DE l ⁇ DE l, and if it is determined to be ld (step S 1 1 0: No), 8 Write the existing data before writing stored in bit internal register 1 5 2 to DE 1 0 , d to the first write-limited row of memory cell 1 0 0 (step S 1 1 2)
  • step S 1 1 2 the second writing restriction line is entered. Write processing of the remaining write data DI 2 to is not performed.
  • the write-back process is performed in the write process cycle for the second write-restricted row.
  • M is input to the IN / OUT controller 120 and the write process is executed for the first write-restricted row in the memory array 10 0 0 in the same manner as the data input via the data signal terminal SDAT.
  • the data in the first and second write / restricted rows of the memory array 1 0 0 is returned to the value before the execution of the write process, so at least the incorrect data write to the memory array 1 0 0 is performed.
  • the reliability of data writing to the memory array 100 can be improved.
  • Figure 7 shows the semiconductor according to the first embodiment.
  • 10 is a flowchart showing a processing routine of a second data verification process in a writing process executed by the body storage device 10.
  • the data verification process may be executed by a second data verification process described below, instead of the first data verification process described above.
  • the increment controller 1 5 0 reads the existing data D E 1 n that has just been written in bits from the first write-restricted row of the memory array 100 (step S 2 0 0). Specifically, the increment controller 1 5 0 determines whether the second byte write data “DI 2 n DI 2 n is latched by the 8-bit latch register 1 7 0 at the memory array. 1 0 0 1st write restriction Read existing data DEI n of 1 'bit existing data 1 that has just been written from row 1.
  • Reading such existing data DE 1 n is, for example, during verify processing (When the 2nd byte write data DI 2 is latched), the column selection circuit 1 0 3 and the row selection circuit 1 0 4 receive 8 counts from the count value input from the address counter 1 1.0.
  • the read data of the memory array 1 0 0 may be selected using the subtracted count value, or the column selection circuit 1 0 3 and the d-selection circuit 1 0 4 may be Read add Storing the scan advance, the Adoresu which is remembers based on the count value input from the address counter 1 1 0 ⁇ may be arranged in such a way as to select.
  • the increment controller 1 5 0 obtains the bit unit write data D I 1 n released from the 8-bit latch register 1 70 (step S 2 0 2). Specifically, since the 8-pit latch register 170 is a FIF 0 type register, the write data DI 1 that is already latched every time the second byte of write data DI 2 is latched in 1-bit units. Are emitted in 1-bit units. The increment controller 1 5 0 sequentially obtains the released 1-bit write data D I 1 n.
  • Increment controller 1 5 0 is the first write to memory array 1 0 0
  • the existing data DE 1 n read from the restricted row is compared with the write data DI 1 n acquired from the 8-bit latch register 1 70 (step S 2 04).
  • step S 2 0 8 No
  • the increment controller 1 5 0 executes steps S 2 0 to 2 0 6 again. That is, in the second overnight processing, every time the second byte write data DI 2 is stored in the 8-bit latch register 170, the existing data DE 1 n is changed in 1-bit units. Comparison with write data DI 1 n is performed. Therefore, in order to verify all the 8-bit existing data DE 1 stored in the first write-restricted row of the memory array 100, it is necessary to execute eight comparison processes.
  • step S 2 0 8 Yes
  • the write to the first write-restricted row of the memory array 1 0 0 is completed normally.
  • Step S 2 1 0 the write processing of the second byte of write data DI 2 for the second write-restricted row is the same as the write processing of DI 1 of the first byte for the first write-restricted row. Executed.
  • step S 2 14: Yes If it is determined that it is M (step S 2 14: Yes), this processing routine is terminated. On the other hand, the increment control unit 150 has DE 1 ⁇ DE 1. If it is determined that it is w (step S 2 14: No), the existing data before writing stored in the 8-bit internal register 1 52 is DE 1. Write w back to the first write-restricted row of memory cell 100 (step S 2 14), and the processing routine is terminated. In the same way as the first data verification process, when a write abnormality is determined, the remaining write data DI 2 is not written to the second write-restricted row.
  • the write-back process is executed in the same manner as described in the first overnight verification process.
  • FIG. 8 is an explanatory diagram showing an application example of the semiconductor memory device according to the first embodiment.
  • the semiconductor storage device 10 according to the present embodiment is provided in a storage container that stores a consumption material, for example, an ink storage body 3 10, 3 1 1, 3 12 that stores ink as a printing recording material.
  • a consumption material for example, an ink storage body 3 10, 3 1 1, 3 12 that stores ink as a printing recording material.
  • each ink container 310, 31 1, 3 12 is attached to the printing apparatus, it is connected to the host computer 300 provided in the printing apparatus via a bus.
  • the data signal line SDA, the clock signal line S CK, the reset signal line RST, the positive power supply line VDD, and the negative power supply line VSS from the host computer 300 are each of the ink containers 3 1 0, 31 1, 31 2 Is connected to the semiconductor memory device 10 provided in the memory.
  • information on the amount of ink such as the remaining amount of ink or the amount of ink consumed is stored in the semiconductor memory device 10.
  • the semiconductor memory device 10 can store data in one row of the memory array 100 included in the semiconductor memory device 10 with respect to the semiconductor memory device 10.
  • Write data DI that is twice the data length of the overnight length (8 bits)
  • the memory array 10 0 included in the semiconductor memory device 10 is stored at the top address from the top of the most significant pit (MSB), so the upper 8 bits are represented by the upper 8 bits. Digits are not written in error, and write data can be improved in the evening. 'Further, since the write reliability of data having a data length longer than the data length that can be stored in one row of the memory array 10 0 0 can be improved, the semiconductor memory device 10 according to the present embodiment It can be shared by multiple devices that handle write lengths that are integral multiples of the data length that can be stored in one row of 100.
  • the verification process is executed in units of 8 bits. Therefore, it is possible to execute the verification process in a lump. Compared with the case where the verification process is executed in units of 1 bit, The time required for the verification process can be shortened.
  • the verification process can be executed without using a circuit such as a 4-bit counter and an internal oscillator 16 2. That is, in the first verification process, the verification process is executed in units of 8 pits, but in the second verification process, it is executed in units of 1 pit. In such a case, the increment controller 15 50 does not need to include the 4-bit counter 15 1 and the 8-bit internal register 15 3 and can simplify the circuit configuration. wear. Modification of the first embodiment:
  • 8 ZET Internal register 1 5 2 Existing data DE 1 before writing latched. u is written back to the first write-restricted line, but it is not necessary to perform a write-back. Even in such a case, writing of the write data DI 2 of the second byte for the second write-restricted row is not executed, and the value of the lower 8 bits is guaranteed to be a normally written value.
  • the upper 8-bit value is generally not a value that fluctuates greatly in a short period of time, so it is possible to avoid problems by verifying the likelihood of the previous value on the host computer side.
  • 16-bit write data has been described as an example, but in addition to this, a memory array such as 24 bits or 32 bits can be used.
  • the present invention can be similarly applied to data having a data length that is a multiple of the bit length of one row of 100, and the same effect can be obtained.
  • the verify process is executed in 1-byte units (8-bit units) until the last 1 byte is written.
  • the verify eye process is not executed for the write data D I 2 of the second byte, but the verify process for the write data D I 2 of the ⁇ byte may be executed.
  • the ink cartridge is used as an application example, but the same effect can be obtained in the toner cartridge.
  • the same effect can be obtained when applied to a medium storing currency equivalent information such as a prepaid card.
  • the semiconductor memory device is an EE PR OM that holds the stored contents in a nonvolatile manner and is accessed sequentially from the first address in 1-bit units.
  • FIG. 9 is a block diagram showing an internal circuit configuration of the semiconductor memory device according to the second embodiment.
  • the semiconductor memory device 1 OA includes an access controller 1 1 1 10, a read / write controller 1 1 20, an address count 1 1 30, and a memory array 1 140.
  • the memory array 1140 has a storage area of a predetermined capacity, for example, 256 bits.
  • the address counter 1 1 30 is a circuit that increments the counter value in synchronization with the clock signal CLK input to the clock signal terminal CKT. More specifically, the address counter 1 1 30 is a circuit that increments (counts up) the count value in synchronization with the count up signal CP output from the read / write controller 1 1 20.
  • the count-up signal CP is a clock signal output from the read / write controller 1 1 2 0 and corresponds to the internal clock signal ICK.
  • the internal clock signal I CK is a clock signal output from the controller 1 110 and corresponds to the clock signal CLK. Therefore, the count-up signal CP is a clock signal corresponding to the clock signal CLK, and the address counter 1 1 30 counts up the counter value in synchronization with the clock signal CLK.
  • Address counter 1 1 30 The counter value is input to memory array 1 140 as address ADD indicating the location of the 256-bit storage area of memory array 1 140.
  • Array 1 14 A write position or read position at 0 can be specified.
  • the address counter 1 3 0 also resets the counter value to the initial value when the counter reset signal CRST is input.
  • the initial value may be any value as long as it is linked to the head position of the memory array 1140, and generally 0 is used as the initial value.
  • the counter reset signal CRST is output from the read / write controller 1 1 2 0 when the device is started or when access (data read or write) starts or ends.
  • the address counter 1 1 3 0 can designate the write position or read position of the memory array 1 1 140 in order by the counter value counted up from the initial value.
  • the access controller 1 1 1 0 is connected to the chip select terminal CST, the clock signal terminal CKT, and the data signal terminal IO.
  • the chip select signal c S # is input via the chip select terminal C KT and the clock
  • the clock signal CLK is input via the signal terminal CKT
  • the data signal DA is input or output via the signal terminal IO.
  • the input clock signal CLK is sent to the read / write controller: L 120 as the internal clock signal I CK.
  • the data signal DA is an input data signal, it is sent to the read / write controller 1 1 2 0 as the input data signal I D A and sent to the memory array 1 140 as the write data signal WDA.
  • the data signal DA is an output data signal
  • the read data signal RDA sent from the memory array 1 140 is output as the data signal DA.
  • the access controller 1 1 1 1 0 controls the start and end of access based on the chip select signal CS # and the data signal DA input in synchronization with the clock signal CLK. Specifically, the access controller 1 1 1 0 receives the chip select signal CS # and inputs a command signal indicating data read or write as a data signal DA at a predetermined timing. When the specified access is a write, the access permission signal AEN is sent to the read write controller 1 120 and the address counter 1 1 3 0. Controls the start of access by sending to the dry dry controller 1 1 20. In addition, when the input of the chip select signal CS # is finished, the access controller 1 1 1 0 finishes sending the access permission signal AEN, and sends the write access start signal WRS if it is sent. Controls the end of access by terminating.
  • the read / write controller 1 1 20 is in accordance with instructions from the read control unit 1 1 22 that controls data read / write, the write control unit 1 1 24 that controls data write, and the read control unit 1 1 22
  • a read execution signal RD is sent to the memory array 1 140, and a read execution signal RD and a write execution signal WR are sent to the memory array 1 140 according to an instruction from the write control unit 1 1 24. 26 and, and actually controls reading or writing of data.
  • the read control unit 1122 and the read / write execution unit 1 126 The read operation signal RD is sent to the memory array 1 140 to execute the data read processing, in synchronization with the falling edge (rising edge) of the internal clock signal ICK.
  • the read data included in the read data signal RDA read from the memory array 1 140 (also simply referred to as “read data RDA”) is input to the access controller 1 1 1 0 and the data signal terminal Output as an output data signal DA via IO.
  • the line control unit 1 1 24 and the read / write execution unit 1 1 26 operate to Read execution signal RD and internal signal synchronized with falling (rising) of clock signal I CK
  • the write execution signal WR ′ synchronized with the rising (falling) of the internal clock signal I CK is sent to the memory array 1 140 to execute the overnight reading and writing process as described later.
  • the data signal DA input to the access controller 1 1 1 0 via the data signal terminal IO is sent to the memory array 1 1 40 as the write overnight signal WD A, and the write data signal
  • WDA also simply called “write data WDA”
  • the feature of the semiconductor memory device of this embodiment is in the part of the overnight write operation by the write control unit 1 1 24, and the part of the data read operation by the read control unit 1 1 2 2 is Since it is the same as the conventional semiconductor memory device,
  • a multi-bit data that is sequentially input via the data signal terminal IO as the data signal DA is always input in units of 1 bit from the maximum bit (MS B), and the memory array 1 1 40 It is assumed that the storage area location is accessed sequentially from the address associated with the maximum bit.
  • FIG. 10 is a flowchart showing the procedure of the data write operation in the second embodiment. As described above, this operation is performed when the access permission signal A EN is input to the read / write controller 1 1 2 0 from the access controller 1 1 1 0 and the write access start signal WRS is input. This is executed by the light control unit 1 1 24.
  • the write control unit 1 1 24 first causes the read / write execution unit 1 1 2 6 to read data (step S 1 1 0 2).
  • the read / write execution unit 1 1 2 6 sends a read execution signal RD to the memory array 1 140 in synchronization with the falling edge of the internal clock signal ICK.
  • the stored data stored data from the memory area at the memory area corresponding to the address value indicated by the address signal ADD of the memory array 1 140 sent from the address counter 1 1 30 Is read out.
  • the read execution signal RD is transmitted in synchronization with the falling edge of the internal clock signal ICK in the other read processing described below.
  • the write control unit 1124 reads the data as described above and transmits the data represented by the read data signal RDA sent from the memory array 1140 (simply referred to as “read data”).
  • the data represented by the input data signal I DA (simply called “input data j”) input from the data signal terminal I0 and sent from the access controller 1 1 1 0 is compared with (step S 11 04), It is judged whether the value of the read data matches the value of the input data (step S 1 1 06).
  • step S 1 106 If the read data value matches the input data value (step S 1 106: Y es), the write control unit 1 1 24 will set the power count value of the address counter 1 1 30. Is incremented by 1 (step S 1 1 08), and it is further determined whether or not the access operation is to be terminated (step S 1 1 10). If the access operation is to be continued (step S 1 1 10: N o) The read / write execution unit 1126 executes data reading again (step S 1 102). For example, the read / write controller 1 1 20 counts the count-up signal CP in synchronization with the next falling edge of the internal clock signal ICK after the read / write execution unit 1 226 sends the read execution signal RD. Send to 30.
  • the counter value of counter 1 1 30 is incremented by one according to the count-up signal CP.
  • the counter 1 1 30 counts up the counter value every period at each falling timing (count up timing) of the count up signal CP corresponding to the internal clock signal ICK.
  • the write controller 1 1 24 does not match the read data with the input data. Repeat the data reading process (step S 1 1 02) and the comparison process with the input data (step S 1 1 04) until it becomes a match (step S 1 1 0 6: No).
  • the end of the access operation can be determined by whether the chip select signal #CS or the access enable signal AEN is input. Specifically, it can be determined that the access operation is completed if the signal to be determined, for example, the access permission signal AEN is in an inactive state.
  • the write controller 1 1 24 determines whether the read data value matches the input data value (step S 1 1 0 6). If it is not correct (Step S 1 1 0 6: No), it is further judged whether or not the value of the input data is [1] (Step S 1 1 1 2 1] (step S 1 1 1 2: Ye s), the write enable flag is set (step S 1 1 1 4), and the read / write execution unit 1 1 26 is used as the write data. (Step S 1 1 1 6) For example, the read / write execution unit 1 1 2 6 sends the write execution signal WR to the memory array 1 1 40 in synchronization with the rising edge of the internal clock signal I CK. In this case, memory array 1 1 40, address count 1 1 3 0 The storage area of the storage area position corresponding to Adoresu value represented by the address signal ADD that is al transmitted, the input data (write data) is written.
  • the write control unit 1 1 24 increments the counter value of the address counter 1 1 3 0 by 1 at the next count-up timing (step S 1 1 1 8) Further, determine whether or not to end the access operation (Step S 1 1 2 0). If the access operation is to be continued (Step S 1 1 2 0: No), again, write the data again. (Step S 1 1 1 6) and address count-up processing (Step S 1 1 1 8) are executed. On the other hand, when the access operation is terminated (step S 1 1 2 0: Y es), the write enable flag setting is canceled (step S 1 1 2 2) and the address count 1 1 3 0 is counted. Reset the value (step S 1 1 24) to finish this write operation. '
  • the write control unit 1 1 24 determines that the value of the input data is not [1] in the determination of whether the value of the input data is [1] (step S 1 1 1 0). If this occurs (Step S 1 1 1 0: No), disable the writing of input data (Step S 1 1 2 6) until the access operation ends (Step S 1 1 2 8: No), The operation of the read write execution unit 1 1 2 6 is stopped. On the other hand, when the access operation is to be terminated (step S 1 1 2 8: Yes), the counter value of address count 11 1 30 is reset (step S 1 1 24), and this write operation is terminated. .
  • the write enable flag is set, the second bit from the left [1], the third bit [0], and the fourth bit [0] are written in order, and each 4-bit memory is stored.
  • the data stored in the area is rewritten to [1010 b] force input data [1 100 b].
  • the data is rewritten only when the value of the input data as the write data is larger than the value of the stored data as the stored data. If the written data is smaller than the stored data, writing can be prohibited. As a result, it is possible to prevent writing other than writing under predetermined data conditions.
  • the input data is not written when the write data matches the 'stored data'.
  • the write permission flag may be set to write the input data, and the overnight write may be prohibited only when the write data is smaller than the stored data.
  • the write operation of the second embodiment has been described on the assumption that data is sequentially written in 1-bit units.
  • data in n-bit units may be written all at once.
  • all n-bit data is It is necessary to provide a data buffer to hold the input data of each bit until it is input.
  • the write operation of the second embodiment enables data rewriting only when the data condition “write data is larger than stored data” is satisfied.
  • the write operation is performed by changing the timing of the clock signal CLK, which is the reference for the generation of the write execution signal WR, to shorten the generation period of the write execution signal WR, the data condition There is a possibility of writing data that does not meet the requirements. Therefore, in the following, a description will be given of the semiconductor memory device of the embodiment corresponding to this problem.
  • the semiconductor memory device according to the third embodiment is also an E EP ROM that holds the stored contents in a nonvolatile manner and is sequentially accessed from the first address in 1-bit units.
  • FIG. 11 is a block diagram showing the internal circuit configuration of the semiconductor memory device according to the third embodiment.
  • This semiconductor memory device 20 A includes an access controller 1 2 1 0, a read / write controller 1 2 2 0, an address counter 1 2 3 0 and a memory array 1 2 4 0, and a data buffer 1 2 2 8 and a subtraction 1 2 3 2 is provided.
  • the access controller 1 2 1 0, the address counter 1 2 3 0, and the memory array 1 2 4 0 are the access controller 1 1 1 0, address counter of the semiconductor memory device of the second embodiment (see FIG. 9). Same as evening 1 1 3 0 and memory array 1 1 4 0.
  • -Data buffer 1 2 2 8 is input data from access controller 1 2 1 0 according to latch signal DLT input from read / write controller 1 2 2 0
  • the signal IDA is latched, and the latch data is sent to the memory array 1 1 4 0 as the write data signal WD A.
  • the subtractor 1 2 3 2 is an address (referred to as a “non-subtracted address”) represented by the counter value of the address count 1 2 3 0 in accordance with the subtraction signal DEC from the read / write controller 1 2 .20.
  • an address (hereinafter referred to as “subtracted address”) expressed by a value obtained by subtracting the count value is used as an address signal ADD in the memory array 1
  • the read / write controller 1 2 2 0 includes a read control unit 1 2 2 2, a write control unit 1 2 2 4, and a read / write execution unit 1 2 2 6, and basically the second embodiment. Similar to the read / write controller 1 1 2 0, it actually controls access (reading data or writing data).
  • the read control unit 1 2 2 2 and the read / write execution unit 1 2 2 6 are the same as the read control unit 1 1 2 2 and the read / write execution unit 1 1 2 6 of the second embodiment.
  • the write control unit 1 2 2 4 controls the operations of the address counter 1 2 3 0, the read / write execution unit 1 2 2 6, the data buffer 1 2 2 8 and the subtractor 1 2 3 2 Controls write operations.
  • the semiconductor memory device is also characterized by the data write operation performed under the control of the write control unit 1 2 2 4 and the data read operation performed by the read control unit 1 1 2 2. Since this part is the same as that of a conventional semiconductor memory device, a description will be given below of the overnight write operation by the write controller 1 2 2 4. Write operation:
  • data bits DA that are sequentially input via the data signal terminal IO are always the largest bit (MSB).
  • MSB largest bit
  • FIG. 12 is a flowchart showing the procedure of the overnight write operation in the third embodiment. As in the case of the second embodiment, this operation is performed when the access permission signal AEN is input from the access controller 1210 to the read / write controller 1 220 and the write access start signal WRS is input. The light control unit 1 224 is executed.
  • the write control unit 1 224 first causes the read write execution unit 1 226 to read data (step S 1202).
  • the read / write execution unit 1226 sends the read execution signal RD to the memory array 1240 in synchronization with the falling edge of the internal clock signal ICK.
  • the stored data stored data from the storage area at the storage area corresponding to the address value represented by the address signal ADD sent from the address counter 1230 of the memory array 1240 ) Is read out.
  • the read execution signal RD is transmitted in synchronization with the fall of the internal clock signal ICK in the other read processing described below.
  • the write control unit 1224 compares the read data from the memory array 1 240 read out as described above with the input data (step S 1204), and the read data value and the input data are compared. It is determined whether or not the value matches (step S 1 206).
  • step S 1 206 If the value of the read data matches the value of the input data (step S 1 206: Y es), the line controller 1 224 latches the input data in the data buffer 1 228 (step S 1 20 8) After that, the count value of address counter 1 230 is incremented by 1 (step S 1 2 1 0), and further, it is determined whether or not to end the access operation (step S 1 2 12) If the access operation is to be continued (step S 121 2: No), the read / write execution unit 1 1 26 again. To read data (step S 1 2 0 2).
  • the read-write controller 1 2 2 0 receives the latch signal DLT in the data buffer in synchronization with the next rising edge of the internal clock signal ICK after the read / write execution unit 1 2 2 6 sends the read execution signal RD. Send to 1 2 2 8.
  • the data (input data) represented by the input data signal IDA transmitted from the access controller 1 1 1 0 is latched in the data buffer 1 2 28 according to the latch signal DLT.
  • the read / write controller 1 2 2 0 is synchronized with the next falling edge of the internal clock signal ICK after the read / write execution unit 1 2 2 6 sends the latch signal DLT to the data buffer 1 2 2 8.
  • the count up signal CP is sent to the counter 1 2 3 0.
  • count value of count 1 2 3 0 is incremented by 1 according to the count up signal CP.
  • the data buffer 1 2 2 8 latches the input data every cycle at each rising timing (latch timing) of the internal clock signal ICK.
  • Count 1 2 3 0 also counts up the counter value every period at each falling timing (count-up timing) of the count-up signal CP corresponding to the internal clock signal IC.
  • the write control unit 1 2 2 4 performs data read processing (step S 1 2 0 2) and input data until the read data and input data do not match (step S 1 2 0 6: No).
  • the write control unit 1 2 2 4 repeats the access processing (step S 1 2 0 4) when the access operation end determination (step S 1 2 1 2) determines that the access operation ends. (Step S 1 2 1 2: Y es), the counter value of the address count 1 2 3 0 is reset (Step S 1 2 5 0), and this write operation is terminated.
  • the end of the access operation can be determined by whether the chip select signal #CS or the access enable signal AEN is input. Specifically, if the state of the signal to be determined, for example, the access permission signal AEN is inactive, the access operation is completed. It can be determined that
  • the write control unit 1 2 24 determines whether the read data value and the input data value match each other (step S 1 2 0 6). If it is determined that the value does not match (Step S 1 2 06: No), it is further determined whether or not the value of the input data is [1] (Step S 1 2 1 4 )
  • Step S1 2 1 4 If the value of the input data is [1] (Step S1 2 1 4: Y es), set the write enable flag (Step S 1 2 1 6) and use the data buffer at the next latch timing.
  • the input data is latched in 1 2 2 8 (step S 1 2 1 8), and the data write is executed in the read / write execution unit 1 2 2 6 (step S 1 220).
  • the read / write controller 1 2 2 0 receives the latch signal D.LT in synchronization with the next rising edge of the internal clock signal ICK after the read / write execution unit 1 2 26 sends the read execution signal RD. Send to buffer 1 2 2 8 overnight. At this time, the input data is latched in the data buffer 1 2 2 8 according to the latch signal DLT.
  • the read / write execution unit sends the write execution signal WR to the memory array 1240 in synchronization with the next rising edge of the internal clock signal ICK after sending the read execution signal RD.
  • input data write data
  • write data is written to the storage area at the storage area corresponding to the address value indicated by the address signal ADD sent from the address counter 1 2 3 0 of the memory array 1 240. Is included.
  • the write control unit 1 224 increments the counter value of the address counter 1 230 by one at the next address count-up timing (step S 1 220).
  • the write control unit 1 224 reads the address (subtraction address) of the value obtained by subtracting [1] from the counter value (address value) of the address counter 1 2 3 0 to the subtractor 1 23 2 as the read address.
  • the execution unit 1 226 is caused to execute data reading (step S 1 226).
  • the write control unit 1 224 compares the read data and the data corresponding to the write data and latched in the data buffer 1 228 (latch data) (step S 1 228), and reads the read data. It is determined whether or not the value of the latch matches the value of the latch data (step S 1 230).
  • step S 1 230 Ye s
  • the input data is first latched in the data buffer 1 228 at the next latch timing (step S 1 232), let the subtractor 1232 set the address (non-subtraction address) of the address value of the address counter 1 230 as the write address (step S 1234) and let the read / write execution unit 1 1 26 as the write data Input data is written overnight (step S 1 23 6).
  • Step S 1 240 To continue the access operation (Step S 1 240: No), again, from input data latch processing (Step S 1232) to address count up processing (, Step S 1 238) Is executed. On the other hand, when the access operation is terminated (step S 1 240: Yes), the write enable flag is cleared (step S 1 242) and the counter value of address counter 1 230 is reset (step S 1 242). Step S 1 250) End this write operation.
  • the write control unit 1224 determines whether or not the value of the read data and the value of the latch data coincide with each other (step S 1 230). If not correct (Step S 1 230: No), cancel the write enable flag setting (Step S 1 244) and access. Until the operation is completed (Step SI 248: No), writing of input data is prohibited (Step S1246) and the operation of the read / write execution unit 12226 is stopped. On the other hand, when the access operation is terminated (step S 1 248: Y es), the counter value of the address counter 1 2 3 0 is reset (step S 1 2 5 0), and this write operation is terminated.
  • the input data as the write data and the storage data as the storage data are compared in magnitude from the maximum bit side in bit units, and the input data If it is larger, allow writing, write the data for that bit, and then check that the data is written correctly Check for no. If it is not written correctly, write permission can be canceled and subsequent writes can be prohibited. As a result, it is possible to further enhance the prevention of writing other than writing under a predetermined data condition as compared with the second embodiment. Variation of write operation:
  • n-bit unit data (n is an integer of 2 or more) should be written all at once. It may be.
  • FIG. 13 and FIG. 14 are flowcharts showing the procedure of the data write operation as a modification of the third embodiment. This operation is a change from step S 1 2 1 8 to step S 1 2 4 4 to step S 1 3 0 2 to step S 1 3 4 0 in the write operation shown in FIG.
  • the process is the same except for the changes. Below, only the changed processing will be explained.
  • Step S 1 1 6 When the write control unit 1 2 2 4 sets the write enable flag (step S 1 1 6), the lower n bits (A 0, A 1,..., A of the address output from the address counter 1 2 3 0 Until all the values of n-1) become [1] (Step S 1 3 0 4: No), the input data sequentially input is latched in the data buffer 1 2 2 8 at each latch timing (Step S 1 3 0 2) The address value of 1 2 3 0 is incremented in order at each address count up timing (step S 1 3 0 6). If all the values of the lower n bits of the address become [1] (step S 1 3 0 4: Y es), the read / write execution unit 1 2 2 6 stores the data buffer 1 2 8. Write all the latched n-bit latch data (step S 1 3 0 8) and count the address count 1 2 3 0 count value by 1 at the next address count up timing. Make up (Step S 13 1 0).
  • the write control unit 1224 causes the subtractor 1 232 to set the subtraction address of the value obtained by subtracting [n] from the count value (address value) of the address counter 1 230 as the read address (Step S 1 3 1 2) Read / write execution unit 1 2 26 executes overnight reading (step S 1 3 14).
  • the write control unit 1 224 compares the read data with the data (latch data) corresponding to the write data and latched in the data buffer 1 228 (step S 1 3 16). It is determined whether or not the value matches the latch data value (step S 1 3 1 8).
  • Step S 1 3 1 8 If the read data value does not match the latch data value (Step S1 3 1 8: No), the write enable flag setting is canceled (Step S1 3 26) and the input data Writing is prohibited (step S 1 246).
  • step S 1 3 1 8 Y es
  • the lower n bits of the read address output from the address counter 1 230 Until each value reaches [1] (Step S 1 320: No), address count-up processing (Step S 1 322), input data latch processing (Step S 1 3 24), read address setting processing (Step S 1312), data read processing (Step S 1 3 1 4), comparison processing with latch data (Step S 1 3 1 6) and judgment processing (Step S 1 3 1 8) are repeated.
  • step S 1 320 Ye s
  • the counter value of the address counter 1 230 is input to the subtractor 1 232. Is set as the write address (step S 1 328), and the write of the n-bit latch data latched in the data buffer 1 228 is summarized in the read / write execution unit 1 1 26 (Step S 1 330).
  • step S1 3 32: No the count value of address counter 1 230 is incremented by one at each address count up timing (step S1 334). If the access operation is not terminated (step S1336: No), the input data is latched in the buffer 1228 at the corresponding latch timing (step S1338). If each bit value of the write address of the lower n bits is all [1] (step S 1 332: Ye s), it is latched in the data buffer 1 228 in the read / write execution unit 1 26. The n-bit latch data is written all at once (step S 1 330). .
  • step S 1 336 When the access operation is to be terminated (step S 1 336: Yes), the write enable flag setting is canceled (step S 1 340), and the writing of the input data is prohibited (step S 1 246).
  • the capacity of the memory array is described as 256 bits.
  • the present invention is not limited to this, and may be changed as appropriate according to the amount of data to be stored. To get.
  • the EEPROM is used as the semiconductor memory device. However, it is possible to rewrite data and store stored data in a nonvolatile manner. As long as the memory device can be held, the memory device is not limited to the EEPROM, and may be a memory device that performs reading or writing in units of a plurality of bits.

Abstract

 半導体記憶装置10は、1行に8ビットのデータを格納可能なメモリアレイ100に対して16ビットの書き込みデータを書き込むにあたり、先ず、上位8ビットをメモリアレイ100の第1の書き込み制限行に書き込む。インクリメントコントローラ150は、メモリアレイ100に書き込まれた既存データの値と8ビットラッチレジスタ170にラッチされている書き込みに用いられた書き込みデータとが一致するか否かを判定する。インクリメントコントローラ150は、既存データと書き込みデータとが一致する場合には、ライト/リードコントローラ140に対して書き込み許可信号WEN1を出力し、メモリアレイ100に対する下位8ビットの書き込みデータの書き込みを実行する。

Description

明細書
シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ 技術分野
本発明は、 データの書き換えが可能な半導体記憶装置、 シーケンシャルにァク セスされる半導体記憶装置およびシーケンシャルにアクセスされる半導体記憶装 置に対するデータ書き込み制御方法に関する。 背景技術
E E P R O Mやフラッシュ: R O M等のデータの書き換えが可能な半導体記憶装 置が、 種々の電子機器の記憶装置として多く利用されている。 このような半導体 記憶装置は、 電子機器において、 あらかじめ定められているデータ条件を満足す る入力データの書き換えについては制限しないが、 そのデータ条件を満足しない 入力データの書き換えについては制限するような態様で利用することが望まれる 場合がある。 例えば、 「書き換えデータが、 半導体記憶装置に記憶されているデ 一夕 ( 「被書き換えデータ」 と呼ぶ。 ) よりも大きい場合においてのみ、 書き換 えを実行する。 」 という条件や、 「書き換えデータが、 被書き換えデータよりも 小さい場合においてのみ、 書き換えを実行する。 」 というデ一夕条件を設定する 場合が考えられる。
しかしながら、 従来の書き換えが可能な半導体記憶装賡は、 データの書き換え を制限する仕組みを有しておらず、 データを書き込むための所定のシーケンスを 満足すれば、 記憶されているデータを書き換えることが可能であるため、 上記の ようなデ一夕条件での書き換えに対応することができなかった。
なお、 記憶装置に対するデータの書き込みを制御する技術として、 例えば、 記 憶装置の外部に記憶装置に対する書き込み禁止装置を設賡する技術が知られてい る。 あるいは、 記憶装置使用時に、 記憶装置におけるデータ格納領域より後ろの ァドレスにデータ格納領域に対する書き込み不許可を示す情報を書き込むことで 、 データ格納領域に対する書き込みを禁止する技術が知られている。 また、 メモリアレイのデータセルに対してシーケンシャルなアクセスのみを許 容する半導体記憶装置、 例えば、 E E P R O Mが知られている。 このような半導 体記憶装置は、 比較的廉価であることから、 消費材の残量または消費量に関する デ一夕を保持させるための記憶装置として用いられている。 ここで、 メモリァレ ィは 一般的に X行 X y列の格子状の内部構造を有しており、 各データセルが 1 ビットのデ一タを格納する場合には、 1行あたり yピットのデータを格納するこ とができる。 発明の開示
しかしながら、 一般的にメモリアレイに対するアクセスは、 行単位で管理され るため、 このようなデータセルに対して、 yビットの n倍 (nは 2以上の整数) のデータを書き込む場合には、 データを n回に分けて書き込まなければならない 。 この結果、 n yビットのデ一夕を一度に書き込む場合と比較して、 書き込み動 作が n回実行されるため、 書き込みが正常に完了しない可能性が高くなる。
かかる問題は、 X行 X n y列のメモリアレイを用いることによって解消される が、 X行 X n y列のメモリアレイを備える半導体記憶装置が、 yビットのデータ を書き込む装置と n yビッ卜のデータを書き込む装置に共用される場合には、 X 行 X n y列のメモリアレイの一部の列 (データセル) は使用されない。 この結果 、 メモリアレイを有効に活用することができないという問題が発生すると共に、 シーケンシャルアクセス方式であることから所望のデータセルにアクセスするた めに不要なデ一夕セルに対するアクセスを実行する必要があり、 アクセス速度が 低下するという問題がある。
本発明は、 上記課題を解決するためになされたものであり、 半導体記憶装置が 備えるメモリアレイの 1行に格納可能なデータ長よりも長いデ一夕長のデータの 書き込み信頼性を向上させることを目的とする。 本発明はまた、 半導体記憶装置 において、 所定のデータ条件を満足しない入力デ一夕の書きこみを禁止すること を目的とする。
上記課題を解決するために本発明の第 1の態様は、 半導体記憶装置を提供する 。 本発明の第 1の態様に係る半導体記憶装置は、 所定のアドレス単位のデータ格 納行を複数有し、 シーケンシャルにアクセスされる不揮発性のメモリアレイと、 前記メモリアレイに書き込むべき書き込みデ一夕であって、 前記所定のァドレス 単位の n倍 (nは 2以上の整数) に相当するデータ容量の書き込みデ一夕を、 前 記所定のァドレス単位で保持する書き込みデータ保持手段と、 前記保持されてい る書き込みデ一夕を、 前記メモリアレイにおける書き込みの対象となる対象デ一 夕格納行に対して前記所定のァドレス単位にて書き込むデ一夕書き込み手段と、 前記対象データ格納行に書き込まれた前記所定のァドレス単位の書き込み済デー 夕と、 前記書き込みデータ保持手段に保持されている前記所定のァドレス単位の 書き込みデ一夕とがー致するか否かを判定するデータ検証手段と、 前記書き込み 済データと前記書き込みデータとがー致しない場合には、 データ書き込み手段に よる、 前記対象デ一夕格納行の次のデータ格納行に対する残りの前記書き込みデ 一夕の書き込みを実行しない制御部とを備える。
本発明の第 1の態様に係る半導体記憶装置によれば、 メモリアレイのデータ格 納行に格納可能な所定のァドレス単位の n倍に相当するデータ容量の書き込みデ 一夕をメモリアレイに所定のァドレス単位にて書き込むにあたり、 対象デ一夕格 納行に書き込まれた所定のアドレス単位の書き込み済デ一夕と、 書き込みデータ 保持手段に保持されている所定のァドレス単位の鲁き込みデータとがー致するか 否かを判定し、 一致しない場合には、 データ書き込み手段による、 対象データ格 納行の次のデータ格納行に対する残りの書き込みデータの書き込みを実行しない したがって、 半導体記憶装置が備えるメモリアレイの 1行に格納可能なデータ 長よりも長いデータ長のデータの書き込み信頼性を向上させることができる。 本発明の第 1の態様に係る半導体記憶装置において、 前記制御部は、 前記書き 込み済データと前記書き込みデータとがー致する場合には、 データ書き込み手段 による、 前記対象データ格納行の次のデータ格納行に対する前記書き込みデータ の書き込みを実行しても良い。 かかる場合には、 データの信頼性を維持しつつ、 書き込みデータの残りのデータをメモリアレイに対して、 順次書き込むことがで きる。
本発明の第 1の態様に係る半導体記憶装置において、 前記データ検証手段は、 前記対象データ格納行に対する前記書き込みデータの書き込みが終了した後に、 • 前記対象データ格納行から前記ァドレス単位で前記書き込み済みデータを読み出 し、 前記読み出した前記所定のアドレス単位の前記書き込み済みデ一夕と、 前記 所定のァドレス単位の書き込みデ一夕とを用いて前記書き込み済デ一夕と前記書 き込みデータとがー致するか否かを判定しても良い。 かかる場合には、 所定のァ ドレス単位にて、 書き込み済データと書き込みデータとがー致するか否かを判定 することができる。
本発明の第 1の態様に係る半導体記憶装置において、 前記データ検証手段は、 前記対象データ格納行に対する前記書き込みデータの書き込みが終了した後に、 前記対象デ一夕格納行から 1ァドレス毎に前記書き込み済みデータを読み出すと 共に、 前記書き込みデ一夕保持手段から 1アドレス単位で書き込みデータを取得 し、 前記読み出した前記所定の 1アドレス単位の前記書き込み済みデ一夕と、 前. 記取得した 1ァドレス単位の書き込みデ一夕とを用いて前記書き込み済デ一夕と 前記書き込みデータとがー致するか否かを判定しても良い。 かかる場合には、 1 ァドレス単位にて、 書き込み済データと書き込みデータとがー致するか否かを判 定することができる。
本発明の第 1の態様に係る半導体記憶装置はさらに、 前記書き込みデータが書 き込まれる前に前記対象データ格納行に格納されていた既存データを保存する既 存データ保存手段と、 前記データ検証手段によって、 前記書き込み済データと前 記書き込みデータとがー致しないと判定された場合には、 前記既存データ保存手 段に保存されている前記既存データを、 前記対象データ格納行に書き込むデータ 書き戻し手段とを備えても良い。 かかる場合には、 メモリアレイに格納されてい るデ一夕を、 書き込みデータを書き込む前の値に戻すことができる。
本発明の第 1の態様に係る半導体記憶装置において、 前記データ格納行には、 最上位ビットから順にデータが格納されており、 前記データ書き込み手段は、 前 記メモリアレイに対して、 最上位ビッ卜から順にデ一夕の書き込みを実行しても 良い。 かかる場合には、 書き込みデータの値が読み出された既存データの値と一 致するか否かの判定をより迅速に実行することができる。
本発明の第 2の態様は、 半導体記憶装置を提供する。 本発明の第 2の態様に係 る半導体記憶装置は、 1ビットのデータを格納するデータセルを 8個有するデー 夕格納行を複数有し、 シーケンシャルにアクセスされる不揮発性のメモリアレイ と、 前記メモリアレイに書き込むべき書き込みデータであって、 8ビットの n倍 ( nは 2以上の整数) の書き込みデータを、 8ビット単位で保持する書き込みデ 一夕保持手段と、 前記保持されている書き込みデータを、 前記メモリアレイにお ける書き込みの対象となる対象データ格納行に対して 8ビット単位にて書き込む データ書き込み手段と、 前記対象データ格納行に書き込まれた 8ビッ卜の書き込 み済デ一夕と、 前記書き込みデータ保持手段に保持されている 8ビットの書き込 みデータとがー致するか否かを判定するデータ検証手段と、 前記書き込み済デー , 夕と前記書き込みデータとがー致しない場合には、 データ書き込み手段による、 前記対象データ格納行の次のデータ格納行に対する残りの前記書き込みデータの 書き込みを実行しない制御部とを備える。
本発明の第 1の態様に係る半導体記憶装置によれば、 メモリアレイのデー夕格 納行に格納可能な所定の 8ビットの n倍に相当するデータ容量の書き込みデータ をメモリアレイに 8ビット単位にて書き込むにあたり、 対象データ格納行に書き 込まれた 8ビットの書き込み済データと、 書き込みデータ保持手段に保持されて いる 8ビッ卜の書き込みデータとがー致するか否かを判定し、 一致しない場合に は、 デ一夕書き込み手段による、 対象データ格納行の次のデータ格納行に対する 残りの書き込みデータの書き込みを実行しない。 したがって、 半導体記憶装置が 備えるメモリアレイの 1行に格納可能なデ一夕長よりも長いデータ長の 'データの 書き込み信頼性を向上させることができる。
本発明の第 2の態様に係る半導体記憶装置において、 前記制御部は、 前記書き 込み済データと前記書き込みデータとが一致する場合には、 データ書き込み手段 による、 前記対象デ一夕格納行の次のデータ格納行に対する前記書き込みデータ の書き込みを実行しても良い。 かかる場合には、 デ一夕の信頼性を維持しつつ、 書き込みデ一夕の残りのデータをメモリアレイに対して、 順次書き込むことがで きる。
本発明の第 3の態様は、 所定のアドレス単位のデ一夕格納行を複数有し、 シー ゲンシャルにアクセスされる不揮発性のメモリアレイを有する半導体記憶装置に 対して、 所定のアドレス単位の n倍 (nは 2以上の整数) に相当するデータ容量 の書き込みデ一夕を書き込むための書き込み制御方法を提供する。 本発明の第 3 の態様に係る書き込み制御方法は、 前記所定のァドレス単位の n倍に相当するデ —夕容量の書き込みデ一夕を受信し、 前記受信した書き込みデータを前記所定の ァドレス単位で保持し、 前記メモリアレイにおける書き込みの対象となる対象デ —夕格納行に対して、 前記保持されている書き込みデータを前記所定のァドレス, 単位にて書き込み、 前記対象データ格納行に書き込まれた前記所定のァドレス単 位の書き込み済データと、 前記保持されている前記所定のアドレス単位の書き込 みデ一夕とがー致するか否かを判定し、 前記書き込み済データと前記書き込みデ —夕とがー致しない場合には、 前記対象データ格納行の次のデータ格納行に対す る残りの前記書き込みデ一夕の書き込みを実行しないことを特徴として備える。 本発明の第 3の態様に係る書き込み制御方法によれば、 本発明の第 1の態様に 係る半導体記憶装置と同様の作用効果を得ることができると共に、 本発明の第 3 の態様に^る書き込み制御方法は、 本発明の第 1の態様に係る半導体記憶装置と 同様にして種々の態様にて実現され得る。
本発明の第 3の態様に係る書き込み制御方法にはさらに、 前記次のデータ格納 行に書き込まれた前記所定のァドレス単位の書き込み済デ一夕と、 前記保持され ている前記所定のァドレス単位の書き込みデータとがー致するか否かを判定し、 前記書き込み済データと前記書き込みデータとがー致しない場合には、 前記次の データ格納行の次のデータ格納行に対する残りの前記書き込みデー夕の書き込み を実行しなくても良い。 また、 前記書き込み済データと前記書き込みデータとが 一致する場合には、 前記次のデータ格納行の次のデータ格納行に対する残りの前 記書き込みデ一夕の書き込みを実行しても良い。 かかる場合には、 メモリアレイ の複数のデ一夕格納行に対する書き込みデータの書き込み信頼性を向上させるこ とができる。
本発明の第 4の態様は、 1ビットのデ一夕を格納するデータセルを 8個有する デ一夕格納行を複数有し、 シーケンシャルにアクセスされる不揮発性のメモリア レイを有する半導体記憶装置に対して、 8ビットの n倍 (nは 2以上の整数) の 書き込みデータを書き込むための書き込み制御方法を提供する。 本発明の第 4の 態様に係る書き込み制御方法は、 前記 8ビットの n倍のデ一夕長の書き込みデー 夕を受信し、 前記受信した書き込みデ一夕を 8ビット単位で保持し、 前記メモリ アレイにおける書き込みの対象となる対象データ格納行に対して、 前記保持され ている書き込みデ一夕を 8ビット単位にて書き込み、 前記対象データ格納行に書 き込まれた 8ピット単位の書き込み済データと、 前記保持されている 8ビット単 位の書き込みデータとがー致するか否かを判定し、 前記書き込み済データと前記 書き込みデータとがー致しない場合には、 前記対象データ格納行の次のデータ格 納行に対する残りの前記書き込みデ一夕の書き込みを実行しないことを特徴とし て備える。
本発明の第 4の態様に係る書き込み制御方法によれば、 本発明の第 2の態様に 係る半導体記憶装置と同様の作用効果を得ることができると共に、 本発明の第 4 の態様に係る書き込み制御方法は、 本発明の第 2の態様に係る半導体記憶装置と 同様にして種々の態様にて実現され得る。
本発明の第 4の態様に係る書き込み制御方法にはさらに、 前記次のデータ格納 行に書き込まれた 8ビット単位の書き込み済データと、 前記保持されている 8ビ ット単位の書き込みデータとがー致するか否かを判定し、 前記書き込み済データ と前記書き込みデ一夕とがー致しない場合には、 前記次のデー夕格納行の次のデ 一夕格納行に対する残りの前記書き込みデータの書き込みを実行しなくても良い 。 また、 前記書き込み済データと前記書き込みデータとがー致する場合には、 前 記次のデータ格納行の次のデータ格納行に対する残りの前記書き込みデータの書 き込みを実行しても良い。 かかる場合には、 メモリアレイの複数のデ一夕格納行 に対する書き込みデータの書き込み信頼性を向上させることができる。
本発明の第 3および第 4の態様に係る方法は、 この他にも、 プログラム、 およ びプログラムを記録したコンピュータが読み取り可能な記録媒体としても実現さ れ得る。
本発明の第 5の態様は、 半導体記憶装置を提供する。 本発明の第 5の態様に係 る半導体記憶装置は、 不揮発性のメモリアレイと、 前記メモリアレイに対するデ —夕の書き込みおよび前記メモリアレイからのデータの読み出しを制御するリー ドライトコントローラと、 を備え、 前記リードライトコントローラは、 前記メモ リアレイに対するデータの書き込みが要求された場合において、 入力される複数 ビットの書き込みデータの値と、 前記複数ビットの書き込みデータを書き込むベ き複数ビットの記憶領域に記憶されている複数ビットの記憶データの値とを、 前 記複数ビッ卜の書き込みデータのうち最大ビットから 1ビット単位で順に比較し 、 前記記憶データの各ビットの値に対して所定の大小関係を満たしていると判定 されるピッ卜があった場合には、 その判定されたビットの書き込みデータについ て書き込みを実行した後、 書き込みを行った記憶領域に記憶ざれている記憶デー 夕と、 前記判定されたピットの書き込みデータと、 がー致しているか否か検査し て、 一致している場合には、 前記判定されたビットよりも後のビットの書き込み データについて書き込みを実行し、 一致していない場合には、 前記判定されたビ ッ卜よりも後のビッ卜の書き込みデータについて書き込みを禁止する。
本発明の第 5の態様に係る半導体記憶装置によれば、 所定の大小関係を満たし ていない書き込みデータの書き込みを禁止することが可能である。 また、 所定の 大小関係を満たしていると判定したビッ卜の書き込みデ一夕について書き込みを 行った後に、 書き込みを行った記憶領域に記憶されている記憶データと、 その判 定されたビットの書き込みデータと、 がー致しているか否か検査して、 一致して いない場合には、 その判定されたビットよりも後のビッ卜の書き込みデータにつ いて書き込みを禁止することができるので、 所定の大小関係を満たしていない書 き込みデータの書き込みの禁止をより確実に行うことができる。
本発明の第 5の態様に係る半導体記憶装置は、 以下の通り構成されても良い。 本発明の第 5の態様に係る半導体記憶装置は、 不揮発性のメモリアレイと、 前記 メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデ一夕の 読み出しを制御するリードライトコントローラと、 を備え、 前記リードライトコ ントローラは、 前記メモリアレイに対するデータの書き込みが要求された場合に おいて、 入力される複数ビットの書き込みデータの値と、 前記複数ビットの書き 込みデ一夕を書き込むべき複数ビッ卜の記憶領域に記憶されている複数ビットの 記憶デ一夕の値とを、 前記複数ビットの書き込みデ一夕のうち最大ピッ卜カゝら 1 ビッ卜単位で順に比較し、 前記記憶デ一夕の各ビットの値に対して所定の大小関 係を満たしていると判定されるビットがあった場合には、 その判定されたビット を先頭とする nビット (nは 2 mの整数で、 mは 1以上の整数) の書き込みデー 夕についてまとめて書き込みを実行した後、 前記判定されたビットの書き込みデ 一夕について書き込みを行った記憶領域に記憶されている記憶データと、 前記判 定されたビットの書き込みデータとが、 一致しているか否か検査して、 一致して いる場合には、 前記判定されたビットを先頭とする nビットよりも後のビットの 書き込みデ一夕について nビット単位で書き込みを実行し、 一致していない場合 には、 前記判定されたビッ卜を先頭とする nビットより後のビットの書き込みデ 一夕について書き込みを禁止する。
上記構成を備える本発明の第 5の半導体記憶装置によれば、 所定の大小関係を 満たしていない書き込みデータの書き込みを禁止することが可能である。 また、 所定の大小関係を満たしていると判定したビットを先頭とする nピッ卜の書き込 みデータについてまとめて書き込みを行った後に、 所定の大小関係を満たしてい ると判定されたビットの書き込みデータと、 その書き込みデータについて書き込 みを行つた記憶領域に記憶されている記憶デー夕と、 がー致しているか否か検査 して、 一致していない場合には、 所定の大小関係を満だレていると判定されたビ ッ卜よりも後のビットの書き込みデータについて書き込みを禁止することができ るので、 所定の大小関係を満たしていない書き込みデータの書き込みの禁止をよ り確実に行うことができる。
なお、 本発明の第 5の態様に係る半導体記憶装置は、 半導体記憶装置に対する 書き込み制御方法、 プログラム、 プログラムを記録したコンピュータ読み取り可 能な記録媒体としても実現され得る。
本発明の第 1、 2、 および 5の態様に係る半導体記憶装置は、 前記印刷記録材 の量に関する情報を格納するために、 印刷装置に着脱可能に装着される、 印刷記 , 録材を収容する印刷記録材容器であって、 前記印刷記録材を収容する収容部に装 着されて用いられても良い。 この場合には、 印刷記録材の量に関する情報の信頼 性を向上させることができる。
本発明の第 6の態様は、 印刷装置と、 印刷装置に着脱可能に装着される本発明 の第 1、 2、 および 5の態様に係る半導体記憶装置を有する印刷記録材容器とを 備える印刷システムを提供する。 本発明の第 6の態様に係る印刷システムにおい て、 前記印刷装置は、 前記印刷記録材容器に装着される半導体記憶装置とデータ 信号線、 クロック信号線、 リセット信号線、 正極電源線、 および負極電源線を介 してパス接続されるホス卜計算機であって、 印刷装置において消費された印刷記 録材に関する量の情報を前記半導体記憶装置に送信するホスト計算機を備え、 前 記印刷記録材容器に装着されている半導体記憶装置は、 受信した印刷記録材に関 する量の情報を前記メモリアレイに格納する。 本発明の第 6の態様によれば、 印 刷に伴い消費される印刷記録材の量に関する情報を格納するにあたり、 半導体記 憶装置が備えるメモリアレイの 1行に格納可能なデ一夕長よりも長いデータ長の デ一夕の書き込み信頼性を向上させることができる。 図面の簡単な説明
図 1は第 1の実施例に係る半導体記憶装置の機能的な内部構成を示すプロック 図である。
図 2は第 1の実施例に係る半導体記憶装置が備えるメモリアレイの内部構成マ ップを模式的に示す説明図である。
図 3は第 1の実施例において半導体記憶装置に対して書き込まれる書き込みデ —タを構造を模式的に示す説明図である。
図 4は第 1の実施例に係る半導体記憶装置における、 読み出し動作実行時にお けるリセット信号 R S T、 外部クロック信号 S C K、 データ信号 S D A、 ァドレ スカウン夕値の時間的関係を示すタイミングチャートである。 . 図 5は第 1の実施例に係る半導体記憶装置における、 書き込み動作実行時にお けるリセット信号 R S T、 外部クロック信号 S C K:、 データ信号 S D A、 ァドレ スカウンタ値の時間的関係を示すタイミングチャートである。
図 6は第 1の実施例に係る半導体記憶装置によって実行される書き込み処理に おける第 1のデータべリファイ処理の処理ルーチンを示すフローチャートである 図 7は第 1の実施例に係る半導体記憶装置によって実行される書き込み処理に おける第 2のデータべリファイ処理の処理ルーチンを示すフローチャートである 図 8は第 1の実施例に係る半導体記憶装置の応用例を示す説明図である。 図 9は第 2の実施例に係る半導体メモリ装置の内部回路構成を示すブ Πック図 である。
図 1 0は第 2の実施例におけるデータの書き込み動作の手順を示すフローチヤ 一トである。
図 1 1は第 3の実施例に係る半導体メモリ装置の内部回路構成を示すプロック 図である。
図 1 2は第 3の実施例におけるデ一夕の書き込み動作の手順を示すフローチヤ —卜である。
図 1 3は第 3の実施例の変形例としてのデータの書き込み動作の手順を示すフ ローチャー卜である。 図 1 4は第 3の実施例の変形例としてのデータの書き込み動作の手順を示すフ ローチャー卜である。
発明を実施するための最良の形態
以下、 本発明に係る半導体記憶装置および半導体記憶装置に対するデータの書 き込み制御方法について図面を参照しつつ、 実施例に基づいて説明する。
第 1の実施例:
•半導体記憶装置の構成
図 1〜図 3を参照して第 1の実施例に係る半導体記憶装置の構成について説明 する。 図 1は第 1の実施例に係る半導体記憶装置の機能的な内部構成を示すプロ ック図である。 図 2は第 1の実施例に係る半導体記憶装置が備えるメモリアレイ の内部構成マツプを模式的に示す説明図である。 図 3は第 1の実施例において半 導体記憶装置に対して書き込まれる書き込みデータを構造を模式的に示す説明図 である。
第 1の実施例に係る半導体記憶装置 1 0は、 外部からアクセス先のアドレスを 指定するァドレスデータを入力する必要のないシーケンシャルアクセス方式の記 憶装置である。 半導体記憶装置 1 0は、 メモリアレイ 1 00、 アドレスカウン夕 1 1 0、 I N/OUTコントローラ 120、 I Dコンパレータ 1 30、 ライト/ リードコントローラ 140、 インクリメントコントローラ 1 50、 チャージポン プ回路 1 6 0、 8ビットラッチレジスタ 1 7 0を備えている。 これら各回路は、 バス式の信号線によって接続されている。
メモリアレイ 100は、 E E P ROMアレイ 1 0 1とマスク ROMアレイ 1 0 2とを備えている。 £ ? 〇^:ァレィ 10 1は、 データの電気的な消去、 書き 込みが可能な E E P ROMの特性を有する記憶領域であり、 本実施例に用いられ る EE PROMアレイ 1 0 1は、 データの書き込みに際して、 既存データを消去 することなく直ちにデータを書き込むことができる。 マスク ROMアレイ 1 02 は、 製造工程時にデータが書き込まれる消去、 書き換え不能なマスク ROMの特 性を有する記憶領域である。
メモリアレイ 100の EEPROMアレイ 10 1およびマスク R OMアレイ 1 0 2には、 図 2に模式的に示す 1ビットの情報を格納するデータセル (メモリセ ル) が複数備えられている。 本実施例では、 図 2に示すようにメモリアレイ 1 0 0は、 1行に 8アドレス (デ一夕 8ビット分のアドレス) を所定のアドレス単位 として備えており、 例えば、 EEPROMアレイ 1 0 1には、 1行に 8個のデ一 夕セル (8ビット) 、 1列に 1 6個のデ一夕セル (1 6ヮ一ド) が配置されてお り、 1 6ワード X 8ビット (1 28ビット) のデータを格納することができる。 マスク ROMアレイ 1 02には、 1行に 8個のデータセル (8ビット) 、 1列に 8個のデータセル (8ワード) が配置されており、 8ワード X 8ビット (64ビ ット) のデータを格納することができる。
本実施例においてメモリアレイ 100に対して書き込まれるデータは、 図 3に 示すように、 先頭 3ビットに識別情報 (I D 0〜 I D 2) 、 先頭から 4ビット目 に書き込みまたは読み出しのいずれかを指示するための書き込みノ読み出し制御 情報を有している。 先頭から 5ビット目以降には書き込みデータを、 最上位ビッ ト (MSB) から順に 1 6ビット (D 1 5〜D 0) 有している。 すなわち、 本実 施例における書き込みデータは、 メモリアレイ 1 00が 1行に格納可能なビット 長、 すなわち、 8ビットの 2倍のデータ長のデータである。
図 2を参照してメモリアレイ 1 00のァドレスマップについて説明する。 本実 施例におけるメモリアレイ 1 0 0は、 既述の通り E E P ROMアレイ 1 0 1とマ スク ROMアレイ 1 0 2とを備えている。 EEPROMアレイ 10 1の先頭 3ァ ドレス (1行目の A0〜A2列、 3ビット) には、 各半導体記憶装置を識別する ための識別情報 (I D情報) が格納されている。 先頭 3アドレスを含む第 1行目 に対する書き込みは禁止されており、 例えば、 工場出荷後には書き換えることは できない。
図 2の例では、 EE PROMアレイ 1 0 1の第 9アドレス ( 08 H) 〜第 16 アドレス (0 FH) および第 1 7アドレス (1 0 H) 〜第 24アドレス (07 H ) には、 一定条件の下、 書き換え可能な 1 6ビットの情報が格納されている。 こ れら各アドレスには、 図 3において、 各アドレス (08 H〜 1 7 H) と対応付け られて記載されているように、 書き込みデータ (D 1 5〜D 0) が格納される。 すなわち、 第 1の行 (0 8H〜0 FH) には D 1 5〜D 8の 8ピットのデータ、 第 2の行 (1 0H〜 1 7H) には D 7〜D 0のデータが書き込まれる。 なお、 本 実施例においては、 この第 9アドレス (0 8H) 〜第 1 6アドレス (0 FH) お よび第 17アドレス (1 0H) 〜第 24アドレス (1 7H) により構成される行 を書き込み制限行、 あるいは、 この第 9アドレス〜第 1 6アドレスおよび第 1 7 アドレス〜第 24アドレスの各 8アドレスを、 所定ァドレス単位、 と呼ぶことが ある。 また、 一定条件とは、 例えば、 格納されている情報がインク消費量に関す る情報の場合には、 書き込まれるデータの値が既存のデータの値よりも大きな場 合、 あるいは、 格納されている情報がインク残量に関する情報の場合には、 書き 込まれるデータの値が既存のデ一夕の値よりも小さな場合である。
E E P R O Mアレイ 1 0 1の第 2 5アドレス以降は書き込みが禁止されている 読み出し専用領域となり、 例えば、 工場出荷後には書き換えることはできない。 マスク R O Mアレイ 1 0 2は、 メモリアレイ製造時に情報 (データ) が書き込 まれており、 メモリアレイ製造後は、 工場出荷前であっても書き込みを実行する ことはできない。
本実施例におけるメモリアレイ 1 0 0は、 上述のように 8ビットを単位とする 複数の行を備えているが、 各行は独立したデータセル列ではなく、 いわば、 1本 のデータセル列を 8ビッ卜単位で折り曲げることによって実現されている。 すな わち、 便宜的に 9ピット目を含む行を 2バイト目、 1 7ビット目を含む行を 3バ イト目と呼んでいるに過ぎない。 この結果、 メモリアレイ 1 0 0における所望の アドレスにアクセスするためには、 先頭から順次アクセスする、 いわゆる、 シー ケンシャルアクセス方式によるアクセスが必、要となり、 ランダムアクセス方式の 場合に可能な所望のァドレスに対する直接的なアクセスは不可能となる。
メモリアレイ 1 0 0における各データセルには、 ワード線とピット (データ) 線が接続されており、 対応するワード線 (行) を選択 (選択電圧を印加) して、 対応するピット線に書き込み電圧を印加することによってデータセルにデー夕が 書き込まれる。 また、 対応するワード線 (行) を選択し、 対応するビット線を I N /O U Tコント口一ラ 1 2 0と接続し、 電流の検出の有無によってデータセル のデータ (1または 0 ) が読み出される。 なお、 本実施例における所定アドレス 単位とは、 1本のヮード線に書き込み電圧を加えることにより書き込みが可能な ァドレス数 (データセル数) であるということができる。
カラム選択回路 1 0 3は、 アドレスカウンタ 1 1 0によりカウントされた外部 クロックパルス数に応じて順次、 列 (ビット線) を I N/O U Tコントローラ 1 2 0と接続する。 ロー選択回路 1 0 4は、 アドレスカウンタ 1 1 0によりカウン トされた外部クロックパルス数に応じて順次、 行 (ワード線) に選択電圧を印加 する。 すなわち、 本実施例に係る半導体記憶装置 1 0では、 アドレスデータを用 いたメモリアレイ 1 00に対するアクセスは実行されず、 専らアドレスカウン夕 1 1 0によってカウントされたクロックパルス数にしたがって、 所望のァドレス に対するアクセスが実行される。
アドレスカウン夕 1 1 0は、 リセット信号端子 R S TT、 クロック信号端子 S CKT、 カラム選択回路 1 03、 口一選択回路 1 04と接続されている。 ァドレ スカウンタ 1 1 0は、 リセット信号端子 RSTTを介して入力されるリセット信 号を 0 (またはロー) にすることにより初期値にリセットされ、 リセット信号が 1とされた後に外部クロック信号端子 S CKTを介して入力されるクロックパル スの立ち下がりに同期してクロックパルス数をカウント (カウント値をインクリ メント) する。 本実施例に用いられるアドレスカウン夕 1 1 0は、 メモリアレイ 1 00の 1行のデータセル数 (ビット数) に対応する 8個のクロックパルス数を 格納する 8ビットのアドレスカウンタである。 なお、 初期値はメモリアレイ 10 0の先頭位置と関連付けられていればどのような値でも良く、 一般的には 0が初 期値として用いられる。
I N/OUTコントローラ 1 20は、 メモリアレイ 1 00に対してデータ信号 端子 SDATに入力された書き込みデ一夕を転送し、 あるいは、 メモリアレイ 1 00から読み出されたデ一夕を受信してデータ信号端子 S DATに出力するため の回路である。 I NZOUTコントローラ 1 20は、 データ信号端子 SDAT、 リセット信号端子 R S TT、 メモリアレイ 1 00、 ライトノリードコントローラ 140と接続されており、 ライト/口一ドコントローラ 140からの要求に従つ てメモリアレイ 1 0 0に対するデータ転送方向ならびにデータ信号端子 SDAT に対する (データ信号端子 SDATと接続されている信号線の) データ転送方向 を切り換え制御する。 I NZOUTコントローラ 1 20に対するデータ信号端子 SDATからの入力信号線には、 デ一夕信号端子 SDATから入力された書き込 みデータを一時的に格納する 8ビットラツチレジスタ 1 70が接続されている。
8ビッ卜ラッチレジスタ 1 70には、 データ信号端子 SDATから入力信号線 を介して入力されるデータ列 (MS B) が 8ビットとなるまで保持され、 8ビッ ト分揃ったところで、 EEPROMアレイ 1 0 1に対して保持されている 8ビッ トのデ一夕が書き込まれる。 8ビットラッチレジス夕 1 70は、 いわゆる F I F Oタイプのシフトレジス夕であり、 入力データの 9ビット目が新たにラッチされ ると、 既にラッチされていた 1ビット目のデータが放出される。
I NZOUTコントローラ 1 20は、 電源 ON時、 リセット時には、 メモリア レイ 1 00に対するデータ転送方向を読み出し方向に設定し、 8ピットラツチレ ジス夕 1 70と I NZOUTコントローラ 1 20との間における入力信号線をハ ィインピーダンスとすることでデータ信号端子 S DATに対するデータ入力を禁 止する。 この状態は、 ライト Zリードコントローラ 140から書き込み処理要求 が入力されるまで維持される。 したがって、 リセット信号入力後にデータ信号端 子 S DATを介して入力されるデータ列の先頭 4ビットのデータはメモリアレイ 1 00に書き込まれることはなく、 一方で、 メモリアレイ 1 00の先頭 4ビット (内 4ビット目はドントケア) に格納されているデ一夕は、 I Dコンパレー夕 1 30に送出される。 この結果、 メモリアレイ 1 00の先頭 4ビットは読み出し専 用状態となる。
I Dコンパレ一夕 1 30は、 クロック信号端子 S CKT、 データ信号端子 SD AT、 リセット信号端子 RSTTと接続されており、 データ信号端子 SDATを 介して入力された入力データ列に含まれる識別データとメモリアレイ 1 00 (E E PROMアレイ 1 0 1) に格納されている識別デ一夕とが一致するか否かを判 定する。 詳述すると、 I Dコンパレー夕 100は、 リセット信号 RSTが入力さ れた後に入力されるオペレーションコードの先頭 3ビッ卜のデータ、 すなわち識 別デ一夕を取得する。 I Dコンパレータ 1 30は、 入力デ一夕列に含まれる識別 データを格納する 3ビットレジスタ (図示しない) 、 I N/OUTコントローラ 1 2 0を介してメモリアレイ 1 0 0から取得した最上位 3ビッ卜の識別デ一夕を 格納する 3ビットレジスタ (図示しない) を有しており、 両レジスタの値が一致 するか否かによって識別データが一致するか否かを判定する。 I Dコンパレータ
1 3 0は、 両識別デー夕がー致する場合には、 アクセス許可信号 ENをライト / リードコントローラ 140に送出する。 I Dコンパレータ 1 3 0は、 リセット信 号 RS Tが入力 (R S T= 0または L 0 w) されるとレジス夕の値をクリアする ライト Ζリードコントローラ 1 40は、 I NZOUTコントローラ 1 20、 I Dコンパレータ 1 3 0、 インクリメントコントローラ 1 5 0、 チャージポンプ回 路 1 6 0、 クロック信号端子 S CKT、 データ信号端子 SDAT、 リセット信号 端子 R S TTと接続されている。 ライ卜 Zロードコントローラ 1 40は、 リセッ ト信号 R S Tが入力された後の 4つめのクロック信号に同期してデータ信号端子 S DATを介して入力される書き込み Z読み出し制御情報 (3ピットの I D情報 に続く 4ビット目の情報) を確認し、 半導体記憶装置 1 0の内部動作を書き込み または読み出しのいずれかに切り換える回路である。 具体的には、 ライト Zリー ドコントローラ 140は、 I Dコンパレータ 1 3 0からのアクセス許可信号 A E Nおよびインクリメントコントローラ WEN 1からの書き込み許可信号 WEN 1 が入力されると、 取得した書き込み Z読み出しコマンドを解析する。 ライト/リ ードコントローラ 1 40は、 書き込みコマンドであれば、 I NZOUTコント口 —ラ 1 2 0に対して、 バス信号線のデータ転送方向を書き込み方向に切り換え、 書き込みを許可する書き込み許可信号 WEN 2を送信し、 チャージポンプ回路 1 6 0に対して書き込み電圧の生成を要求する。
本実施例では、 書き込み制限行に書き込まれる書き込みデータ D Iが、 値が増 加 (インクリメント) する特性を有するデータである場合には、 書き込みデータ D Iが書き込み制限行に既に格納されている既存データ DEよりも大きな値であ るか否かを判断し、 書き込みデータ D Iが、 値が減少 (デクリメント) する特性 を有するデータである場合には、 書き込みデ一夕 D Iが書き込み制限行に既に格 納されている既存データ D Eよりも小さな値であるか否かを判断することで、 書 き込みデータ D Iのデータ化け、 誤ったデータの入力を低減又は防止する。 この 機能は、 前者の場合にはインクリメントコントローラ、 後者の場合にはデクリメ ントコントローラによって提供される。 本実施例では以下の説明において、 前者 を例にとって説明する。
インクリメントコントローラ 1 5 0は、 リセット信号端子 R S TT、 ライト/ リードコントローラ 1 40、 チャージポンプ回路 1 6 0と信号線を介して接続さ れている。 インクリメントコント口一ラ 1 5 0は、 内部に 4ビットカウンタ 1 5 1および 8ビット内部レジスタ 1 5 2、 1 5 3を有している。 インクリメントコ ントローラ 1 5 0は、 書き込み制限行に書き込まれる書き込みデータ D Iが書き 込み制限行に既に格納されている既存データ DEよりも大きな値であるか否かを 判断し、 さらに E E P ROMアレイ 1 0 1に書き込まれたデータが正しく書き込 まれたか否かの判断 (ベリファイ、 検証) を実行する。
インクリメントコントローラ 1 5 0は、 書き込みデータ D Iを 8ビットラツチ レジス夕 1 7 0にラッチする夕イミングで、 EE PROMアレイ 1 0 1の書き込 み制限行から既存データ DEを読み出し、 内部に備える 8ビッ卜内部レジスタ 1 5 2に格納する。 インクリメントコントローラ 1 5 0は、 読み出される既存デー 夕 EDと 8ビットラツチレジス夕 1 7 0に入力される書き込みデータ D Iとを 1 ビッ卜単位で比較して、 書き込みデータ D Iが既存データ DEよりも大きな値の デ一夕であるか否かを判定する。 なお、 処理の迅速化のため、 入力される書き込 みデータは MS Bであることが望ましい。
インクリメントコントローラ 1 5 0は、 書き込みデータ D Iが既存データ DE よりも大きな値のデ一夕である場合には、 ライトノリードコントローラ 1 40に 対して書き込み許可信号 WEN 1を出力する。 なお、 書き込み制限行が複数行に 亘る場合には、 全ての書き込み制限行において書き込みデータ D Iが既存データ D Eよりも大きな値のデ一夕である場合にのみ、 インクリメントコントローラ 1 5 0は、 書き込み許可信号 W E N 1を出力する。
インクリメントコントローラ 1 5 0は、 書き込みデ一夕を書き込んだ後、 正し くデータが書き込まれたか否かを検証し、 書き込みデータが正しく書き込まれて いない場合には、 内部に備える 8ビット内部レジスタ 1 5 2に格納されている既 存データ D Eをメモリアレイ 1 0 0に対して書き戻す。 書き込みデータの検証に 際して、 インクリメントコント口一ラ 1 5 0に備えられている 4ビットカウンタ 1 5 1は、 書き込みスタンバイ状態から外部クロック信号に対して 8ビット遅れ で、 チャージポンプ回路 1 6 0に備えられている内部発振器 1 6 2から内部クロ ック信号を受けてカウントアップを開始する。 4ビットカウン夕 1 5 1によって カウントアップされたカウント値は、 カラム選択回路 1 0 3、 ロー選択回路 1 0 4に入力され、 書き込まれたばかりの既存データ D Eが読み出される。
チヤ一ジポンプ回路 1 6 0は、 既述の通り、 ライト Zリードコントローラ 1 4 0からの要求信号に基づいて、 E E P R O Mアレイに対してデータを書き込む際 に必要な書き込み電圧をカラム選択回路 1 0 3を介して選択されたビット線に供 給するための回路である。 チャージポンプ回路 1 6 0は、 電圧昇圧時に必要な動 作周波数を生成する内部発振器 1 6 2を備え、 正極電源端子 V D D Tを介して得 られる電圧を昇圧することで、 必要な書き込み電圧を生成する。
•読み出し処理
図 4を参照して第 1の実施例に係る半導体記憶装置 1 0における読み出し動作 について説明する。 図 4は第 1の実施例に係る半導体記憶装置における、 読み出 し動作実行時におけるリセット信号 R S T、 外部クロック信号 S C K、 デ一夕信 号 S D A、 ァドレスカウンタ値の時間的関係を示すタイミングチヤ一トである。 読み出し動作に先立って、 オペレーションコードに基づく、 識別情報の確認、 読み出し/書き込みコマンドの確認処理について説明する。 リセット状態 (R S T=0または L ow) が解除される (RST= 1または H i ) と、 図示しないホ スト計算機から、 4ビットのォペレ一ションコ一ドを含むデータ信号 SD Aが外 部クロック信号に同期してデータ信号端子 S DATに入力される。 オペレーショ ンコードは、 図 4に示すように、 先頭 3ビットに識別情報 I D 0、 I D 1、 I D 2を含み、 先頭から 4ビット目には、 書き込みまたは読み出しを決定するための コマンドビットを含んでいる。 識別情報の比較は以下の通り実行される。
I Dコンパレータ 1 30は、 リセット信号 RS Tがローからハイに切り替えら れた後の 3つのクロック信号 S CKの立ち上がりエッジに同期してデータ信号端 子 SDATに入力されたデ一夕、 すなわち、 3ピットの識別情報を取得して第 1 の 3ビットレジスタに格納する。 これと同時に I Dコンパレータ 1 30は、 アド レスカウンタ 1 1 0のカウンタ値 00、 01、 02によって指定されるメモリア レイ 1 00のアドレスからデータを取得し、 すなわち、 メモリアレイ 100に格 納されている識別情報を取得して、 第 2の 3ビッ卜レジス夕に格納する。
I Dコンパレータ 1 30は、 第 1、 第 2レジスタに格納された識別情報が一致 するか否かを判定し、 識別情報が一致しない場合には、 I NZOUTコントロー ラ 1 20によって、 8ビットラッチレジス夕 1 7 0と I NZOUTコントローラ 1 20との間における入力信号線に対するハイインピーダンスの状態が保持され る。 一方、 I Dコンパレータ 1 30は、 第 1、 第 2レジス夕に格納された識別情, 報が一致する場合には、 ライト リードコントローラ 140に対してアクセス許 可信号 AENを出力する。 アクセス許可信号 AENを受信したライ卜/リードコ ントローラ 140は、 リセット信号 R S Tのローからハイへの切り替わり後の 4 つ目のクロック信号 S CKの立ち上がりエッジに同期してバス信号線に送出され たコマンドビットを取得して書き込み命令であるか否かを判定する。 ライト Zリ ードコントローラ 140は、 取得したコマンドビットが書き込みコマンドでない 場合には、 I NZOUTコントローラ 1 20に対して読み出し命令を出力する。 読み出し命令を受信した I NZOUTコントローラ 1 20は、 メモリアレイ 1 0 0に対するデータ転送方向を読み出し方向に変更し、 データ転送を許容する。 アドレスカウンタ 1 1 0は、 クロック信号 S CKの立ち下がりに同期してカウン トアップするため、 オペレーションコード入力後のァドレスカウン夕 1 10の力 ゥンタ値は 04であり、 メモリアレイ 1 00の 04 Hに格納されている既存デ一 夕 DEから読み出される。 メモリアレイに格納されている既存デ一夕 DEは、 ク ロック信号 S CKの立ち下がりに同期して I NZOUTコントローラ 1 20を介 して、 データ信号端子 SDATに順次出力され、 出力された既存データ DEはク ロック信号 S CKの次の立ち下がりまでの期間は保持される。 クロック信号 S C Kが立ち下がると、 アドレスカウンタ 1 10におけるカウント値は 1つインクリ メントされ、 この結果、 メモリアレイ 1 00における次のアドレス (データセル ) に格納されている既存データ DEがデータ信号端子 SDATに出力される。 こ の動作の繰り返しが、 所望のアドレスに到達するまで、 クロック信号 S CKに同 期して実行される。 すなわち、 本実施例における半導体記憶装置 1 0はシ一ケン シャルアクセスタイプの記憶装置であるから、 ホス卜計算機は、 読み出し、 また は書き込みを所望するァドレスに対応する数のクロック信号パルスを発行し、 ァ ドレスカウン夕 1 1 0のカウンタ値を所定のァドレスに対応するカウント値まで インクリメントしなければならない。 この結果、 既存データ DEは、 ク Πック信 号 S CKに同期して順次インクリメントされるアドレスカウン夕 1 1 0のカウン 夕値によって指定されるァドレスからシーケンシャルに読み出しされる。
本実施例に係る半導体記憶装置 1 0のメモリアレイ 1 00は、 00H〜B FH までのアドレスしか有していないが、 アドレスカウン夕 1 1 0はアドレス FFH までカウントアップを実行する。 アドレス C 0H〜FFHまでは、 疑似領域であ り、 対応するアドレスはメモリアレイ 1 00には存在せず、 かかる疑似領域にァ クセスしている期間は、 データ信号端子 SDATに対して値 「0」 が出力される 。 アドレスカウン夕 1 10によってアドレス F FHまでカウントアップされると 、 アドレスはアドレス 00Hに戻る。 読み出し動作終了後には、 ホスト計算機か ら 0または LOWのリセット信号 R S Tが入力され、 半導体記憶装置 1 0は、 ォ ペレーシヨンコ一ドの受け付け待機状態とされる。
リセット信号 R S T (= 0または LOW) が入力されると、 アドレスカウン夕
1 1 0、 I N/OUTコント口一ラ 1 2 0、 I Dコンパレー夕 1 3 0、 ライト/ リードコントローラ 1 40およびインクリメントコントローラ 1 5 0は初期化さ れる—。
•書き込み処理
図 5を参照して第 1の実施例に係る半導体記憶装置 1 0における書き込み動作 について説明する。 図 5は第 1の実施例に係る半導体記憶装置における、 書き込 み動作実行時におけるリセット信号 R S T、 外部クロック信号 S CK、 データ信 号 SDA、 ァドレスカウン夕値の時間的闋係を示すタイミングチヤ一トである。 本実施例に係る半導体記憶装置 1 0では、 書き込みは行単位 (8ビット単位) 、 すなわち所定アドレス単位 (8アドレス単位) で実行される。
既述の I Dコンパレータ 1 3 0により識別情報の一致が確認された後、 ライト
/リ一ドコントローラ 140は、 取得したコマンドビッ卜が書き込みコマンドで あると共に、 インクリメントコント口一ラ 1 50から書き込み許可信号 WEN 1 を受信した場合には、 I NZOUTコント口一ラ 1 20に対して書き込み許可信 号 WEN 2を出力する。
図 5に示す通り、 オペレーションコードが入力された後、 クロック信号端子 S CKTにはダミーライトクロックとして 4クロック信号が入力され、 書き込みス タンバイ状態とされる。 アドレスカウンタ 1 1 0は、 クロック信号 S CKの立ち 下がりに同期してカウントアップするため、 書き込みスタンバイ状態後の、 アド レスカウンタ 1 1 0のカウンタ値は 0 8となり、 メモリアレイ 1 0 0のアドレス 0 8 Hからデ一夕が書き込まれることとなる。
本実施例では、 既述のように、 1行 8ビットのメモリアレイ 1 0 0に対して、 1 6ビット長の書き込みデ一夕が書き込まれる。 書き込み処理に際しては、 先ず 、 書き込みデータ D Iの最上位ビット (MS B) から 8ビットのデータが、 クロ ック信号 S CKの立ち上がりに同期して、 8ピットラツチレジス夕 1 70に順次 ラッチされる。 また、 I NZOUTコントローラ 1 20に対して書き込み許可信 号 WEN 2が出力されるまでは、 クロック信号 S CKの立ち下がりに同期して、 メモリアレイ 1 00の第 8アドレス以後の既存データが順次、 データ出力信号線 (データ信号端子 SDA) 上に出力される。 デ一夕出力信号線上に出力された既 存デ一夕 DEは、 インクリメントコントローラ 1 50に入力され、 8ビットラッ チレジス夕 170にラッチされた書き込みデータ D Iと共に、 後述するように、 インクリメントコントローラ 1 50における書き込みデータ D Iが既存データ D Eよりも大きな値であるか否かを判定するために用いられる。 この判断処理は、 書き込みス夕ンバイ状態後の 8サイクル目のクロック信号 S C K立ち上がり後 ( = 1または H i ) に実行される。
書き込み許可信号 WEN 2を受信した I N/OUTコントローラ 1 20は、 メ モリアレイ 100に対するデ一夕転送方向を書き込み方向に変更し、 8ビットラ ツチレジスタ 1 70と I N/OUTコントローラとの間における信号線のハイィ ンピーダンス設定を解除してデータ転送を許容する。 この結果、 メモリアレイ 1 00の各ビット線には書き込みデータ D Iの値 (0または1) が転送される。 ラ ィト Zリードコントローラ 140は、'書き込みスタンバイ状態後の 8サイクル目 のクロック信号 S CK立ち上がり後に、 チヤ一ジポンプ回路 160に対して書き 込み電圧の生成を要求し、 生成された書き込み電圧は、 カラム選択回路 1 03に よって選択されているビット線、 本実施例では全てのビット線に印加され、 この 結果、 8ピットラッチレジスタ 1 70に格納されている 8ビットのデ一夕 「1」 と 「0」 が、 一度に書き込み制限行に書き込まれる。
8サイクル目のクロック信号 S C Kが立ち下がると、 7ドレスカウン夕 1 1 0 のカウント値が 1つインクリメントされ、 次のアドレス (8アドレス分) に書き 込まれるべき書き込みデータ D I 2 (2バイト目のデータ) の取り込みが実行さ れる。 また、 8サイクル目のクロック信号 S CKが立ち下がった後のクロック · ロー期間 (デ一夕べリファイ 1の期間) で、 書き込まれたばかりの既存データ D Eと書き込みに用いられた書き込みデ一夕 D Iとが一致するか否かのベリファイ 処理 (第 1のデータべリファイ処理) が実行される。 すなわち、 クロック . ロー 期間の間に、 インクリメントコントローラ 1 50に備えられている 4ビットカウ ン夕 1 5 1によって書き込まれたばかりの 8ビットの既存データ DEのァドレス を指定するためのカウント値がカラム選択回路 1 03およびロー選択回路 1 04 に対して入力される。 この 果、 I N/OUTコントローラ 1 20からは、 書き 込まれたばかりの 8ビットの既存データ DEが出力され、 I N/OUTコント口 ーラ 1 20を介して、 ィンクリメントコント口一ラ 1 50が備える 8ビット内部 レジスタ 1 53に格納される。 インクリメントコントローラ 1 50は、 8ビット 内部レジス夕 1 53に格納されている 8ビッ卜の既存データ DEと 8ビットラッ チレジス夕 1 70に格納されている 8ビットの書き込みデ一夕 D Iとが一致する か否かを検証する。
あるいは、 書き込まれたばかりの既存データ DEと書き込みに用いられた書き 込みデータ D Iとが一致するか否かのベリファイ処理 (第 2のデータべリファイ 処理) は、 2バイト目の書き込みデータ D I 2の各ビットが 8ビットラッチレジ, ス夕 1 70にラッチされるタイミングにて実行されても良い (データべリファイ 2の期間) 。 具体的には、 インクリメントコントローラ 1 50は、 2バイト目の 書き込みデ一タ D I 2の各ビッ卜が 8ビットラツチレジスタ 1 70にラッチされ るタイミングにて、 8ビットラツチレジス夕 1 70から放出される直前の書き込 みに用いられた 1ピットの書き込みデータ D I 1 nを取得し、 また、 メモリァレ ィ 1 0 0の第 1の書き込み制限行から 1ビット単位にて書き込まれたばかりの既 存デ一夕 DE 1 nを MS Bから読み出す。 インクリメントコントローラ 1 50は 、 取得した書き込みデータ D I 1 nと読み出した既存データ DE 1 nとが一致す るか否かを検証する。 このビット単位の比較処理を 8回繰り返すことで (デ一夕 ベリファイ 2の期間) 、 1バイト目の書き込みデータ D I 1が第 1の書き込み制 限行に正しく書き込まれたか否かを判定することができる。
本実施例では、 書き込みデータ D Iは図 3に示すように 1 6ビット長のデ一夕 であり、 書き込み制限行は第 1の書き込み制限行と第 2の書き込み制限行の 2行 (8アドレス X 2) であるため、 上記の処理が 2度実行されると、 書き込みデー 夕 D Iの書き込みは宪了する。 書き込みデータ D Iの書き込み完了後、 ホスト計 算機からリセット信号 R ST (=0または LOW) がリセット信号端子 RS TT に入力され、 オペレーションコードの受け付け待機状態とされて、 書き込み処理 が終了する。
なお、 ホスト計算機から送出される書き込みデータは、 書き換えを所望するァ ドレスに対応するデータを除いて、 メモリアレイ 100に現在格納されているデ 一夕と同一の値 (0または 1) を有している。 すなわち、 メモリアレイ 1 00に おける書き換えられないァドレスのデ一夕は、 同一の値によって上書きされる。 リセット信号 RS T (=0または LOW) が入力されると、 アドレスカウンタ 1 1 0、 I NZOUTコントローラ 1 20、 I Dコンパレ一夕 1 3 0、 ライト Z リードコントローラ 140およぴィンクリメントコントローラ 1 50は初期化さ れる。
-第 1のデータベリフアイ処理:
図 6を参照して、 第 1の実施例に係る半導体記憶装置 1 0によって実行される 第 1のデータべリファイ処理について説明する。 図 6は第 1の実施例に係る半導 体記憶装置 10によって実行される書き込み処理における第 1のデータべリファ ィ処理の処理ルーチンを示すフローチャートである。
インクリメントコントローラ 1 50は、 メモリアレイ 100の第 1の書き込み 制限行から、 書き込んだばかりの既存デ一夕 DE 1を読み出し (ステップ S 10 0 ) 、 8ビットラッチレジス夕 1 7 0に格納されてる書き込みデータ D I 1と比 較する (ステップ S 1 0 2 ) 。 具体的には、 インクリメントコントローラ 1 5 0 は、 1バイト目の書き込み終了後におけるクロック ' ロー期間に、 チャージポン プ回路 1 6 0の内部発振器 1 6 2によって生成される内部クロック信号を用いて 、 4ビットカウン夕 1 5 1をカウントアップさせる。 インクリメントコント口一 ラ 1 5 0は、 4ビットカウンタ 1 5 1のカウント値をカラム選択回路 1 0 3およ びロー選択回路 1 0 4に入力し、 メモリアレイ 1 0 0の第 1の書き込み制限行か ら書き込んだばかりの 8ビッ卜の既存データ D E 1をアドレス順に、 I NZO U Tコントローラ 1 2 0を介して読み出し、 8ビット内部レジス夕 1 5 3にラッチ する。 すなわち、 内部クロック信号は書き込みスタンバイ状態から 8ビット (8 クロック) 遅れで出力されることとなる。
インクリメントコントローラ 1 5 0は、 8ビッ卜内部レジスタ 1 5 3にラッチ された既存データ D E 1と 8ビットラッチレジス夕 1 7 0にラッチされている第 1の書き込み制限行に対する書き込みに用いられた書き込みデータ D I 1とが一 致するか否かを判定する (ステップ S 1 0 4 ) 。 インクリメントコント口一ラ 1 5 0は、 第 1の書き込み制限行から読み出された 8ビット内部レジス夕 1 5 3に 格納されている既存デ一夕 D E 1が 8ビットラツチレジスタ 1 7 0に格納されて いる書き込みデータ D I 1と一致する場合には (ステップ S 1 0 4 : Y e s ) 、 書き込みが正常に完了したものと判断し (ステップ S 1 0 6 ) 、 本処理ルーチン を完了する。 かかる場合には、 第 2の書き込み制限行に対する 2バイト目の書き 込みデータ D I 2の書き込み処理が、 第 1の書き込み制限行に対する 1バイト目 の書き込みデ一夕 D I 1の書き込み処理と同様にして実行される。
インクリメントコントローラ 1 5 0は、 第 1の書き込み制限行から読み出され た 8ビット内部レジスタ 1 5 3にラッチされている既存データ D E 1が 8ビット ラッチレジスタ 1 7 0に格納されている書き込みデータ D I 1と一致しない場合 には (ステップ S 1 0 4 : N o ) 、 書き込みが正常に完了しなかった、 すなわち 、 書き込み異常であると判断する (ステップ S 1 0 8) 。 インクリメントコント ローラ 1 5 0は、 第 1の書き込み制限行から読み出された 8ビット内部レジスタ 1 5 3にラッチされている既存データ DE 1と、 8ビット内部レジスタ 1 5 2に 格納されている書き込み前の既存データ DE 1 „« とが一致するか否かを判定し (ステップ S 1 1 0) 、 DE 1 =DE 1 。Mであると判定した場合には (ステツ プ S -1 1 0 : Y e s ) 、 本処理ルーチンを終了する。 一方、 インクリメントコン トロ一ラ 1 5 0は、 DE l ^DE l 。ldであると判定した場合には (ステップ S 1 1 0 : N o) 、 8ビット内部レジスタ 1 5 2に格納されている書き込み前の既 存デ一夕 DE 1 0,d をメモリセル 1 0 0の第 1の書き込み制限行に対して書き戻 し (ステップ S 1 1 2) 、 本処理ルーチンを終了する。 書き込み異常の判定がな された場合には、 第 2の書き込み制限行に対する残りの書き込みデータ D I 2の 書き込み処理は実行されない。
書き戻し処理は、 第 2の書き込み制限行に対する書き込み処理サイクルに実行 される。 すなわち、 2バイト目の書き込みデータ D I 2の書き込みサイクルにお いて、 8ピットラッチに格納されている既存データ DE 1 。Mが I N/OUTコ ントローラ 1 20に入力され、 デ一夕信号端子 SDATを介して入力されたデー 夕と同様にして、 メモリアレイ 1 0 0の第 1の書き込み制限行に対する書き込み 処理が実行される。 この結果、 メモリアレイ 1 0 0の第 1および第 2の書き込み, 制限行におけるデ一夕は、 書き込み処理実行前の値に戻されるので、 少なくとも メモリアレイ 1 0 0に対する誤ったデ一夕の書き込みを回避することが可能とな り、 メモリアレイ 1 0 0に対するデータの書き込み信頼性を向上させることがで きる。
•第 2のデ一夕ベリフアイ処理:
図 7を参照して、 第 1の実施例に係る半導体記憶装置 1 0によって実行される 第 2のデータべリファイ処理について説明する。 図 7は第 1の実施例に係る半導 体記憶装置 1 0によって実行される書き込み処理における第 2のデータべリファ ィ処理の処理ル一チンを示すフローチャートである。
データべリファイ処理は、 既述の第 1のデータべリファイ処理に代えて、 以下 に説明する第 2のデ タベリフアイ処理によって実行されても良い。
ィンクリメントコント口一ラ 1 5 0は、 メモリアレイ 1 0 0の第 1の書き込み 制限行から、 ビット単位で書き込んだばかりの既存データ D E 1 nを読み出す ( ステップ S 2 0 0 ) 。 具体的には、 インクリメントコントローラ 1 5 0は、 2バ ィト目の書き込みデ^ "夕 D I 2の各ビット D I 2 nが 8ビットラツチレジス夕 1 7 0にラッチされるタイミングにて、 メモリアレイ 1 0 0の第 1の書き込み制限 行から書き込まれたばかりの既存データ 1を構成する 1 'ビットの既存デ一夕 D E I nを読み出す。 かかる既存データ D E 1 nの読み出しは、 例えば、 ベリフ アイ処理時 (2バイ卜目の書き込みデ 夕 D I 2のラッチ時) には、 カラム選択 回路 1 0 3およびロ 選択回路 1 0 4が、 アドレスカウンタ 1 1 .0から入力され るカウント値から 8カウント分を減算し、 減算したカウント値を用いてメモリア レイ 1 0 0の読み出しデータを選択するようにすればよい。 あるいは、 カラム選 択回路 1 0 3および d—選択回路 1 0 4が、 1サイクル前の読み出しアドレスを 記憶しておき、 アドレスカウンタ 1 1 0から入力されるカウント値に基づいて記 憶されたァドレスを贓次、 選択するようにしておいても良い。
インクリメントコントローラ 1 5 0は、 8ビットラツチレジスタ 1 7 0から放 出されたビット単位の書き込みデータ D I 1 nを取得する (ステップ S 2 0 2 ) 。 具体的には、 8ピットラッチレジスタ 1 7 0は F I F〇タイプのレジスタであ るから、 2バイト目の書き込みデータ D I 2が 1ビット単位でラッチされる毎に 既にラッチされている書き込みデータ D I 1が 1ビット単位で放出される。 イン クリメントコントローラ 1 5 0は、 放出された 1ビット単位の書き込みデータ D I 1 nを順次取得する。
インクリメントコントローラ 1 5 0は、 メモリアレイ 1 0 0の第 1の書き込み 制限行から読み出した既存デ一夕 DE 1 nと 8ビットラッチレジスタ 1 7 0から 取得した書き込みデータ D I 1 nとを比較する (ステップ S 2 04) 。 インクリ メントコントローラ 1 5 0は、 メモリアレイ 1 0 0の第 1の書き込み制限行から 読み出した既存データ DE 1 nと 8ビットラツチレジスタ 1 7 0から取得した書 き込みデータ D I 1 nとが一致する場合には (ステップ S 2 0 6 : Y e s ) 、 メ モリアレイ 1 0 0の第 1の書き込み制限行から 8ビット分の既存デ一夕 DE 1 n を読み出したか否か、 すなわち、 n= 8であるか否かを判定する (ステップ S 2 0 8) 。 インクリメントコントローラ 1 5 0は、 η = 8でないと判定した場合に は (ステップ S 2 0 8 : No) 、 ステップ S 2 0 0〜2 0 6を再度実行する。 す なわち、 第 2のデ一夕べリファイ処理では、 2バイト目の書き込みデ一夕 D I 2 が 8ビットラツチレジス夕 1 7 0に格納される度に 1ビット単位にて既存データ D E 1 nと書き込みデータ D I 1 nとの比較が行われる。 したがって、 メモリア レイ 1 0 0の第 1の書き込み制限行に格納されている 8ビッ卜の既存データ DE 1を全て検証するためには 8回の比較処理を実行する必要がある。
インクリメントコントローラ 1 5 0は、 n = 8であると判定した場合には (ス テツプ S 2 0 8 : Y e s) 、 メモリアレイ 1 0 0の第 1の書き込み制限行に対す る書き込みが正常に完了したものと判断し (ステップ S 2 1 0) 、 本処理ルーチ ンを完了する。 かかる場合には、 第 2の書き込み制限行に対する 2バイト目の書 き込みデータ D I 2の書き込み処理が、 第 1の書き込み制限行に対する 1バイト 目の書き込みデ一夕 D I 1の書き込み処理と同様にして実行される。
インクリメントコントローラ 1 5 0は、 メモリアレイ 1 0 0の第 1の書き込み 制限行から読み出した既存デ一夕 DE 1 nと 8ビットラツチレジスタ 1 7 0から 取得した書き込みデータ D I 1 nとが一致しない場合には (ステップ S 2 0 6 : No) 、 書き込みが正常に完了しなかった、 すなわち、 書き込み異常であると判 断する (ステップ S 2 1 2) 。 インクリメントコントローラ 1 5 0は、 第 1の書 き込み制限行から読み出された 8ビット内部レジス夕 1 5 3にラッチされている 8ピットの既存デ一夕 DE 1と、 8ビット内部レジス夕 1 52に格納されている 直前の 8ビットの既存データ DE 1 。ω とが一致するか否かを判定し (ステップ S 2 1 4) 、 DE 1 =DE 1 。Mであると判定した場合には (ステップ S 2 1 4 : Ye s) 、 本処理ルーチンを終了する。 一方、 インクリメントコント口一ラ 1 50は、 DE 1≠DE 1 。wであると判定した場合には (ステップ S 2 14 : N o) 、 8ビット内部レジス夕 1 52に格納されている書き込み前の既存デ一夕 D E 1 。w をメモリセル 1 00の第 1の書き込み制限行に対して書き戻し (ステツ プ S 2 14) 、 本処理ルーチンを終了する。 第 1のデータべリファイ処理と同様 にして、 書き込み異常の判定がなされた場合には、 第 2の書き込み制限行に対す る残りの書き込みデータ D I 2の書き込み処理は実行されない。
書き戻し処理は、 第 1のデ一夕ベリフアイ処理において説明した手順で同様に して実行される。
図 8を参照して、 第 1の実施例に係る半導体記憶装置 10の応用例について説 明する。 図 8は第 1の実施例に係る半導体記憶装置の応用例を示す説明図である 。 本実施例に係る半導体記憶装置 1 0は、 消費材を収容する収容容器、 例えば、 印刷記録材としてのインクを収容するインク収容体 3 1 0、 3 1 1、 3 1 2に備 えられる。 各インク収容体 310、 31 1、 3 12が印刷装置に装着されると、 印刷装置に備えられるホスト計算機 300と、 バス接続される。 すなわち、 ホス, ト計算機 300からのデータ信号線 SDA、 クロック信号線 S CK、 リセット信 号線 RST、 正極電源線 VDD、 および負極電源線 V S Sは、 各インク収容体 3 1 0、 31 1、 31 2に備えられている半導体記憶装置 1 0と接続されている。 この応用例では、 インク残量またはインク消費量といったインクに関する量の情 報が半導体記憶装置 10に格納される。
以上説明したとおり、 第 1の実施例に係る半導体記憶装置 1 0によれば、 半導 体記憶装置 1 0に対して、 半導体記憶装置 1 0が有するメモリアレイ 100の 1 行に格納可能なデ一夕長 (8ビット) の 2倍のデータ長の書き込みデータ D Iを 書き込むにあたり、 書き込みデ一夕 D Iの上位 (先頭) 8ビット (D I 1 ) が正 しく書き込まれたか否かを検証する。 したがって、 書き込みデータ D Iの最初の 8ビット (D I 1 ) が正しく書き込まれた場合にだけ、 下位 (残り) 8ビット ( D I 2 ) の書き込みを実行させることによって、 メモリアレイ 1 0 0の 1行に格 鈉可能なデータ長よりも長いデータ長のデータの書き込み信頼性を向上させるこ とができる。 すなわち、 書き込みデータ D Iの上位 8ピット (D I 1 ) が正しく 書き込まれていない限り既存デ一夕 D Eの上書き (更新) は実行されないので、 デ一夕の書き込み信頼性を向上させることができる。
特に、 上記実施例では、 半導体記憶装置 1 0が備えるメモリアレイ 1 0 0には 最上位ピット (M S B ) のデ一夕から先頭側のアドレスに格納されるので、 上位 8ビットによって表される上位桁が誤って書き込まれることはなく、 書き込みデ —夕の書き込み信頼性を向上させることができる。 ' また、 メモリアレイ 1 0 0の 1行に格納可能なデータ長よりも長いデータ長の データの書き込み信頼性を向上させることができるので、 本実施例に係る半導体 記憶装置 1 0は、 メモリアレイ 1 0 0の 1行に格納可能なデータ長の整数倍の書 き込みデ一夕長を扱う複数の装置において共用することができる。
第 1のべリファイ処理によれば、 8ビット単位でベリファイ処理が実行される ので、 ベリファイ処理をまとめて実行することが可能となり、 1ビット単位にて ベリファイ処理を実行する場合と比較して、 ベリファイ処理に要する時間を短縮 することができる。
さらに、 第 2のべリファイ処理によれば、 4ビットカウンタおよび内部発振器 1 6 2といった回路を用いることなくべリファイ処理を実行することができる。 すなわち、 第 1のべリファイ処理では 8ピット単位でベリファイ処理が実行され ているが、 第 2のべリファイ処理では、 1ピット単位で実行される。 かかる場合 には、 インクリメントコントローラ 1 5 0は、 4ビットカウンタ 1 5 1および 8 ビット内部レジス夕 1 5 3を備える必要がなく、 回路構成を簡易化することがで きる。 第 1の実施例の変形例:
( 1 ) 上記第 1の実施例では、 ベリファイ処理の結果、 第 1の書き込み制限行に 対して 1バイト目の書き込みデータ D I 1が正しく書き込まれていない場合には
、 8ゼット内部レジスタ 1 5 2にラッチされている書き込み前の既存データ D E 1 。uが第 1の書き込み制限行に対して書き戻されるが、 書き戻しを実行しなく てもよい。 かかる場合であっても、 第 2の書き込み制限行に対する 2バイト目の 書き込みデータ D I 2の書き込みは実行されず、 下位 8ビットの値は正常に書き 込まれた値であることが保証される。 一方、 上位 8ビットの値については、 一般 的に、 短い期間で大きく変動する値でないことから、 ホスト計算機側において、 前回の値との確からしさを検証することによって、 不具合を回避することができ る。
( 2 ) 上記第 1の実施例では、 1 6ビット長の書き込みデータを例にとって説明 しているが、 この他にも、 2 4ビット長、 3 2ビット長といった、 メモリアレイ
1 0 0の 1行のビット長の倍数のデータ長を有するデータに対しても同様に適用 することができると共に、 同様の効果を得ることができる。 かかる場合には、 最 後の 1バイトが書き込まれるまで、 1バイト単位 (8ビット単位) にてベリファ ィ処理が実行される。
( 3 ) 上記第 1の実施例では、 2バイト目の書き込みデータ D I 2についてベリ フアイ処理が実行されていないが、 ≤バイト目の書き込みデータ D I 2に対する ベリファイ処理を実行しても良い。
( 4 ) 上記第 1の実施例では、 インクカートリッジを応用例として用いたが、 こ の他にもトナーカートリッジにおいても同様の効果を得ることができる。 また、 プリペイドカード等の通貨相当情報を格納する媒体において適用した場合にも同 様の効果を得ることができる。 第 2の実施例:
半導体メモリ装置の構成:
第 2の実施例に係る半導体メモリ装置は、 不揮発的に記憶内容を保持すると共 に 1ビット単位にて先頭ァドレスからシーケンシャルにアクセスされる EE PR OMである。
図 9は第 2の実施例に係る半導体メモリ装置の内部回路構成を示すブロック図 である。 この半導体メモリ装置 1 OAは、 アクセスコントローラ 1 1 1 0、 リー ドライトコントローラ 1 1 20、 ァドレスカウン夕 1 1 30およびメモリアレイ 1 140を備えている。
メモリアレイ 1 140は、 所定容量、 例えば、 256ビットの記憶領域を有し ている。
アドレスカウン夕 1 1 30は、 クロック信号端子 CKTに入力されるクロック 信号 CLKに同期してそのカウンタ値をィンクリメントする回路である。 より具 体的には、 アドレスカウンタ 1 1 30は、 リードライトコントローラ 1 1 20か ら出力されるカウントアップ信号 CPに同期してそのカウン夕値をィンクリメン ト (カウントアップ) する回路である。 ただし、 カウントアップ信号 CPは、 リ —ドライトコントローラ 1 1 2 0から出力されるクロック信号であり、 内部クロ, ック信号 I CKに相当する。 また、 内部クロック信号 I CKは、 コントローラ 1 1 10から出力されるクロック信号であり、 クロック信号 CLKに相当する。 し たがって、 カウントアップ信号 CPは、 クロック信号 CLKに相当するクロック 信号であり、 アドレスカウンタ 1 1 30は、 クロック信号 CLKに同期してその カウンタ値をカウントアップすることになる。
ァドレスカウンタ 1 1 30のカウンタ値は、 メモリアレイ 1 140の 256ビ ッ卜の記憶領域位置を示すアドレス ADDとしてメモリアレイ 1 140に入力さ れており、 ァドレスカウン夕 1 1 30のカウン夕値によってメモリアレイ 1 14 0における書き込み位置または読み出し位置を指定することができる。
アドレスカウンタェ 1 3 0は、 また、 カウンタリセット信号 CR S Tが入力さ れると、 カウンタ値を初期値にリセットする。 ここで、 初期値はメモリアレイ 1 140の先頭位置と閼連付けられていればどのような値でもよく、 一般的には 0 が初期値として用いられる。 なお、 カウンタリセット信号 CRS Tは、 装置の起 動時や、 アクセス (データの読み出しまたは書き込み) の開始または終了時に、 リ一ドライトコントローラ 1 1 2 0から出力される。
したがって、 アドレスカウンタ 1 1 3 0は、 初期値から順にカウントアップさ れるカウンタ値によりメモリアレイ 1 1 40の書き込み位置または読み出し位置 を順に指定することができる。
アクセスコントローラ 1 1 1 0は、 チップセレクト端子 C S Tと、 クロック信 号端子 CKTと、 データ信号端子 I Oと接続されており、 チップセレクト端子 C KTを介してチップゼレク卜信号 c S #が入力され、 クロック信号端子 CKTを 介してクロック信号 CLKが入力され、 デ一夕信号端子 I Oを介してデータ信号 DAが入力あるいは出力される。 入力されたクロック信号 CLKは内部クロック 信号 I CKとしてリードライトコントローラ: L 1 20に送出される。 デ一タ信号 DAが入力データ信^の場合には、 入力データ信号 I D Aとしてリ一ドライトコ ントローラ 1 1 2 0に送出され、 書き込みデータ信号 WDAとしてメモリアレイ 1 140に送出される。 データ信号 D Aが出力データ信号である場合には、 メモ リアレイ 1 140から送出された読み出しデータ信号 RD Aがデータ信号 D Aと して出力される。
また、 アクセスコントローラ 1 1 1 0は、 チップセレク卜信号 C S #と、 クロ ック信号 C LKに同期して入力されるデータ信号 D Aとに基づいて、 アクセスの 開始および終了を制御する。 具体的には、 アクセスコントローラ 1 1 1 0は、 チ ップセレクト信号 C S #が入力され、 データの読み出しまたは書き込みを指示す るコマンドデ一夕があらかじめ定められたタイミングでデータ信号 D Aとして入 力されると、 アクセス許可信号 AENをリ一ドライトコントローラ 1 120およ びアドレスカウンタ 1 1 3 0に送出するとともに、 指示されたアクセスが書き込 みである場合には、 書き込みアクセス開始信号 WRSをリードライ卜コント口一 ラ 1 1 20に送出することにより、 アクセスの開始を制御する。 また、 アクセス コントローラ 1 1 1 0は、 チップセレクト信号 C S #の入力が終了すると、 ァク セス許可信号 AENの送出を終了するとともに、 書き込みアクセス開始信号 WR Sを送出している場合にはその送出を終了することにより、 アクセスの終了を制 御する。
リ一ドライトコントローラ 1 1 20は、 デ一夕の読み出しを制御するリード制 御部 1 1 22と、 データの書き込みを制御するライト制御部 1 1 24と、 リード 制御部 1 1 22からの指示に従ってリード実行信号 RDをメモリアレイ 1 140 に送出するとともに、 ライト制御部 1 1 24からの指示に従ってリ一ド実行信号 RDおよびライト実行信号 WRをメモリアレイ 1 140に送出するリ一ドライト 実行部 1 1 26と、 を備えており、 データの読み出しあるいは書き込みを実際に 制御する。 具体的には、 アクセスコントローラ 1 1 1 0からアクセス許可信号 A E Nおよび書き込み開始信号 W RSのうち、 アクセス許可信号 AENのみが入力 される場合には、 リード制御部 11 22およびリードライト実行部 1 126が動 作して、 内部クロック信号 I CKの立ち下がり (立ち上がり) に同期したリード. 実行信号 RDをメモリアレイ 1 140に送出して、 データの読み出し処理を実行 する。 このとき、 メモリアレイ 1 140からの読み出しデ一夕信号 RDAに含ま れる読み出しデータ (単に 「読み出しデ一夕 RDA」 とも呼ぶ。 ) は、 アクセス コントローラ 1 1 1 0に入力され、 デ一夕信号端子 I Oを介して出力データ信号 D Aとして出力される。 また、 アクセスコントローラ 1 1 1 0からアクセス許可 信号 A ENおよび書き込みアクセス開始信号 WR Sが入力される場合には、 ライ 卜制御部 1 1 24およびリードライト実行部 1 1 26が動作して、 内部クロック 信号 I CKの立ち下がり (立ち上がり) に同期したリード実行信号 RDおよび内 部クロック信号 I CKの立ち上がり (立ち下がり) に同期したライト実行信号 W R'をメモリアレイ 1 1 40に送出して、 後述するようにデ一夕の読み出しおよび 書き込み処理を実行する。 このとき、 データ信号端子 I Oを介してアクセスコン トロ一ラ 1 1 1 0に入力されたデータ信号 D Aが、 書き込みデ一夕信号 WD Aと してメモリアレイ 1 1 40に送出され、 書き込みデータ信号 WD Aの表すデータ (単に 「書き込みデ一夕 WDA」 とも呼ぶ。 ) は、 メモリアレイ 1 1 40に入力 される順に書き込まれる。
なお、 本実施例の半導体メモリ装置の特徴は、 ライト制御部 1 1 24によるデ 一夕の書き込み動作の部分にあり、 リード制御部 1 1 2 2によるデータの読み出 し動作の部分については、 従来の半導体メモリ装置と同様であるので、 以下では
、 デ一夕の書き込み動作について説明を加える。 書き込み動作:
前提として、 デ一夕信号 DAとしてデータ信号端子 I Oを介して順に入力され る複数ビットのデ一夕は、 必ず最大ビット (MS B) から順に 1ビット単位で入 力され、 メモリアレイ 1 1 40の記憶領域位置も最大ビットに関連付けられたァ ドレスから順番にアクセスされることとする。
図 1 0は、 第 2の実施例におけるデータの書き込み動作の手順を示すフローチ ャ一トである。 この動作は、 上記したように、 アクセスコントローラ 1 1 1 0か らリードライトコントローラ 1 1 2 0にアクセス許可信号 A ENが入力されると ともに、 書き込みアクセス開始信号 WR Sが入力される場合に、 ライト制御部 1 1 24によって実行される。
書き込み動作を開始すると、 ライト制御部 1 1 24は、 まず、 リードライト実 行部 1 1 2 6にデータの読み出しを実行させる (ステップ S 1 1 0 2) 。 例えば 、 リ一ドライト実行部 1 1 2 6は、 内部クロック信号 I CKの立ち下がりに同期 してリード実行信号 RDをメモリアレイ 1 140に送出する。 このとき、 リード 実行信号 RDに従って、 メモリアレイ 1 140の、 アドレスカウン夕 1 1 30か ら送出されているアドレス信号 ADDの表すァドレス値に対応する記憶領域位置 の記憶領域から、 記憶されているデータ (記憶データ) が読み出される。 なお、 リード実行信号 RDの送出は、 以下で説明する他の読み出し処理においても、 内 部ク口ック信号 I C Kの立ち下がりに同期して行われることとする。
そして、 ライト制御部 1 124は、 上記のようにして読み出されてメモリァレ ィ 1 140から送出されている読み出しデータ信号 RDAの表すデータ (単に 「 読み出しデ一夕」 と呼ぶ。 ) と、 このとき、 データ信号端子 I〇を介して入力さ れ、 アクセスコントローラ 1 1 1 0から送出されている入力データ信号 I DAの 表すデータ (単に 「入力データ j と呼ぶ。 ) と、 を比較し (ステップ S 11 04 ) 、 読み出しデータの値と入力データの値とがー致しているか否かを判断する ( ステップ S 1 1 06) 。
読み出しデ一夕の値と入力データの値とが一致している場合には (ステップ S 1 106 : Y e s ) 、 ライト制御部 1 1 24は、 アドレスカウン夕 1 1 30の力 ゥン夕値を 1つカウントアップさせ (ステップ S 1 1 08) 、 さらに、 アクセス 動作を終了するか否か判断し (ステップ S 1 1 10) 、 アクセス動作を継続する 場合には (ステップ S 1 1 10 : N o) 、 再ぴ、 リードライト実行部 1126に データの読み出しを実行させる (ステップ S 1 1 02) 。 例えば、 リードライト コントローラ 1 1 20は、 リードライト実行部 1 226がリード実行信号 RDを 送出した後の、 内部クロック信号 I CKの次の立ち下がりに同期してカウントァ ップ信号 CPをカウンタ 1 1 30に送出する。 このとき、 カウントアップ信号 C Pに従って、 カウンタ 1 1 30のカウンタ値が 1つカウントアップされる。 なお 、 カウン夕 1 1 30は、 内部クロック信号 I CKに相当するカウントアップ信号 CPの各立ち下がりタイミング (カウントアップタイミング) で、 毎周期カウン タ値をカウントアップする。
したがって、 ライト制御部 1 1 24は、 読み出しデータと入力デ一夕とが不一 致となる (ステップ S 1 1 0 6 : No) まで、 データの読み出し処理 (ステップ S 1 1 02) および入力デ一夕との比較処理 (ステップ S 1 1 04) を繰り返す なお、 ライト制御部 1 1 24は、 上記アクセス動作の終了判断 (ステップ S 1 1 1 0) において、 ァグセス動作を終了すると判断される場合には (ステップ S 1 1 1 0 : Ye s ) 、 ァドレスカウンタ 1 1 3 0のカウンタ値をリセットして ( ステップ S 1 1 24) 、 この書き込み動作を終了する。 アクセス動作の終了は、 チップセレク卜信号 # C Sあるいはアクセス許可信号 A ENが入力されているか 否かにより、 判断することができる。 具体的には、 判断の対象となる信号、 例え ば、 アクセス許可信号 AENの状態が非アクティブ状態であればアクセス動作終 了と判断することができる。
一方、 ライト制御部 1 1 24は、 上記読み出しデータの値と入力データの値が 一致しているか否かの判断において (ステップ S 1 1 0 6) 、 読み出しデータの 値と入力デ一夕の値とがー致していない場合には (ステップ S 1 1 0 6 : No) 、 さらに、 入力データの値が [1] であるか否か判断する (ステップ S 1 1 1 2 入力データの値が [1] である場合には (ステップ S 1 1 1 2 : Ye s ) 、 書 き込み許可フラグを設定して (ステップ S 1 1 1 4) 、 リ一ドライト実行部 1 1 26に書き込みデータとしての入力データの書き込みを実行させる (ステップ S 1 1 1 6) 。 例えば、 リードライト実行部 1 1 2 6は、 内部クロック信号 I CK の立ち上がりに同期してライト実行信号 WRをメモリアレイ 1 1 40に送出する 。 このとさ、 メモリアレイ 1 1 40の、 アドレスカウン夕 1 1 3 0から送出され ているアドレス信号 ADDの表すァドレス値に対応する記憶領域位置の記憶領域 に対して、 入力データ (書き込みデータ) が書き込まれる。
そして、 ライト制御部 1 1 24は、 次のカウントアップタイミングでアドレス カウンタ 1 1 3 0のカウンタ値を 1つカウントアップさせて (ステップ S 1 1 1 8) 、 さらに、 アクセス動作を終了するか否か判断する (ステップ S 1 1 2 0) アクセス動作を継続する場合には (ステップ S 1 1 2 0 : No) 、 再び、 デ一 夕の書き込み処理 (ステップ S 1 1 1 6) およびァドレスのカウントアップ処理 (ステップ S 1 1 1 8) を実行させる。 一方、 アクセス動作を終了する場合には (ステップ S 1 1 2 0 : Y e s ) 、 書き込み許可フラグの設定を解除し (ステツ プ S 1 1 2 2) 、 アドレスカウン夕 1 1 3 0のカウン夕値をリセットして (ステ ップ S 1 1 24) 、 この書き込み動作を終了する。 '
また、 ライト制御部 1 1 24は、 上記入力データの値が [1] であるか否かの 判断 (ステップ S 1 1 1 0) において、 入力デ一夕の値が [1] でないと判断さ れる場合には (ステップ S 1 1 1 0 : No) 、 アクセス動作が終了するまで (ス テツプ S 1 1 2 8 : No) 、 入力データの書き込みを禁止して (ステップ S 1 1 2 6) 、 リ一ドライト実行部 1 1 2 6の動作を停止させる。 一方、 アクセス動作 を終了する場合には (ステップ S 1 1 2 8 : Ye s) 、 ァドレスカウン夕 1 1 3 0のカウンタ値をリセットして (ステップ S 1 1 24) 、 この書き込み動作を終 了する。
次に、 上記書き込み動作による具体例を説明する。 説明を容易にするため、 4 ビットの記憶領域に 4ビッ卜のバイナリデータを書き込場合を前提とする。 例え ば、 4ピットの各記憶領域にデータ [1 0 1 0 b] が記憶されているとする。 な お、 口 中の [b] はバイナリデータであることを示しており、 4つの [1] ま たは [0] の値のうち、 左端が最大ビット (MS B) で右端が最小ビット (L S B) を示している。
例えば、 入力デ一夕 (書き込みデータ) [1 0 1 0 b] が左端の最大ビットか ら順に入力されると、 記憶データ [1 0 1 0 b] の対応するビットと順に比較さ れることになる。 このとき、 入力データと記憶データとは各ビットの値が一致し ているので、 データの書き込みは行われない。 また、 入力デ一夕 [1 100b] が入力される場合には、 記憶データ [101 O b] に対して、 左から 2ビット目の入力データの値が [1] で、 記憶データの 値が [0] で不一致であり、 かつ、 入力デ一夕の値は 〔1] であるので、 入力デ —夕の値は記憶データの値よりも大きいことになる。 この結果、 書き込み許可フ ラグが設定されて、 左から 2ビット目の [1] 、 3ビット目の [0] および 4ビ ット目の [0] が順に書き込まれて、 4ビットの各記憶領域に記憶されているデ 一夕 [1010 b] 力 入力デ一夕 [1 100 b] に書き換えられる。
さらに、 入力デ一タ [1001 b] が入力される場合には、 記憶データ [10 10 b] に対して、 左から 3ビット目の入力データの値が [0] で、 記憶データ の値が [1] で不一致となるが、 入力データの値は 〖0] であるので、 入力デ一 夕の値は記憶データの値よりも小さいことになる。 この結果、 書き込み許可フラ グは設定されず、 入力デ一夕 [1001 b] の書き込みは禁止される。
以上、 説明したように、 第 2の実施例の書き込み動作では、 書き込みデータと しての入力データの値が、 記憶データとしての記憶データの値よりも大きい場合 においてのみ、 データの書き換えを行うことができ、 書き込みデータが記憶デー 夕よりも小さい場合には、 書き込みを禁止することができる。 これにより、 あら かじめ定められたデータ条件による書き込み以外の書き込みを防止することがで きる。
なお、 上記第 2の実施例の書き込み動作では、 書き込みデータと'記憶データと がー致している場合には、 入力データの書き込みが行われないこととして説明し たが、 一致している場合にも書き込み許可フラグを設定して入力データの書き込 みを行い、 書き込みデータの方が記憶データよりも小さい場合においてのみデ一 夕の書き込みを禁止するようにしてもよい。
また、 上記第 2の実施例の書き込み動作では、 1ビット単位で順にデータを書 き込むことを前提に説明したが、 nビット単位のデータをまとめて一度に書き込 むようにしてもよい。 ただし、 このようにする場合には、 nビットのデータが全 て入力されるまで、 各ビットの入力デ一夕を保持するためのデータバッファを備 える必要がある。
ところで、 第 2の実施例の書き込み動作は、 「書き込みデータが記憶データよ りも大きい」 というデータ条件を満たす場合においてのみ、 データの書き換みを 可能とするものである。 しかしながら、 ライト実行信号 WRの発生期間を短くす るよ-うに、 例えば、 ライト実行信号 WRの発生の基準となるクロック信号 C L K のタイミングを変化させて書き込み動作を行わせた場合には、 データ条件を満た さないデータを書き込めてしまう可能性がある。 そこで、 以下では、 この不具合 に対応させた実施例の半導体メモリ装置について説明を加える。
•第 3の実施例:
半導体メモリ装置の構成:
第 3の実施例に係る半導体メモリ装置も、 第 2実施例と同様に、 不揮発的に記 憶内容を保持すると共に 1ビット単位にて先頭ァドレスからシーケンシャルにァ クセスされる E E P R O Mであるとする。 - 図 1 1は、 第 3の実施例に係る半導体メモリ装置の内部回路構成を示すブロッ ク図である。 この半導体メモリ装置 2 0 Aは、 アクセスコントローラ 1 2 1 0、 リ一ドライトコントローラ 1 2 2 0、 アドレスカウンタ 1 2 3 0およびメモリア レイ 1 2 4 0に加えて、 データバッファ 1 2 2 8および減算器 1 2 3 2を備えて いる。
アクセスコントローラ 1 2 1 0、 アドレスカウンタ 1 2 3 0およびメモリァレ ィ 1 2 4 0は、 第 2の実施例の半導体メモリ装置 (図 9参照。 ) のアクセスコン トロ一ラ 1 1 1 0、 アドレスカウン夕 1 1 3 0およびメモリアレイ 1 1 4 0と同 じである。 - デ一夕バッファ 1 2 2 8は、 リードライトコントローラ 1 2 2 0から入力され るラッチ信号 D L Tに従って、 アクセスコントローラ 1 2 1 0からの入力データ 信号 I D Aをラッチするとともに、 ラッチデータを書き込みデータ信号 WD Aと してメモリアレイ 1 1 4 0に送出する。
減算器 1 2 3 2は、 リードライトコントローラ 1 2 .2 0からの減算信号 D E C に従って、 アドレスカウン夕 1 2 3 0のカウンタ値で表されるアドレス ( 「非減 算アドレス」 と呼ぶ。 ) 、 あるいは、 カウン夕値を減算した値で表されるァドレ ス ('「減算アドレス」 と呼ぶ。 ) を、 アドレス信号 A D Dとしてメモリアレイ 1
1 4 0に送出する。
リ一ドライトコントローラ 1 2 2 0は、 リード制御部 1 2 2 2、 ライト制御部 1 2 2 4およびリードライト実行部 1 2 2 6を備えており、 基本的には、 第 2の 実施例のリードライトコントローラ 1 1 2 0と同様に、 アクセス (デ一夕の読み 出しあるいはデータの書き込み) を実際に制御する。 リード制御部 1 2 2 2およ ぴリ一ドライト実行部 1 2 2 6は、 第 2の実施例のリード制御部 1 1 2 2および リ一ドライト実行部 1 1 2 6と同じである。
ライト制御部 1 2 2 4は、 アドレスカウン夕 1 2 3 0、 リードライト実行部 1 2 2 6、 データバッファ 1 2 2 8および減算器 1 2 3 2の動作を制御して、 後述 するデータの書き込み動作を制御する。
なお、 本実施例の半導体メモリ装置の特徴も、 ライト制御部 1 2 2 4の制御に よるデ一夕の書き込み動作の部分にあり、 リード制御部 1 1 2 2によるデ一夕の, 読み出し動作の部分については、 従来の半導体メモリ装置と同様であるので、 以 下では、 ライト制御部 1 2 2 4によるデ一夕の書き込み動作について説明を加え る。 書き込み動作:
前提として、 第 2の実施例における書き込み動作の場合と同様に、 データ信号 D Aとしてデ一夕信号端子 I〇を介して順に入力される複数ピッ卜のデ一夕は、 必ず最大ビット (M S B ) から順に 1ビット単位で入力され、 メモリアレイ 1 2 40の記憶領域位置も最大ビッ卜に関連付けられたァドレスから順番にアクセス されることとする。
図 1 2は、 第 3の実施例におけるデ一夕の書き込み動作の手順を示すフロ一チ ャ一トである。 この動作は、 第 2の実施例の場合と同様に、 アクセスコント口一 ラ 121 0からリードライトコントローラ 1 220にアクセス許可信号 AENが 入力されるとともに、 書き込みアクセス開始信号 WR Sが入力される場合に、 ラ ィト制御部 1 224によって実行される。
書き込み動作を開始すると、 ライト制御部 1 224は、 まず、 リ一ドライト実 行部 1 226にデータの読み出しを実行させる (ステップ S 1 20 2) 。 例えば 、 リードライト実行部 1226は、 内部クロック信号 I CKの立ち下がりに同期 してリード実行信号 RDをメモリアレイ 1 240に送出する。 このとき、 リード 実行信号 RDに従って、 メモリアレイ 1 240の、 アドレスカウンタ 1230か ら送出されているアドレス信号 ADDの表すァドレス値に対応する記憶領域位置 の記憶領域から、 記憶されているデータ (記憶データ) が読み出される。 なお、 リード実行信号 RDの送出は、 以下で説明する他の読み出し処理においても、 内 部クロック信号 I CKの立下りに同期して行われることとする。
そして、 ライト制御部 1224は、 上記のようにして読み出されたメモリァレ ィ 1 240からの読み出しデータと、 入力デ一夕とを比較し (ステップ S 1 20 4) 、 読み出しデータの値と入力データの値とがー致しているか否かを判断する (ステップ S 1 206) 。
読み出しデータの値と入力データの値とがー致している場合には (ステップ S 1 206 : Y e s ) 、 ライ卜制御部 1 224は、 データバッファ 1 228に入力 データをラッチさせた (ステップ S 1 20 8 ) 後、 ァドレスカウンタ 1 230の カウン夕値を 1つカウン卜アップさせ (ステップ S 1 2 1 0) 、 さらに、 ァクセ ス動作を終了するか否か判断し (ステップ S 1 2 12) 、 アクセス動作を継続す る場合には (ステップ S 121 2 : No) 、 再び、 リードライト実行部 1 1 26 にデータの読み出しを実行させる (ステップ S 1 2 0 2) 。 例えば、 リードライ トコントローラ 1 2 2 0は、 リードライト実行部 1 2 2 6がリード実行信号 RD を送出した後の、 内部クロック信号 I CKの次の立ち上がりに同期してラッチ信 号 DLTをデータバッファ 1 2 2 8に送出する。 このとき、 ラッチ信号 DLTに 従って、 アクセスコントローラ 1 1 1 0から送出されている入力データ信号 I D Aの表すデータ (入力デ一夕) がデータバッファ 1 2 2 8にラッチされる。 さら に、 リードライトコントローラ 1 2 2 0は、 リードライト実行部 1 2 2 6がラッ チ信号 DL Tをデータバッファ 1 2 2 8に送出した後の、 内部クロック信号 I C Kの次の立ち下がりに同期してカウントアップ信号 C Pをカウンタ 1 2 3 0に送 出する。 このとき、 カウントアップ信号 CPに従って、 カウン夕 1 2 3 0のカウ ン夕値が 1つカウントアップされる。 なお、 データバッファ 1 2 2 8は、 内部ク ロック信号 I CKの各立ち上がりタイミング (ラッチタイミング) で、 毎周期入 力データをラッチする。 また、 カウン夕 1 2 3 0は、 内部クロック信号 I C に 相当するカウントアップ信号 C Pの各立ち下がりタイミング (カウントアップタ イミング) で、 毎周期カウンタ値をカウントアップする。
したがって、 ライト制御部 1 2 2 4は、 読み出しデータと入力データとが不一 致となるまで (ステップ S 1 2 0 6 : No) 、 データの読み出し処理 (ステップ S 1 2 0 2) および入力データとの比較処理 (ステップ S 1 2 0 4) を繰り返す なお、 ライト制御部 1 2 2 4は、 上記アクセス動作の終了判断 (ステップ S 1 2 1 2) において、 アクセス動作を終了すると判断される場合には (ステップ S 1 2 1 2 : Y e s ) 、 アドレスカウン夕 1 2 3 0のカウンタ値をリセッ卜して ( ステップ S 1 2 5 0 ) 、 この書き込み動作を終了する。 アクセス動作の終了は、 チップセレク卜信号 # C Sあるいはアクセス許可信号 AENが入力されているか 否かにより、 判断することができる。 具体的には、 判断の対象となる信号、 例え ば、 アクセス許可信号 A E Nの状態が非アクティブ状態であればアクセス動作終 了と判断することができる。
一方、 ライト制御部 1 2 24は、 上記読み出しデ一夕の値と入力データの値と がー致しているか否かの判断において (ステップ S 1 2 0 6 ) 、 読み出しデータ の値と入力データの値とがー致していないと判断される場合には (ステップ S 1 2 06 : No) 、 さらに、 入力データの値が [1〕 であるか否か判断する (ステ ップ S 1 2 1 4 ) 。
入力データの値が [1] である場合には (ステップ S 1 2 1 4 : Y e s ) 、 書 き込み許可フラグを設定して (ステップ S 1 2 1 6) 、 次のラッチタイミングで データバッファ 1 2 2 8に入力データをラッチさせ (ステップ S 1 2 1 8) 、 ま た、 リードライト実行部 1 2 2 6にデータの書き込みを実行させる (ステップ S 1 22 0) 。 例えば、 リ一ドライトコントローラ 1 2 2 0は、 リードライト実行 部 1 2 26がリード実行信号 RDを送出した後の、 内部クロック信号 I CKの次 の立ち上がりに同期してラッチ信号 D.LTをデ一夕バッファ 1 2 2 8に送出する 。 このとさ、 ラッチ信号 DLTに従って入力デ一夕がデータバッファ 1 2 2 8に ラッチされる。 また、 リードライト実行部は、 リード実行信号 RDを送出した後 の、 内部クロック信号 I CKの次の立ち上がりに同期してライト実行信号 WRを メモリアレイ 1 240に送出する。 このとき、 メモリアレイ 1 240の、 ァドレ スカウンタ 1 2 3 0から送出されているアドレス信号 ADDの表すアドレス値に 対応する記憶領域位置の記憶領域に対して、 入力データ (書き込みデータ) が書 き込まれる。
そして、 ライト制御部 1 224は、 次のアドレスカウントアップタイミングで ァドレスカウンタ 1 2 3 0のカウンタ値を 1つカウントアップさせる (ステップ S 1 2 20 ) 。
次に、 ライト制御部 1 224は、 減算器 1 23 2に、 ァドレスカウンタ 1 2 3 0のカウンタ値 (アドレス値) から [1] を減算した値のアドレス (減算ァドレ ス) を、 読み出しァドレスとして設定させ (ステップ S 1 2 24) 、 リードライ 卜実行部 1 226にデータの読み出しを実行させる (ステップ S 1 226) 。 そして、 ライト制御部 1 224は、 読み出しデータと、 書き込みデータに相当 し、 データバッファ 1 22 8にラッチされているデ一夕 (ラッチデータ) と、 を 比較し (ステップ S 1 228) 、 読み出しデータの値とラッチデータの値とがー 致しているか否かを判断する (ステップ S 1 230) 。
読み出しデータの値とラッチデ一夕の値とがー致している場合には (ステップ S 1 230 : Ye s ) 、 まず、 次のラッチタイミングでデータバッファ 1 228 に入力データをラッチさせ (ステップ S 1 232) 、 減算器 1232に、 ァドレ スカウンタ 1 230のカウンタ値のアドレス (非減算アドレス) を書き込みアド レスとして設定させて (ステップ S 1234) 、 リ一ドライト実行部 1 1 26に 書き込みデータとしての入力デ一夕の書き込みを実行させる (ステップ S 1 23 6) 。
そして、 ライ ト制御部 1 224は、 次のカウントアップタイミングでアドレス カウンタ 1 23 0のカウン夕値を 1つカウントアップさせて (ステップ S 1 23 8) 、 さらに、 アクセス動作を終了するか否か判断する (ステップ S 1 240) アクセス動作を継続する場合には (ステップ S 1 240 : No) 、 再び、 入力 データのラッチ処理 (ステップ S 1232) からアドレスカウントアップ処理 (, ステップ S 1 238 ) までを実行させる。 一方、 アクセス動作を終了する場合に は (ステップ S 1 240 : Ye s) 、 書き込み許可フラグの設定を解除し (ステ ップ S 1 242) 、 ァドレスカウンタ 1 230のカウンタ値をリセットして (ス テツプ S 1 250) 、 この書き込み動作を終了する。
また、 ライト制御部 1224は、 上記読み出しデ一夕の値とラッチデ一夕の値 とが一致しているか否かの判断 (ステップ S 1 230) において、 読み出しデー 夕の値とラッチデ一夕の値とがー致していない場合には (ステップ S 1 230 : No) 、 書き込み許可フラグの設定を解除し (ステップ S 1 244) 、 アクセス 動作が終了するまで (ステップ S I 248 : No) 、 入力データの書き込みを禁 止して (ステップ S 1 246) 、 リードライト実行部 1 22 6の動作を停止させ る。 一方、 アクセス動作を終了する場合には (ステップ S 1 248 : Y e s ) 、 アドレスカウンタ 1 2 3 0のカウンタ値をリセットして (ステップ S 1 2 5 0) 、 この書き込み動作を終了する。
次に、 上記書き込み動作による具体例を説明する。 説明を容易にするため、 4 ビットの記憶領域に 4ピットのデータを書き込場合を前提とする。 例えば、 4ビ ッ卜の各記憶領域にデータ [1 0 1 0 b] が記憶されているとする。 なお、 □ 中の [b] はバイナリデータであることを示しており、 4つの [1] または [0 ] の値のうち、 左端が最大ビット (MS B) で右端が最小ピット (L SB) を示 ' している。
例えば、 入力データ (書き込みデ一夕) [1 1 0 0 b] が左端の最大ビッ卜か ら順に入力されると、 記憶データ [1 0 1 0 b] の対応するビットと順に比較さ れることになる。 このとき、 左から 2ビット目の入力デ一夕の値が [1] で、 記 憶デ一夕の値が [0] で不一致であり、 かつ、 入力データの値は [1] であるの で、 この入力データの値は記憶データの値よりも大きいことになる。 この結果、 書き込み許可フラグが設定されて、 2ビット目から 4ビット目までの各ビットの 入力データの書き込みを順に実行する。 ここで、 まず、 左から 2ビット目の入力 データを書き込んだ後、 その書き込まれたデータを読み出して、 読み出しデータ の値が [0] であった場合には、 書き込みデ一夕の値 [1] が書き込まれていな いことになるので、 3ビッ卜目および 4ビット目の書き込みが禁止されることに なる。
以上、 説明したように、 第 3の実施例の書き込み動作では、 書き込みデータと しての入力データと記憶データとしての記憶データとを、 最大ビット側から順に ビット単位で大小比較し、 入力データの方が大きい場合には、 書き込みを許可し 、 そのビットのデータを書き込んだ後、 そのデータが正しく書き込まれているか 否か検査する。 そして、 正しく書き込まれていない場合には、 書き込み許可を解 除して、 以降の書き込みを禁止することができる。 これにより、 あらかじめ定め られたデータ条件による書き込み以外の書き込みの防止を第 2の実施例の場合よ りもさらに強化することができる。 書き込み動作の変形例:
上記第 3の実施例の書き込み動作は、 書き込み動作を 1ビット単位で順に実行 することを前提に説明したが、 nビット単位 (nは 2以上の整数) のデータをま とめて一度に書き込むようにしてもよい。
図 1 3およぴ図 1 4は、 第 3の実施例の変形例としてのデータの書き込み動作 の手順を示すフローチャートである。 この動作は、 図 1 2に示した書き込み動作 におけるステップ S 1 2 1 8からステップ S 1 2 4 4までを、 ステップ S 1 3 0 2からステップ S 1 3 4 0までに変更したものであり、 変更している点以外の処 理は同じである。 以下では、 変更した処理についてのみ説明を加えることとする 。
ライト制御部 1 2 2 4は、 書き込み許可フラグを設定すると (ステップ S 1 1 6 ) 、 アドレスカウンタ 1 2 3 0から出力されるアドレスの下位 nビット (A 0, A 1 , ..·, A n - 1 ) の各値が全て [ 1 ] となるまで (ステップ S 1 3 0 4 : N o ) 、 順に入力される入力データを各ラッチタイミングでデータバッファ 1 2 2 8にラッチさせ (ステップ S 1 3 0 2 ) 、 各ァドレスカウントアップタイミ ングでァドレスカウン夕 1 2 3 0のカウンタ値を順にカウントアップさせる (ス テツプ S 1 3 0 6 ) 。 そして、 下位 nビットのアドレスの各値が全て [ 1 ] とな つた場合には (ステップ S 1 3 0 4 : Y e s ) ) 、 リードライト実行部 1 2 2 6 にデータバッファ 1 2 2 8にラッチされている nビットのラッチデータの書き込 みをまとめて実行させ (ステップ S 1 3 0 8 ) 、 次のァドレスカウントアップ夕 イミングでアドレスカウン夕 1 2 3 0のカウン夕値を 1つカウントアップさせる (ステップ S 13 1 0) 。
次に、 ライト制御部 1224は、 減算器 1 232に、 アドレスカウンタ 1 23 0のカウン夕値 (アドレス値) から [n] を減算した値の減算アドレスを、 読み 出しァドレスとして設定させ (ステップ S 1 3 1 2) 、 リードライト実行部 1 2 26にデ一夕の読み出しを実行させる (ステップ S 1 3 14) 。
そして、 ライト制御部 1 224は、 読み出しデータと、 書き込みデータに相当 し、 デ 夕バッファ 1 228にラッチされているデータ (ラッチデータ) と、 を 比較し (ステップ S 1 3 16) 、 読み出しデータの値とラッチデータの値とがー 致しているか否かを判断する (ステップ S 1 3 1 8) 。
読み出しデータの値とラッチデータの値とがー致していない場合には (ステツ プ S 1 3 1 8 : No) 、 書き込み許可フラグの設定を解除して (ステップ S 1 3 26) 、 入力データの書き込みを禁止する (ステップ S 1 246) 。 一方、 読み 出しデータの値とラッチデータの値とがー致している場合には (ステップ S 1 3 1 8 : Y e s ) 、 アドレスカウンタ 1 230から出力される下位 nビッ卜の読み 出しァドレスの各値が全て [1〕 となるまで (ステップ S 1 320 : No) 、 ァ ドレスのカウントアップ処理 (ステップ S 1 322) 、 入力データのラッチ処理 (ステップ S 1 3 24) 、 読み出しァドレスの設定処理 (ステップ S 1312) 、 データの読み出し処理 (ステップ S 1 3 1 4) 、 ラッチデータとの比較処理 ( ステップ S 1 3 1 6) および判断処理 (ステップ S 1 3 1 8) を繰り返す。 一方 、 下位 nビットの読み出しアドレスの各値が全て 〔1] となった場合には (ステ ップ S 1 3 20 : Ye s) 、 減算器 1 232に、 アドレスカウン夕 1 230の力 ゥンタ値で表される非減算アドレスを、 書き込みアドレスとして設定させ (ステ ップ S 1 328 ) 、 リードライ卜実行部 1 1 26にデータバッファ 1 228にラ ツチされている nビットのラッチデータの書き込みをまとめて実行させる (ステ ップ S 1 330 ) 。
次に、 ライ卜制御部 1 224は、 下位 nビットの書き込みアドレスの各ビット 値が全て [1] となるまで (ステップ S 1 3 32 : No) 、 各ァドレスカウント アップタイミングでァドレスカウンタ 1 23 0のカウン夕値を 1つカウントアツ プさせ (ステップ S 1 334) 、 さらに、 アクセス動作を終了しない場合には ( ステップ S 1 3 36 : N o) 、 入力データを対応するラッチタイミングでデ一夕 バッファ 1 228にラッチさせる (ステップ S 1 338) 。 下位 nビッ卜の書き 込みアドレスの各ビット値が全て [1〕 となった場合には (ステップ S 1 332 : Ye s) 、 リードライト実行部 1 1 26にデータバッファ 1 228にラッチさ れている nビッ卜のラッチデ一夕の書き込みをまとめて実行させる (ステップ S 1 330) 。 .
そして、 アクセス動作を終了する場合には (ステップ S 1 336 : Y e s ) 、 書き込み許可フラグの設定を解除して (ステップ S 1 340) 、 入力デ一夕の書 き込みを禁止する (ステップ S 1 246) 。
以上説明した書き込み動作では、 nビットのデ一夕をまとめて書き込むことが できる。 第 2および第 3の実施例の変形例:
(1) 上記第 2および第 3の実施例では、 メモリアレイの容量を 256ビットと して説明しているが、 これに限定されるものでなく、 格納すべきデータ量に応じ て適宜変更され得るものである。
(2) 上記第 2および第 3の実施例では、 書き込みデ一夕が記憶データよりも大 きい場合において書き込みを許可し、 書き込みデータが記憶データよりも小さい 場合において書き込みを禁止する場合を例に説明したが、 書き込みデータが記憶 デ一夕よりも小さい場合において書き込みを許可し、 書き込みデータが記憶デー 夕よりも小さい場合において書き込みを禁止するようにすることも可能である。 (3) 上記第 2および第 3の実施例では、 半導体メモリ装置として EEPROM を用いて説明したが、 書き換えが可能であると共に、 格納データを不揮発的に維 持することができるメモリ装置であれば、 E E P R O Mに限られず、 複数ビット 単位で読み出しまたは書き込みが実行されるメモリ装置であってもよい。
以上、 いくつかの実施例に基づき本発明を説明してきたが、 上記した発明の実 施の形態は、 本発明の理解を容易にするためのものであり、 本発明を限定するも のではない。 本発明は、 その趣旨並びに特許請求の範囲を逸脱することなく、 変 更、 改良され得ると共に、 本発明にはその等価物が含まれることはもちろんであ る。

Claims

請求の範囲
1 . 半導体記憶装置であって、
所定のァドレス単位のデータ格納行を複数有し、 シーケンシャルにアクセスさ れる不揮発性のメモリアレイと、
前記メモリアレイに書き込むべき書き込みデータであって、 前記所定のァドレ ス単位の n倍 (nは 2以上の整数) に相当するデータ容量の書き込みデータを、 前記所定のァドレス単位で保持する書き込みデータ保持手段と、
前記保持されている書き込みデータを、 前記メモリアレイにおける書き込みの 対象となる対象データ格納行に対して前記所定のァドレス単位にて書き込むデー 夕書き込み手段と、
前記対象デ一夕格納行に書き込まれた前記所定のァドレス単位の書き込み済デ 一夕と、 前記書き込みデータ保持手段に保持されている前記所定のァドレス単位 の書き込みデ一夕とが一致するか否かを判定するデータ検証手段と、
前記書き込み済データと前記書き込みデ一夕とがー致しない場合には、 データ 書き込み手段による、 前記対象データ格納行の次のデータ格納行に対する残りの 前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
2 . 請求の範囲 1に記載の半導体記憶装置において、
前記制御部は、 前記書き込み済デ一夕と前記書き込みデータとがー致する場合 には、 デ一夕書き込み手段による、 前記対象データ格納行の次のデータ格納行に 対する前記書き込みデ一夕の書き込みを実行する半導体記憶装置。
3 . 請求の範囲 1または請求の範囲 2に記載の半導体記憶装置において、 前記データ検証手段は、 前記対象データ格納行に対する前記書き込みデータの 書き込みが終了した後に、 前記対象デ一夕格納行から前記ァドレス単位で前記書 き込み済みデ一夕を読み出し、
前記読み出した前記所定のァドレス単位の前記書き込み済みデータと、 前記所 定のァドレス単位の書き込みデータとを用いて前記書き込み済データと前記書き 込みデータとがー致するか否かを判定する半導体記憶装瀵。
4 : 請求の範囲 1または請求の範囲 2に記載の半導体記憶装置において、 前記データ検証手段は、 前記対象データ格納行に対する前記書き込みデータの 書き込みが終了した後に、 前記対象データ格納行から 1アドレス毎に前記書き込 み済みデータを読み出すと共に、 前記書き込みデータ保持手段から 1アドレス単 位で書き込みデータを取得し、
前記読み出した前記所定の 1アドレス単位の前記書き込み済みデータと、 前記 取得した 1ァドレス単位の書き込みデ一夕とを用いて前記書き込み済データと前 記書き込みデ一夕とがー致するか否かを判定する半導体記憶装置。
5 . 請求の範囲 1から 4のいずれかに記載の半導体記憶装置はさらに、 前記書き込みデ一夕が書き込まれる前に前記対象データ格納行に格納されてい た既存データを保存する既存データ保存手段と、
前記データ検証手段によって、 前記書き込み済データと前記書き込みデータと, がー致しないと判定された場合には、 前記既存データ保存手段に保存されている 前記既存データを、 前記対象データ格納行に書き込むデ ""夕書き戻し手段とを備 える半導体記憶装置。
6 . 請求の範囲 1から 5いずれかに記載の半導体記憶装置において、
前記デ一夕格納行には、 最上位ビットから順にデータが格納されており、 前記データ書き込み手段は、 前記メモリアレイに対して、 最上位ビットから順 にデータの書き込みを実行する半導体記憶装置。
7 . 半導体記憶装置であって、
1ビットのデータを格納するデータセルを 8個有するデータ格納行を複数有し 、 シーケンシャルにアクセスされる不揮発性のメモリアレイと、
前記メモリアレイに書き込むべき書き込みデ一夕であって、 8ビットの 11倍 ( nは' 2以上の整数) の書き込みデ一タを、 8ビット単位で保持する書き込みデ一 夕保持手段と、
前記保持されている書き込みデータを、 前記メモリアレイにおける書き込みの 対象となる対象データ格納行に対して 8ビット単位にて書き込むデ一夕書き込み 手段と、
前記対象デ一夕格納行に書き込まれた 8ビッ卜の書き込み済データと、 前記書 き込みデータ保持手段に保持されている 8ビッ卜の書き込みデータとがー致する か否かを判定するデータ検証手段と、
前記書き込み済データと前記書き込みデータとがー致しない場合には、 データ 書き込み手段による、 前記対象データ格納行の次のデータ格納行に対する残りの 前記書き込みデータの書き込みを実行しない制御部とを備える半導体記憶装置。
8 . 請求の範囲 7に記載の半導体記憶装置において、
前記制御部は、 前記書き込み済データと前記書き込みデータとがー致する場合 には、 データ書き込み手段による、 前記対象データ格納行の次のデータ格納行に 対する前記書き込みデータの書き込みを実行する半導体記憶装置。
9 . 所定のアドレス単位のデータ格納行を複数有し、 シーケンシャルにァクセ スされる不揮発性のメモリアレイを有する半導体記憶装置に対して、 所定のァド レス単位の n倍 (nは 2以上の整数) に相当するデータ容量の書き込みデータを 書き込むための書き込み制御方法であって、 , 前記所定のァドレス単位の η倍に相当するデータ容量の書き込みデータを受信 し、
前記受信した書き込みデータを前記所定のァドレス単位で保持し、
前記メモリアレイにおける書き込みの対象となる対象デ一夕格納行に対して、 前記保持されている書き込みデータを前記所定のァドレス単位にて書き込み、 前記対象デ一夕格納行に書き込まれた前記所定のァドレス単位の書き込み済デ —夕と、 前記保持されている前記所定のァドレス単位の書き込みデータとが一致 するか否かを判定し、
前記書き込み済データと前記書き込みデータとがー致しない場合には、 前記対 象データ格納行の次のデータ格納行に対する残りの前記書き込みデータの書き込 みを実行しない書き込み制御方法。
1 0 . 請求の範囲 9に記載の書き込み制御方法において、
前記書き込み済データと前記書き込みデータとがー致する場合には、 前記対象 データ格納行の次のデータ格納行に対する前記ァドレス単位の書き込みデータの 書き込みを実行する書き込み制御方法。
1 1 . 請求の範囲 1 0に記載の書き込み制御方法にはさらに、
前記次のデータ格納行に書き込まれた前記所定のァドレス単位の書き込み済デ 一夕と、 前記保持されている前記所定のアドレス単位の書き込みデータとがー致 するか否かを判定し、
前記書き込み済データと前記書き込みデータとがー致しない場合には、 前記次 のデータ格納行の次のデータ格納行に対する残りの前記書き込みデータの書き込 みを実行しない書き込み制御方法。
1 2 . 1ビットのデータを格納するデータセルを 8個有するデータ格納行を複 数有し、 シーケンシャルにアクセスされる不揮発性のメモリアレイを有する半導 体記憶装置に対して、 8ビットの n倍 (nは 2以上の整数) の書き込みデータを 書き込むための書き込み制御方法であって、
前記 8ビットの n倍のデータ長の書き込みデータを受信し、
前記受信した書き込みデータを 8ビット単位で保持し、
前記メモリアレイにおける書き込みの対象となる対象データ格納行に対して、 前記保持されている書き込みデ一夕を 8ビット単位にて書き込み、
前記対象データ格納行に書き込まれた 8ビット単位の書き込み済データと、 前 記保持されている 8ビット単位の書き込みデータとがー致するか否かを判定し、 前記書き込み済データと前記書き込みデ一夕とがー致しない場合には、 前記対 象データ格納行の次のデータ格納行に対する残りの前記書き込みデータの書き込 みを実行しない書き込み制御方法。
1 3 . 請求の範囲 1 2に記載の書き込み制御方法において、
前記書き込み済データと前記書き込みデータとがー致する場合には、 前記対象 データ格納行の次のデ一夕格納行に対する 8ピット単位の書き込みデータの書き 込みを実行する書き込み制御方法。
1 . 請求の範囲 1 3に記載の書き込み制御方法にはさらに、
前記次のデータ格納行に書き込まれた 8ビッ卜単位の書き込み済データと、 前 記保持されている 8ビット単位の書き込みデータとがー致するか否かを判定し、 前記書き込み済データと前記書き込みデータとがー致しない場合には、 前記次 のデー夕格納行の次のデータ格納行に対する残りの前記書き込みデー夕の書き込 みを実行しない書き込み制御方法。
1 5 . 半導体記憶装置であって、 不揮発性のメモリアレイと、
前記メモリァレイに対するデータの書き込みおよび前記メモリアレイからのデ 一夕の読み出しを制御するリードライトコントローラと、 を備え、
前記リ一ドライトコントローラは、
前記メモリアレイに対するデータの書き込みが要求された場合において、 入力 される複数ビッ卜の書き込みデ一夕の値と、 前記複数ビットの書き込みデータを 書き込むべき.複数ビットの記憶領域に記憶されている複数ビットの記憶データの 値とを、 前記複数ビットの書き込みデータのうち最大ビットから 1ビット単位で 順に比較し、 前記記憶データの各ビッ卜の値に対して所定の大小関係を満たして いると判定されるビットがあった場合には、 その判定されたビットの書き込みデ —夕について書き込みを実行した後、 書き込みを行った記憶領域に記憶されてい る記憶データと、 前記判定されたビットの書き込みデータと、 がー致しているか 否か検査して、 一致している場合には、 前記判定されたビットよりも後のビット の書き込みデ一夕について書き込みを実行し、 一致していない場合には、 前記判 定されたビッ卜よりも後のビッ卜の書き込みデ一夕について書き込みを禁止する ことを特徴とする半導体記憶装置。
1 6 . 半導体記憶装置であって、
不揮発性のメモリアレイと、
前記メモリアレイに対するデータの書き込みおよび前記メモリアレイからのデ 一夕の読み出しを制御するリードライトコントローラと、 を備え、
前記リードライトコントローラは、
前記メモリアレイに対するデータの書き込みが要求された場合において、 入力 される複数ビットの書き込みデータの値と、 前記複数ビットの書き込みデータを 書き込むべき複数ビットの記憶領域に記憶されている複数ビッ卜の記憶データの 値とを、 前記複数ビットの書き込みデータのうち最大ビットから 1ビット単位で 順に比較し、 前記記憶データの各ビットの値に対して所定の大小関係を満たして いると判定されるビッ卜があった場合には、 その判定されたビットを先頭とする nビット (nは 2 mの整数で、 mは 1以上の整数) の書き込みデータについてま とめて書き込みを実行した後、 前記判定されたピットの書き込みデータについて 書き込みを行った記憶領域に記憶されている記憶データと、 前記判定されたビッ 卜の書き込みデータとが、 一致しているか否か検査して、 一致している場合には
、 前記判定されたビットを先頭とする nビッ卜よりも後のビッ卜の書き込みデー タについて nビット単位で書き込みを実行し、 一致していない場合には、 前記判 定されたビットを先頭とする nビッ卜より後のビッ卜の書き込みデ一夕について 書き込みを禁止する
ことを特徴とする半導体記憶装置。
1 7 . 請求の範囲 1 5に記載の半導体記憶装置はさらに、
前記メモリアレイに対する前記判定されたビッ卜のデ一夕の書き込み後に、 ィ ンクリメントされたカウン夕値を出力するアドレスカウン夕と、
前記ァドレスカウンタのカウント値から 1を減算した値を前記メモリアレイに 対する読み出しァドレスに設定する減算器と、
前記判定されたビットの書き込みデータをラッチデータとしてラッチするデー 夕バッファとを備え、
前記リードライトコントローラは、 前記減算器において設定された読み出しァ ドレスを用いて、 前記メモリアレイにおける前記書き込みを行った記憶領域に記 憶されている記憶データを読み出し、 前記ラッチデータと比較することによって 、 書き込みを行った記憶領域に記憶されている記憶データと、 前記ラッチデータ とが一致しているか否かを検査する半導体記憶装置。
1 8 . 半導体記憶装置であって、 - 不揮発性のメモリアレイと、
前記メモリァレイに対するデータの書き込みおよび前記メモリアレイからのデ —夕の読み出しを制御するリードライトコントローラと、 を備え、
前記リードライトコント口一ラは、
前記メモリアレイに対するデータの書き込みが要求された場合において、 入力 される複数ビッ卜の書き込みデータを、 入力される複数ビッ卜の書き込みデータ を書き込むべき複数ビッ卜の記憶領域に書き込み、
前記書き込みを実行した後、 書き込みを行った記憶領域に記憶されている記憶 データと、 前記入力される複数ビットの書き込みデータと、 がー致しているか否 か検査して、 一致していない場合には、 前記入力される複数ビットの書き込みデ 一夕よりも後のビッ卜の書き込みを禁止する
半導体記憶装置。
1 9 . 半導体記憶装置であって、
不揮発性のメモリアレイと、
前記メモリァレイに対するデ一夕の書き込みおよび前記メモリアレイからのデ 一夕の読み出しを制御するリードライトコントローラと、 を備え、
前記リードライトコントローラは、
前記メモリアレイに対するデ一夕の書き込みが要求された場合において、 入力 される nビット (nは 2 mの整数で、 mは 1以上の整数) の書き込みデ一夕を、 入力される nビットの書き込みデータを書き込むべき複数ビッ卜の記憶領域にま とめて書き込み、
前記書き込みを実行した後、 前記書き込みを行った記憶領域に記憶されている 記憶データと、 前記 nビットの書き込みデータとが、 一致していない場合には、 前記入力される nビッ卜より後のビッ卜の書き込みデータについて書き込みを禁 止する 半導体記憶装置。
2 0 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法で あって、
前記メモリアレイに対するデータの書き込みの要求を受信し、
入力される複数ビットの書き込みデ一夕の値と、 前記複数ビッ卜の書き込みデ —夕を書き込むべき複数ビッ卜の記憶領域に記憶されている複数ビットの記憶デ 一夕の値とを、 前記複数ビットの書き込みデータのうち最大ビッ卜から 1ビット 単位で順に比較し、
前記記憶データの各ビットの値に対して所定の大小関係を満たしていると判定 されるビットがあった場合には、 その判定されたビットの書き込みデータについ て書き込みを実行した後、 書き込みを行った記憶領域に ffS憶されている記憶デー 夕と、 前記判定されたビットの書き込みデータと、 がー致しているか否か検査し て、 一致している場合には、 前記判定されたビットよりも後のビットの書き込み データについて書き込みを実行し、 一致していない場合には、 前記判定されたビ ットよりも後のビットの書き込みデ一夕について書き込みを禁止する
半導体記憶装置の書き込み制御方法。
2 1 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法で あって、
前記メモリアレイに対するデータの書き込みの要求を受信し、
入力される複数ビットの書き込みデ一夕の値と、 前記複数ビッ卜の書き込みデ 一夕を書き込むべき複数ビッ卜の記憶領域に記憶されている複数ビットの記憶デ 一夕の値とを、 前記複数ビットの書き込みデータのうち最大ビッ卜から 1ピット 単位で順に比較し、
前記記憶データの各ビットの値に対して所定の大小関係を満たしていると判定 されるビットがあった場合には、 その判定されたビットを先頭とする nビット ( nは 2 mの整数で、 mは 1以上の整数) の書き込みデータについてまとめて書き 込みを実行した後、 前記判定されたビットの書き込みデータについて書き込みを 行った記憶領域に記憶されている記憶データと、 前記判定されたビットの書き込 みデ一夕とが、 一致しているか否か検査して、 一致している場合には、 前記判定 されたピットを先頭とする nビットよりも後のピッ卜の書き込みデータについて nビット単位で書き込みを実行し、 一致していない場合には、 前記判定されたビ ットを先頭とする nビットより後のビットの書き込みデータについて書き込みを 禁止する
半導体記憶装置の書き込み制御方法。
2 2 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法で あって、
前記メモリアレイに対するデータの書き込みの要求を受信し、
入力される複数ビットの書き込みデ一夕を、 入力される複数ビットの書き込み データを書き込むべき複数ビットの記憶領域に書き込み、
前記書き込みを実行した後、 書き込みを行った記憶領域に記憶されている記憶 データと、 前記入力される複数ビットの書き込みデ一夕と、 がー致しているか否 か検査して、 一致していない場合には、 前記入力される複数ビットの書き込みデ —夕よりも後のビットの書き込みを禁止する
半導体記憶装置の書き込み制御方法。
2 3 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込み制御方法で あって、
前記メモリアレイに対するデータの書き込みの要求を受信し、
前記メモリアレイに対するデータの書き込みが要求された場合において、 入力 される nビット (nは 2 mの整数で、 mは 1以上の整数) の書き込みデータを、 入力される nビットの書き込みデータを書き込むべき複数ビットの記憶領域にま とめて書き込み、
前記書き込みを実行した後、 前記書き込みを行った記憶領域に記憶されている 記憶データと、 前記 nビットの書き込みデータとが、 一致していない場合には、 前記人力される nビットより後のビッ卜の書き込みデータについて書き込みを禁 止する
半導体記憶装置の書き込み制御方法。 2 4 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込みを制御する ためのコンピュー夕プログラムを格納するコンピュー夕読み取り可能媒体であつ て、 前記コンピュータプログラムは、
前記メモリアレイに対するデータの書き込みの要求を受信する機能と、 入力される複数ピットの書き込みデ一夕の値と、 前記複数ビッ卜の書き込みデ 一夕を書き込むべき複数ビットの記憶領域に記憶されている複数ビッ卜の記憶デ 一夕の値とを、 前記複数ビットの書き込みデータのうち最大ビットから 1ビット 単位で順に比較する機能と、
前記記憶データの各ビッ卜の値に対して所定の大小関係を満たしていると判定 されるビッ卜があった場合には、 その判定されたビッ卜の書き込みデータについ て書き込みを実行した後、 書き込みを行った記憶領域に霄己憶されている記憶デー 夕と、 前記判定されたビットの書き込みデータと、 がー致しているか否か検査し て、 一致している場合には、 前記判定されたビットよりも後のビットの書き込み データについて書き込みを実行し、 一致していない場合には、 前記判定されたビ ットよりも後のビットの書き込みデータについて書き込みを禁止する機能と をコンピュータによって実行させるコンピュータ読み取り可能媒体。 , 2 5 . 不揮発性のメモリアレイを有する半導体記憶装置の書き込みを制御する ためのコンピュータプロク'ラムを格納するコンピュータ読み取り可能媒体であつ て、 前記コンピュータプログラムは、
前記メモリアレイに対するデータの書き込みの要求を受信する機能と、 入力される複数ビットの書き込みデータの値と、 前記複数ビットの書き込みデ
—夕を書き込むべき複数ビッ卜の記憶領域に記憶されている複数ピットの記憶デ —夕の値とを、 前記複数ビッ卜の書き込みデータのうち最大ビッ卜から 1ビット 単位で順に比較する機能と、
前記記憶データの各ビッ卜の値に対して所定の大小関係を満たしていると判定 されるビットがあった場合には、 その判定されたビットを先頭とする ηビット ( ηは 2 mの整数で、 mは 1以上の整数) の書き込みデータについてまとめて書き 込みを実行した後、 前記判定されたビッ卜の書き込みデータについて書き込みを 行った記憶領域に記憶されている記憶データと、 前記判定されたピットの書き込 みデ一夕とが、 一致しているか否か検査して、 一致している場合には、 前記判定 されたビットを先頭とする nビットよりも後のビットの書き込みデータについて nビット単位で書き込みを実行し、 一致していない場合には、 前記判定されたピ ットを先頭とする nビットより後のビットの書き込みデータについて書き込みを 禁止する機能とを
コンピュータによって実行させるコンピュータ読'み取り可能媒体。
2 6 . 印刷装置に着脱可能に装着される、 印刷記録材を収容する印刷記録材容 器であって、
前記印刷記録材を収容する収容部と、
前記印刷記録材の量に関する情報を格納する、 請求の範囲 1〜8、 1 5〜 1 9 のいずれかに記載の半導体記憶装置とを備える印刷記録材容器。
2 7 . 印刷装置と、 印刷装置に着脱可能に装着される請求の範囲 2 6に記載の 印刷記録材容器とを備える印刷システムであって、
前記印刷装置は、 前記印刷記録材容器に装着される半導体記憶装置とデータ信 号線、 クロック信号線、 リセット信号線、 正極電源線、 および負極電源線を介し てバス接続されるホスト計算機であって、 印刷装置において消費された印刷記録 材に関する量の情報を前記半導体記憶装置に送信するホスト計算機を備え、 前記印刷記録材容器に装着されている半導体記憶装置は、 受信した印刷記録材 に関する量の情報を前記メモリアレイに格納する
印刷システム。
PCT/JP2006/311053 2005-05-30 2006-05-26 シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ WO2006129780A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP06747098A EP1901306A4 (en) 2005-05-30 2006-05-26 A VERIFY PROCESSING IN A SEQUENTIAL WRITING PROCESSING NON-VOLATILE MEMORY
CN2006800193243A CN101189681B (zh) 2005-05-30 2006-05-26 在顺序写入当中进行校验处理的非易失性的存储器
JP2007519077A JPWO2006129780A1 (ja) 2005-05-30 2006-05-26 シーケンシャル書込においてベリファイ処理を行う不揮発性メモリ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005157186 2005-05-30
JP2005-157186 2005-05-30
JP2005-182805 2005-06-23
JP2005182805 2005-06-23

Publications (1)

Publication Number Publication Date
WO2006129780A1 true WO2006129780A1 (ja) 2006-12-07

Family

ID=37481707

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/311053 WO2006129780A1 (ja) 2005-05-30 2006-05-26 シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ

Country Status (6)

Country Link
US (1) US7499372B2 (ja)
EP (1) EP1901306A4 (ja)
JP (1) JPWO2006129780A1 (ja)
CN (1) CN101189681B (ja)
TW (1) TW200703361A (ja)
WO (1) WO2006129780A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116661A1 (ja) * 2008-03-18 2009-09-24 セイコーエプソン株式会社 液体収容体

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
JP4802722B2 (ja) * 2006-01-17 2011-10-26 セイコーエプソン株式会社 シーケンシャルアクセスメモリ
US8391267B2 (en) * 2007-12-20 2013-03-05 Mediatek Inc. TD-SCDMA uplink processing for synchronization of signals at base station receiver
US8031517B2 (en) * 2008-07-30 2011-10-04 Samsung Electronics Co., Ltd. Memory device, memory system having the same, and programming method of a memory cell
US8782326B2 (en) * 2009-04-01 2014-07-15 Seiko Epson Corporation Memory device and system including a memory device electronically connectable to a host circuit
JP5678516B2 (ja) * 2010-08-23 2015-03-04 セイコーエプソン株式会社 記憶装置、回路基板、液体容器及びシステム
CN102509557B (zh) * 2011-11-04 2014-10-15 珠海天威技术开发有限公司 电可擦可编程只读存储器的数据擦写控制装置及方法、芯片及其数据写入方法、耗材容器
US9076530B2 (en) 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
US9311977B2 (en) * 2014-08-27 2016-04-12 Stmicroelectronics Asia Pacific Pte Ltd Event controlled decoding circuit
CN104637543B (zh) * 2014-12-10 2019-02-19 珠海艾派克微电子有限公司 芯片和使用该芯片的墨盒
US10446203B1 (en) 2018-08-14 2019-10-15 Micron Technology, Inc. Write cycle execution based on data comparison
EP4012711A4 (en) * 2020-10-13 2022-11-16 Changxin Memory Technologies, Inc. DATA WRITING METHOD

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102328A (ja) * 1997-09-25 1999-04-13 Nec Eng Ltd メモリ診断システム
JP2004074464A (ja) * 2002-08-12 2004-03-11 Seiko Epson Corp カートリッジおよび記録装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361227A (en) * 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
CN100568395C (zh) * 2001-06-29 2009-12-09 Nxp股份有限公司 非易失性存储器和通过附加修改的空存储单元加速测试地址解码器的方法
JP3851865B2 (ja) * 2001-12-19 2006-11-29 株式会社東芝 半導体集積回路
US6907497B2 (en) * 2001-12-20 2005-06-14 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
AU2006253347B2 (en) * 2005-05-30 2009-09-10 Seiko Epson Corporation Semiconductor storage apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102328A (ja) * 1997-09-25 1999-04-13 Nec Eng Ltd メモリ診断システム
JP2004074464A (ja) * 2002-08-12 2004-03-11 Seiko Epson Corp カートリッジおよび記録装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1901306A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116661A1 (ja) * 2008-03-18 2009-09-24 セイコーエプソン株式会社 液体収容体

Also Published As

Publication number Publication date
US7499372B2 (en) 2009-03-03
EP1901306A4 (en) 2009-03-04
CN101189681A (zh) 2008-05-28
TW200703361A (en) 2007-01-16
US20080212379A1 (en) 2008-09-04
JPWO2006129780A1 (ja) 2009-01-08
EP1901306A1 (en) 2008-03-19
CN101189681B (zh) 2010-10-13

Similar Documents

Publication Publication Date Title
WO2006129780A1 (ja) シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ
US7791979B2 (en) Semiconductor memory device
US7406576B2 (en) Semiconductor memory device
US8687422B2 (en) Method for operating a NAND flash memory device in multiple operational modes
US6839774B1 (en) Single-chip data processing apparatus incorporating an electrically rewritable nonvolatile memory and method of operating the same
US7290109B2 (en) Memory system and memory card
KR101146059B1 (ko) 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법
US7929354B2 (en) Verified purge for flash storage device
JP4956068B2 (ja) 半導体記憶装置およびその制御方法
JP4839714B2 (ja) シーケンシャルアクセスメモリ
US20070088905A1 (en) System and method for purging a flash storage device
US20070101049A1 (en) Redundant purge for flash storage device
US20070101048A1 (en) Verified purge for flash storage device
MX2008001245A (es) Dispositivo de almacenamiento semiconductor.

Legal Events

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

Ref document number: 200680019324.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007519077

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006747098

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU