液体容纳体的制作方法

文档序号:2498252阅读:151来源:国知局
专利名称:液体容纳体的制作方法
技术领域
本发明涉及具备存储装置的液体容纳体、对于该液体容纳体所具备的存储装置的访问控制方法、存储装置以及对于存储装置的存储控制方法。
背景技术
已知有具备存储装置的液体容纳体、例如墨盒。在该墨盒中,为了判定是否为最适于印刷装置的替换部件而使用存储在存储装置中的数据。此外,还已知有通过对存储在存储装置中的数据进行编码来进行精度更高的判定的技术。而且,还已知有向最适于主机装置的部件安装存储装置的技术。在该技术中,为了提高有关是否为最合适的部件的判定精度,对存储在存储装置中的数据进行编码。 然而,对于将存储在存储装置中的数据编码的墨盒来说,存在不能使用于以往没有应对编码化的打印机的问题。如果为了解决这个问题而使打印机具有数据被编码的墨盒和数据未被编码的墨盒,则作为替换部件的墨盒的类型就会增加,因此存在制造者的管理成本等增大并且导致用户混淆的问题。在将存储于存储装置中的数据编码的情况下,对于未应对编码化或者没有安装编解码程序的计算机来说,存在无法利用存储于存储装置中的数据的问题。如果为了解决这个问题而提供将数据编码的存储装置和不将数据编码的存储装置,则存储装置的类型就会增加,因此存在产品的制造成本或销售时的管理成本等增大并且导致用户混淆的问题。

发明内容
本发明就是为解决上述问题而作出的,其目的在于提高液体容纳体的适应性。本发明的目的在于提高存储装置的适应性。为了解决上述问题中的至少一部分,本发明采用以下各种方式。第一方式提供一种具有存储装置并能够安装到印刷装置上的液体容纳体。所述液体容纳体包括保存数据的存储元件;编码判定部,所述编码判定部在从所述印刷装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并输出编码后的数据。在第一方式涉及的液体容纳体中,当判定为不进行所述读出数据的编码时,所述存储元件控制部也可以将从所述存储元件读出的数据在不编码的情况下输出。在第一方式涉及的液体容纳体中,所述存储元件控制部也可以包括读写执行部,所述读写执行部在与所述存储元件之间执行数据的读写;以及编码处理部,所述编码处理部对从所述存储元件读出的数据执行编码处理。此时,通过读写执行部执行针对存储元件数据的读写,通过编码处理部对从读出数据执行编码。在第一方式涉及的液体容纳体中,所述编码处理也可以通过利用了存储在所述存储元件中的数据的全部或一部分的检错编码处理而执行。此时能够执行利用校错码的编码。在第一方式涉及的液体容纳体中,所述编码处理也可以是对存储在所述存储元件中的数据的全部或一部分进行哈希编码的处理。此时,能够执行利用了运算结果的哈希编码的编码。在第一方式涉及的液体容纳体中,所述编码处理也可以通过对利用了存储在所述存储元件中的数据的全部或一部分进行运算的结果进行哈希编码而执行。此时,能够执行利用了运算结果的哈希编码的编码。第二方式提供一种具有存储装置并能够安装到印刷装置上的液体容纳体。第二方式涉及的液体容纳体包括保存数据的存储元件;编码部,所述编码部对从所述存储元件读出的数据执行编码处理;以及选择部,所述选择部选择输出从所述存储元件读出的数据和经所述编码部编码的数据中的一个。第三方式提供一种对液体容纳体所具有的存储装置进行控制的方法,其中,所述 液体容纳体能够安装到印刷装置上。在第三方式涉及的控制方法中,当从所述印刷装置接收到存储在用于保存数据的存储元件中的数据的读出请求时,判定是否执行读出数据的编码,当判定为执行所述读出数据的编码时,对从所述存储元件读出的数据执行编码处理并输出编码后的数据。根据第三方式,能够获得与第一方式相同的优点。第三方式能够与第一方式一样地以各种方式实现。此外,第三方式也可以以计算机程序、记录在CD、DVD、HDD这样的计算机可读介质中的计算机程序的形式实现。第四方式提供一种印刷装置系统,所述印刷装置系统包括印刷装置和液体容纳体,所述液体容纳体具有存储数据的存储元件并能够装卸地安装在印刷装置上。在第四方式涉及的印刷装置系统中,所述印刷装置具有输出部,该输出部向所述印刷材料容纳体输出数据的读出请求,所述液体容纳体包括编码判定部,所述编码判定部在从所述印刷装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并输出编码后的数据。在第四方式涉及的印刷装置系统中,当所述印刷装置请求执行所述读出数据的编码时,所述数据的读出请求中也可以包含用于指示执行读出数据的编码的指令。根据上述第一至第四的各个方式,本申请发明的液体容纳体可适用于请求读出数据的编码处理的印刷装置和不请求编码处理的印刷装置这两者,因此无需制造专用于每种印刷装置的液体容纳体,能够降低液体容纳体产品的制造成本或销售时的管理成本等。而且,用户能够在不出现混淆问题的情况下购买并使用产品。第五方式提供一种能够与计算机连接的存储装置。第五方式涉及的存储装置包括用于与所述计算机连接的连接部;保存数据的存储元件;编码判定部,所述编码判定部在从所述计算机接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据。在第五方式涉及的存储装置中,当判定为不进行所述读出数据的编码时,所述存储元件控制部可以将从所述存储元件读出的数据在不编码的情况下输出。
在第五方式涉及的存储装置中,所述存储元件控制部还可以包括读写执行部,所述读写执行部在与所述存储元件之间执行数据的读写;以及编码处理部,所述编码处理部对从所述存储元件读出的数据执行编码处理。此时,通过读写执行部执行针对存储元件数据的读写,通过编码处理部对读出数据执行编码。在第五方式涉及的存储装置中,所述编码处理也可以通过利用了存储在所述存储元件中的数据的全部或一部分的检错编码处理而执行。此时能够执行利用校错码的编码。在第五方式涉及的存储装置中,所述编码处理也可以是对存储在所述存储元件中的数据的全部或一部分进行哈希编码的处理。此时,能够执行利用了运算结果的哈希编码的编码。在第五方式涉及的存储装置中,所述编码处理也可以通过对利用存储在所述存储元件中的数据的全部或一部分进行运算的结果进行哈希编码而执行。此时,能够执行利用 了运算结果的哈希编码的编码。第六方式提供一种能够与控制装置连接的存储装置。第六方式涉及的存储装置包括用于与所述控制装置进行数据通信的通信部;保存数据的存储元件;编码部,所述编码部对从所述存储元件读出的数据执行编码处理;以及选择部,所述选择部选择从所述存储元件读出的数据和经所述编码部编码的数据中的一个数据并向所述通信部输出所选数据。第七方式提供一种存储装置的控制方法,所述存储装置能够与控制装置连接并具有存储数据的存储元件。在第三方式涉及的存储装置的控制方法中,当从所述控制装置接收到存储在所述存储元件中的数据的读出请求时,判定是否执行读出数据的编码,当判定为执行所述读出数据的编码时,对从所述存储元件读出的数据执行编码处理并输出编码后的数据。根据第七方式,能够获得与第五方式相同的优点。第七方式能够与第五方式一样地以各种方式实现。此外,第七方式也可以以计算机程序、记录在CD、DVD、HDD这样的计算机可读介质中的计算机程序的形式实现。第八方式提供一种控制系统,所述控制系统包括控制装置和存储装置,所述存储装置与控制装置连接并具有存储数据的存储元件。在第八方式涉及的控制系统中,所述控制装置具有输出部,该输出部向所述存储装置输出数据的读出请求,所述存储装置包括编码判定部,所述编码判定部在从所述计算机接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据。在第八方式涉及的控制系统中,当所述控制装置请求执行所述读出数据的编码时,所述数据的读出请求中可以包含用于指示执行读出数据的编码的指令。根据上述第五至第八的各个方式,本申请发明的存储装置可适用于请求读出数据的编码处理的控制装置和不请求编码处理的控制装置这两者,因此无需制造专用于每种印刷装置的存储装置,能够降低存储装置产品的制造成本或销售时的管理成本等。而且,用户能够在不出现混淆问题的情况下购买并使用产品。第九方式提供一种与液体容纳体一起使用的印刷装置,所述液体容纳体具有保存数据的半导体装置。第九方式涉及的印刷装置包括通常数据读出部,所述通常数据读出部从所述半导体装置读出未经编码的通常数据;编码数据读出部,所述编码数据读出部向所述半导体装置请求所述通常数据的编码,并读出编码数据,该编码数据是经编码的所述通常数据;编解码部,所述编解码部对所述通常数据执行与所述编码相同的编码以生成比较用编码数据;以及验证部,所述验证部通过比较所述比较用编码数据和所述编码数据来验证所述半导体装置与所述印刷装置之间的通信状态。根据第九方式涉及的印刷装置,通过对比较用编码数据和编码数据进行比较,能够进行半导体装置与印刷装置之间的通信验证。即,由于从半导体装置读出未经编码的通常数据和经编码的通常数据,因此能够检测半导体装置与印刷装置之间的通信路径的异常。另外,第九方式也可以以印刷装置中的通信验证方法、实现通信验证方法的计算机程序、保存有该程序的计算机可读介质的形式实现。第九方式涉及的印刷装置还可以包括将所述通常数据写入所述半导体装置中的数据写入部,所述通常数据读出部和所述编码数据读出部分别读出通过所述数据写入部写入的所述通常数据和对通过所述数据写入部写入的所述通常数据进行编码而得的编码数据。此时,可将在预定定时写入的数据用作通常数据,从而无需为通信验证而执行数据的写 入,能够降低对半导体装置的访问次数。在第九方式涉及的印刷装置中,所述编码数据可以在经不可逆的第一编码之后又被执行可逆的第二编码,所述编解码部也可以通过针对所述编码数据的所述第二编码进行解码来获得经所述第一编码的编码数据,并且对所述通常数据执行所述第一编码。此时,由于基于不可逆的第一编码进行验证,因此能够提高验证精度。第十方式提供一种电路板。第十方式涉及的电路板包括半导体装置和一个或多个外部端子,所述半导体装置包括用于与外部控制装置进行数据通信的通信部;保存数据的存储元件;编码判定部,所述编码判定部在从所述外部控制装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据,所述一个或多个外部端子与所述通信部电连接。根据第十方式涉及的电路板,由于可适用于请求读出数据的编码处理的外部控制装置和不请求编码处理的外部控制装置这两者,因此无需制造专用于每种外部印刷装置的半导体装置,能够降低具有半导体装置的电路板的制造成本或销售时的管理成本等。而且,用户能够在不出现混淆问题的情况下购买并使用产品。此外,第十方式涉及的电路板能够与第5至第7各个方式涉及的存储装置、即半导体装置一样地以各种方式实现。


图I是示出本实施例涉及的液体容纳体所具备的半导体存储装置的功能性内部结构的框图;图2是示出本实施例涉及的写/读控制器的功能性内部结构的框图;图3是示意性地示出向本实施例涉及的液体容纳体所具备的半导体存储装置输入的数据读出请求数据序列的一个例子的说明图;图4是示意性地示出包含本实施例涉及的液体容纳体和印刷装置的系统的说明图;图5是示出当对本实施例涉及的液体容纳体所具备的半导体存储装置进行访问控制时在半导体存储装置中执行的处理例程的流程图;图6是示意性地示出从本实施例涉及的液体容纳体所具备的半导体存储装置输出的读出数据序列的一个例子的说明图;图7是示出液体容纳体的一个例子的说明图;图8是示出另一实施例涉及的写/读控制器以及数据编码电路的配置结构的框图;图9是示出本实施例涉及的半导体存储装置的功能性内部结构的框图;
图10是示出本实施例涉及的写/读控制器的功能性内部结构的框图;图11是示意性地示出向本实施例涉及的半导体存储装置输入的数据读出请求数据序列的一个例子的说明图;图12是示意性地示出包含本实施例涉及的半导体存储装置和计算机的系统的说明图;图13是示出当对本实施例涉及的半导体存储装置进行访问控制时在半导体存储装置中执行的处理例程的流程图;图14是示意性地示出从本实施例涉及的半导体存储装置输出的读出数据序列的一个例子的框图;图15是示出另一实施例涉及的写/读控制器以及数据编码电路的配置结构的框图;图16是示出被安装在本实施例中使用的电路板上的半导体装置的功能性内部结构的框图;图17是示出本实施例涉及的写/读控制器的功能性内部结构的框图;图18是示出作为液体容纳体的墨盒的概要结构的说明图;图19是示出本实施例涉及的印刷装置与墨盒的连接形式的说明图;图20是示出在本实施例涉及的印刷装置和半导体装置之间执行的通信验证处理的一个例子的说明图;图21是示出在数据写入时从印刷装置向本实施例涉及的半导体装置发送的数据序列的例子的说明图;图22是示出当进行通常的读出时在印刷装置与本实施例涉及的半导体装置之间收发的数据序列的例子的说明图;图23是示出当进行编码读出时在印刷装置与本实施例涉及的半导体装置之间收发的数据序列的例子的说明图;图24是示出在本实施例涉及的半导体装置中执行的编码数据的生成、发送处理的一个例子的流程图;图25是示出在本实施例涉及的印刷装置中执行的验证处理的一个例子的说明图。
具体实施方式

·第一实施例下面,参考附图对第一实施例涉及的液体容纳体以及液体容纳体所具备的半导体存储装置中的访问控制方法进行说明。·半导体存储装置的结构参考图I 图3对本实施例涉及的液体容纳体以及液体容纳体所具备的半导体存储装置的结构进行说明。图I是示出本实施例涉及的液体容纳体所具备的半导体存储装置的功能性内部结构的框图。图2是示出本实施例涉及的写/读控制器的功能性内部结构的框图。图3是示意性地示出向本实施例涉及的液体 容纳体所具备的半导体存储装置输入的数据读出请求数据序列的一个例子的说明图。本实施例涉及的半导体存储装置10是顺序访问方式的存储装置,其不需要从外部输入用于指定访问目的地址的地址数据。半导体存储装置10包括作为存储元件的存储阵列100、地址计数器110、ID比较器130、写/读控制器140、以及数据编码电路150。这些各电路通过双向总线方式的信号线而相连。有时至少将ID比较器130、写/读控制器140以及数据编码电路150总称为存储元件控制部。存储阵列100是具有可电擦除数据、可电写入数据的EEPROM的特性的存储区域。存储阵列100中包括多个用于保存I位信息的数据单元(存储单元)。在存储阵列100中,例如,当在I行上具有8个地址(8位数据所对应的地址)以作为预定的地址单位并且在I列上配置了 16个数据单元(16个字)时,能够保存16个字X8位(128位)的数据。本实施例中的存储阵列100具有多个如上述以8位为单位的行,但各行并不是独立的数据单元序列,可以说是通过将一条数据单元序列以8位为单位弯折而实现的。S卩,只不过是为了方便,将包含第9位的行称为第2字节,将包含第17位的行称为第3字节。其结果是,为了对存储阵列100中希望的地址进行访问,需要从起始依次访问,也就是说需要进行顺序访问方式的访问,不能进行在随机访问方式的情况下可实现的对希望的地址进行的直接访问。存储阵列100中的各个数据单元与字线以及位(数据)线相连,通过选择(施加选择电压)对应的字线(行)并在对应的位线上施加写入电压,数据被写入数据单元中。另夕卜,选择对应的字线(行),将对应的位线与写/读控制器140连接,并根据有没有检测到电流,来读出数据单元的数据(I或者O)。本实施例中的所谓预定地址单位,可以说是通过向I根字线施加写入电压而可写入的地址数(数据单元数)。存储阵列100具有图中没有示出的列选择电路,该列选择电路根据由地址计数器110计数的外部时钟脉冲数而依次将列(位线)连接至写/读控制器140。存储阵列100还具有图中没有示出的行选择电路,该行选择电路根据由地址计数器110计数的外部时钟脉冲数而依次向行(字线)施加选择电压。如上所述,在本实施例涉及的半导体存储装置10中,不是利用地址数据对存储阵列100进行访问,而是根据由专用地址计数器110计数的时钟脉冲数对希望的地址进行访问。地址计数器110与复位信号端子RSTT、时钟信号端子SCKT、写/读控制器140、存储阵列100连接。地址计数器110通过将经由复位信号端子RSTT输入的复位信号设为0(或者低电平)而被复位为初始值,并在复位信号变为I之后,与经由外部时钟信号端子SCKT输入的时钟脉冲的下降沿同步地对时钟脉冲数进行计数(使计数值增加)。
在本实施例中使用的地址计数器110是对与存储阵列100的I行的数据单元数(位数)相对应的8个时钟脉冲数进行保存的8位的地址计数器。初始值可以是与存储阵列100的起始位置相关联的任意值,通常将O用作初始值。ID比较 器130与时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT连接,用于判定经由数据信号端子SDAT输入的输入数据序列中所包含的识别数据与保存在存储阵列100中的识别数据是否一致。具体而言,ID比较器130从写/读控制器140获取在输入复位信号RST之后被输入的操作码的起始3位的数据,即识别数据。ID比较器130具有用于保存图3所示的输入数据序列中所包含的起始3位的识别数据的3位寄存器(图中没有是出)、用于保存经由写/读控制器140从存储阵列100的指定地址获取的最高3位的识别数据的3位寄存器(图中没有示出),ID比较器130根据两个寄存器的值是否一致来判定识别数据是否一致。当两个识别数据相一致时,ID比较器130向写/读控制器140输出访问允许信号AEN。ID比较器130在被输入复位信号RST (RST = O或者为低电平)时清除寄存器的值。写/读控制器140与ID比较器130、数据编码电路150、时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT连接。写/读控制器140是如下的电路,其待访问允许信号AEN从ID比较器130输入进来之后,确认与输入复位信号RST之后的第4个时钟信号同步地经由数据信号端子SDAT输入的数据序列中所包含的写入/读出控制信息(接在3位的ID信息之后的第4 8位的带编码选择信息的W/R信息)(参考图3),并将半导体存储装置10的内部动作路径切换为写入路径或至少两个以上的读出路径中的一个。这里,在本实施例中向半导体存储装置10输入的数据序列如图3所示,在起始3位具有识别信息(ID),在第4 8位具有带编码选择信息的W/R指令,在第9位具有指令校验位CP,并且在数据序列为写入数据时,具有8位的写入包数据(在图3的例子中为第10位 第17位)和数据校验位DP(在图3的例子中为第18位)。另外可以包含多个写入包数据,并且紧接每个写入包数据之后添加有数据校验位DP。具体而言,写/读控制器140在从ID比较器130输入了访问允许信号AEN后,对获取的写入/读出指令进行分析,并根据分析结果,对针对存储阵列100的数据传送方向以及针对数据信号端子SDAT(与数据信号端了 SDAT连接的信号线)的数据传送方向进行切换控制。写/读控制器140具有8位寄存器(图中没有示出)和保存从存储阵列100读出的数据的寄存器(图中没有示出),该8位寄存器针对来自数据信号端子SDAT的输入信号线,临时保存从数据信号端子SDAT输入的写入数据中操作码之后的8位写入数据。在8位寄存器中,保持从数据信号端子SDAT经由输入信号线输入的数据序列(MSB)直到其达到8位为止,并在达到8位时,所保持的8位数据被写入存储阵列100中。写/读控制器140在接通电源时、或者在复位时,将针对存储阵列100的数据传送方向设定为读出方向,通过将与数据信号端子SDAT连接的信号线设为高阻抗来禁止针对数据信号端子SDAT的数据传送。该状态被维持到分析写入/读出信息并判断出被请求了写入为止。因此,在输入复位信号之后经由数据信号端子SDAT输入的数据序列的起始8位数据不被写入存储阵列100中,另一方面,存储在存储阵列100的起始3位的数据(ID)被输出给ID比较器130。其结果是,存储阵列100的起始8位成只读状态。当进行写入处理时,写/读控制器140在接受了与可写区域的起始地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为写入方向。写/读控制器140在接受了与可写区域的末端地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为读出方向。写入所需的写入电压例如由图中没有示出的电荷泵电路生成。当进行读出处理时,写/读控制器140在接受了与可写区域的起始地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为读出方向。如图2所示,写/读控制器140具有开关141,该开关141作为用于选择输出从存储阵列100输出的数据或者经数据编码电路150编码后的读出数据中的一个的选择部。写/读控制器140分析从作为主机的印刷装置发送的带编码选择信息的W/R指令,当存在表示对读出数据进行编码的请求的数据时,切换开关141,以便输出经编码的读出数据,当没有对读出数据进行编码的请求时,切换开关141,以便如实地输出所读出的数据。其结果是,与编码后的读出数据不对应的印刷装置由于不请求数据的编码,因此可使用未编码的读出数据来执行期望的处理,另一方面,与编码后的读出数据对应的印刷装置通过请求数据的编码,可使用经编码的读出数据来执行期望的处理。数据编码电路150经由信号线与写/读控制器140连接。数据编码电路150使用从写/读控制器140输入的读出数据执行编码处理。由数据编码电路150执行的编码处理例如通过使用读出数据的全部或一部分进行的奇偶校验运算、校验和运算、CRC(循环冗余校验)而执行。此时,用于编码运算的数据既可以是保存在存储阵列100中的所有可读数据,也可以是这次被请求读出的读出数据本身。数据编码电路150生成添加有通过运算求出的奇偶校验值(奇偶校验位)或校验和值等的读出数据序列。这里,作为一个例子,保存在液体容纳体20所具备的半导体存储装置10中的读出数据有时至少包含有关液体使用量(消耗量或余量)的数据,这些数据值会发生变动,从而存储阵列100的数据被适当更新。因此,不仅在有关液体使用量的数据的读出请求被发起的时候,在其他数据的读出请求被发起时,也将有关液体使用量的数据用于编码运算,由此每次编码时可获得不同的读出数据和奇偶校验位的组合或者校验和值,从而能够提高读出数据序列的唯一性和可靠性。或者,由数据编码电路150执行的编码处理通过对奇偶校验位、校验和值进行编码来执行,奇偶校验位、校验和值是通过使用读出数据的全部或一部分进行奇偶校验运算、校验和运算等而求出的运算结果。此时,数据编码电路150生成添加有经编码的奇偶校验位或校验和值等的读出数据序列。由于求得的纠错码被编码,因此能够提高对于在通信当中数据被损坏或被改变的检测精度,从而能够提高数据序列的可靠性。此时,通过使用利用数据值发生变动的读出数据所求得的校验和值或奇偶校验位执行编码处理,同样能够进一步提高读出数据序列的可靠性。既可以使用读出数据和奇偶校验位的组合执行编码处理,也可以使用读出数据的校验(verify)结果(表示正确或不正确的I位值)执行编码处理。另外,由数据编码电路150执行的编码处理通过从使用读出数据的全部或一部分进行的运算结果利用哈希函数求出哈希值(哈希编码)来执行。此时,数据编码电路150使用奇偶校验位、校验和值或者读出数据的校验结果求出哈希值,并生成添加了哈希值的读出数据序列。由于求得的纠错码被哈希编码,因此能够提高对于在通信当中数据被损坏或被改变的检测精度,从而能够提高数据序列的可靠性。此时,通过使用利用数据值发生变动的读出数据所求得的校验和值、奇偶校验位、或者校验结果求出哈希值,同样能够进一步、提高读出数据序列的可靠性。也可以使用读出数据和奇偶校验位的组合求出哈希值。当进行编码时,也可以不仅使用被请求读出的数据而且还使用存储阵列100中保存的其他数据。例如,即便在被请求了读出诸如墨水类型数据这样的液体类型的情况下,也可以使用液体使用量(消耗量或余量)的数据执行编码处理。通过使用数据值发生变动的液体使用量的数据,可在每一个读出定时获得不同的编码处理结果,从而能够提高读出数据的可靠性。此外,如果半导体存储装置10的编码能力强,则在进行哈希编码时,也可以不仅使用通过运算求得的纠错码而且还使用读出数据来执行编码,或者也可以不计算纠错码而对读出数据本身进行哈希编码。图2示出了本发明电路的一个结构例。从存储阵列100起的发送路径分岔为两个路径。分岔的发送路径中的一个路径抵达至开关141。并且,另一路径经由数据编码电路150抵达至开关141。数据编码电路150只要被设置在另一路径中的位于存储阵列100与开关141之间的发送路径的中途即可。来自数据编码电路150的输出和存储阵列100的输出被输入至开关141,开关141选择其中一个输入并将其输出给数据端子SDAT。
·包括液体容纳体的系统的结构图4是示意性地示出包含本实施例涉及的液体容纳体和印刷装置的系统的说明图。印刷装置30与液体容纳体20的半导体存储装置10经由时钟信号线CL、数据信号线DL、复位信号线RL以总线方式相连。即,每个半导体存储装置10经由共同的各信号线连接在印刷装置30上。印刷装置30包括通过内部配线相互连接的数据生成部31、解码电路32以及输入输出部33。数据生成部31生成包含用于识别作为读出对象的半导体存储装置10的识别信息(ID)、读出指令、编码请求指令的数据序列。解码电路32是用于对从半导体存储装置10接收的经编码的读出数据进行解码并判定数据是否正确(是否被窜改或者由于噪声等而损坏)的电路。具体地说,例如当添加有奇偶校验位时,如后述的图6所示,如果每8位读出数据上所添加的I位的数据奇偶校验位DP与使用读出数据算出的奇偶校验位一致,就判定数据正确,如果不一致,就判定数据出错了。此外,例如当赋予了编码后的校验和值时,使用密钥对编码了的校验和值进行解码,并使用解码而得的校验和值以及写入数据来判定数据是否正确。此外,例如当赋予了基于校验结果的哈希值时,执行读出数据的校验处理,并对执行结果应用哈希函数来获得哈希值,如果哈希值与添加在读出数据上的哈希值一致,就判定数据正确,如果不一致,就判定数据出错了。校验处理既可以通过解码电路32实现,或者也可以另外设置校验用电路来实现。输入输出部33与时钟信号线CL、数据信号线DL、复位信号线RL连接,其向半导体存储装置10发送时钟信号SCK、复位信号RST,并与半导体存储装置10进行数据信号SDA的交换。半导体存储装置的动作参考图5和图6,对本实施例涉及的液体容纳体所具备的半导体存储装置10的动作进行说明。图5是示出当对本实施例涉及的液体容纳体所具备的半导体存储装置进行访问控制时在半导体存储装置中执行的处理例程的流程图。图6是示意性地示出从本实施例涉及的液体容纳体所具备的半导体存储装置输出的读出数据序列的一个例子的说明图。在下面的例子中,对多个半导体存储装置10以总线方式连接于印刷装置30的情况进行说明。
半导体存储装置10在从印刷装置30接收到数据后(步骤S100),判定数据(数据序列)中包含的ID是否与自己的ID —致(步骤S 102)。在本实施例中,每个液体容纳体20 (各半导体存储装置10)经由共同的时钟信号线CL、数据信号线DL、复位信号线RL以总线方式连接于印刷装置30,因此从印刷装置30发送的数据被发送至每个半导体存储装置
10。如前面已说明的那样,ID的判定具体如下进行,即由ID比较器130判定所接收的数据序列中包含的识别信息与保存在存储阵列100中的识别信息是否一致。半导体存储装置10在判定出两个ID不一致时(步骤S102 :否),作出所接收的数据不是针对自己的数据序列的判断,结束针对本次访问的处理例程。半导体存储装置10在判定出两个ID相一致时(步骤S102 :是),判定所接收的数据是否已被请求读出(步骤S104)。具体地说,如前面已说明的那样,ID比较器130向写/读控制器140发送访问允许信号AEN,写/读控制器140接收访问允许信号,分析包含在所接收的数据序列中的读/写指令位,并判定是写入请求或读出请求中的哪一个。
半导体存储装置10在判定出所接收的数据没有被请求读出、即被请求了写入时(步骤S104 :否),对存储阵列100执行所接收数据的写入处理(步骤S108),结束本处理例程。向存储阵列100的期望地址中的数据写入由写/读控制器140如前面已说明的那样执行。半导体存储装置10在判定出所接收数据被请求读出时(步骤S104 :是),判定是否请求了读出数据的编码(步骤S106)。具体地说,如前面已说明的那样,通过分析所接收数据序列的起始第4 8位的带编码选择信息的W/R指令来进行判定。半导体存储装置10在没有被请求编码时(步骤S106 :否),将从存储阵列100读出的数据输出给数据信号端子SDAT (步骤S107),结束本处理例程。具体地说,如前面已说明的那样,切换写/读控制器140中的开关141,以使得从存储阵列100读出的数据被如实地输出给数据信号端子SDAT。半导体存储装置10在被请求了编码时(步骤S106 :是),将经编码的读出数据输出给数据信号端子SDAT (步骤S112),结束本处理例程。具体地说,如前面已说明的那样,切换写/读控制器140中的开关141,以使得从存储阵列100读出并经过了数据编码电路150的编码读出数据被输出给数据信号端子SDAT。例如,当执行了使用奇偶校验位的编码时,如图6所示,在识别信息3位之后的每8位读出数据之后紧接写入了数据奇偶校验位DP的读出数据被发送给印刷装置30。此外,当执行了使用校验和值的编码时,代替图6中的数据奇偶校验位DP而添加了经编码的校验和值的读出数据被发送给印刷装置30。根据以上说明的本实施例涉及的液体容纳体20,能够在被要求读出数据的编码时输出经编码的读出数据,在没有被要求读出数据的编码时将从存储阵列100读出的读出数据如实地输出。从而,能够基于印刷装置30能否处理经编码的读出数据来输出两种读出数据。其结果是,能够提高液体容纳体的适应性。此外,就同一液体容纳体20来说,对于对应的印刷装置30,能够通过编码处理来提高在印刷装置30与液体容纳体20之间进行数据通信的可靠性,而对于不对应的印刷装置30,能够进行数据的读出。即,能够提供与作为安装对象的印刷装置30的功能相应的数据通信的可靠性。由此,可以抑制液体容纳体20的类型增加,能够防止用户混淆,并抑制或防上液体容纳体20的制造成本或管理成本增大。
此外,在安装本实施例涉及的液体容纳体20的印刷装置30中,当进行解码处理的结果判断出读出数据出错时,不执行使用读出数据的处理,例如不执行印刷处理、随着印刷处理所进行的吸引液体的处理,由此能够事前防止由出错的数据引起的问题。例如能够事前防止以下由于数据出错引起的情况尽管液体容纳体20内的液体量少于完成印刷作业所需的液体量但仍执行印刷处理并在中途中断印刷;或者尽管液体容纳体20内的液体量已变少但仍执行印刷处理而导致空喷,进而损伤印刷头。·液体容纳体的结构图7是示出液体容纳体的一个例子的说明图。液体容纳体20包括上述的半导体存储装置10以及图中没有示出的液体容纳室。液体容纳体20例如是被称为墨盒的印刷记录材料容纳体,半导体存储装置10经由端子T从印刷装置30接收控制信号,并向印刷装置发送读出数据、校错信号。印刷装置所具有的液体容纳体20既可以是一个也可以是多个。其他实施例
(I)在上述实施例中,写/读控制器140通过切换开关141,向数据信号端子SDAT输出经编码的读出数据或读出的非编码的读出数据,但如图8所示,也可以具有通过切换使得从存储阵列100读出的数据经由数据编码电路150或者直接被输出给数据信号端子SDAT的开关142。图8是示出其他实施例涉及的写/读控制器以及数据编码电路的配置结构的框图。即,写/读控制器140也可以从存储阵列100读出数据,然后判定是否输出给数据编码电路150。此时,开关142只要设置在连接存储阵列100和数据编码电路150的路径的中途即可。即,只要来自存储阵列100的信号线与开关142电连接,来自开关的输出信号线与数据编码电路150以及数据端子SDAT电连接即可。开关142起到作为选择部的功能,所述选择部对是将来自存储阵列100的数据输出至数据端子SDAT还是输出至数据编码电路150进行选择。(2)在上述实施例中,以顺序访问方式的存储阵列100为例进行了说明,但不用说在具有随机访问方式的存储阵列的半导体存储装置中也可获得同样的效果。在随机访问方式的存储阵列的情况下,可以与数据信号线分开单独设置地址信号线。此外,写入单位既可以是I字节单位,也可以是I位单位。此时,只要使用包含期望的I位的几位执行编码处理即可。(3)在上述实施例中,以多个半导体存储装置10经由信号线以总线方式连接于印刷装置30的情况为例进行了说明,但半导体存储装置10与印刷装置30既可以星形连接,另外也可以在印刷装置30上连接一个半导体存储装置10。此时,不需要识别信息,半导体存储装置也可以不具有ID比较器130。(4)在上述实施例中,数据编码电路150与写/读控制器140分开设置,但也可以将数据编码电路150合并在写/读控制器140中。(5)在半导体存储装置10中,也可以通过数据编码电路150将表示是否对读出数据执行了编码处理的编码识别数据添加在读出数据(数据序列)中。此时,能够基于编码识别数据来容易地判定读出数据是否已被编码。(6)在上述实施例中,印刷装置与印刷材料容纳体之间的数据通信是通过利用端子的电连接而实现的,但也可以是以RFID等为代表的非接触式通信,此时,通信部可以具有IC标签等无线通信用天线。
第二实施例下面,参考附图并基于实施例,对第二实施例涉及的半导体存储装置以及半导体存储装置中的访问控制方法进行说明。半导体存储装置相当于权利要求中的存储装置。 半导体存储装置的结构参考图9 图11对本实施例涉及的半导体存储装置的结构进行说明。图9是示出本实施例涉及的半导体存储装置的功能性内部结构的框图。图10是示出本实施例涉及的写/读控制器的功能性内部结构的框图。图11是示意性地示出向本实施例涉及的半导体存储装置输入的数据读出请求数据序列的一个例子的说明图。本实施例涉及的半导体存储装置IOz是顺序访问方式的存储装置,其不需要从外部输入用于指定访问目的地址的地址数据。半导体存储装置IOz包括作为存储元件的存储阵列ΙΟΟζ、地址计数器ΙΙΟζ、写/读控制器140z、以及数据编码电路150z。半导体存储装置IOz还具有作为通信部的数据端子SDAT,数据端子SDAT用于与外部的控制装置电连接 并进行数据通信。这些各电路通过双向总线方式的信号线而相连。有时至少将写/读控制器140z和数据编码电路150z总称为存储元件控制部。作为存储元件的存储阵列IOOz是具有可电擦除数据、可电写入数据的EEPROM的特性的存储区域。存储阵列IOOz中包括多个用于保存I位信息的数据单元(存储单元)。在存储阵列IOOz中,例如在I行上具备8个地址(8位数据所对应的地址)作为预定的地址单位,因此当在I列上配置了 16个数据单元(16个字)时,能够保存16个字X8位(128位)的数据。本实施例中的存储阵列IOOz具有多个如上述以8位为单位的行,但各行并不是独立的数据单元序列,可以说是通过将一条数据单元序列以8位为单位弯折而实现的。S卩,只不过是为了方便,将包含第9位的行称为第2字节,将包含第17位的行称为第3字节。其结果是,为了对存储阵列IOOz中希望的地址进行访问,需要从起始依次访问,也就是说需要进行顺序访问方式的访问,不能进行在随机访问方式的情况下可实现的对希望的地址进行的直接访问。存储阵列IOOz中的各个数据单元与字线以及位(数据)线相连,通过选择(施加选择电压)对应的字线(行)并在对应的位线上施加写入电压,数据被写入数据单元中。另夕卜,选择对应的字线(行),将对应的位线与写/读控制器140z连接,并根据有没有检测到电流,数据单元的数据(I或者O)被读出。本实施例中的所谓预定地址单位,可以说是通过向I根字线施加写入电压而可写入的地址数(数据单元数)。存储阵列IOOz具有图中没有示出的列选择电路,该列选择电路根据由地址计数器IlOz计数的外部时钟脉冲数而依次将列(位线)连接至写/读控制器140z。存储阵列100还具有图中没有示出的行选择电路,该行选择电路根据由地址计数器IlOz计数的外部时钟脉冲数而依次向行(字线)施加选择电压。如上所述,在本实施例涉及的半导体存储装置IOz中,不是利用地址数据对存储阵列IOOz进行访问,而是根据由专用地址计数器IlOz计数的时钟脉冲数对希望的地址进行访问。地址计数器IlOz与复位信号端子RSTT、时钟信号端子SCKT、写/读控制器140z、存储阵列IOOz连接。地址计数器IlOz通过将经由复位信号端子RSTT输入的复位信号设为O (或者低电平)而被复位为初始值,并在复位信号变为I之后,与经由外部时钟信号端子SCKT输入的时钟脉冲的下降沿同步地对时钟脉冲数进行计数(使计数值增加)。在本实施例中使用的地址计数器IlOz是对与存储阵列IOOz的I行的数据单元数(位数)相对应的8个时钟脉冲数进行保存的8位的地址计数器。初始值可以是与存储阵列IOOz的起始位置相关联的任意值,通常将O用作初始值。写/读控制器140z与数据编码电路150z、时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT连接。写/读控制器140z是如下的电路,其确认与输入复位信号RST之后的第I个时钟信号同步地经由数据信号端子SDAT输入的数据序列中所包含的写入/读出控制信息(第I 5位的带编码选择信息的W/R信息)(参考图11),并将半导体存储装置IOz的内部动作切换为写入路径或至少两个以上的读出路径中的一个。这里,在本实施例中向半导体存储装置IOz输入的数据序列如图11所示,在起始5位具有带编码选择信息的W/R指令,在第6位具有指令校验位CP,并且在数据序列为写入数据时,具有8位的写入包数据(在图11的例子中为第7位 第14位)和数据校验位DP(在图11的例子中 为第15位)。另外可以包含多个写入包数据,并且紧接每个写入包数据之后添加有数据校验位DP。具体而言,写/读控制器140z对获取的写入/读出指令进行分析,并根据分析结果,对针对存储阵列IOOz的数据传送方向以及针对数据信号端子SDAT(与数据信号端子SDAT连接的信号线)的数据传送方向进行切换控制。写/读控制器140z具有8位寄存器(图中没有示出)和保存从存储阵列IOOz读出的数据的寄存器(图中没有示出),该8位寄存器针对来自数据信号端子SDAT的输入信号线,临时保存从数据信号端子SDAT输入的写入数据中操作码之后的8位写入数据。在8位寄存器中,保持从数据信号端子SDAT经由输入信号线输入的数据序列(MSB)直到其达到8位为止,并在达到8位时,所保持的8位数据被写入存储阵列IOOz中。写/读控制器140z在接通电源时、或者在复位时,将针对存储阵列IOOz的数据传送方向设定为读出方向,通过将与数据信号端子SDAT连接的信号线设为高阻抗来禁止针对数据信号端子SDAT的数据传送。该状态被维持到分析写入/读出信息并判断出被请求了写入为止。因此,在输入复位信号之后经由数据信号端子SDAT输入的数据序列的起始位数据不被写入存储阵列IOOz中,存储阵列IOOz的起始位成只读状态。当进行写入处理时,写/读控制器140z在接受了与可写区域的起始地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为写入方向。写/读控制器140在接受了与可写区域的末端地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为读出方向。写入所需的写入电压例如由图中没有示出的电荷泵电路生成。当进行读出处理时,写/读控制器140z在接受了与可写区域的起始地址相当的数目的时钟脉冲的输入之后,将总线信号线的数据传送方向切换为读出方向。如图10所示,写/读控制器140z具有开关141z,该开关141z作为用于选择输出从存储阵列IOOz输出的数据或者经数据编码电路150z编码后的读出数据中的一个的选择部。写/读控制器140z在从作为控制装置的主机发来了对读出数据进行编码的请求时,切换开关141z,以便输出经编码的读出数据,当没有对读出数据进行编码的请求时,切换开关141z,以便如实地输出所读出的数据。其结果是,与编码后的读出数据不对应的主机由于不请求数据的编码,因此可使用未编码的读出数据来执行期望的处理,另一方面,与编码后的读出数据对应的主机通过请求数据的编码,可使用经编码的读出数据来执行期望的处理。数据编码电路150z经由信号线与写/读控制器140z连接。数据编码电路150z使用从写/读控制器140z输入的读出数据执行编码处理。由数据编码电路150z执行的编码处理例如通过使用读出数据的全部或一部分进行的奇偶校验运算、校验和运算、CRC(循环冗余校验)而执行。此时,用于编码运算的数据既可以是保存在存储阵列IOOz中的所有可读数据,也可以是这次被请求读出的读出数据本身。数据编码电路150z生成添加有通过运算求出的奇偶校验值(奇偶校验位)或校验和值等的读出数据序列。这里,当执行编码处理时,除被请求读出的数据之外,不管有没有被请求数据的读出,还将最近被写入(更新)数据或者将数据值定期被更新的数据用于编码 算,由此每次编码时可获得不同的读出数据和奇偶校验位的组合或者校验和值,从而能够提高读出数据序列的唯一性和可靠性。或者,由数据编码电路150z执行的编码处理通过对奇偶校验位、校验和值进行编码来执行,奇偶校验位、校验和值是通过使用读出数据的全部或一部分进行奇偶校验运算、校验和运算等而求出的运算结果。此时,数据编码电路150z生成添加有经编码的奇偶校验位或校验和值等的读出数据序列。由于求得的纠错码被编码,因此能够提高对于在通信当中数据被损坏或被改变的检测精度,从而能够提高数据序列的可靠性。此时,通过使用除被请求读出的数据之外还利用数据值发生变动的读出数据或者最近被写入(更新)的数据所求得的校验和值或奇偶校验位执行编码处理,同样能够进一步提高读出数据序列的可靠性。既可以使用读出数据和奇偶校验位的组合执行编码处理,也可以使用读出数据的校验(verify)结果(表示正确或不正确的I位值)执行编码处理。另外,由数据编码电路150z执行的编码处理通过从使用读出数据的全部或一部分进行的运算结果利用哈希函数求出哈希值(哈希编码)来执行。此时,数据编码电路150使用奇偶校验位、校验和值或者读出数据的校验结果求出哈希值,并生成添加了哈希值的读出数据序列。由于求得的纠错码被哈希编码,因此能够提高对于在通信当中数据被损坏或被改变的检测精度,从而能够提高数据序列的可靠性。此时,通过使用除被请求读出的数据之外还利用数据值发生变动的读出数据或者最近被写入(更新)的数据所求得的校验和值、奇偶校验位、或者校验结果求出哈希值,也能够进一步提高读出数据序列的可靠性。也可以使用读出数据和奇偶校验位的组合求出哈希值。当进行编码时,也可以不使用被请求读出的数据而使用存储阵列IOOz中保存的其他数据。例如,也可以使用数据值发生变动的读出数据或者最近被写入(更新)的数据求出奇偶校验位、校验和值这样的代码值,并与被请求读出的数据一起发送所求出的代码值以及求代码值时所使用的数据。此时,能够减轻编码运算的负担,并且通过使用值被更新的数据,可在每一个读出定时获得不同的编码处理结果,从而能够提高读出数据的可靠性。此外,如果半导体存储装置IOz的编码能力强,则在进行哈希编码时,也可以不仅使用通过运算求得的纠错码而且还使用读出数据来执行编码,或者也可以不计算纠错码而对读出数据本身进行哈希编码。作为值被更新的数据的例子,除时间、日期等之外,还可举出与控制装置的动作相关并且需要在控制装置中进行管理的数据等。由于将这种随着控制装置动作而可取不同值的数据利用于编码,数据的唯一性变高,并且可实现可靠性高的编码。
图10示出了本发明电路的一个结构例。从存储阵列IOOz起的发送路径分岔为两个路径。分岔的发送路径中的一个路径抵达至开关141z。并且,另一路径经由数据编码电路150z抵达至开关141z。数据编码电路150z只要被设置在另一路径中的位于存储阵列IOOz与开关141z之间的发送路径的中途即可。来自数据编码电路150z的输出和存储阵列IOOz的输出被输入至开关141z,开关141z选择其中一个输入并将其输出给数据端子SDAT。·包括半导体存储装置的系统的结构图12是示意性地示出包含本实施例涉及的存储装置和计算机30z的系统的说明图。半导体存储装置IOz例如被实现为经由连接电缆、连接端子可与计算机30z连接的外置存储装置20。在图12中,计算机30z与半导体存储装置IOz经由包含时钟信号线CL、数据信号线DL、复位信号线RL的连接电缆相连。或者半导体存储装置10也可以具有连接端子,并直接(安装)到计算机30z所具有的连接端子上。计算机30z包括通过内部配线相互连接的 数据生成部31z、解码电路32z以及输入输出部33z。数据生成部31z生成包含读出指令、编码请求指令的数据序列。解码电路32z是用于对从半导体存储装置IOz接收的经编码的读出数据进行解码并判定数据是否正确(是否被窜改或者由于噪声等而损坏)的电路。具体地说,例如当添加有奇偶校验位时,如后述的图14所示,如果每8位读出数据上所添加的I位的数据奇偶校验位DP与使用读出数据算出的奇偶校验位一致,就判定数据正确,如果不一致,就判定数据出错了。此外,例如当赋予了编码后的校验和值时,使用键对编码了的校验和值进行解码,并使用解码而得的校验和值以及写入数据来判定数据是否正确。此外,例如当赋予了基于校验结果的哈希值时,执行读出数据的校验处理,并对执行结果应用哈希函数来获得哈希值,如果哈希值与添加在读出数据上的哈希值一致,就判定数据正确,如果不一致,就判定数据出错了。校验处理既可以通过解码电路32z实现,或者也可以另外设置校验用电路来实现。输入输出部33z与时钟信号线CL、数据信号线DL、复位信号线RL连接,其向半导体存储装置IOz发送时钟信号SCK、复位信号RST,并与半导体存储装置IOz进行数据信号SDA的交换。半导体存储装置的动作参考图13和图14,对本实施例涉及的半导体存储装置IOz的动作进行说明。图13是示出当对本实施例涉及的半导体存储装置进行访问控制时在半导体存储装置中执行的处理例程的流程图。图14是示意性地示出从本实施例涉及的半导体存储装置输出的读出数据序列的一个例子的说明图。半导体存储装置IOz在从计算机30z接收到数据后(步骤S120),判定所接收的数据是否已被请求读出(步骤S122)。具体地说,写/读控制器140z对写入在所接收的数据序列的起始位中的带编码选择信息的写/读指令位进行分析,并判定是写入请求或读出请求中的哪一个。半导体存储装置IOz在判定出所接收的数据没有被请求读出、即被请求了写入时(步骤S122 :否),对存储阵列IOOz执行所接收数据的写入处理(步骤S126),结束本处理例程。向存储阵列IOOz的期望地址中的数据写入由写/读控制器140z如前面已说明的那样执行。半导体存储装置IOz在判定出所接收数据被请求读出时(步骤S122 :是),判定是否请求了读出数据的编码(步骤S124)。具体地说,如前面已说明的那样,通过分析所接收数据序列的起始第I 5位的带编码选择信息的W/R指令来进行判定。半导体存储装置IOz在没有被请求编码时(步骤S124 :否),将从存储阵列IOOz读出的数据输出给数据信号端子SDAT (步骤S128),结束本处理例程。具体地说,如前面已说明的那样,切换写/读控制器140z中的开关141z,以使得从存储阵列IOOz读出的数据被选择并如实地输出给数据信号端子SDAT。半导体存储装置IOz在被请求了编码时(步骤S124 :是),将经编码的读出数据输出给数据信号端子SDAT (步骤S130),结束本处理例程。具体地说,如前面已说明的那样,切换写/读控制器140z中的开关141z,以使得从存储阵列IOOz读出并经过了数据编码电路150z的编码读出数据被选择并输出给数据信号端子SDAT。例如,当执行了使用奇偶校验位 的编码时,如图14所示,在每8位读出数据之后紧接写入了数据奇偶校验位DP的读出数据被发送给计算机30z。此外,当执行了使用校验和值的编码时,代替图14中的数据奇偶校验位DP而添加了经编码的校验和值的读出数据被发送给计算机30z。根据以上说明的本实施例涉及的半导体存储装置ΙΟζ,能够在被要求读出数据的编码时输出经编码的读出数据,在没有被要求读出数据的编码时将从存储阵列IOOz读出的读出数据如实地输出。从而,能够基于计算机30z能否处理经编码的读出数据来输出两种读出数据。其结果是,能够提高半导体存储装置IOz的适应性。此外,就同一半导体存储装置IOz来说,对于对应的计算机30z,能够通过编码处理来提高在计算机30z与半导体存储装置IOz之间进行数据通信的可靠性,而对于不对应的计算机30z,能够进行数据的读出。即,能够提供与作为安装对象的计算机30z的功能相应的数据通信的可靠性。由此,可以抑制半导体存储装置IOz的类型增加,用户能够不混淆地购入并使用产品。并且,能够抑制或防止半导体存储装置IOz的制造成本或管理成本增大。此外,在安装本实施例涉及的半导体存储装置IOz的计算机30z中,当进行解码处理的结果判断出读出数据出错时,不执行使用读出数据的处理,例如不执行诸如数据库处理这样的处理,由此能够事前防止由出错的数据引起的问题。例如能够事前防止诸如由于数据出错而执行错误的会计事务处理这样的事态。其他实施例(I)在上述实施例中,写/读控制器140z通过切换开关141z,向数据信号端子SDAT输出经编码的读出数据或读出的非编码的读出数据,但如图15所示,也可以具有通过切换使得从存储阵列IOOz读出的数据经由数据编码电路150z或者直接被输出给数据信号端子SDAT的开关142。图15是示出其他实施例涉及的写/读控制器以及数据编码电路的配置结构的框图。即,写/读控制器140z也可以从存储阵列IOOz读出数据,然后判定是否输出给数据编码电路150z。此时,开关142z只要设置在连接存储阵列IOOz和数据编码电路150z的路径的中途即可。即,只要来自存储阵列IOOz的信号线与开关142z电连接,来自开关的输出信号线与数据编码电路150z以及数据端子SDAT电连接即可。开关142z起到作为选择部的功能,所述选择部对是将来自存储阵列IOOz的数据输出至数据端子SDAT还是输出至数据编码电路150z进行选择。(2)在上述实施例中,以顺序访问方式的存储阵列IOOz为例进行了说明,但不用说在具有随机访问方式存储阵列、闪存的半导体存储装置中也可获得同样的效果。在随机访问方式存储阵列的情况下,通过对操作码进行分析并根据RAS信号和CAS信号指定行地址和列地址,可读出期望地址的数据,在闪存的情况下,通过由存储器控制器将由计算机30指定的逻辑地址变换为物理地址,可读出期望的数据。在随机防问方式存储阵列的情况下,可以与数据信号线分开单独设置地址信号线。此外,计算机30z和具有半导体存储装置IOz的外置存储装置可经由USB电缆、串行电缆、IEEE1394电缆这样的各种类型的通信电缆、或者可经由USB端子、串行端子、IEEE1394端子直接相连。此时,半导体存储装置还具有用于对与计算机30z之间的数据交换进行控制的通信控制部。另外,写入单位可以不是I字节单位,也可以是I位单位、块单位。此时,只要使用包含期望的I位的几位执行编码处理即可。(3)在上述实施例中,以单个半导体存储装置IOz经由信号线连接于计算机30z的情况为例进行了说明,但也可以有多个半导体存储装置IOz通过USB以总线方式与计算机 30z连接。此时,每个半导体存储装置IOz根据识别信息来识别,来自半导体存储装置IOz的读出数据也基于识别信息来辨别是从哪个半导体存储装置IOz发来的数据。(4)在上述实施例中,数据编码电路150z与写/读控制器140z分开设置,但也可以将数据编码电路150z合并在写/读控制器140z中。(5)在半导体存储装置IOz中,也可以通过数据编码电路150z将表示是否对读出数据执行了编码处理的编码识别数据添加在读出数据(数据序列)中。此时,能够基于编码识别数据来容易地判定读出数据是否已被编码。(6)在上述实施例中,印刷装置与印刷材料容纳体之间的数据通信是通过利用端子的电连接而实现的,但也可以是以RFID等为代表的非接触式通信,此时,通信部可以具有IC标签等无线通信用天线。 第三实施例 编码系统的结构图16是示出被安装在本实施例中使用的电路板上的半导体装置的功能性内部结构的框图。图17是示出本实施例涉及的写/读控制器的功能性内部结构的框图。本实施例涉及的半导体装置与第一实施例涉及的半导体存储装置一样地被连接在印刷装置上,并基于来自印刷装置的访问(写入、读出等访问)而动作。本实施例涉及的半导体装置IOa包括存储阵列100a、时钟计数器111a、地址选择器112、ID比较器130a、写/读控制器140a、编码数据生成电路(验证用数据生成电路)150a、以及奇偶校验位生成添加电路160。有时至少将ID比较器130a、写/读控制器140a以及编码数据生成电路150a总称为存储器控制部(存储元件控制部)。在本实施例中,半导体装置IOa被安装在电路板CB上。电路板CB被容纳印刷装置的记录材料(记录剂)的液体容纳体所具有,当液体容纳体被安装在印刷装置上时,半导体装置与印刷装置电连接。半导体装置IOa的复位信号端子RSTT、时钟信号端子SCKT、电源端子VDDT及VSST、数据信号端子SDAT分别与电路板CB的外部端子T、即外部复位信号端子Tl、外部时钟信号端子T2、外部电源端子T3及T4、外部数据信号端子T5电连接。从印刷装置分别向复位信号端子RSTT、时钟信号端子SCKT、电源端子VDDT及VSST提供复位信号、时钟信号、电源电压。本实施例涉及的半导体装置IOa在复位信号为低电平时被初始化并变为初始化状态,当复位信号切换为高电平时,初始化状态被解除,接受来自印刷装置的访问。存储阵列IOOa (存储元件)具有与第一实施例中所使用的存储阵列100基本相同的结构。在由印刷装置的控制器进行的访问开始后,本实施例中的存储阵列IOOa将半导体装置IOa的识别信息ID存储在由地址选择器112最初选择的行中。识别信息ID用于从与印刷装置以总线方式连接的多个半导体装置中选择成为印刷装置的访问对象的一个半导体装置。在写/读控制器140a的控制下,对存储阵列IOOa中通过从地址选择器112输出的行选择信号所指定的行(字线)执行写入或读出。本实施例中的存储阵列IOOa被构成为关于预定的行,有8位的存储单元被选择。从而,以被行选择信号选择的行的8位的存储单元为单位执行读出或写入。时钟计数器Illa与复位信号端子RSTT、时钟信号端子SCKT、写/读控制器140a、 以及地址选择器112连接。时钟计数器Illa通过将经由时钟信号端子SCKT输入的复位信号设为0(或者低电平)而被复位为初始值,并在复位信号变为I之后,与经由时钟信号端子SCKT输入的外部时钟脉冲的下降沿同步地对时钟脉冲数进行计数(使计数值增加或减少)。时钟计数器Illa的初始值可以是与用于选择存储阵列IOOa中保存识别信息ID的WO行(也称为起始行)的值相关联的任意值,通常将O用作初始值。时钟计数器Illa通过对外部时钟进行分频而生成地址计数用的时钟并将其输出给地址选择器112。时钟计数器Illa根据访问类型、即读出还是写入来以不同的周期对外部时钟进行分频。例如,当访问类型为写入时,以8个外部时钟生成I个地址计数用的时钟,当访问类型为如下面所述的通常的读出时,以9个外部时钟生成I个地址计数用的时钟,地址选择器112与复位信号端子RSTT、写/读控制器140a、时钟计数器111以及存储阵列IOOa连接。地址选择器112对从时钟计数器Illa输出的地址计数用时钟的脉冲数进行计数,并根据该计数值来生成行选择信号。行选择信号是用于直接选择(指定)存储阵列IOOa的期望的行的信号。地址选择器112所计数的计数值在复位信号为低电平(复位低)时被初始化。初始化时的计数值的初始值是生成用于选择存储阵列IOOa的起始行的行选择信号的值。地址选择器112基于写/读控制器140a的控制,将行选择信号输出给存储阵列100a。ID比较器130a与时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT、以及写/读控制器140a连接。ID比较器130a用于判定在半导体装置IOa的初始化状态被解除后从印刷装置的控制器发送并经由数据信号端子SDAT输入的数据序列中所包含的识别信息ID与预先保存在存储阵列IOOa中的识别信息ID是否一致。具体而言,ID比较器130a获取在输入了高电平的复位信号RST之后被输入的数据序列的起始3位的数据,即识别信息ID。并且在同一定时经由写/读控制器140a获取通过地址选择器112的计数器的初始值选择的行中所包含的识别信息ID。ID比较器130a判定从印刷装置发来的数据序列中所包含的起始3位的数据(用于指定印刷装置作为访问对象的半导体装置10的识别数据)与从存储阵列IOOa读出的识别信息ID是否一致。ID比较器130a在两个识别数据ID相一致时,向写/读控制器140a输出访问允许信号AEN。另一方面,当两个识别数据ID不一致时,ID比较器130a不输出访问允许信号AEN。由此,作出识别数据ID不一致的判断的半导体装置IOa既不能执行写入也不能执行读出,通过输入复位信号(O)而被返回到初始化状态。写/读控制器140a与存储阵列100a、地址选择器112、ID比较器130a、编码数据生成电路150a、奇偶校验位生成添加电路160、时钟信号端子SCKT、数据信号端子SDAT、复位信号端子RSTT连接。写/读控制器140a具有与第一实施例中使用的写/读控制器140基本相同的结构。写/读控制器140a具有8位寄存器(图中没有示出)和保存从存储阵列IOOa读出的数据的寄存器(图中没有示出),该8位寄存器临时保存从数据信号端子SDAT输入的进行写入时的发送数据序列(可想到图23这样的数据序列)中的写入数据序列。在8位寄存器中,保持从数据信号端子SDAT经由输入信号线输入的数据序列(MSB)直到其达到8位为止,并在达到8位时,所保持的8位数据被写入存储阵列IOOa中。
写/读控制器140a对从印刷装置发送的紧接在识别信息ID之后发送的用于指示针对半导体装置IOa的访问类型的指令(发送数据序列的第4位 第8位)进行分析,分析来自印刷装置的访问是请求了写入(接收了写入指令)?,还是请求了通常读出(接收了通常读出指令)?,还是请求了编码读出(接收了编码读出指令(也称为验证用数据生成指令))?因此,写/读控制器140a也可以称为编码判定部。写/读控制器140a在从ID比较器130a输入访问允许信号AEN之后,基于指令分析结果来执行写入处理或读出处理。当半导体装置IOa被供应电源并且初始化状态被解除时,写/读控制器140a将存储阵列IOOa设定为数据读出方向,并进行设定,使得数据不被从半导体装置IOa发送至印刷装置。该状态被维持到分析访问类型(指令)并且写入或读出中的任意处理被执行为止。因此,在复位信号输入后经由数据信号端子SDAT输入的发送数据序列的数据不被写入存储阵列IOOa中,另一方面,保存在存储阵列IOOa的起始3位中的数据(识别信息ID)被输出给ID比较器130a。其结果是,存储阵列IOOa的起始行成只读行。如图17所示,写/读控制器140a具有开关141a,该开关141a作为用于选择输出从存储阵列IOOa输出的数据(通常数据)或者经编码数据生成电路150a编码后的读出数据(编码数据)中的一个的选择部。写/读控制器140a在从印刷装置发送的数据序列中所包含的指令为编码读出指令时,将开关141a切换到编码位置SP1,以便输出经编码的读出数据,在上述指令为通常读出指令时,将开关141a切换到通常位置SP2,以便如实地输出所读出的数据。其结果是,存储阵列IOOa与数据端子SDAT之间的路径在编码数据读出时和通常读出时相异。编码数据生成电路150a经由信号线与写/读控制器140a连接。编码数据生成电路150a使用从写/读控制器140a输入的多行的读出数据执行编码处理。在由编码数据生成电路150a执行的编码处理中,首先对多行的读出数据执行校验和运算,生成8位的校验和数据(第一编码)。在本实施例中,使用作为随着印刷的执行而被印刷装置的控制器更新的数据的墨水量数据(墨水余量数据或墨水消耗量数据)、以及随着印刷的执行不被印刷装置的控制器更新并仅用于读出的与墨盒的制造相关的数据,来作为要被编码(编码对象)的数据(通常数据)。然后,编码数据生成电路150a对生成的校验和数据执行可逆的编码处理,生成编码数据(验证用数据)。代替校验和,也可以对编码对象的读出数据执行使用哈希函数求得不可逆的哈希值的运算处理。所生成的验证用数据被输出给写/读控制器 140a。奇偶校验位生成添加电路160与写/读控制器140a连接。奇偶校验位生成添加电路160从写/读控制器140a接收由编码数据生成电路150a生成的验证用数据或未经编码的通常数据(通常读出数据),并使用所接收的验证用数据或通常读出数据来生成奇偶校验位。奇偶校验位生成添加电路160将生成的奇偶校验位添加到验证用数据或通常读出数据中发送给写/读控制器140a。使用通常读出数据的每一数据序列(8位)的数据序列、或者验证用数据的数据序列来执行奇偶校验位的生成。在本实施例中,由奇偶校验位生成添加电路160执行的奇偶校验位的生成以及生成的奇偶校验位向数据序列中的添加不被称为数据序列的编码。墨盒和印刷装置的结构图18是示出作为液体容纳体的墨盒的概要结构的说明图。图19是示出本实施例涉及的印刷装置与墨盒的连接形式的说明图。墨盒20a包括安装有上述半导体装置IOa的电路板CB以及图中没有示出的墨水容纳室。印刷装置300包括用于可拆卸地搭载墨盒20a的搭载部310、与墨盒20a的外部端子T (Tl T5)连接的印刷装置侧端子320。搭载部310既可以配置在滑架上(on carriagetype,托架上型),也可以配置在滑架之外的任意位置上(off carriage type,脱离托架型)。此外,墨盒20a既可以配置在设置于印刷装置300外部的搭载部310,也可以只将电路板CB安装在配置于印刷装置300内部的搭载部310上,而将墨盒20a的主体配置在印刷装置300的外部。印刷装置300包括中央运算装置(CPU) 301、ROM、RAM等存储装置302、输入输出部303、印刷部304。CPU 301、存储装置302、输入输出部303以及印刷部304通过内部总线可双向通信地连接。存储装置302的ROM中保存数据生成模块302a、用于编码或解码数据的编解码模块302b、进行通信验证的通信验证模块302c,该数据生成模块302a生成写入用数据序列(识别信息ID、写入指令以及向存储阵列写入的数据序列)、将存储阵列中存储的数据如实读出的通常读出用数据序列(识别信息ID和通常读出指令)、或者用于对从存储阵列读出的数据执行编码处理以读出编码数据(根据从存储阵列读出的数据生成验证用数据并接收验证用数据)的编码读出的数据序列(识别信息ID和编码读出指令)。此外,存储装置302的RAM临时存储从半导体装置IOa读出的数据、生成的写入用数据、执行模块所必需的数据。数据生成模块302a、编解码模块302b、通信验证模块302c由CPU 301执行,由此分别起到作为通常数据读出部、编码数据读出部以及数据写入部的功能、作为编解码部的功能、作为验证部的功能。此外,CPU 301通过执行这些每个模块而实现的功能分别也可以以硬件的方式实现。输入输出部303与印刷装置侧端子320连接,向墨盒20a所具有的半导体装置IOa发送数据,或者从半导体装置IOa接收数据。印刷部304至少包括设置在滑架上的印刷头、沿副扫描方向运送印刷介质(印刷纸)的运送机构,从而通过经印刷头喷射从墨盒20a供应的墨水而在印刷介质上形成图像。将印刷装置300的CPU 301、存储装置302以及输入输出部303也称为印刷装置300的控制器。印刷装置300的控制器每当对半导体装置IOa的每一访问结束时,经由复位信号线向半导体装置发送将半导体装置IOa设置为初始化状态的复位信号。印制装置300所具有的墨盒20a既可以是I个,也可以是多个。当具有多个墨盒、20a时,如图4所示,墨盒20a所具有的半导体装置IOa以总线方式连接在印刷装置300的控制器上。 通信验证处理图20是示出在本实施例涉及的印刷装置和半导体装置之间执行的通信验证处理的一个例子的说明图。图21是示出在数据写入时从印刷装置向本实施例涉及的半导体装置发送的数据序列的例子的说明图。图22是示出当进行通常的读出时在印刷装置与本实施例涉及的半导体装置之间收发的数据序列的例子的说明图。图23是示出当进行编码读出时在印刷装置与本实施例涉及的半导体装置之间收发的数据序列的例子的说明图。图24是示出在本实施例涉及的半导体装置中执行的编码数据的生成、发送处理的一个例子的流程图。图25是示出在本实施例涉及的印刷装置中执行的验证处理的一个例子的说明图。参考图20,对在印刷装置300和半导体装置IOa之间执行的通信验证处理的概要进行说明。印刷装置300随着执行印刷时或者对印刷头进行清洁时等作为记录剂的墨水被消耗等,更新半导体装置IOa的墨水量数据。即,印刷装置300通过数据生成模块302a,为 更新墨水量数据而生成图21所例示的请求写入的数据序列,并对半导体装置IOa发起写入请求(PSl)。图21中的请求写入的数据序列包括每一识别信息ID各占I位的共3位的识别信息ID、5位的写入指令以及预定位的写入数据序列。印刷装置300通过数据生成模块302a,生成图22中例示的作为发送数据序列的、请求通常读出的数据序列,并对半导体装置IOa发起包含墨水量数据的数据的通常读出请求(PS2)。图22中的请求通常读出的数据序列包括每一 ID信息各占I位的共3位的ID信息、5位的通常读出指令以及I位的虚拟位。这里,通常读出是指读出半导体装置IOa中未经编码的数据(通常数据)的意思。接受到通常读出请求的半导体装置IOa将如图22所示的作为接收数据序列的、在8位读出数据上添加I位的奇偶校验位而得的通常读出数据发送给印刷装置300,而不使用被请求的数据(通常数据)生成编码数据(SSl)。接收数据序列是指由印刷装置300接收的数据序列。印刷装置300将接收的通常读出数据保存在存储装置302中。印刷装置300通过数据生成模块302a,生成图23中例示的作为发送数据序列的、请求编码读出的数据序列,并将其发送给半导体装置IOa(PS3),所述编码读出用于请求读出编码数据。图23中例示的请求编码读出的发送数据序列包括每一识别信息ID各占I位的共3位的识别信息ID、5位的编码读出指令以及I位的虚拟位。这里,编码读出的请求是用于从存储阵列IOOa中读出与在通常读出请求下读出的数据(通常数据)相同的数据并将该数据编码之后发送给印刷装置300的请求。半导体装置IOa从存储阵列IOOa中读出与响应通常读出数据请求而向印刷装置300发送的数据相同的数据,并如图23中例示的接收数据序列那样,执行编码处理来生成验证用数据,并添加奇偶校验位之后发送给印刷装置300 (SS2)。图23中的接收用数据序列是指由印刷装置300接收的数据,其中包括8位的验证用数据和I位的奇偶校验位。印刷装置300使用所接收的验证用数据和保存在存储装置302中的通常读出数据执行比较处理。具体地说,印刷装置300对保存在存储装置302中的通常读出数据执行与在半导体装置IOa中为生成验证用数据而实施的编码相同的编码,以生成比较用编码数据,并在该比较用编码数据与所接收的验证用数据不一致时,判断为通信路径发生了异常、或者半导体装置IOa发生了某种故障。
参考图24,对在半导体装置IOa中执行的数据编码处理进行说明。当在半导体装置IOa接收到从印刷装置300发送的用于解除初始化状态的信号之后由半导体装置IOa接收了包含通常读出指令或者编码读出指令(验证用数据生成指令)的发送数据序列时,开始本处理例程。半导体装置IOa接收包含在从印刷装置300发送的发送数据序列中的识别信息ID,判断所接收的数据序列是否与存储在自己的存储阵列IOOa中的识别信息ID相一致。半导体装置IOa在识别信息ID与从存储阵列IOOa读出的识别信息ID相一致时,判断为自己是印刷装置300的访问对象。半导体装置IOa判断接收的指令是通常读出指令或编码读出指令中的哪一个(步骤S200),并根据接收指令切换写/读控制器140a内的开关141a (步骤S201)。具体地说,开关141a在接收指令为编码读出指令时被切换到编码位置PS1,在接收指令为通常读出指令时被切换到通常位置PS2。半导体装置IOa从存储阵列IOOa读出数据(通常数据)(步骤S202)。半导体装置IOa在通过步骤S200判断的指令为编码读出指令并且被请求了编码时,执行校验和运算处理(步骤S204)(步骤S203 :是)。由于写/读控制器140a内的开关141a被切换成使得从存储阵列IOOa中读出的数据被输出至编码数据生成电路150a,因此,从存储阵列IOOa中读出的数据被输出给编码数据生成电路150a。编码数据生成电路150a使用读出的数据求出校验和。例如求出8位、16位这样的校验和。校验和运算处理是不可逆的运算处理,不能通过解码获得原来的数据(第一 编码处理)。半导体装置IOa对求出的校验和执行可逆的数据编码处理(第二编码处理),生成验证用数据(步骤S205)。第二编码处理是可利用共用的密钥对数据进行编码或从编码后的数据进行解码的处理,通过解码能够获得原来的数据。半导体装置IOa通过奇偶校验位生成添加电路160对求出的验证用数据(编码数据)执行奇偶校验运算处理(步骤
5206),将求出的奇偶校验值(奇偶校验位)添加到验证用数据上后发送给印刷装置30(步骤S207),然后结束本处理例程。另一方面,半导体装置IOa在通过步骤S200判断的指令为通常读出指令时(步骤S203 :否),转移到步骤S206中。由于写/读控制器140a内的开关141a被切换成使得从存储阵列IOOa中读出的数据被输出至奇偶校验位生成添加电路160,因此该数据不被输出至编码数据生成电路150a。奇偶校验位生成添加电路160对从存储阵列IOOa中读出的数据执行奇偶校验运算处理,将添加有奇偶校验位的通常读出数据发送给印刷装置30(步骤
5207),然后结束本处理例程。即,对通常读出数据只执行奇偶校验运算处理。参考图25,对印刷装置300中执行的验证处理进行说明。验证处理是通过由CPU301执行验证模块302c而在印刷装置300中执行的处理。在下面的说明中,省略有关在图20中对半导体装置IOa执行的发送处理(PS1、PS2、PS3)的说明,对从半导体装置IOa接收数据(SS1、SS2)之后执行的验证处理进行说明。印刷装置300作为对通常读出请求(PS2)的响应而从半导体装置IOa接收通常读出数据(步骤S300:图20中的SS1)。印刷装置300对接收的通常读出数据执行奇偶校验处理,并且从通常读出数据序列中去除奇偶校验位(步骤S301)。印刷装置300在进行奇偶校验的结果判定为没有错误时(步骤S302 :是),转移到步骤S306,当判定为有错误时(步骤S302 :否),转移到步骤S310。印刷装置300在作为对数据编码请求(PS3)的响应而接收编码数据(验证用数据)后(步骤S303 :图20中的SS2),执行奇偶校验处理(步骤S304)。印刷装置300在进行奇偶校验的结果判定为没有错误时(步骤S305 :是),从数据序列中去除奇偶校验位,通过执行编解码模块302b而将编码数据解码,获取解码校验和CSO (步骤S306)。即,通过对在半导体装置IOa中被执行了可逆的编码处理的验证用数据执行解码处理,能够获取与在半导体装置IOa中通过校验和运算处理而得的校验和相当的数据。印刷装置300对于与在步骤S301中去除了奇偶校验位的通常读出数据,通过执行编解码模块302b而 执行与在半导体装置IOa中执行的校验和运算处理相同的校验和运算处理,由此计算出运算校验和CSl (步骤S307)。印刷装置300执行验证模块302c,比较解码校验和CSO和运算校验和CSl (步骤S308),并在两者一致时(步骤S309 :是),结束本处理例程。即,当解码校验和CSO和运算校验和CSl相一致时,能够判断出半导体装置IOa与印刷装置300的控制器之间的通信路径没有发生错误,半导体装置IOa没有发生异常。另一方面,当解码校验和CSO和运算校验和CSl不一致时(步骤S309 :否),印刷装置300通知墨盒出错(步骤S310),结束本处理例程。此外,印刷装置300当在步骤S302、305中进行奇偶校验的结果判定为发生了奇偶校验错误时(S302、305 :否),通知墨盒出错(步骤S310)。墨盒出错的通知可通过使印刷装置300所具备的显示灯点亮或闪烁、或者在印刷装置300所具备的显示器上显示错误信息来实现。另外,在印刷装置300与个人计算机连接的情况下,也可以通过在个人计算机的显示器上显示错误信息来实现。根据以上说明的本实施例涉及的墨盒20a (半导体装置IOa)以及印刷装置300,通过比较通常读出数据与编码数据(验证用数据),能够检测在基于任一方数据的读出的情况下无法判定的通信异常。例如,当执行两次的不是编码数据读出的通常读出并试图基于读出的数据是否一致来检测通信异常时,即便在印刷装置侧端子320与电路板CB的外部端子T没有电连接的情况下,只要第一次的通常读出数据和第二次的通常读出数据相一致,印刷装置300就有可能判断为与电路板CB的连接状态没有发生异常。相对于此,在本实施例中,关于从半导体装置IOa的存储阵列IOOa读出的同一数据(通常数据),利用未经编码处理的通常读出数据和经编码处理的编码数据来进行验证。从而,通过比较这些数据,能够更正确地验证是否真的没有发生通信错误和半导体装置IOa的异常。进行判定的结果,当判断为通信路径或半导体装置IOa发生了异常时,不执行印刷处理,由此能够事前防止基于错误数据的故障。例如能够事前防止以下由于数据出错引起的情况尽管液体容纳体20内的液体量少于完成印刷作业所需的液体量但仍执行印刷处理并在中途中断印刷;或者尽管液体容纳体20a内的液体量已变少但仍执行印刷处理而导致空喷,进而损伤印刷头。另外,在本实施例中,通过校验和运算处理进行数据的压缩处理,降低了用于通信的位数,从而能够抑制位出错、能够谋求通信速度、后阶段的运算处理速度的提高。此外,通过利用奇偶校验位,能够验证通信前后的数据的可靠性。 第三实施例的变形例(I)在上述实施例中,当检测到通信异常、即检测到解码校验和CSO和运算校验和CSl不一致时,立刻执行了墨盒出错的通知,但也可以重复执行预定次数、例如2 5次的编码读出数据的读出、通常读出数据的读出、以及利用解码校验和CSO与运算校验和CSl的验证,之后再通知墨盒出错。(2)在上述实施例中,在通常读出之后执行了编码读出,但也可以在编码读出之后执行通常读出。只要能够进行通常读出数据和编码读出数据间的对比即可。
(3)在上述实施例中,作为半导体装置IOa的例子,使用了 EEPR0M,但除此之外,也可以使用具备由强电介质存储单元构成的存储阵列、运算电路的半导体装置。(4)在上述实施例中,在对半导体装置IOa执行数据序列写入之后执行了通信验证处理(通常读出数据以及编码数据的请求及接收处理),但除此之外,也可以在启动印刷装置后首次进行写入处理时、更换墨盒20a后首次进行写入处理时、进行预定次数的写入处理时执行通信验证处理。此外,即便没有产生应写入的数据,也可以在更换墨盒20a后利用保存在半导体装置IOa中的预定的数据执行通信验证处理。(5)在上述实施例中,对于通常读出数据的编码数据,进一步执行了奇偶校验位的生成以及奇偶校验位的添加,但也可以对于其中一 方数据或者双方数据不执行上述奇偶校验处理。以上,基于实施例、变形例对本发明进行了说明,但上述的本发明的实施方式是用于使得本发明容易理解的,并非用来限定本发明的。本发明可在其宗旨以及权利要求书的范围内进行变更、改进,并且本发明中将包含其等同物。
权利要求
1.一种液体容纳体,所述液体容纳体具有存储装置并能够安装到印刷装置上,所述液体容纳体包括 保存数据的存储元件; 编码判定部,所述编码判定部在从所述印刷装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及 存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并输出编码后的数据。
2.如权利要求I所述的液体容纳体,其中, 当判定为不进行所述读出数据的编码时,所述存储元件控制部将从所述存储元件读出的数据在不编码的情况下输出。
3.如权利要求I或2所述的液体容纳体,其中, 所述存储元件控制部包括 读写执行部,所述读写执行部在与所述存储元件之间执行数据的读写;以及 编码处理部,所述编码处理部对从所述存储元件读出的数据执行编码处理。
4.如权利要求I至3中任一项所述的液体容纳体,其中, 所述编码处理通过利用存储在所述存储元件中的数据的全部或一部分的检错编码处理而执行。
5.如权利要求I至3中任一项所述的液体容纳体,其中, 所述编码处理是对存储在所述存储元件中的数据的全部或一部分进行哈希编码的处理。
6.如权利要求I至3中任一项所述的液体容纳体,其中, 所述编码处理通过对利用了存储在所述存储元件中的数据的全部或一部分进行运算的结果进行哈希编码而执行。
7.一种液体容纳体,所述液体容纳体具有存储装置并能够被安装到印刷装置上,所述液体容纳体包括 保存数据的存储元件; 编码部,所述编码部对从所述存储元件读出的数据执行编码处理;和 选择部,所述选择部选择输出从所述存储元件读出的数据和经所述编码部编码的数据中的一个。
8.—种控制方法,用于对液体容纳体所具有的存储装置进行控制,所述液体容纳体能够安装到印刷装置上,所述控制方法的特征在于, 当从所述印刷装置接收到存储在用于保存数据的存储元件中的数据的读出请求时,判定是否执行读出数据的编码, 当判定为执行所述读出数据的编码时,对从所述存储元件读出的数据执行编码处理并输出编码后的数据。
9.一种印刷装置系统,所述印刷装置系统包括印刷装置和液体容纳体,所述液体容纳体具有存储数据的存储元件并能够装卸地被安装在印刷装置上, 所述印刷装置具有输出部,该输出部向所述印刷材料容纳体输出数据的读出请求, 所述液体容纳体包括编码判定部,所述编码判定部在从所述印刷装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;和 存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并输出编码后的数据。
10.如权利要求9所述的印刷装置系统,其特征在于, 当所述印刷装置请求执行所述读出数据的编码时,所述数据的读出请求中包含用于指示执行读出数据的编码的指令。
11.一种存储装置,所述存储装置能够与控制装置连接,并包括 用于与所述控制装置进行数据通信的通信部; 保存数据的存储元件; 编码判定部,所述编码判定部在从所述控制装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及 存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据。
12.如权利要求11所述的液体容纳体,其中, 当判定为不进行所述读出数据的编码时,所述存储元件控制部将从所述存储元件读出的数据在不编码的情况下输出。
13.如权利要求11或12所述的存储装置,其中, 所述存储元件控制部包括 读写执行部,所述读写执行部在与所述存储元件之间执行数据的读写;以及 编码处理部,所述编码处理部对从所述存储元件读出的数据执行编码处理。
14.如权利要求11至13中任一项所述的存储装置,其中, 所述编码处理通过利用了存储在所述存储元件中的数据的全部或一部分的检错编码处理而执行。
15.如权利要求11至13中任一项所述的存储装置,其中, 所述编码处理是对存储在所述存储元件中的数据的全部或一部分进行哈希编码的处理。
16.如权利要求11至13中任一项所述的存储装置,其中, 所述编码处理通过对利用存储在所述存储元件中的数据的全部或一部分进行运算的结果进行哈希编码而执行。
17.一种存储装置,所述存储装置能够与控制装置连接,并包括 用于与所述控制装置进行数据通信的通信部; 保存数据的存储元件; 编码部,所述编码部对从所述存储元件读出的数据执行编码处理;和选择部,所述选择部选择从所述存储元件读出的数据和经所述编码部编码的数据中的一个数据并向所述通信部输出所选数据。
18.一种存储装置的控制方法,所述存储装置能够与控制装置连接并具有存储数据的存储元件,所述控制方法的特征在于,当从所述控制装置接收到存储在所述存储元件中的数据的读出请求时,判定是否执行读出数据的编码, 当判定为执行所述读出数据的编码时,对从所述存储元件读出的数据执行编码处理并输出编码后的数据。
19.一种控制系统,所述控制系统包括控制装置和存储装置,所述存储装置与控制装置连接并具有存储数据的存储元件,所述控制系统的特征在于, 所述控制装置具有输出部,该输出部向所述存储装置输出数据的读出请求, 所述存储装置包括 编码判定部,所述编码判定部在从所述计算机接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及 存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据。
20.如权利要求19所述的控制系统,其特征在于, 当所述控制装置请求执行所述读出数据的编码时,所述数据的读出请求中包含用于指示执行读出数据的编码的指令。
21.一种与液体容纳体一起使用的印刷装置,所述液体容纳体具有保存数据的半导体装置,所述印刷装置包括 通常数据读出部,所述通常数据读出部从所述半导体装置读出未经编码的通常数据;编码数据读出部,所述编码数据读出部向所述半导体装置请求所述通常数据的编码,并读出编码数据,该编码数据是经编码的所述通常数据; 编解码部,所述编解码部对所述通常数据执行与所述编码相同的编码以生成比较用编码数据;以及 验证部,所述验证部通过比较所述比较用编码数据和所述编码数据来验证所述半导体装置与所述印刷装置之间的通信状态。
22.如权利要求21所述的印刷装置,其中, 还包括将所述通常数据写入所述半导体装置中的数据写入部, 所述通常数据读出部和所述编码数据读出部分别读出通过所述数据写入部写入的所述通常数据和对通过所述数据写入部写入的所述通常数据进行编码而得的编码数据。
23.如权利要求21或22所述的印刷装置,其中, 所述编码数据是在经不可逆的第一编码之后又被执行可逆的第二编码的数据, 所述编解码部通过针对所述编码数据的所述第二编码进行解码来获得经所述第一编码的编码数据,并且对所述通常数据执行所述第一编码。
24.一种与液体容纳体一起使用的印刷装置的通信验证方法,所述液体容纳体具有保存数据的半导体装置,所述通信验证方法的特征在于, 从所述半导体装置读出未经编码的通常数据; 向所述半导体装置请求所述通常数据的编码; 从所述半导体装置读出编码数据,所述编码数据是经编码的所述通常数据; 对所述验证用数据执行与所述编码相同的编码以生成比较用编码数据; 通过比较所述比较用编码数据和所述编码数据来验证所述半导体装置与所述印刷装置之间的通信状态。
25.—种电路板,所述电路板包括半导体装置和一个或多个外部端子,其中, 所述半导体装置包括 用于与外部控制装置进行数据通信的通信部; 保存数据的存储元件; 编码判定部,所述编码判定部在从所述外部控制装置接收到存储在所述存储元件中的数据的读出请求时判定是否执行读出数据的编码;以及 存储元件控制部,当判定为执行所述读出数据的编码时,所述存储元件控制部对从所述存储元件读出的数据执行编码处理并向所述通信部输出编码后的数据, 所述一个或多个外部端子与所述通信部电连接。
全文摘要
在液体容纳体20所具备的半导体存储装置10中,当接收到读出数据的编码请求时,写/读控制器140切换开关141,以向数据信号端子SDAT输出经数据编码电路150编码的读出数据。另一方面,当没有接收读出数据的编码请求时,写/读控制器140切换开关141,以将从存储阵列100读出的数据如实地输出至数据信号端子SDAT。
文档编号B41J2/175GK102741053SQ2009801010
公开日2012年10月17日 申请日期2009年3月25日 优先权日2008年3月26日
发明者中野修一 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1