CN101189681B - 在顺序写入当中进行校验处理的非易失性的存储器 - Google Patents
在顺序写入当中进行校验处理的非易失性的存储器 Download PDFInfo
- Publication number
- CN101189681B CN101189681B CN2006800193243A CN200680019324A CN101189681B CN 101189681 B CN101189681 B CN 101189681B CN 2006800193243 A CN2006800193243 A CN 2006800193243A CN 200680019324 A CN200680019324 A CN 200680019324A CN 101189681 B CN101189681 B CN 101189681B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- writes
- writing
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits 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
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Ink Jet (AREA)
Abstract
当对1行中可保存8位的数据的存储阵列(100)写入16位的写入数据时,半导体存储装置(10)首先将高的位8位写入存储阵列(100)的第一写入限制行中。增量控制器(150)判定写入存储阵列(100)的现有数据的值和锁存在8位锁存寄存器(170)中并被用于写入的写入数据是否一致。当现有数据与写入数据一致时,增量控制器(150)向读/写控制器(140)发出写入许可信号(WEN1),并且对存储阵列(100)执行底的位8位的写入数据的写入。
Description
技术领域
本发明涉及可改写数据的半导体存储装置、顺序存取的半导体存储装置以及针对顺序存取的半导体存储装置的数据写入控制方法。
背景技术
EEPROM或闪速ROM等可改写数据的半导体存储装置多被用作各种电子设备的存储装置。在电子设备中,有时希望以如下方式来使用这种半导体存储装置,即:对满足预先确定的数据条件的输入数据的改写不作限制,但对不满足该数据条件的输入数据的改写进行限制。例如,可考虑设定“只有在改写数据大于半导体存储装置中存储的数据(称为“被改写数据”)时才执行改写”的条件、或者“只有在改写数据小于半导体存储装置中存储的数据(称为“被改写数据”)时才执行改写”的条件。
然而,以往可改写的半导体存储装置不具有限制数据的改写的系统,只要满足用于改写数据的规定的顺序就可对存储的数据进行改写,因此,无法适用于如上所述数据条件下的改写。
作为对存储装置的数据写入进行控制的技术,例如公知的有在存储装置的外部设置针对存储装置的写入禁止装置。或者,公知的还有如下技术,即:当使用存储装置时,通过在存储装置的位于数据保存区域之后的地址中写入用于表示不允许对数据保存区域进行写入的信息来禁止对数据保存区域进行写入。
此外,公知的还有对于存储阵列的数据单元只允许顺序存取的半导体存储装置、例如EEPROM。这种半导体存储装置因为比较便宜,所以被用作用于保持与耗材的余量或者消耗量相关的数据的存储装置。在这里,存储阵列的内部结构一般为x行×y列格子状,各数据单位保存1位的数据时,每1行可以保存y位数据。
发明内容
但是,因为一般以行为单位管理对存储阵列的存储,所以对这样的数据单元写入y位的n倍(n为2以上的整数)数据时,只能把数据分成n次进行写入。结果与ny位数据一次性写入时相比,因要进行n次写入操作,没有正常完成写入的可能性提高了。
虽然使用x行×ny列存储阵列可以解决这个问题,但是当y位数据写入装置和ny位数据写入装置共用具有x行×ny列存储阵列的半导体存储装置时,不使用x行×ny列存储阵列的一部分列(数据单元)。结果发生不能有效地灵活利用存储阵列的问题,并因为以顺序存取方式存取目标数据单元,对不必要的数据单元也要进行存取,所以存在降低存取速度的问题。
本发明是为了解决上述问题而做出的,其目的在于,提高数据的写入可靠性,该数据为比半导体存储装置的存储阵列中的1行所能保存的数据长度还长的数据长度。本发明的目的还在于,在半导体存储装置中禁止写入不满足规定的数据条件的输入数据。
为了解决上述问题,本发明的第一方面提供一种半导体存储装置。本发明第一方面涉及的半导体存储装置,其中包括:顺序存取的非易失性存储阵列,具有多个规定的地址单位的数据保存行;写入数据保持模块,以所述规定的地址单位保持相当于所述规定的地址单位的n倍(n为2以上的整数)数据容量的写入数据,该数据为应写入所述存储阵列的写入数据;数据写入模块,以所述规定的地址单位,向所述存储阵列中成为对象数据保存行写入所述保持的写入数据;数据验证模块,判定写入所述对象数据保存行的所述规定的地址单位的已写入数据、和所述写入数据保持模块所保持的所述规定的地址单位的写入数据是否一致;以及控制部,当所述已写入数据和所述写入数据不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
根据本发明第一方面涉及的半导体存储装置,当以所述规定的地址单位向所述存储阵列的数据保存行写入可保存并相当于规定的地址单位n倍的数据容量的写入数据时,判定写入对象数据保存行的所述规定的地址单位的已写入数据、和写入数据保持模块所保持的所述规定的地址单位的写入数据是否一致,当不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。因此能够提高数据的写入可靠性,该数据为比半导体存储装置的存储阵列中的1行所能保存数据长度还长的数据长度。
在本发明第一方面涉及的半导体存储装置中,当所述已写入数据和所述写入数据一致时,所述控制部也可以执行由所述写入模块对所述对象数据保存行的下一个数据保存行进行的所述写入数据的写入,在这种情况下,边维持数据的可靠性,边向存储阵列依次写入剩余的写入数据。
在本发明第一方面涉及的半导体存储装置中,所述数据验证模块也可以在结束了对所述对象数据保存行写入所述写入数据后,以所述地址单位从所述对象数据保存行读出所述已写入数据,并且,用所述读出的所述规定的地址单位的所述已写入数据和所述规定的地址单位的写入数据,来判定所述已写入数据和所述写入数据是否一致。在这种情况下,以所定的地址单位,能够判定已写入数据和写入数据是否一致。
在本发明第一方面涉及的半导体存储装置中,所述数据验证模块也可以在结束了对所述对象数据保存行写入所述写入数据后,从所述对象数据保存行以每1地址读出所述已写入数据,并从所述写入数据保持模块以1地址单位取得写入数据,并且,用读出的所述规定的1地址单位的所述已写入数据和所述取得的1地址单位的写入数据,来判定所述已写入数据和所述写入数据是否一致。在这种情况下,以1地址单位,能够判定已写入数据和写入数据是否一致。
在本发明第一方面涉及的半导体存储装置中,所述半导体存储装置,其中也可以包括:现有数据保存模块,保存在写入所述写入数据前保存在所述对象数据保存行中的现有数据;数据写回模块,当所述数据验证模块判定为所述已写入数据和所述写入数据不一致时,将所述现有数据保存模块保存的所述现有数据写入所述对象数据保存行中。在这种情况下,能够将保存在存储阵列的数据,返回为写入写入数据之前的值。
在本发明第一方面涉及的半导体存储装置中,也可以在所述数据保存行中,从最高的位开始依次保存数据,所述数据写入模块从最高的位开始依次向所述存储阵列执行数据的写入。在这种情况下,能够更加迅速的执行写入数据的值和读出的现有数据的值是否一致的判定。
本发明的第二方面提供一种半导体存储装置。本发明第二方面涉及的半导体存储装置,其中包括:顺序存取的非易失性存储阵列,具有多个数据保存行,该数据保存行具有8个保存1位数据的数据单元;写入数据保持模块,以8位为单位保持n倍(n为2以上的整数)于8位的写入数据,该写入数据为应写入所述存储阵列中的写入数据;数据写入模块,以8位为单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据;数据验证模块,判定写入所述对象数据保存行的8位已写入数据和所述写入数据保持模块所保持的8位写入数据是否一致;以及控制部,当所述已写入数据和所述写入数据不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
根据本发明第一方面涉及的半导体存储装置,当以8位的单位,向所述存储阵列的数据保存行写入可保存并相当于规定的8位的n倍的数据容量的写入数据时,判定写入对象数据保存行的8位的单位的已写入数据、和写入数据保持模块所保持的8位的单位的写入数据是否一致,当不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。因此能够提高数据的写入可靠性,该数据为比半导体存储装置的存储阵列中的1行所能保存数据长度还长的数据长度。
在本发明第二方面涉及的半导体存储装置中,当所述已写入数据和所述写入数据一致时,所述控制部也可以执行由所述写入模块对所述对象数据保存行的下一个数据保存行进行的所述写入数据的写入,在这种情况下,边维持数据的可靠性,边向存储阵列依次写入剩余的写入数据。
本发明第三方面提供一种写入控制方法,用于向半导体存储装置写入相当于规定的地址单位n倍的数据容量的写入数据,该半导体存储装置具有被顺序存取的非易失性的存储阵列,该存储阵列具有多个规定的地址单位的数据保存行。本发明第三方面涉及的写入控制方法,其特征包括:接收相当于所述规定的地址单位n倍(n为2以上的整数)的数据容量的写入数据,以所述规定的地址单位保持所述接收的写入数据,以所述规定的地址单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据,判定写入所述对象数据保存行的所述规定的地址单位的已写入数据、和所述保持的所述规定的地址单位的写入数据是否一致,当所述已写入数据和所述写入数据不一致时,不执行对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
根据本发明第三方面涉及的写入控制方法,能够得到与本发明第一方面涉及的半导体存储装置同样的作用效果,并且本发明第三方面涉及的写入控制方法,能够与本发明第一方面涉及的半导体存储装置同样的在种种方面可实现。
本发明第三方面涉及的写入控制方法,也可以判定写入所述下一个数据保存行的所述规定的地址单位的已写入数据、和所述保持的所述规定的地址单位的写入数据是否一致,当所述已写入数据和所述写入数据不一致时,不执行对所述下一个数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。并且,当所述已写入数据和所述写入数据一致时,执行对所述下一个对象数据保存行的下一个数据保存行进行的所述地址单位的写入数据的写入。在这种情况下,能够提高对存储阵列的多个数据保存行写入数据的写入可靠性。
本发明第四方面提供一种写入控制方法,用于向半导体存储装置写入n倍(n为2以上的整数)于8位的写入数据,所述半导体存储装置具有被顺序存取的非易失性的存储阵列,该存储阵列具有多个数据保存行,并且所述数据保存行具有8个保存1位数据的数据单元。本发明第四方面涉及的写入控制方法特征包括:接收所述n倍于8位的数据长度的写入数据,以8位单位保持所述接收的写入数据,以8位为单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据,判定写入所述对象数据保存行的8位单位的已写入数据和所述保持的8位单位的写入数据是否一致,当所述已写入数据和所述写入数据不一致时,不执行对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
根据本发明第四方面涉及的写入控制方法,能够得到与本发明第二方面涉及的半导体存储装置同样的作用效果,并且本发明第四方面涉及的写入控制方法,能够与本发明第二方面涉及的半导体存储装置同样的在种种方面可实现。
本发明第四方面涉及的写入控制方法,也可以判定写入所述下一个数据保存行的8位单位的已写入数据、和所述保持的8位单位的写入数据是否一致,当所述已写入数据和所述写入数据不一致时,不执行对所述下一个数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。并且,当所述已写入数据和所述写入数据一致时,执行对所述下一个对象数据保存行的下一个数据保存行进行的所述地址单位的写入数据的写入。在这种情况下,能够提高对存储阵列的多个数据保存行写入数据的写入可靠性。
本发明的第五方面提供一种半导体存储装置。本发明第五方面涉及的半导体存储装置,其中包括:非易失性的存储阵列;以及读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出。所述读写控制器在被请求对所述存储阵列进行数据的写入时,针对输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值,从所述多位写入数据中的最高的位开始以1位为单位依次进行比较,当具有被判定为相对于所述存储数据的各位的值满足规定的大小关系的位时,对于该被判定的位的写入数据执行写入后,检查对存储在执行写入的存储区域中的存储数据和所述被判定的位的写入数据是否一致,当一致时,执行所述被判定的位以后的位的写入数据的写入,当不一致时,禁止所述被判定的位以后的位的写入数据的写入。
根据本发明第五方面涉及的半导体存储装置,能够禁止写入不满足规定的大小关系的写入数据。并因执行判定为满足规定的大小关系的位的写入数据的写入后,检查对存储在执行写入的存储区域中的存储数据和其被判定的位的写入数据是否一致,当不一致时,能够禁止其被判定的位以后的位的写入数据的写入,所以能够更加准确的禁止不满足规定的大小关系的写入数据的写入。
本发明第五方面涉及的半导体存储装置,也可以为如下结构。本发明第五方面涉及的半导体存储装置,其中包括:非易失性的存储阵列;以及读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出;所述读写控制器在被请求对所述存储阵列进行数据的写入时,针对输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值,从所述多位写入数据中的最高的位开始以1位为单位依次进行比较,当具有判定为相对于所述存储数据的各个位的值满足规定的大小关系的位时,将以其被判定的位为开头的n位(n是2m的整数、m为1以上的整数)的写入数据集中写入后,检查存储在将所述被判定的位进行了写入的存储区域中的存储数据、和所述被判定的位的写入数据是否一致,当一致时,以n位为单位执行以所述被判定的位为开头的n位以后的位的写入数据的写入,当不一致时,禁止以所述被判定的位为开头的n位以后的位的写入数据的写入。
根据具有所述构成的本发明第五方面的半导体存储装置,能够禁止不满足规定的大小关系的写入数据的写入。并因执行以被判定为满足规定的大小关系的位为开头的n位的写入数据集中写入后,检查被判定为满足规定的大小关系的位的写入数据、和存储在将其写入数据进行了写入的存储区域中的存储数据是否一致,当不一致时,能够禁止被判定为满足规定的大小关系的位以后的位的写入数据的写入,所以能够更加准确的禁止不满足规定的大小关系的写入数据的写入。
本发明第五方面涉及的半导体存储装置,还能够以对于半导体存储装置的写入控制方法、程序、以及记录了程序的计算机可读记录介质的形式实现。
本发明第一、二以及五方面涉及的半导体存储装置,也可以为了保存与所述印刷记录材料的量相关的信息而可装卸地安装在印刷装置上,并为容纳印刷记录材料的印刷记录材料容器、即容纳所述印刷记录材料的容纳部来使用。此时,能够提高与印刷记录材料量相关的信息的可靠性。
本发明第六方面提供一种印刷系统,其包括印刷装置以及可装卸地安装在印刷装置上的印刷记录材料容器,该印刷记录材料容器具有本发明第一、二以及五方面涉及的半导体存储装置。在本发明第六方面涉及的印刷系统中,所述印刷装置具有主机,该主机与安装在所述印刷记录材料容器上的半导体存储装置经由数据信号线、时钟信号线、复位信号线、正极电源线、以及负极电源线而总线连接,并向所述半导体存储装置发送与在印刷装置中消耗的印刷记录材料相关的量的信息,安装在所述印刷记录材料容器上的半导体存储装置将接收的与印刷记录材料相关的量的信息保存到所述存储阵列中。根据本发明第六方面,每当保存与随着印刷而消耗的印刷记录材料的量相关的信息时,在半导体存储装置中,能够限制与写入数据所具有的增减特性相反的值的数据的写入。
附图说明
图1是示出第一实施例中的半导体存储装置的功能性内部结构的框图;
图2是示意性地示出第一实施例中的半导体存储装置所具有的存储阵列的内部结构映射的说明图;
图3是示意性地示出第一实施例中向半导体存储装置被写入的写入数据结构的说明图;
图4是示出第一实施例中的半导体存储装置进行读出动作时的复位信号RST、外部时钟信号SCK、数据信号SDA、地址计数值的时间关系的时序图;
图5是示出第一实施例中的半导体存储装置进行写入动作时的复位信号RST、外部时钟信号SCK、数据信号SDA、地址计数值的时间关系的时序图;
图6是示出由第一实施例中的半导体存储装置执行写入处理中的第一数据校验处理的处理过程的流程图;
图7是示出由第一实施例中的半导体存储装置执行写入处理中的第二数据校验处理的处理过程的流程图;
图8是示出第一实施例中的半导体存储装置的应用例的说明图;
图9是示出第二实施例中的半导体存储装置的内部电路结构的框图;
图10是示出第二实施例中数据写入动作的步骤流程图;
图11是示出第三实施例中的半导体存储装置的内部电路结构的框图;
图12是示出第三实施例中数据写入动作的步骤流程图;
图13是示出作为第三实施例的变形例的数据写入动作的步骤流程图;
图14是示出作为第三实施例的变形例的数据写入动作的步骤流程图。
具体实施方式
下面,参考附图并基于实施例,说明本发明中的半导体存储装置以及针对半导体存储装置的数据写入控制方法。
第一实施例
(半导体存储装置的结构)
参考图1~图3,对第一实施例中的半导体存储装置的结构进行说明。图1是示出第一实施例中的半导体存储装置的功能性内部结构的框图。图2是示意性地示出第一实施例中的半导体存储装置所具有的存储阵列的内部结构映射的说明图。图3是示意性地示出第一实施例中被写入到半导体存储装置的写入数据结构的说明图。
第一实施例中的半导体存储装置10是不必从外部输入地址数据的顺序存取方式的存储装置,该地址数据用于指定存取目的地的地址。半导体存储装置10包括:存储阵列100、地址计数器110、IN/OUT控制器120、ID比较器130、读/写控制器140、增量控制器150、电荷泵电路160、8位锁存寄存器170。这些各电路通过总线式信号线而相连。
存储阵列100包括EEPROM阵列101和掩模型ROM阵列102。EEPROM阵列101具有可对数据进行电擦除、可写入的EEPROM特性的存储区域,用于本实施例的EEPROM阵列101,写入数据时可以不删除现有数据而直接写入数据。掩模型ROM阵列102是具有在制造过程中被写入数据且不能删除、改写的掩模型ROM特性的存储区域。
在存储阵列100的EEPROM阵列101和掩模型ROM阵列102中具有多个数据单元(存储单元),该数据单元保存图2中示意性地示出的1位的信息。在本实施例中,如图2所示,存储阵列100在1行中作为规定的地址单位配置8个地址(相当于8位的数据量的地址),例如:在EEPROM阵列101的1行中配置了8个数据单元(8位),在一列中配置了16个数据单元(16字),从而能够保存16字×8位(128位)的数据。在掩模型ROM阵列102的1行中配置了8个数据单元(8位),一列中配置了8个数据单元(8字),从而能够保存8字×8位(64位)的数据。
如图3所示,在本实施例中被写入存储阵列100的数据在开头3位里有识别信息(ID0~ID2),在开头第4位里有写入/读出控制信息,该写入/读出控制信息是为了指示写入和读出中的任一项。开头第五位及以后的位里有写入数据,该写入数据是从最高的位(MSB)开始依次排序的16位(D15~D0)。即,本实施例中的写入数据是存储阵列在1行中所能保存的位长度,即2倍于8位数据长度的数据。
参照图2说明存储阵列100的地址映射。如上所述,本实施例中存储阵列100具有EEPROM阵列101和掩模型ROM阵列102。EEPROM阵列101的开头3地址(第1行的A0~A2列,3位)里保存着识别信息(ID信息),用于识别各半导体存储装置。禁止对包括开头3地址第1行的写入,例如,出厂后不能改写。
图2的例中,EEPROM阵列101的第9地址(08H)~第16地址(OFH)及第17地址(10H)~第24地址(07H)里保存着在一定条件下可改写的16位的信息。写入数据(D15~D0)被保存在这些各地址里并如图3所示与各地址(08H~17H)一一对应。即,第1行(08H~0FH)里被写入D15~D8的8位数据,第2行(10H~17H)里被写入D7~D0的8位数据。而且,在本实施例中,可以把由该第9地址(08H)~第16地址(0FH)及第17地址(10H)~第24地址(17H)组成的行称为写入限制行,或者,可以把由该第9地址(08H)~第16地址(0FH)及第17地址(10H)~第24地址(17H)组成的行称为规定地址单位。另外,一定条件是指,例如,保存的信息为有关墨水消耗量的信息时,指被写入数据的值比现有数据的值大的情况,或者,保存的信息为有关墨水剩余量的信息时,指被写入数据的值比现有数据的值小的情况。
EEPROM阵列101的第25地址及其以后的地址是禁止写入的读出专用区域,例如出厂后不能进行改写。
掩模型ROM阵列102在制造存储阵列时被写入信息(数据),制造存储阵列之后,即便在出厂前也不能进行写入。
本实施例中存储阵列100如上述具有以8位为单位的多个行,但各行不是独立的数据单元列,可以说是通过将1条数据单元列以8位为单位折弯起来而实现的。即,只不过是为了方便而把包含第9位的行称为第2字节、把包含第17位的行称为第3字节。其结果,为了对存储阵列100中期望的地址进行存取,需要从头开始依次存取,不能进行随机存取方式时能进行的对目标地址直接的存取。
存储阵列100中的各数据单元与字线和位(数据)线相连,通过选择(施加选择电压)对应的字线(行)并向对应的位线施加写入电压而向数据单元写入数据。此外,选择对应的字线(行)、将对应的位线与IN/OUT控制器120连接,根据是否查出电流来读出数据单元的数据(1或0)。本实施例中的规定地址单位可称为是通过向一条字线施加写入电压而可写入的地址数(数据单元数)
列选择电路103根据由地址计数器110计数的外部时钟脉冲数,依次将列(位线)与IN/OUT控制器120连接。行选择电路104根据由地址计数器110计数的外部时钟脉冲数,依次向行(字线)施加选择电压。即,在本实施例中的半导体存储装置10中,不使用地址数据对存储阵列100进行存取,而是根据由专用地址计数器110计数的时钟脉冲数,对期望的地址进行存取。
地址计数器110与复位信号端子RSTT、时钟信号端子SCKT、列选择电路103、行选择电路104相连。地址计数器110是将经由复位信号端子RSTT而被输入的复位信号设为0(或者,低)时复位为初始值,在复位信号被设为1后,与经由外部时钟信号端子SCKT而输入的时钟脉冲的下降沿同步地对时钟脉冲数进行计数(增加计数值)。用于本实施例的地址计数器110是保存8个时钟脉冲数的8位的地址计数器,该8个时钟脉冲数与存储阵列100的1行的数据单元数(位数)相对应。而且,初始值只要与存储阵列100的开头位置相关联,可以是任意的值,通常将0用作初始值。
IN/OUT控制器120是用于向存储阵列100传送输入到数据信号端子SDAT的写入数据,或者接收从存储阵列100读出的数据并将其输出给数据信号端子SDAT的电路。IN/OUT控制器120与数据信号端子SDAT、复位信号端子RSTT、存储阵列100、读/写控制器140相连,并根据来自读/写控制器140的要求,切换控制对存储阵列100的数据传送方向以及对数据信号端子SDAT(与数据信号端子SDAT连接的信号线)的数据传送方向。在从数据信号端子SDAT到IN/OUT控制器120的输入信号线上连接着8位锁存寄存器170,该8位锁存寄存器170临时保存从数据信号端子SDAT输入的写入数据。
从数据信号端子SDAT经信号线而输入的数据列(MSB)达到8位为止保持在8位锁存寄存器170中,聚齐8位时,保持的8位的数据被写入到EEPROM阵列101中。8位锁存寄存器170是所谓的FIFO型移位寄存器,一旦新锁存输入数据的第9位,就会释放已锁存的第一位数据。
IN/OUT控制器120在接通电源和进行复位时,将对存储阵列100的数据传送方向设定为读出方向,并将8位锁存寄存器170和IN/OUT控制器120之间的输入信号线设为高阻抗,禁止对数据信号端子SDAT的数据输入。此状态一直维持到读/写控制器140输入写入处理请求为止。从而,输入复位信号后,经由数据信号端子SDAT输入的数据列的开头4位数据不被写入存储阵列100中,另一方面,保存在存储阵列100的开头4位(其中第4位是不关心的)中的数据被发送到ID比较器130。其结果,存储阵列100的开头4位处于只读状态。
ID比较器130与时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT相连,判定经由数据信号端子SDAT输入的输入数据列中包含的识别数据与保存于存储阵列100(EEPROM阵列101)中的识别数据是否一致。详细地说,ID比较器100取得输入复位信号RST之后输入的操作码的开头3位的数据,即识别数据。ID比较器130具有保存输入数据列中包含的识别数据的3位寄存器(图中没有示出)、和保存经由IN/OUT控制器120从存储阵列100取得的开头3位的识别数据的3位寄存器(图中没有示出),通过两个寄存器的值是否一致来判定识别数据是否一致。当识别数据一致时,ID比较器130向读/写控制器140发出存取允许信号EN。输入复位信号RST(RST=0或低)ID比较器130就清除寄存器的值。
读/写控制器140与IN/OUT控制器120、ID比较器130、增量控制器150、电荷泵电路160、时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT相连。读/写控制器140是与输入复位信号RST之后的第4个时钟信号同步地确认经由数据信号端子SDAT而输入的读/写控制信息(接3位ID信息之后的第4位信息)并将半导体存储装置10的内部动作切换为写入或读出的某一动作的电路。具体地说,读/写控制器140收到ID比较器130的存取允许信号AEN及增量控制器WEN1的写入允许信号WEN1就对取得的读/写命令进行分析。如果是写入命令,则读/写控制器140向IN/OUT控制器120发送将总线信号线的数据传送方向切换为写入方向并允许写入的写入允许信号WEN2,并且请求电荷泵电路160生成写入电压。
在本实施例中,当被写入到写入限制行中的写入数据DI为具有值增大(增加)特性的数据时,判断写入数据DI是否为大于写入限制行中已保存的现有数据DE的值,当写入数据DI为具有值变小(减少)的特性的数据时,判断写入数据DI是否为小于写入限制行中已保存的现有数据DE的值,由此降低或防止写入数据DI的数据变化以及错误数据的输入。该功能在前者的情况下由增量控制器提供,在后者的情况下由减量控制器提供。在本实施例中,在下面的说明中以前者为例进行说明。
增量控制器150通过信号线与复位信号端子RSTT、读/写控制器140、电荷泵电路160相连。增量控制器150内部具有4位计数器151以及8位内部寄存器152、153。增量控制器150判断被写入到写入限制行中的写入数据DI是否为大于写入限制行中已保存的现有数据DE的值,而且对写入到EEPROM阵列101中的数据是否被正确写入(校验,验证)进行判断。
增量控制器150在将写入数据DI锁存到8位锁存寄存器170中的定时(timing),从EEPROM阵列101的写入限制行读出现有数据DE,并将其保存到位于内部的8位内部寄存器152中。增量控制器150以1位为单位比较读出的现有数据DE和输入8位锁存寄存器170中的写入数据DI,判定写入数据DI是否为比现有数据DE大的值的数据。为了快速处理,输入的写入数据最好为MSB。
当写入数据DI是比现有数据DE大的值的数据时,增量控制器150向读/写控制器140输出写入允许信号WEN1。当写入限制行包括多个行时,只有在所有写入限制行中写入数据DI为比现有数据DE大的值的数据的情况下,增量控制器150才输出写入允许信号WEN1。
写入写入数据后,增量控制器150验证是否正确地写入了数据,当写入数据没有被正确地写入时,将保存在位于内部的8位内部寄存器152中的现有数据DE写回存储阵列100中。当进行写入数据的验证时,装在增量控制器150中的4位计数器151从写入备用状态相对于外部时钟信号延迟8位,从装在电荷泵电路160的内部振荡器162中接收内部时钟信号开始向上计数。由4位计数器151向上计数的计数值被输入到列选择电路103、行选择电路104中,并且刚写入的现有数据DE被读出。
电荷泵电路160是如上所述用于根据读写控制器140的要求信号,向经由列选择电路103选中的位线提供对EEPROM阵列写入数据时所必需的写入电压的电路。电荷泵电路160具有生成电压升压时所需的动作频率的内部振荡器162,通过对经由正极电源端子VDDT得到的电压进行升压来生成必要的写入电压。
参考图4对第一实施例的半导体存储装置10中的读出动作进行说明。图4是示出第一实施例中的半导体存储装置进行读出动作时的复位信号RST、外部时钟信号SCK、数据信号SDA、地址计数值的时间关系的时序图。
在读出动作之前,先对基于操作码进行的识别信息的确认、读/写命令的确认处理进行说明。当复位状态(RST=0或低)被解除(RST=1或高)时,包含4位的操作码的数据信号SDA与外部时钟信号同步地从图中没有示出的主机被输入到数据信号端子SDAT。如图4所示,操作码的开头3位中含有识别信息ID0、ID1、ID2,开头第4位中含有用于确定写入或读出的命令位。执行如下识别信息的比较。
ID比较器130与复位信号RST从低切换为高之后的3个时钟信号SCK的上升沿同步地取得输入到数据信号端子SDAT上的数据,即取得3位的识别信息并保存到第一个3位寄存器中。与此同时,ID比较器130从通过地址计数器110的计数值00、01、02指定的存储阵列100的地址中取得数据,即,取得保存于存储阵列100中的识别信息并保存到第二个3位寄存器中。
ID比较器130判定第一、第二寄存器中保存的识别信息是否一致,当识别信息不一致时,通过IN/OUT控制器120来保持8位锁存寄存器170和IN/OUT控制器120之间的输入信号线的高阻抗的状态。另一方面,当第一、第二寄存器中保存的识别信息一致时,ID比较器130向读/写控制器140输出存取允许信号AEN。接收了存取允许信号AEN的读/写控制器140与复位信号RST从低切换为高之后的第4个时钟信号SCK的上升沿同步地取得送到总线信号线上的命令位,并判定是否为写入命令。当所取得的命令位不是写入命令时,读/写控制器140向IN/OUT控制器120输出读出命令。
接收了读出命令的IN/OUT控制器120将对存储阵列100的数据传送方向改为读出方向,允许传送数据。由于地址计数器110与时钟信号SCK的下降沿同步地向上计数,所以输入操作码后的地址计数器110的计数值为04,从保存于存储阵列100的04H中的现有数据DE开始读出。保存于存储阵列中的现有数据DE与时钟信号SCK的下降沿同步并经由IN/OUT控制器120而依次被输出到数据信号端子SDAT,而且被输出的现有数据在下一个时钟信号SCK的下降沿到来之前的期间内被保持。时钟信号SCK一旦下降,地址计数器110中的计数值就被增加1,其结果,保存在存储阵列100的下一个地址(数据单元)中的现有数据DE被输出到数据信号端子SDAT。与时钟信号SCK同步地重复进行该动作,直到到达目标地址为止。即,由于本实施例中的半导体存储装置10是顺序存取型的存储装置,所以,主机必须发出与目标读出或写入的地址对应数量的时钟信号脉冲,并将地址计数器110的计数值增加到与规定的地址对应的计数值。其结果是,现有数据DE从由依次增加的地址计数器110的计数值指定的地址与时钟信号SCK同步地被顺序读出。
本实施例中的半导体存储装置10的存储阵列100虽然只有00H~BFH的地址,但地址计数器110却向上计数到地址FFH。地址C0H~FFH是虚拟区域,在存储阵列100中并不存在所对应的地址,并且在对所述虚拟区域进行存取的期间,向数据信号端子SDAT输出“0”值。当由地址计数器110向上计数到地址FFH时,地址返回到地址00H处。在读出动作结束后,从主机输入0或LOW(低)的复位信号RST,半导体存储装置10处于操作码的接收待机状态。
当输入复位信号RST(=0或LOW)时,地址计数器110、IN/OUT控制器120、ID比较器130、读/写控制器140及增量控制器150被初始化。
(写入处理)
参考图5对第一实施例中的半导体存储装置10中的写入动作进行说明。图5是示出第一实施例中的半导体存储装置进行写入动作时的复位信号RST、外部时钟信号SCK、数据信号SDA、地址计数值的时间关系的时序图。在本实施例中的半导体存储装置10中,写入是以行单位(8位单位)、即以规定地址单位(8地址单位)进行写入。
由上述的ID比较器130确认识别信息一致之后,读/写控制器140取得写入命令的命令位且从增量控制器150接收了写入允许信号WEN1时,向IN/OUT控制器120输出写入允许信号WEN2。
如图5所示,在输入操作码之后,时钟信号端子SCKT被输入作为伪写时钟的4个时钟信号进入写入备用状态。地址计数器110与时钟信号SCK的下降沿同步地向上计数,因此写入备用状态后的地址计数器110的计数值为08,从存储阵列100的地址08H开始写入数据。
在本实施例中,如上所述,向1行8位的存储阵列100写入16位长的写入数据。当进行写入处理时,首先,从写入数据DI的最高的位(MSB)开始8位的数据与时钟信号SCK的上升沿同步地依次被锁存到8位锁存寄存器170中。此外,在向IN/OUT控制器120输入写入允许信号WEN2之前,与时钟信号SCK的下降沿同步地依次向数据输出信号线(数据信号端子SDA)输出存储阵列100的第8位以后的现有数据。输出到数据输出信号线上的现有数据DE被输入到增量控制器150中,并与锁存在8位锁存寄存器170中的写入数据DI一起如下述用于增量控制器150判定写入数据DI是否为比现有数据DE大的值。该判断处理在写入备用状态后的第8周期的时钟信号SCK上升之后(=1或高)进行。
接收了写入允许信号WEN2的IN/OUT控制器120将对于存储阵列100的数据传送方向改为写入方向,解除8位锁存寄存器170和IN/OUT控制器120之间的信号线的高阻抗设定,允许传送数据。其结果,向存储阵列100的各个位线传送写入数据DI的值(0或1)。读/写控制器140在写入备用状态后的第8周期的时钟信号SCK上升之后,要求电荷泵电路160生成写入电压,所生成的写入电压被施加到由列选择电路103选中的位线上,在本实施例中是施加到所有的位线上,其结果,保存于8位锁存寄存器170中的8位的数据“1”和“0”一次性地被写入到写入限制行中。
第8周期的时钟信号SCK一旦下降,地址计数器110的计数值就增加1,从而执行应写入下一地址(8地址)中的写入数据DI2(第2字节的数据)的取得。此外,在第8周期的时钟信号SCK下降后的时钟为低的期间(数据校验一的期间),进行刚写入的现有数据DE与用于写入的写入数据DI是否一致的校验处理(第一数据校验处理)。即,在时钟为低的期间,由增量控制器150所具有的4位计数器151向列选择电路103以及行选择电路104输入用于指定刚输入的8位的现有数据DE地址的计数值。其结果,从IN/OUT控制器120输出刚写入的8位的现有数据DE,该现有数据DE经由IN/OUT控制器120而被保存到增量控制器150所具有的8位内部寄存器153中。增量控制器150验证保存于8位内部寄存器153中的8位的现有数据DE和保存于8位锁存寄存器170中的8位的写入数据DI是否一致。
或者,刚写入的现有数据DE和被用于写入的写入数据是否一致的验证处理(第二数据验证处理)可以在如下定时、即第二字节的写入数据DI2的各位被8位锁存寄存器170锁存的定时里进行(数据验证二的期间)。具体地说,增量控制器150在第二字节的写入数据DI2的各位被8位锁存寄存器170锁存的定时里,取得从8位锁存寄存器170即将被放出之前的、并被用于写入的1位的写入数据DI1n,还从存储阵列100的第一写入限制行以1位为单位从MSB开始读出刚写入的现有数据DE1n。增量控制器150验证取得的写入数据DI1n和读出的现有数据DE1n是否一致。通过重复该位单位的比较处理8次(数据验证2的期间),可判定第一字的写入数据DI1是否正确写入到了第一写入限制行中。
在本实施例中,写入数据DI如图3所示是16位长的数据,写入限制行为第一写入限制行和第二写入限制行这2行(8地址×2),因此,当执行两次上述处理之后,写入数据DI就完成写入。在完成写入数据DI的写入后,从主机向复位信号端子RSTT输入复位信号RST(=0或LOW),成为操作码的接收待机状态,结束写入处理。
从主机送出的写入数据除与希望改写的地址对应的数据之外,其余的数据具有与存储阵列100中当前保存的数据相同的值(0或1)。即,存储阵列100中不能改写的地址的数据被相同的值覆盖。
当输入复位信号RST(=0或LOW)时,地址计数器110、IN/OUT控制器120、ID比较器130、读/写控制器140及增量控制器150被初始化。
(第一数据校验处理)
参考图6对第一实施例的半导体存储装置10中执行的第一数据校验处理进行说明。图6是示出由第一实施例中的半导体存储装置执行写入处理中的第一数据校验处理的处理过程的流程图。
增量控制器150从存储阵列100的第一写入限制行中读出刚写入的现有数据DE1(步骤S100),与保存在8位锁存寄存器170中的写入数据DI1进行比较(步骤S102)。具体地说,增量控制器150在结束第1字节的写入后时钟为低的期间,使用由电荷泵电路160的内部振荡器162生成的内部时钟信号,使4位计数器151向上计数。增量控制器150将4位计数器151的计数值输入到列选择电路103以及行选择电路104中,从存储阵列100的第一写入限制行经由IN/OUT控制器120按地址的顺序读出刚写入的8位的现有数据DE1,锁存到8位内部寄存器153中。即,从写入备用状态以8位(8个时钟)的延迟输出内部时钟信号。
增量控制器150判定锁存在8位内部寄存器153中的现有数据DE1与锁存在8位锁存寄存器170中并被用于写入第一写入限制行中的写入数据DI1是否一致(步骤S104)。当从第一写入限制行中读出的保存在8位内部寄存器153中的现有数据DE1与保存在8位锁存寄存器170中的写入数据DI1一致时(步骤S104:“是”),增量控制器150判断为写入正常完成(步骤S106),并结束本处理过程。在这种情况下,与对第一写入限制行的第一字节的写入数据DI1的写入处理同样地执行第二写入限制行的第二字节的写入数据DI2的写入处理。
当从第一写入限制行中读出并被锁存在8位内部寄存器153中的现有数据DE1与保存在8位锁存寄存器170中的写入数据DI1不一致时(步骤S104:“否”),增量控制器150判断为写入没有正常完成,即写入异常(步骤S108)。增量控制器150判定从第一写入限制行中读出并被锁存在8位内部寄存器153中的现有数据DE1与保存在8位内部寄存器152中的写入前的现有数据DE1old是否一致(步骤S110),当判定为DE1=DE1old时(步骤S110:“是”),结束本处理过程。另一方面,当判定为DE1≠DE1old时(步骤S110:“否”),增量控制器150将保存在8位内部寄存器152中的写入前的现有数据DE1old写回存储阵列100的第一限制行中(步骤S112),结束本处理过程。当判定出写入异常时,不向第二写入限制行进行剩余的写入数据DI2的写入处理。
在针对第二写入限制行的写入处理周期内执行写回处理。即,在第2字节的写入数据DI2的写入周期,保存在8位寄存器中的现有数据DE1old被输入到IN/OUT控制器120中,并与经由数据信号端子SDAT被输入的数据同样地被进行向存储阵列100的第一写入限制行的写入处理。其结果,因为存储阵列100的第一及第二写入限制行中的数据恢复为进行写入处理前的值,所以至少可以避免对存储阵列100的错误的数据的写入,可提高对存储阵列100的数据的写入可靠性。
(第二数据校验处理)
参考图7对第一实施例中的半导体存储装置10中执行的第二数据校验处理进行说明。图7是示出由第一实施例中的半导体存储装置执行写入处理中的第二数据校验处理的处理过程的流程图。
也可以取代上述的第一数据校验处理,而通过以下说明的第二数据校验处理来执行数据校验处理。
增量控制器150从存储阵列100的第一写入限制行以位单位读出刚写入的现有数据DE1n(步骤S200)。具体地说,增量控制器150在第二字节的写入数据DI2的各位DI2n被8位锁存寄存器170锁存的定时里,从存储阵列100的第一写入限制行读出构成刚写入的现有数据DE1的1位现有数据DE1n。该现有数据DE1n的读出例如可如下进行:在校验处理时(锁存第二字节的写入数据时),让列选择电路103以及行选择电路104将从地址计数器110输入的计数值减去8计数份,并用进行减法运算后的计数值选择存储阵列100的读出数据。或者,也可以让列选择电路103以及行选择电路104保存1周期之前的读出地址,根据从地址计数器输入的计数值依次选择被保存的地址。
增量控制器150取得从8位锁存寄存器170放出的位单位的写入数据DI1n(步骤S202)。具体地说,因为8位锁存寄存器170是FIFO型的寄存器,所以每当第二字节的写入数据DI2以1位为单位被锁存时,已被锁存的写入数据DI1就以1位为单位被放出。增量控制器150依次获取被放出的1位单位的写入数据DI1n。
增量控制器150比较从存储阵列100的第一写入限制行读出的现有数据DE1n和从8位锁存寄存器170取得的写入数据DI1n(步骤S204)。当从存储阵列100的第一写入限制行读出的现有数据DE1n和从8位锁存寄存器170取得的写入数据DI1n一致时(步骤S206:是),增量控制器150判定是否从存储阵列100的第一写入限制行读出8位份的现有数据DE1n,即,判定是否n=8(步骤S208)。当判定为不是n=8时(步骤208:否),增量控制器150再次执行步骤S200~206。即,在第二数据校验处理中,每当第二字节的写入数据DI2被8位锁存寄存器170保存时,以1位为单位进行现有数据DE1n和写入数据DI1n的比较。从而为了验证保存在存储阵列100的第一写入限制行中的所有8位的现有数据需要执行8次比较处理。
当判定为n=8时(步骤208:是),增量控制器150判断为对存储阵列100的第一写入限制行正常结束了写入(步骤S210),结束本处理过程。在这种情况下,与对第一写入限制行的第一字节的写入数据DI1的写入处理同样地,来执行对第二写入限制行的第二字节的写入数据DI2的写入处理。
当从存储阵列100的第一写入限制行读出的现有数据DE1n和从8位锁存寄存器170取得的写入数据DI1n不一致时(步骤S206:否),增量控制器150判定为写入没有正常结束,即,判定为写入异常(步骤:S212)。增量控制器150判定从第一写入限制行中读出并锁存在8位内部寄存器153中的现有数据DE1与保存在8位内部寄存器152中的写入前的现有数据DE1old是否一致(步骤S214),当判定为DE1=DE1old时(步骤S214:“是”),结束本处理过程。另一方面,当判定为DE1≠DE1old时(步骤S214:“否”),增量控制器150将保存在8位内部寄存器152中的写入前的现有数据DE1old写回存储阵列100的第一限制行中(步骤S214),结束本处理过程。与第一数据校验处理同样当判定出写入异常时,不向第二写入限制行进行剩余的写入数据DI2的写入处理。
写回处理以与第一数据校验处理中说明的次序同样的次序执行。
参考图8对第一实施例中的半导体存储装置10的应用例进行说明。图8是示出第一实施例中的半导体存储装置的应用例的说明图。本实施例中的半导体存储装置10被装备在容纳耗材的容器上,例如安装在容纳作为印刷记录材料的墨水的墨水容纳体310、311、312上。当将各墨水容纳体310、311、312安装到印刷装置上时,半导体存储装置10与印刷装置所具有的主机300总线连接。即,来自主机300的数据信号线SDA、时钟信号线SCK、复位信号线RST、正极电源线VDD、以及负极电源线VSS均与各个墨水容纳体310、311、312所具有的半导体存储装置10相连。在该应用例中,在半导体存储装置10中保存墨水余量或墨水消耗量等与墨水量相关的信息。
如以上说明,根据第一实施例中的半导体存储装置10,当写入到半导体存储装置10的写入数据的长度是半导体存储装置10所具有的存储阵列100的1行可保存的数据长度(8位)的2倍时,验证是否正确写入了写入数据DI的高位(开头)的8位(DI1)。即,因为只有在正确写入了写入数据DI的最前的8位(DI1)时,才执行后(剩余)8位(D12)的写入,所以可提高数据长度比存储阵列100的1行中可保存的数据长度长的数据的写入可靠性。即,只要写入数据DI的高位的8位(DI1)没有被正确写入,就不执行现有数据的覆盖(更新),所以可提高写入数据的写入可靠性。
特别是在上述实施例中,因为在半导体存储装置10具有的存储阵列100中从最高的位(MSB)的数据开始被保存在开头侧的地址中,所以不会错误地写入由高位的8位表示的高位的数位,从而可提高写入数据的写入可靠性。
还有因为可提高比存储阵列100的1行所能保存的数据长度还长的数据长度的数据的写入可靠性,所以本实施例中的半导体存储装置10可以共用于处理写入数据长度整数倍于存储阵列100的1行中可保存的数据长度的多个装置中。
根据第一校验处理,因为以8位单位执行校验处理,所以可以将校验处理集中起来执行,和以1位为单位执行校验处理时相比可以缩短校验处理所需的时间。
再根据第二校验处理,不使用4位计数器以及内部振荡器162等电路也可以执行校验处理。即,虽然在第一校验处理中以8位为单位执行校验处理,但在第二校验处理能够以1位为单位执行校验处理。在这种情况下,增量控制器150不需要具有4位计数器151以及8位内部寄存器153,从而可以简化电路结构。
第一实施例的变形例:
(1)在上述第一实施例中,校验处理结果,对第一写入限制行第一字节的写入数据DI1没有被正确写入时,将锁存在8位内部寄存器152中的写入前的现有数据DE1old写回到第一写入限制行,但也可以不执行写回。在这种情况下,不执行对第二写入限制行第二字节的写入数据DI2的写入,可以保证低8位的值为正常写入的值。另一方面,对于高8位来说,由于不是在短时间内大幅变动的值,所以主机中通过验证与上次的值的确定性,可避免问题。
(2)在上述第一实施例中,以16位长度的写入数据为例进行了说明,但除此之外,24位长度、32位长度的具有数倍于存储阵列100的1行的位长度的数据也同样适用,并可以得到同样的效果。在这种情况下,直到最后的1位被写入为止,被执行以1位为单位(8位单位)的校验处理。
(3)在上述第一实施例中,没有对第2字节的写入数据DI2执行校验处理,但也可以执行对第2字节的写入数据DI2的校验处理。
(4)在上述第一实施例中,作为应用例使用了墨盒,但除此之外,调色剂盒也能够得到同样的效果。此外,当应用于预付卡等保存货币等价信息的介质中时也能够得到同样的效果。
第二实施例
半导体存储装置的结构:
第二实施例中的半导体存储装置是非易失性地保持存储数据并以1位单位从开头地址顺次存取的EEPROM。
图9是示出第二实施例中的半导体存储装置的内部电路结构的框图。该半导体存储装置10A包括存取控制器1110、读写控制器1120、地址计数器1130以及存储阵列1140。
存储阵列1140具有规定容量、例如256位的存储区域。
地址计数器1130是与输入时钟信号端子CKT中的时钟信号CLK同步地增加其计数值的电路。更具体来说,地址计数器1130是与从读写控制器1120输出的向上计数信号CP同步地增加(向上计数)其计数值的电路。其中,向上计数信号CP是从读写控制器1120输出的时钟信号,相当于内部时钟信号ICK。此外,内部时钟信号ICK是从控制器1110输出的时钟信号,相当于时钟信号CLK。因此,向上计数信号CP是相当于时钟信号CLK的时钟信号,地址计数器1130与时钟信号CLK同步地向上计数其计数值。
地址计数器1130的计数值作为指示存储阵列1140的256位的存储区域位置的地址ADD而被输入存储阵列1140中,可通过地址计数器1130的计数值来指定存储阵列1140中的写入位置或读出位置。
并且,地址计数器1130在输入计数器复位信号CRST时,将计数值复位为初始值。在这里,初始值只要与存储阵列1140的开头位置相关联,可以是任意的值,通常将0用作初始值。当启动装置时,或者开始或结束存取(数据的读出或写入)时,由读写控制器1120输出计数器复位信号CRST。
因此,地址计数器1130可通过从初始值依次向上计数的计数值来依次指定存储阵列1140的写入位置或读出位置。
存取控制器1110与芯片选择端子CST、时钟信号端子CKT、数据信号端子IO相连,经由芯片选择端子CST输入芯片选择信号CS#,经由时钟信号端子CKT输入时钟信号CLK,经由数据信号端子IO输入或输出数据信号DA。输入的时钟信号CLK作为内部时钟信号而送给读写控制器1120。当数据信号DA为输入数据信号时,作为输入数据信号IDA而送给读写控制器1120,作为写入数据信号WDA而送给存储阵列1140。当数据信号DA为输出数据信号时,从存储阵列1140中送出的读出数据信号RDA作为数据信号DA而被输出。
此外,存取控制器1110根据芯片选择信号CS#、以及与时钟信号CLK同步输入的数据信号DA,控制存取的开始及结束。具体来说,存取控制器1110当输入了芯片选择信号CS#,并且在预定的定时作为数据信号DA而输入了指示数据的读出或写入的命令数据时,向读写控制器1120和地址计数器1130送出存取允许信号AEN,并且在所指示的存取为写入的情况下,向读写控制器1120送出写入访问开始信号WRS,由此来控制存取的开始。此外,存取控制器1110在芯片选择信号CS#的输入结束时,结束存取允许信号AEN的送出,并且在送出写入访问开始信号WRS的情况下结束该送出,由此来控制存取的结束。
读写控制器1120包括控制数据的读出的读控制部1122、控制数据的写入的写控制部1124、以及读写执行部1126,该读写执行部1126根据来自读控制部1122的指示而向存储阵列1140送出读执行信号RD,并根据来自写控制部1124的指示而向存储阵列1140送出读执行信号RD和写执行信号WR。读写控制器1120实际控制数据的读出或写入。具体来说,当从存储控制器1110只输入了存取允许信号AEN和写入开始信号WRS中的存取允许信号AEN时,读控制部1122和读写执行部1126进行动作,向存储阵列1140送出与内部时钟信号ICK的下降(上升)同步的读执行信号RD,从而执行数据的读出处理。此时,包含于来自存储阵列1140的读出数据信号RDA中的读出数据(简称为“读出数据RDA”)被输入存取控制器1110中,并经由数据信号端子IO被输出为输出数据信号DA。此外,当从存储控制器1110输入了存取允许信号AEN和写入访问开始信号WRS时,写控制部1124和读写执行部1126进行动作,向存储阵列1140送出与内部时钟信号ICK的下降(上升)同步的读执行信号RD和与内部时钟信号ICK的上升(下降)同步的写执行信号WR,从而如下面所述那样执行数据的读出及写入处理。此时,经由数据信号端子IO输入存取控制器1110中的数据信号DA作为写入数据信号WDA而被送给存储阵列1110,写入数据信号WDA所表示的数据(简称为“写入数据WDA”)以写入的顺序被写入存储阵列1140中。
本实施例的半导体存储装置的特点在于由写控制部1124控制的数据的写入动作的部分,而由读控制部1122控制的数据的读出动作的部分由于与以往的半导体存储装置相同,因此,下面只对数据的写入动作加以说明。
写入动作:
作为前提,假定作为数据信号DA而经由数据信号端子IO依次输入的多位数据必须从最高的位(MSB)依次以1位单位输入,存储阵列1140的存储区域位置也从与最高的位相关联的地址依次被存取。
图10是示出第二实施例中的数据写入动作的步骤的流程图。如上所述,当从存取控制器1110向读写控制器1120输入存取允许信号AEN并输入写入访问开始信号WRS时,由写控制部1124执行该动作。
当开始了写入动作时,写控制部1124首先使读写执行部1126执行数据的读出(步骤S1102)。例如,读写执行部1126与内部时钟信号ICK的下降沿同步地向存储阵列1140送出读执行信号RD。此时,根据读执行信号RD,从存储阵列1140中的与地址计数器1130送出的地址信号ADD所表示的地址值对应的存储区域位置读出所存储的数据(存储数据)。在下面说明的其他的读出处理中,也与内部时钟信号ICK的下降沿同步地进行读执行信号RD的送出。
然后,写控制部1124对如上述读出并从存储阵列1140送出的读出数据信号RDA所表示的数据(简称为“读出数据”)、和此时经由数据信号端子IO输入并从存取控制器1110送出的输入数据信号IDA所表示的数据(简称为“输入数据”)进行比较(步骤S1104),判断读出数据的值和输入数据的值是否一致(步骤S1106)。
当读出数据的值和输入数据的值一致时(步骤S1106:“是”),写控制部1124使地址计数器1130的计数值向上计数1(步骤S1108),并判断是否结束存取动作(步骤S1110),当继续进行存取动作时(步骤S1110:“否”),再次使读写执行部1126执行数据的读出(步骤S1102)。例如,读写控制器1120与送出读执行信号RD之后的内部时钟信号ICK的下一个下降沿同步地向计数器1130送出向上计数信号CP。此时,根据向上计数信号CP,计数器1130的计数值向上计数1。计数器1130在与内部时钟信号ICK相当的向上计数信号CP的各个下降沿的定时(向上计数定时),向上计数每周期计数值。
从而,写控制部1124重复进行数据的读出处理(步骤S1102)和与输入数据的比较处理(步骡S1104),直到读出数据和输入数据不一致(步骤S1106:“否”)为止。
当在上述存取动作是否结束的判断(步骤S1110)中判断为结束存取动作时(步骤S1110:“是”),写控制部1124复位地址计数器1130的计数值(步骤S1124)来结束该写入动作。存取动作的结束可根据是否输入了芯片选择信号#CS或存取允许信号AEN来判断。具体来说,如果作为判断对象的信号、例如存取允许信号AEN的状态处于非激活状态,则能够判断为结束存取动作。
另一方面,当在上述读出数据的值与输入数据的值是否一致的判断(步骤S1106)中判断为读出数据的值与输入数据的值不一致时(步骤S1106:“否”),写控制部1124进一步判断输入数据的值是否为[1](步骤S1112)。
当输入数据的值为[1]时(步骤S1112:“是”),设定写入允许标志(步骤S1114),使读写执行部1126执行作为写入数据的输入数据的写入(步骤S1116)。例如,读写执行部1126与内部时钟信号ICK的上升沿同步地向存储阵列1140送出写执行信号WR。此时,输入数据(写入数据)被写入存储阵列1140中与地址计数器1130送出的地址信号ADD所表示的地址值对应的存储区域位置的存储区域中。
然后,写控制部1124在下一个向上计数定时使地址计数器1130的计数值向上计数1(步骤S1118),进而判断是否结束存取动作(步骤S1120)。
当继续进行存取动作时(步骤S1120:“否”),再次执行数据的写入处理(步骤S1116)以及地址的向上计数处理(步骤S1118)。另一方面,当结束存取动作时(步骤S1120:“是”),解除写入允许标志的设定(步骤S1122),并复位地址计数器1130的计数值(步骤S1124)来结束该写入动作。
此外,当在上述输入数据的值是否为[1]的判断(步骤S1110)中判断为输入数据的值不为[1]时(步骤S1110:“否”),写控制部1124在存取动作结束之前(步骤S1128:“否”),禁止输入数据的写入(步骤S1126),使读写执行部1126停止动作。另一方面,当结束存取动作时(步骤S1128:“是”),复位地址计数器1130的计数值(步骤S1124)来结束该写入动作。
接着,对上述写入动作的具体例进行说明。为了容易说明,将向4位的存储区域写入4位的二进制数据的场合作为前提。例如,假定在4位的各个存储区域中存储有数据[1010b]。括号[]中的[b]表示二进制数据,在4个[1]或[0]的值中,左端表示最高的位(MSB),右端表示最低的位(LSB)。
例如,当输入数据[1010b]从左端的最高的位依次输入时,依次与存储数据[1010b]所对应的位进行比较。此时,由于输入数据和存储数据的各个位的值相一致,所以不进行数据的写入。
此外,当输入输入数据[1100b]时,相对于存储数据[1010b],从左第2位的输入数据的值为[1],这与存储数据的值[0]不一致,并且由于输入数据的值为[1],因而输入数据的值大于存储数据的值。其结果是,设定写入允许标志,并从左顺序写入第2位的[1]、第3位的[0]以及第4位的[0],从而4位的各个存储区域中存储的数据[1010b]被改写为输入数据[1100b]。
另外,当输入输入数据[1001b]时,相对于存储数据[1010b],从左第3位的输入数据的值为[0],这与存储数据的值[1]不一致,但由于输入数据的值为[0],因而输入数据的值小于存储数据的值。其结果是,不设定写入允许标志,禁止输入数据[1001b]的写入。
如上所述,在第二实施例的写入动作中,能够只有在作为写入数据的输入数据的值大于存储数据的值时,进行数据的改写,当写入数据小于存储数据时,能够禁止写入。由此,能够防止预先确定的数据条件下的写入以外的写入。
在上述第二实施例的写入动作中,说明了当写入数据与存储数据一致时,不进行输入数据的写入,但也可以在一致时设定写入允许标志来进行输入数据的写入,并禁止只有在写入数据小于存储数据时进行数据的写入。
此外,在上述第二实施例的写入动作中,将以1位单位顺序写入数据的场合作为前提进行了说明,但也可以将n位单位的数据集中起来一次写入。但是,在此情况下,需要具备数据缓冲器,用于保持各位的输入数据,直到n位的数据全部输入完。
但是,第二实施例的写入动作只有在满足“写入数据大于存储数据”的数据条件时,才可进行数据的写入。然而,当为了缩短写执行信号WR的生成时间而改变作为写执行信号WR的生成标准的时钟信号CLK的定时来进行写入动作时,可能会写入不满足数据条件的数据。因此,下面加以说明应对该问题的实施例的半导体存储装置。
第三实施例
半导体存储装置的结构:
与第二实施例一样,第三实施例中的半导体存储装置也是非易失性地保持存储数据并以1位单位从开头地址顺次存取的EEPROM。
图11是示出第三实施例中的半导体存储装置的内部电路结构的框图。该半导体存储装置20A除存取控制器1210、读写控制器1220、地址计数器1230以及存储阵列1240之外,还包括数据缓冲器1228和减法器1232。
存取控制器1210、地址计数器1230以及存储阵列1240与第二实施例的半导体存储装置(参见图9)的存取控制器1110、地址计数器1130以及存储阵列1140相同。
数据缓冲器1228根据从读写控制器1220输入的锁存信号DLT,锁存来自存取控制器1210的输入数据信号IDA,并将锁存数据作为写入数据信号WDA送给存储阵列1140。
减法器1232根据来自读写控制器1220的减法信号DEC,将用地址计数器1230的计数值表示的地址(“非减算地址”)、或者将通过对计数值进行减法运算后的值表示的地址(“减算地址”)作为地址信号ADD而送给存储阵列1140。
读写控制器1220包括读控制部1222、写控制部1224以及读写执行部1226,基本与第二实施例的读写控制器1120同样地实际对存取(数据的读出或者数据的写入)进行控制。读控制部1222以及读写执行部1226与第二实施例的读控制部1122以及读写执行部1126相同。
写控制部1224通过控制地址计数器1230、读写执行部1226、数据缓冲器1228以及减法器1232的动作,来控制后述的数据的写入动作。
本实施例的半导体存储装置的特点也在于由写控制器1224控制的数据的写入动作的部分,而由读控制部1122控制的数据的写入动作的部分由于与以往的半导体存储装置相同,因此,下面只对由写控制器1224控制的数据的写入动作加以说明。
写入动作:
作为前提,与第二实施例中的写入动作的情况同样地,假定作为数据信号DA而经由数据信号端子IO依次输入的多位数据必须从最高的位(MSB)依次以1位单位输入,存储阵列1240的存储区域位置也从与最高的位相关联的地址依次被存取。
图12是示出第三实施例中的数据写入动作的步骤的流程图。与第二实施例的情况相同,当从存取控制器1210向读写控制器1220输入存取允许信号AEN并输入写入访问开始信号WRS时,由写控制器1224执行该动作。
当开始了写入动作时,写控制部1224首先使读写执行部1226执行数据的读出(步骤S1202)。例如,读写执行部1226与内部时钟信号ICK的下降沿同步地向存储阵列1240送出读执行信号RD。此时,根据读执行信号RD,从存储阵列1240中的与地址计数器1230送出的地址信号ADD所表示的地址值对应的存储区域位置读出所存储的数据(存储数据)。在下面说明的其他的读出处理中,也与内部时钟信号ICK的下降沿同步地进行读执行信号RD的送出。
然后,写控制部1224对如上述读出的来自存储阵列1240的读出数据和输入数据进行比较(步骤S1204),判断读出数据的值和输入数据的值是否一致(步骤S1206)。
当读出数据的值和输入数据的值一致时(步骤S1206:“是”),写控制部1224使数据缓冲器1228锁存输入数据(步骤S1208),然后使地址计数器1130的计数值向上计数1(步骤S1210),进而判断是否结束存取动作(步骤S1212),当继续进行存取动作时(步骤S1212:“否”),再次使读写执行部1126执行数据的读出(步骤S1202)。例如,读写控制器1220与由读写执行部1226送出读执行信号RD之后的内部时钟信号ICK的下一个下降沿同步地向数据缓冲器1228送出锁存信号DLT。此时,根据锁存信号DLT,从存取控制器1110送出的输入数据信号IDA所表示的数据(输入数据)被锁存到数据缓冲器1228中。然后,读写控制器1220与由读写执行部1226向数据缓冲器1228送出锁存信号之后的内部时钟信号ICK的下一个下降沿同步地向计数器1230送出向上计数信号CP。此时,根据向上计数信号CP,计数器1230的计数值向上计数1。数据缓冲器1228在内部时钟信号ICK的各个上升沿的定时(锁存定时),锁存每周期输入数据。并且,计数器1230在与内部时钟信号ICK相当的向上计数信号CP的各个下降沿的定时(向上计数定时),向上计数每周期计数值。
从而,写控制部1224重复进行数据的读出处理(步骤S1202)和与输入数据的比较处理(步骤S1204),直到读出数据和输入数据不一致(步骤S1206:“否”)为止。
当在上述存取动作是否结束的判断(步骤S1212)中判断为结束存取动作时(步骤S1212:“是”),写控制部1224复位地址计数器1230的计数值(步骤S1250)来结束该写入处理。存取动作的结束可根据是否输入了芯片选择信号#CS或存取允许信号AEN来判断。具体来说,如果作为判断对象的信号、例如存取允许信号AEN的状态处于非激活状态,则能够判断为结束存取动作。
另一方面,当在上述读出数据的值与输入数据的值是否一致的判断(步骤S1206)中判断为读出数据的值与输入数据的值不一致时(步骤S1206:“否”),写控制部1224进一步判断输入数据的值是否为[1](步骤S1214)。
当输入数据的值为[1]时(步骤S1214:“是”),设定写入允许标志(步骤S1216),在下一个锁存定时,使数据缓冲器1228锁存输入数据(步骤S1218),并使读写执行部1226执行数据的写入(步骤S1220)。例如,读写执行部1226与由读写执行部1226送出读执行信号RD之后的内部时钟信号ICK的下一个上升沿同步地向数据缓冲器1228送出锁存信号DLT。此时,根据锁存信号DLT,输入数据被锁存到数据缓冲器1228中。此外,读写执行部在送出读执行信号RD之后的内部时钟信号ICK的下一个上升沿同步地向存储阵列1240送出写执行信号WR。此时,输入数据(写入数据)被写入存储阵列1240中与地址计数器1230送出的地址信号ADD所表示的地址值对应的存储区域位置的存储区域中。
然后,写控制部1224在下一个地址向上计数定时,使地址计数器1230的计数值向上计数1(步骤S1220)。
接着,写控制部1224使减法器1232将从地址计数器1230的计数值(地址值)减去[1]后的值的地址(减算地址)设定为读出地址(步骤S1224),并使读写执行部1226执行数据的读出(步骤S1226)。
然后,写控制部1224对读出数据和与写入数据相当的被锁存在数据缓冲器1228中的数据(锁存数据)进行比较(步骤S1228),判断读出数据的值与锁存数据的值是否一致(步骤S1230)。
当读出数据的值与锁存数据的值一致时(步骤S1230:“是”),首先,在下一个锁存定时,使数据缓冲器1228锁存输入数据(步骤S1232),使减法器1232将地址计数器1230的计数值的地址(非减算地址)设定为写入地址(步骤S1234),并使读写执行部1126执行作为写入数据的输入数据的写入(步骤S1236)。
然后,写控制部1224在下一个向上计数定时,使地址计数器1230的计数值向上计数1(步骤S1238),进而判断是否结束存取动作(步骤S1240)。
当继续进行存取动作时(步骤S1240:“否”),再次执行从输入数据的锁存处理(步骤S1116)至地址的向上计数处理(步骤S1238)。另一方面,当结束存取动作时(步骤S1240:“是”),解除写入允许标志的设定(步骤S1242),并复位地址计数器1230的计数值(步骤S1250)来结束该写入动作。
此外,当在上述读出数据的值与锁存数据的值是否一致的判断(步骤S1230)中判断为读出数据的值与锁存数据的值不一致时(步骤S1230:“否”),写控制部1224解除写入允许标志的设定(步骤S1244),并在存取动作结束之前(步骤S1248:“否”),禁止输入数据的写入(步骤S1246),使读写执行部1226停止动作。另一方面,当结束存取动作时(步骤S1248:“是”),复位地址计数器1230的计数值(步骤S1250)来结束该写入动作。
接着,对上述写入动作的具体例进行说明。为了容易说明,将向4位的存储区域写入4位的二进制数据的场合作为前提。例如,假定在4位的各个存储区域中存储有数据[1010b]。括号[]中的[b]表示二进制数据,在4个[1]或[0]的值中,左端表示最高的位(MSB),右端表示最低的位(LSB)。
例如,当输入数据(写入数据)[1100b]从左端的最高的位依次输入时,依次与存储数据[1010b]所对应的位进行比较。此时,从左第2位的输入数据的值为[1],这与存储数据的值[0]不一致,并且由于输入数据的值为[1],因而输入数据的值大于存储数据的值。其结果是,设定写入允许标志,并顺序执行从第2位至第4位的各位的输入数据的写入。这里,首先,写入从左第2位的输入数据,然后读出该写入的数据,当读出数据的值为[0]时,由于写入数据的值[1]没有被写入,因而将禁止第3位以及第4位的写入。
如上所述,在第三实施例的写入动作中,从最高的位一侧依次以位单位对作为写入数据的输入数据和作为存储数据的存储数据的大小进行比较,当输入数据更大时,允许写入,并且在写入该位的数据之后,检查该数据是否被正确地写入。然后,当没有被正确写入时,能够解除写入允许来禁止以后的写入。由此,相比于第二实施例的情况,能够更加有力地防止预先确定的数据条件下的写入以外的写入。
写入动作的变形例:
上述第三实施例的写入动作将以1位单位顺序执行写入动作的场合作为前提进行了说明,但也可以将n单位(n为2以上的整数)的数据集中起来一次写入。
图13和图14是示出作为第三实施例的变形例的数据写入动作的步骤的流程图。在该动作中,将图12中的步骤S1218至步骤S1244变更为步骤S1302至步骤S1340,而变更处之外的处理则相同。下面只对变更的处理进行说明。
当设定了写入允许标志时(步骤S1216),写控制部1224在从地址计数器1230输出的地址的低位n位(A0、A1、...、An-1)的每个值均成为[1]之前(步骤S1304:“否”),依次将输入的输入数据在各个定时锁存到数据缓冲器1228中(步骤S1302),并在各个地址向上计数定时,使地址计数器1230的计数值依次向上计数(步骤S1306)。此外,当低位n位的地址的每个值均为[1]时(步骤S1304:“是”),使读写执行部1226集中执行数据缓冲器1228中锁存的n位锁存数据的写入(步骤S1308),并在下一个地址向上计数定时,使地址计数器1230的计数值向上计数1(步骤S1310)。
接着,写控制部1224使减法器1232将从地址计数器1230的计数值(地址值)减去[n]后的值的减算地址设定为读出地址(步骤S1312),并使读写执行部1226执行数据的读出(步骤S1314)。
然后,写控制部1224对读出数据和与写入数据相当的锁存于数据缓冲器1228中的数据(锁存数据)进行比较(步骤S1316),判断读出数据的值与锁存数据的值是否一致(步骤S1318)。
当读出数据的值与锁存数据的值不一致时(步骤S1318:“否”),解除写入允许标志的设定(步骤S1326),禁止输入数据的写入(步骤S1246)。另一方面,当读出数据的值与锁存数据的值一致时(步骤S1318:“是”),在从地址计数器1230输出的低位n位的读出地址的每个值均成为[1]之前(步骤S1320:“否”),重复进行地址的向上计数处理(步骤S1322)、输入数据的锁存处理(步骤S1324)、读出地址的设定处理(步骤S1312)、数据的读出处理(步骤S1314)、与锁存数据的比较处理(步骤S1316)以及判断处理(步骤S1318)。另一方面,当低位n位的读出地址的每个值均成为[1]时(步骤S1320:“是”),使减法器1232将用地址计数器1230的计数值表示的非减算地址设定为写入地址(步骤S1328),并使读写执行部1126集中执行数据锁存器1228中锁存的n位锁存数据的写入(步骤S1330)。
接着,写控制部1224在低位n位的写入地址的每个位值均成为[1]之前(步骤S1332:“否”),在各个地址向上计数定时,使地址计数器1230的计数值向上计数1(步骤S1334),而且在存取动作没有结束时(步骤S1336:“否”),在对应的锁存定时将输入数据锁存到数据锁存器1228中(步骤S1338)。当低位n位的写入地址的每个位值均成为[1]时(步骤S1332:“是”),使读写执行部1126集中执行数据锁存器1228中锁存的n位锁存数据的写入(步骤S1330)。
然后,当结束存取动作时(步骤S1336:“是”),解除写入允许标志的设定(步骤S1340),禁止输入数据的写入(步骤S1246)。
以上说明的写入动作能够将n位的数据集中写入。
第二以及第三实施例的变形例:
(1)在上述第二及第三实施例中,将存储阵列的容量设为256位来进行了说明,但不限于此,可根据应保存的数据量进行适当的变更。
(2)在上述第二及第三实施例中,将在写入数据大于存储数据时允许写入并在写入数据小于存储数据时禁止写入的场合为例进行了说明,但也可以在写入数据小于存储数据时允许写入,在写入数据大于存储数据时禁止写入。
(3)在上述第二及第三实施例中,作为半导体存储装置使用EEPROM进行了说明,但只要是可进行改写并能将保存数据非易失性地维持的存储装置的话,不局限于EEPROM,也可以是以多位单位进行读出或写入的存储装置。
以上,基于几个实施例对本发明进行了说明,但上述的发明的实施方式是用于容易理解本发明的,并不用来限定本发明。本发明可在不脱离其宗旨以及权利要求的范围进行变更和改进,同时不用说本发明中包含了其等价物。
Claims (25)
1.一种半导体存储装置,包括:
顺序存取的非易失性的存储阵列,具有多个规定的地址单位的数据保存行;
写入数据保持模块,以所述规定的地址单位保持相当于所述规定的地址单位n倍的数据容量的写入数据,该写入数据为应写入所述存储阵列中的写入数据,所述n为2以上的整数;
数据写入模块,以所述规定的地址单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据;
数据验证模块,判定写入所述对象数据保存行的所述规定的地址单位的已写入数据、和所述写入数据保持模块所保持的所述规定的地址单位的写入数据是否一致;以及
控制部,当所述已写入数据和所述写入数据不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
2.如权利要求1所述的半导体存储装置,其中,
当所述已写入数据和所述写入数据一致时,所述控制部执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的所述写入数据的写入。
3.如权利要求1或2所述的半导体存储装置,其中,
所述数据验证模块在结束了对所述对象数据保存行写入所述写入数据后,以所述地址单位从所述对象数据保存行读出所述已写入数据,并且,
用所述读出的所述规定的地址单位的所述已写入数据和所述规定的地址单位的写入数据,来判定所述已写入数据和所述写入数据是否一致。
4.如权利要求1或2所述的半导体存储装置,其中,
所述数据验证模块在结束了对所述对象数据保存行写入所述写入数据后,从所述对象数据保存行以每1地址读出所述已写入数据,并从所述写入数据保持模块以1地址单位取得写入数据,并且,
用所述读出的1地址单位的所述已写入数据和所述取得的1地址单位的写入数据,来判定所述已写入数据和所述写入数据是否一致。
5.如权利要求1或2所述的半导体存储装置,所述半导体存储装置还包括:
现有数据保存模块,保存在写入所述写入数据前保存在所述对象数据保存行中的现有数据;
数据写回模块,当所述数据验证模块判定为所述已写入数据和所述写入数据不一致时,将所述现有数据保存模块保存的所述现有数据写入所述对象数据保存行中。
6.如权利要求1或2所述的半导体存储装置,其中,
在所述数据保存行中,从最高的位开始依次保存数据,
所述数据写入模块从最高的位开始依次向所述存储阵列执行数据的写入。
7.一种半导体存储装置,包括:
顺序存取的非易失性存储阵列,具有多个数据保存行,该数据保存行具有8个保存1位数据的数据单元;
写入数据保持模块,以8位为单位保持n倍于8位的写入数据,该写入数据为应写入所述存储阵列中的写入数据,所述n为2以上的整数;
数据写入模块,以8位为单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据;
数据验证模块,判定写入所述对象数据保存行的8位已写入数据和所述写入数据保持模块所保持的8位写入数据是否一致;以及
控制部,当所述已写入数据和所述写入数据不一致时,不执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
8.如权利要求7所述的半导体存储装置,其中,
当所述已写入数据和所述写入数据一致时,所述控制部执行由数据写入模块对所述对象数据保存行的下一个数据保存行进行的所述写入数据的写入。
9.一种写入控制方法,用于向半导体存储装置写入相当于规定的地址单位n倍的数据容量的写入数据,该半导体存储装置具有被顺序存取的非易失性的存储阵列,该存储阵列具有多个规定的地址单位的数据保存行,所述写入控制方法执行如下步骤:
接收相当于所述规定的地址单位n倍的数据容量的写入数据,所述n为2以上的整数,
以所述规定的地址单位保持所述接收的写入数据,
以所述规定的地址单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据,
判定写入所述对象数据保存行的所述规定的地址单位的已写入数据、和所述保持的所述规定的地址单位的写入数据是否一致,
当所述已写入数据和所述写入数据不一致时,不执行对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
10.如权利要求9所述的写入控制方法,其中,
当所述已写入数据和所述写入数据一致时,执行对所述对象数据保存行的下一个数据保存行进行的所述地址单位的写入数据的写入。
11.如权利要求10所述的写入控制方法,所述方法还执行如下步骤:
判定写入所述下一个数据保存行的所述规定的地址单位的已写入数据、和所述保持的所述规定的地址单位的写入数据是否一致,
当所述已写入数据和所述写入数据不一致时,不执行对所述下一个数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
12.一种写入控制方法,用于向半导体存储装置写入n倍于8位的写入数据,所述n为2以上的整数,所述半导体存储装置具有被顺序存取的非易失性的存储阵列,该存储阵列具有多个数据保存行,并且所述数据保存行具有8个保存1位数据的数据单元,所述写入控制方法执行如下步骤:
接收所述n倍于8位的数据长度的写入数据,
以8位单位保持所述接收的写入数据,
以8位为单位,向所述存储阵列中作为写入对象的对象数据保存行写入所述保持的写入数据,
判定写入所述对象数据保存行的8位单位的已写入数据和所述保持的8位单位的写入数据是否一致,
当所述已写入数据和所述写入数据不一致时,不执行对所述对象数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
13.如权利要求12所述的写入控制方法,其中,
当所述已写入数据和所述写入数据一致时,执行对所述对象数据保存行的下一个数据保存行进行的8位单位的写入数据的写入。
14.如权利要求13所述的写入控制方法,所述方法还执行如下步骤:
判定写入所述下一个数据保存行的8位单位的已写入数据和所述保持的8位单位的写入数据是否一致,
当所述已写入数据和所述写入数据不一致时,不执行对所述下一个数据保存行的下一个数据保存行进行的剩余所述写入数据的写入。
15.一种半导体存储装置,其特征在于,包括:
非易失性的存储阵列;以及
读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出;
所述读写控制器在被请求对所述存储阵列进行数据的写入时,针对输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值,从所述多位写入数据中的最高的位开始以1位为单位依次进行比较,当具有被判定为相对于所述存储数据的各位的值满足规定的大小关系的位时,对于该被判定的位的写入数据执行写入后,检查对存储在执行写入的存储区域中的存储数据和所述被判定的位的写入数据是否一致,当一致时,执行所述被判定的位以后的位的写入数据的写入,当不一致时,禁止所述被判定的位以后的位的写入数据的写入。
16.一种半导体存储装置,其特征在于,包括:
非易失性的存储阵列;以及
读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出;
所述读写控制器在被请求对所述存储阵列进行数据的写入时,针对输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值,从所述多位写入数据中的最高的位开始以1位为单位依次进行比较,当具有判定为相对于所述存储数据的各个位的值满足规定的大小关系的位时,将以被判定的位为开头的n位的写入数据集中写入后,检查存储在将被判定的位进行了写入的存储区域中的存储数据、和所述被判定的位的写入数据是否一致,当一致时,以n位为单位执行以所述被判定的位为开头的n位以后的位的写入数据的写入,当不一致时,禁止以所述被判定的位为开头的n位以后的位的写入数据的写入,
其中,所述n是2m的整数,该m为1以上的整数。
17.如权利要求15中所述的半导体存储装置,所述半导体存储装置还包括:
地址计数器,在向所述存储阵列写入所述判定的位的数据后,输出所增加的计数值;
减法器,将所述地址计数器的计数值减去1后的值,设定为相对于所述存储阵列的读出地址;以及
数据缓冲器,将所述判定的位的写入数据作为锁存数据锁存;
其中,所述读写控制器用在所述减法器中设定的读出地址,读出所述存储阵列中进行了所述写入的存储区域中所存储的存储数据,并与所述锁存数据作比较,由此来检查存储在进行了写入的存储区域中的存储数据和所述锁存数据是否一致。
18.一种半导体存储装置,包括:
非易失性的存储阵列;以及
读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出;
所述读写控制器在被请求对所述存储阵列进行数据的写入时,将输入的多位写入数据写入到应写入所输入的多位写入数据的多位存储区域,
执行所述写入后,检查存储在进行写入的存储区域中的存储数据和所述输入的多位写入数据是否一致,当不一致时,禁止写入所述输入的多位写入数据以后的位。
19.一种半导体存储装置,包括:
非易失性的存储阵列;以及
读写控制器,控制向所述存储阵列的数据写入以及从所述存储阵列的数据读出;
所述读写控制器在被请求对所述存储阵列进行数据的写入时,将输入的n位写入数据写入到应写入所输入的n位写入数据的多位存储区域,所述n是2m的整数,该m为1以上的整数,
进行所述写入后,检查存储在进行写入的存储区域中的存储数据和所述n位写入数据是否一致,当不一致时,禁止所述输入的n位以后的位的写入数据的写入。
20.一种半导体存储装置的写入控制方法,所述半导体存储装置具有非易失性存储阵列,所述写入控制方法执行如下步骤:
接收对所述存储阵列写入数据的请求,
将输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值从所述多位写入数据中的最高的位开始,以1位为单位依次进行比较,
当具有被判定为相对于所述存储数据的各位的值满足规定的大小关系的位时,对该被判定的位的写入数据执行写入后,检查存储在进行写入的存储区域中的存储数据和所述被判定的位的写入数据是否一致,当一致时,执行所述被判定的位以后的位的写入数据的写入,当不一致时,禁止所述被判定的位以后的位的写入数据的写入。
21.一种半导体存储装置的写入控制方法,所述半导体存储装置具有非易失性的存储阵列,所述写入控制方法执行如下步骤:
接收对所述存储阵列写入数据的请求,
将输入的多位写入数据的值和存储于应写入所述多位写入数据的多位存储区域中的多位存储数据的值从所述多位写入数据中的最高的位开始,以1位为单位依次进行比较,
当具有被判定为相对于所述存储数据的各个位的值满足规定的大小关系的位时,将以被判定的位为开头的n位的写入数据集中写入后,检查将被判定的位的写入数据写入的存储区域中所存储的存储数据、和所述被判定的位的写入数据是否一致,当一致时,以n位为单位执行以所述被判定的位为开头的n位以后的位的写入数据的写入,当不一致时,禁止以所述被判定的位为开头的n位以后的位的写入数据的写入,
其中,所述n是2m的整数,该m为1以上的整数。
22.一种半导体存储装置的写入控制方法,所述半导体存储装置具有非易失性的存储阵列,所述写入控制方法执行如下步骤:
接收对所述存储阵列写入数据的请求,
将输入的多位写入数据写入到应写入所输入的多位写入数据的多位存储区域,
执行所述写入后,检查存储在进行写入的存储区域中的存储数据和所述输入的多位写入数据是否一致,当不一致时,禁止写入所述输入的多位写入数据以后的位。
23.一种半导体存储装置的写入控制方法,所述半导体存储装置具有非易失性的存储阵列,所述写入控制方法执行如下步骤:
接收对所述存储阵列的数据的写入请求,
当请求对所述存储阵列进行数据的写入时,将输入的n位写入数据集中写入到应写入所输入的n位写入数据的多位存储区域,所述n是2m的整数,该m为1以上的整数,
执行所述写入后,检查存储在进行写入的存储区域中的存储数据和输入的n位写入数据是否一致,当不一致时,禁止所述输入的n位以后的位的写入数据的写入。
24.一种印刷记录材料容器,可装卸地安装在印刷装置上,并容纳印刷记录材料,其包括:
容纳所述印刷记录材料的容纳部;以及
保存与所述印刷记录材料的量相关的信息的、如权利要求1~8、15~19中任一项所述的半导体存储装置。
25.一种印刷系统,包括印刷装置以及可装卸地安装在印刷装置上的权利要求24所述的印刷记录材料容器,
所述印刷装置具有主机,该主机与安装在所述印刷记录材料容器上的半导体存储装置经由数据信号线、时钟信号线、复位信号线、正极电源线、以及负极电源线而总线连接,并向所述半导体存储装置发送与在印刷装置中消耗的印刷记录材料相关的量的信息,
安装在所述印刷记录材料容器上的半导体存储装置将接收的与印刷记录材料相关的量的信息保存到所述存储阵列中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005157186 | 2005-05-30 | ||
JP157186/2005 | 2005-05-30 | ||
JP182805/2005 | 2005-06-23 | ||
JP2005182805 | 2005-06-23 | ||
PCT/JP2006/311053 WO2006129780A1 (ja) | 2005-05-30 | 2006-05-26 | シーケンシャル書込においてべリファイ処理を行う不揮発性メモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101189681A CN101189681A (zh) | 2008-05-28 |
CN101189681B true CN101189681B (zh) | 2010-10-13 |
Family
ID=37481707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800193243A Expired - Fee Related CN101189681B (zh) | 2005-05-30 | 2006-05-26 | 在顺序写入当中进行校验处理的非易失性的存储器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7499372B2 (zh) |
EP (1) | EP1901306A4 (zh) |
JP (1) | JPWO2006129780A1 (zh) |
CN (1) | CN101189681B (zh) |
TW (1) | TW200703361A (zh) |
WO (1) | WO2006129780A1 (zh) |
Families Citing this family (13)
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 |
JP2009259225A (ja) * | 2008-03-18 | 2009-11-05 | Seiko Epson Corp | 液体収容体 |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909399A (en) * | 1991-12-19 | 1999-06-01 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
CN1520597A (zh) * | 2001-06-29 | 2004-08-11 | �ʼҷ����ֵ�������˾ | 非易失性存储器和通过附加修改的空存储单元加速测试地址解码器的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
JPH11102328A (ja) | 1997-09-25 | 1999-04-13 | Nec Eng Ltd | メモリ診断システム |
JP3983969B2 (ja) * | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP3851865B2 (ja) * | 2001-12-19 | 2006-11-29 | 株式会社東芝 | 半導体集積回路 |
US6907497B2 (en) * | 2001-12-20 | 2005-06-14 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
JP4374834B2 (ja) * | 2002-08-12 | 2009-12-02 | セイコーエプソン株式会社 | カートリッジおよび記録装置 |
CA2610061A1 (en) * | 2005-05-30 | 2006-12-07 | Seiko Epson Corporation | Semiconductor memory device |
-
2006
- 2006-05-26 WO PCT/JP2006/311053 patent/WO2006129780A1/ja active Application Filing
- 2006-05-26 EP EP06747098A patent/EP1901306A4/en not_active Withdrawn
- 2006-05-26 JP JP2007519077A patent/JPWO2006129780A1/ja active Pending
- 2006-05-26 CN CN2006800193243A patent/CN101189681B/zh not_active Expired - Fee Related
- 2006-05-26 US US11/420,603 patent/US7499372B2/en not_active Expired - Fee Related
- 2006-05-30 TW TW095119224A patent/TW200703361A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909399A (en) * | 1991-12-19 | 1999-06-01 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
CN1520597A (zh) * | 2001-06-29 | 2004-08-11 | �ʼҷ����ֵ�������˾ | 非易失性存储器和通过附加修改的空存储单元加速测试地址解码器的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2006129780A1 (ja) | 2006-12-07 |
EP1901306A1 (en) | 2008-03-19 |
US7499372B2 (en) | 2009-03-03 |
EP1901306A4 (en) | 2009-03-04 |
JPWO2006129780A1 (ja) | 2009-01-08 |
CN101189681A (zh) | 2008-05-28 |
TW200703361A (en) | 2007-01-16 |
US20080212379A1 (en) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101189681B (zh) | 在顺序写入当中进行校验处理的非易失性的存储器 | |
CN101189682B (zh) | 半导体存储装置 | |
US5264689A (en) | Rechargeable prepaid memory card with both unit and page counters | |
CN101243519B (zh) | 顺序访问型半导体存储装置的写入保护方法 | |
US5036460A (en) | Microprocessor having miswriting preventing function | |
EP0288832B1 (en) | Data writing system for EEPROM | |
US9870316B2 (en) | Bidirectional counter in a flash memory | |
CN101228589B (zh) | 半导体存储装置 | |
US5883831A (en) | Serial access memory with securing of write operations | |
US10181356B2 (en) | Flash memory counter | |
US6314155B1 (en) | Counting circuit with rewritable non-volatile memory, and counting method | |
CN107402887B (zh) | 闪速存储器中的计数器 | |
JPH02103798A (ja) | 書換え可能な半導体記憶装置 | |
JP3378681B2 (ja) | メモリのデータ書き込み読み出し回路 | |
JPH10207780A (ja) | 度数計数装置 | |
KR19990057837A (ko) | 태그 메모리를 이용한 금액 단위 감산 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101013 Termination date: 20120526 |