专利名称:存储卡和数据处理装置及存储卡的控制方法和设定方法
技术领域:
本发明涉及具有可改写的非易失性存储器,并装在主机上来加以使用的存储卡,尤其是具有数据写入时的重试(retry)功能或数据读出时的纠错功能的存储卡和读写这种存储卡的数据处理装置(主机)。
背景技术:
近年来,作为保存数字信息的存储装置,装载了可改写的非易失性存储器的存储卡和机器正在普及。尤其由于存储卡小型且耐振性好,所以可以期待今后会日益在携设备中使用。
可改写的非易失性存储器的代表有NAND型闪存存储器(下面,称作“闪存存储器”)。闪存存储器以块为单位来管理其使用、未使用,例如,对于未使用的块,在管理数据中写入“1”,在进行数据的写入时,将管理数据从“1”改写为“0”。
另外,一般上,闪存存储器很少存在不能正常写入的情况。因此,闪存存储器需要具有读取(读出)表示正常写入或异常写入的状态的功能,在数据写入后,通过读取该状态,来判断是否正常进行了写入。根据存储卡,内置控制闪存存储器的控制器,控制器在数据写入后进行状态读取,并在产生了写入错误的情况下,为了不将该块重新作为写入块选择,而将在控制器中内置的,对应于错误产生的块的管理数据从“1”改写为“0”。
另外,还提出了在不能正常写入数据的情况下,即,写入时产生错误的情况下,进行将该数据再次写入到其他块的处理(下面称作“重试处理”)。另外,在闪存存储器的没有空余容量的情况下,由于要写入数据的闪存存储器的区域不良,所以在不能进行写入的情况下,在写入时的删除(erase)处理失败时产生写入时的错误。
另外,在向闪存存储器写入的数据中,因向其他块的数据写入或随时间变化,很少发生数据变化。因此,作为存储卡为了确保希望的数据可靠性,在数据读出时,例如以块为单位,生成对应于闪存存储器的可靠性的纠错码,而添加到块的数据上,写入到闪存存储器中。另外,在数据读出时,在对读出的数据进行纠错处理后,转发到主机上。
如上所述,在闪存存储器中很少发生的写入错误、读出错误几乎没有的情况下,可以通过在存储卡中内置的控制器进行写入处理和纠错处理来加以避免。因此,主机设备可以使用存储卡,而不用考虑闪存存储器的数据可靠性。
作为如上所述的,与对闪存存储器的写入错误的重试处理有关的技术,已知在专利文献1中进行了记载。
专利文献1特开2002-108720号公报。
但是,近年来,存储卡不仅在民用中,还开始在专业用途的各种主机设备中使用,存在对于主机,现有的存储卡的可靠性不充分的情况。
在写入错误容易发生的闪存存储器中,通过写入错误发生的情况下的重试处理,降低了对主机作为写入错误进行通知的频率。由此,对于主机,有降低主机的处理负载,而不用考虑写入错误通知的情况下的长处。但是,由于重试处理在闪存存储器的内部进行,所以主机侧完全不明白闪存存储器上是否产生了写入错误,或进行了重试处理。因重试处理,写入时间变长,进一步,在重试处理中还产生了写入错误的情况下,在重试处理的期间,等待写入完成的通知的结果后变为写入错误。
在记录静止图像的数码照相机的情况下,由于不要求实时的处理,所以即使在写入错误通知后也可进行由主机进行处理。但是,在记录运动图像的摄像机的情况下,要求实时的处理。若在存储卡中执行重试处理,则由于存在写入时间变长的情况,所以有在摄像机(主机)侧很难估计写入时间,摄像机(主机)上的数据处理变得非常难的问题。这样,存储卡中的重试处理在要求实时处理的主机中,有变为不是有效的功能的情况。
另外,现有的存储卡根据闪存存储器的可靠性,来添加纠错码,使得存储卡为希望的数据可靠性。例如,在内置了高可靠性的闪存存储器的存储卡上装载一位纠正电路,或在内置了可靠性低的闪存存储器的存储卡上装载3位纠正电路。作为存储卡,无论如何都确保同等的可靠性。装载了3位纠正电路的存储卡可进行到3位为止的纠错,在产生了4位以上的错误的情况下,不能进行纠正,而对主机进行错误通知,但是根据情况,变为错误纠正,并将错误的数据返回到主机。通常,设定为陷入这种情况的概率非常低。但是,在除了通知错误,或将错误的数据作为正常数据读出以外,例如在如专业用的主机等那样,要求非常高的可靠性的主机的情况下,有通过专业用主机侧的工作,不能提高到存储卡的纠错能力以上的可靠性的问题。
发明内容
本发明为解决上述问题而作出,提供一种解决因存储卡中的重试处理引起的弊端,和因存储卡的纠错处理引起的问题的存储卡和对于存储卡的控制方法等。
(1)在本发明的第一方式中,提供了一种从数据处理装置可进行数据的写入、读出的存储卡。存储卡包括主机接口,其与数据处理装置之间进行命令和数据的发送接收;非易失性存储器,其存储数据;控制器,其控制存储卡的动作;存储单元,其存储规定的管理信息。管理信息包括在向非易失性存储器的写入动作时产生了错误之际用于指定是否执行重试功能用的重试设定信息。
控制器在数据写入动作时,参考重试设定信息,在该重试设定信息表示重试功能的停止的情况下,为了在数据写入动作时的错误发生时使重试功能不动作,或在重试设定信息表示重试功能的动作的情况下,为了在数据写入动作时的错误发生时使重试功能动作,而控制写入动作。
在上述存储卡中,管理信息也可进一步包括存储卡固有的特性信息。这时,控制器也可根据来自数据处理装置的请求将特性信息发送到数据处理装置。
特性信息中也可包括在存储卡中与数据写入所需的最大的需要时间有关的信息和在存储卡中重试处理发生的频率有关的信息。
(2)本发明的第二方式中,提供了一种数据处理装置,对于可进行数据的读出、写入的,且将在写入动作时产生了错误之际指定是否执行重试功能用的重试设定信息和存储卡固有的特性信息作为管理信息存储的存储卡进行读写。
数据处理装置包括卡接口器,其与存储卡之间进行命令和数据的发送接收;控制数据处理装置的动作的控制器。
控制器,在将存储卡装载在数据处理装置时或在数据处理装置的电源接通时,从存储卡中读出特性信息,并根据该读出的特性信息,进行是否在存储卡中执行重试功能的判断,并根据该判断结果,将设定重试设定信息用的命令经卡接口器发送到存储卡。
(3)本发明的第三方式中,提供了一种存储卡的控制方法,该存储卡可进行数据的读出、写入,且在写入动作时产生了错误之际,将指定是否指定重试功能用的重试设定信息和存储卡固有的特性信息作为管理信息进行存储。该控制方法在数据写入动作时,参考重试设定信息;在重试设定信息表示重试功能的停止的情况下,在数据写入动作时的错误发生时使重试功能不动作;在重试设定信息表示重试功能的动作的情况下,在数据写入动作时的错误发生时使重试功能动作。
(4)本发明的第四方式中,提供了一种对存储卡的设定方法,该存储卡可进行数据的读出、写入,且在写入动作时产生了错误之际,将指定是否指定重试功能用的重试设定信息和存储卡固有的特性信息作为管理信息进行存储。该设定方法从存储卡中读出特性信息,根据该读出的特性信息,在存储卡中进行是否执行重试处理的判断,根据其判断结果,将设定重试设定信息用的命令经卡接口器发送到存储卡。
(5)本发明的第五方式中,提供了一种从数据处理装置可进行数据的写入、读出的存储卡。存储卡包括与数据处理装置之间进行命令和数据的发送接收的主机接口;存储数据的非易失性存储器;控制存储卡的动作的控制器和存储规定的管理信息的存储单元。
管理信息包括在从非易失性存储器的数据读出时指定是否执行纠错功能用的纠错设定信息。
控制器在数据读出动作时,参考纠错设定信息,在纠错设定信息表示纠错功能的停止的情况下,按照不对读出的数据进行纠错的方式,或在纠错设定信息表示纠错功能的动作的情况下,按照对读出的数据进行纠错的方式,控制读出动作。
管理信息进一步包括存储卡固有的特性信息,控制器也可根据来自数据处理装置的请求将特性信息发送到数据处理装置。
特性信息也可包括与非易失性存储器的错误率有关的信息。
(6)本发明的第六方式中,提供一种数据处理装置,对于可进行数据的读出、写入,且对读出的数据可执行纠错的存储卡,即将读出动作时用于指定是否执行纠错功能的纠错设定信息和存储卡固有的特性信息作为管理信息进行存储的存储卡进行读写。数据处理装置包括与存储卡之间进行命令和数据的发送接收的卡接口器和控制数据处理装置的动作的控制器。
控制器在存储卡装载在数据处理装置中时或数据处理装置的电源接通时,从存储卡中读出特性信息,并根据读出的特性信息,进行在存储卡中是否执行纠错功能的判断,并根据其判断结果,经卡接口器将设定纠错设定信息用的命令发送到存储卡。
(7)本发明的第七方式中,提供了一种存储卡的控制方法,该存储卡是可进行数据的写入、读出,且对读出的数据可执行纠错的存储卡,将在读出动作时用于指定是否执行纠错功能的纠错设定信息作为管理信息来进行存储。
该控制方法在数据读出动作时,在参考纠错设定信息,并在纠错设定信息表示纠错功能的停止的情况下,对读出的数据不进行纠错,另一方面,在纠错设定信息表示纠错功能的动作的情况下,对读出的数据进行纠错。
(8)本发明的第八方式中,提供了一种对于存储卡的设定方法,该存储卡是可进行数据的读出、写入且对读出的数据可执行纠错的存储卡,将在读出动作时用于指定是否执行纠错功能的纠错设定信息和存储卡固有的特性信息作为管理信息来进行存储。
该设定方法从存储卡中读出特性信息,并根据读出的特性信息,进行在存储卡中是否执行纠错功能的判断,并根据其判断结果,将设定纠错设定信息用的命令经卡接口器发送到存储卡。
发明的效果如上所述,根据本发明,可以从主机侧设定存储卡中的重试功能和纠错功能的动作/停止。由此,从主机侧根据需要删除存储卡中的重试功能,主机侧与写入时间有关的估计变得容易。即,在要求实时性的应用程序中,在写入错误时,不实施重试处理,而通过快速向主机进行通知,从而使主机侧的处理变得容易,可以保证实时动作。另外,在主机要求高的数据的可靠性,但是存储卡不满足该要求的情况下,通过从主机侧删除存储卡中的纠错功能,从而可以使用主机具有的高的纠错功能,进行读出数据的纠错,可以确保一定的数据的可靠性。
图1是表示本发明的实施方式中的存储卡和主机(数据处理装置)的结构框图;图2是表示在存储卡的寄存器中存储的管理信息的例子的图;图3是表示在存储卡上存储的块管理表格的结构和数据例的图;图4是表示在主机中的存储卡的初始化时执行的处理的动作的流程图;图5是表示存储卡中的写入处理的动作的流程图;图6是表示存储卡中的读出处理的动作的流程图。
图中符号说明1-存储卡,2-主机接口,3-控制器,4-RAM,5-指令ROM,6-缓存存储器,7-闪存存储器,31-微处理器(MPU),32-寄存器,33-纠错单元,41-工作RAM,42-块管理表,50-主机(数据处理装置),51-控制器,53-数据存储部,55-卡接口器,57-输入输出处理部,59-缓存存储器。
具体实施例方式
下面,参考附图来说明本发明的实施方式。
图1是表示本发明的实施方式中的存储卡和数据处理装置(下面称作“主机”)的结构框图。
(主机的结构)主机(数据处理装置)50包括例如数码照相机、数码摄相机、各种便携终端设备、个人计算机等的电子设备。
主机50包括控制器51、数据存储部53、卡接口器55、输入输出处理部57和缓存存储器59。数据存储部53存储控制程序61。
卡接口器55与存储卡1的主机接口2之间进行数据的交换。即,卡接口器55与主机接口2之间发送接收在存储卡1中读写的数据和各种控制用的命令和时钟信号。
控制器51进行主机50整体的动作控制,并与数据存储部53中存储的控制程序61协同来实现后述的规定的功能。
输入输出处理部57包括与用户对主机50进行的设定和操作有关的信息和数据的输入单元和进行视频、声音等的输出的输出单元。
缓存存储器59是暂时存储向存储卡1写入的数据的存储器,为了在存储卡1上产生写入错误的情况下,可以吸收其错误,而具有某种程度的大的容量。
(存储卡的结构)存储卡1是装在主机50上来使用,可从主机50进行数据的写入、读出的记录介质。存储卡1具有在写入时产生错误时重试的重试功能和进行数据的纠错的纠错功能。
存储卡1由主机接口2、控制器3、RAM4、指令ROM5、缓存存储器6和作为可改写的非易失性存储器的闪存存储器7构成。
主机接口2是进行与装载存储卡1的主机50的接口的块,发送接收在闪存存储器7中读写的数据和各种控制用的命令和时钟信号。
控制器3是控制存储卡1整体的块,具有微处理器(下面称作“MPU”)31、寄存器32和纠错单元33。
MPU31执行在指令ROM5中存储的控制程序,并进行RAM4、闪存存储器器7和缓存存储器6的控制。
寄存器32是保持对存储卡1的管理信息的存储单元。管理信息中包括通过主机接口2从主机50转发的设定值和存储卡1的固有的特性值。图2表示在寄存器32中存储的管理信息的例子。
图2中,管理信息作为从主机50转发的设定值,包括重试使能位纠错使能位。重试使能位是指定存储卡1中在数据写入时是否执行重试处理的“重试设定信息”。纠错使能位是指定存储卡1中在数据读出时,是否执行纠错处理的“纠错设定信息”。
进一步,管理信息在存储卡1中作为固有的特性值,保持数据写入的最大需要时间、重试发生频率、错误发生频率和错误率。对于数据写入的最大需要时间,存储了对于进行重试处理的情况和不进行的情况下的各自的值。重试发生频率是重试处理发生的频率,即概率。错误发生频率是在不进行重试处理的情况下,在写入时错误发生的频率,即概率。对于错误率,存储了在进行纠错处理的情况下和不进行的情况下的各自的值。任何一个信息都可通过主机接口2从主机50中读出。另外,作为存储卡固有的特征值在管理信息中存储的信息中除上述之外,也可包括存储器类别、删除块大小、管理块大小、使用温度条件和消耗功率等。
回到图1,纠错单元33在数据写入时,对从主机50传来的数据,生成、添加纠错码,并进一步,在数据读出时,检测从闪存存储器7中读出的数据是否有错误,在有错误的情况下,进行纠正处理。
指令ROM5是读出专用的非易失性存储器,存储了MPU31的控制程序。缓存存储器6暂时保持从主机传来的数据。闪存存储器器7存储从主机传来的数据。
RAM4是易失性存储器,由作为控制器3的操作用领域的工作RAM41和块管理表格42构成。块管理表格42是管理闪存存储器7的使用状态的表格。图3表示块管理表格42的一例。
一般向闪存存储器7的物理块(下面称作“物理块”)的读写通过指定从主机50提供的逻辑块(下面称作“逻辑块”)的地址来进行。块管理表格42的一个任务是将逻辑块的地址(逻辑地址)转换(或分配)为物理块的地址(物理地址)。
图3的块管理表格42管理作为块地址的物理地址和逻辑地址的对应关系和该物理地址(即,该物理地址指定的块)有无使用。
例如,如图3所示,写入物理块的使用的有无和对各物理块分配的逻辑地址号。不管是否已经使用(表示使用的有无的栏的值为“0”),逻辑地址没有写入的物理地址(图3的例中,物理地址“6”)指定的物理块是指该物理块是不良的块,不作为写入地址来加以选择。
(主机侧的处理)参考图4所示的流程图,来说明主机50在存储卡1的初始化时进行的处理。图4所示的处理在通过主机50的控制器51执行,将存储卡1新装到主机50时和在装载了存储卡1的状态下接通了主机50的电源时等来加以执行。
最先,控制器51对存储卡1发送初始化存储卡1用的命令(S51)。在存储卡1接收到该命令后,执行规定的初始化处理。接着,控制器51向存储卡1发送在存储卡1中确认初始化处理的完成用的命令(S52)。存储卡1在接收到该命令后,将表示初始化处理是否完成的响应发送到主机50。控制器51在接收到来自存储卡1的响应后,判断初始化处理完成(S53)。
若初始化处理完成(步骤S53中是),则控制器51对存储器1请求“重试发生频率”、“错误发生频率”和对于进行重试处理的情况和不进行的情况下各自的“写入时间的最大需要时间”(S54)。根据该请求,存储卡1将在寄存器32中存储的这些信息发送到主机50。控制器51根据从存储卡1接收的信息,判断能否使用存储卡1(S55)。该判断例如如下这样来进行。
即,数据处理装置50为了即使在存储卡1中产生了写入错误,也可允许某种程度,而装载缓存存储器59。控制器51根据基于从存储卡1接收的信息得到的判断条件是否超过缓存存储器59的允许量,来判断能否使用存储卡1。作为判断条件考虑以下两点。
判断条件1重试发生频率×进行重试处理的情况下的写入时间的最大需要时间判断条件2错误发生频率×不进行重试处理的情况下的写入时间的最大需要时间控制器51在上述判断条件1、2两者都超过基准值的情况下,判断为超过缓存存储器59的允许量,而作为系统失败,判断为不能使用存储卡1。若判断条件1、2的至少之一在基准值内,则判断为可使用存储卡1。在判断为不能使用存储卡1的情况下(步骤S55中否),作为错误处理(S63),而终止处理。
另一方面,在判断为可以使用存储卡1的情况下(步骤S55中是),控制器1根据判断条件1,进一步判断使存储卡1的重试功能动作还是停止(S56)。即,将判断条件1与判断重试功能的动作/停止用的基准值比较,在判断条件1比该基准值大的情况下,使存储卡1的重试功能停止。这是因为若写入时间的最大需要时间大,则在主机50要求运动图像记录等的实时处理的情况下,因重试处理的执行数据记录需要时间,有实时处理不能实现的情况。
这样,由于主机50可以设定存储卡1的重试功能的ON/OFF,所以通过在不需要重试功能的情况下进行OFF,从而写入时间的估计等变得容易。即,在写入错误时,不实施重试处理,而通过快速向主机50通知,使主机50侧的处理变得容易。
在判断为使重试功能停止的情况下(步骤S57中是),控制器51对存储卡1发送将寄存器32内的重试使能位设定为OFF用的命令(S58)。若存储卡1中接收了该命令,则将寄存器32内的重试使能位设定为OFF。
接着,控制器51对存储卡1请求对于进行纠错的情况下和不进行的情况下各自的错误率(S59)。
并且,根据不进行接收的纠错的情况下的错误率来判断可否使用存储卡1(S60)。例如,在认为不进行存储卡1的纠错的情况下的错误率非常高,即使使用主机侧的纠错功能也不能进行纠正,不能得到可允许的数据质量的情况下,判断为不能使用存储卡1。具体的,将不进行存储卡1的纠错的情况下的错误率与规定的基准值(第一基准值)比较,在该存储卡1的错误率比第一基准值大的情况下,判断为不能使用该存储卡1。另外,第一基准值设定为比在主机50侧可进行纠正的错误率高的值。
在判断为不能使用存储卡1的情况下(步骤S60中否),作为错误来进行处理(S63),而终止处理。
在判断为可使用存储卡1的情况下(步骤S60中是),控制器1根据进行存储卡1的纠错的情况下的错误率,判断使存储卡1的纠错功能动作还是停止(S61)。在判断为存储卡1可使用,但是判断为通过存储卡1的纠错功能得不到充分的数据质量的情况下,在主机50侧执行纠错。因此,使存储卡1的纠错功能停止。具体的,在进行纠错的情况下的存储卡1的错误率比判断纠正功能的动作/停止用的基准值(第二基准值、第二基准值<第一基准值)大时,使在存储卡1中纠错功能停止。
在判断为使存储卡1的纠错功能停止的情况下(步骤S61中是),控制器51对存储卡1发送将寄存器32内的纠错使能位设定为OFF用的命令(S62)。若在存储卡1中接收了该命令,则将寄存器32内的纠错使能位设定为OFF。
这样,可以从主机侧设定存储卡1的纠错功能的ON/OFF。因此,具有高纠错能力的主机50在判断为存储卡1的纠错能力比要求的能力低时,可以使存储卡1的纠错功能停止,在主机侧进行纠错,由此,可以提高数据可靠性。
如上这样,主机50在存储卡1的初始化处理时,从存储卡1读出该存储卡固有的特性值,并可根据该特性值,根据需要,设定存储卡1的重试功能和纠错功能的ON/OFF。
(数据写入处理)参考图5所示的流程图来说明存储卡1的数据写入处理。图5所示的流程图通过存储卡1的控制器3来执行。另外,本处理在存储卡1从主机50接收了写入命令时开始。另外,下面为了使说明方便,将闪存存储器7中的作为数据写入单位的页和数据删除单位的块设定为相同大小。由此,数据以块为单位来写入。
首先,MPU31在经主机接口2,从主机50接收了写入命令后,将从主机50送来的写入数据暂时存储到缓存存储器6中(S1)。
接着,MPU31参考在图3所示的块管理表格42中写入的信息,检索可写入的物理地址,即未使用(“1”)的物理地址而求出(S2)。
接着,从缓存存储器6中以块为单位来读出数据,同时,通过纠错单元33来添加纠错码,并将数据转发到闪存存储器7内的寄存器中。
接着,对闪存存储器7发送写入命令,并在检索的物理地址上进行数据的写入(S4)。在写入动作后,判断在闪存存储器7中数据写入的处理状态是否正常(S5)。因此,对闪存存储器7发送状态读取命令,并从闪存存储器7中取得表示在闪存存储器7中数据写入是否正常的状态。在状态读取中,作为返回错误的情况,除了写入错误之外,还包括闪存存储器中因特有的重试处理造成的异常终止的情况等。
MPU31在通过对于来自闪存存储器7的状态读取命令的响应,判断为数据写入正常进行的情况下(步骤S5中是),对于块管理表格42上的对应的地址,将与使用的有无有关的信息从未使用“1”改写为使用“0”,与此同时,写入逻辑地址(逻辑块号)(S6),而正常终止写入处理(S7)。若写入处理正常终止,则将该内容通知给主机50。
另一方面,在步骤S5中,在判断为数据写入不正常进行的情况下(步骤S5中否),对于进行了数据写入的地址,将块管理表格42上的与使用的有无有关的管理信息从未使用“1”改写为使用“0”(S8)。
接着,参考在寄存器32中保持的重试使能位,判断该值是ON(使能(enable))还是OFF(不能(disable))(S9)。
在重试使能位是OFF时(步骤S9中否),由于其是指重试功能的停止,所以不执行重试处理,而在执行规定的错误处理后(S11),终止处理。规定的错误通知例如是向主机通知错误的发生。这时,不进行向块管理表格42的逻辑地址的写入。即,该物理地址是不良块。
另一方面,在重试使能位是ON(使能)时(步骤S9中是),判断该写入处理是否是重试处理(第二次的处理)(S10)。在判断为是重试处理的情况下,在执行规定的错误处理后(S11),终止处理。这时,不进行向块管理表格42的逻辑地址的写入。即,该物理地址是不良块。
在步骤S10不是重试处理的情况下,为了执行重试处理而进入到步骤S12。在步骤S12中,与步骤S2相同,参考块管理表格42,检索决定可写入的物理地址,即未使用(“1”)的物理地址后,进入到步骤S4。之后的处理如前述那样。
根据如上这样的顺序,在缓存存储器6中保持的数据以块为单位来重复进行向闪存存储器7的写入(转发),在所有的数据的写入正常终止的情况下,向主机50通知写入完成。另外,在数据写入时发生了异常的情况下,若重试功能为OFF,则不进行其之后的数据的写入,而在异常发生时刻,通知给主机50。
如上所述,根据本实施方式,在步骤S9中,仅在重试使能位是使能的情况下(步骤S9中是),实施重试处理。因此,通过从主机50预先将重试使能位设定为OFF(不能),在有写入异常的情况下,可以不等待重试处理,而将异常通知给主机50。进一步,通过参考事先从寄存器32中读出的写入时间的最大需要时间的重试发生频率,可以在主机50侧实施对应于这些值的错误处理。
另外,在上述实施方式中,说明了在重试处理时没有从主机再次转发写入数据的情况,但是也可再次转发写入数据。
(数据读出处理)接着,参考图6所示的流程图来说明存储卡1的数据读出处理。图6所示的处理通过控制器3来执行。另外,本处理在存储卡1从主机50接收了读出命令时开始。
控制器3经主机接口2从主机50接收到读出命令后,MPU31参考向块管理表格42写入的信息,并从主机50搜索对应于作为读出地址指定的逻辑地址的物理地址来求出(S21)。
接着,从搜索的物理地址指定的块中进行数据的读出(S22)。因此,MPU31对闪存存储器7发出读出命令,并由此,将读出的数据保持在闪存存储器7内的寄存器中。
接着,在从闪存存储器7的寄存器读出数据,并经过纠错单元33检测出了错误后,转发到缓存存储器6中,来暂时进行存储(S23)。
接着,判断在寄存器32中保持的纠错使能位是否为ON(使能)(S24)。在纠错使能位为ON(使能),即进行纠错处理的情况下(步骤S24中是),判断是否检测出了错误(S25)。在没有检测出错误的情况下(步骤S25中否),正常终止。在检测出了错误的情况下(步骤S25中是),算出错误的位置和大小(S26),并根据这些信息来判断是否可进行纠错(S27)。
步骤S27中,在检测出的错误是存储卡1的纠错能力以内的情况下,进行在缓存存储器6中保持的数据的纠正(S28),并正常终止(S29)。若检测出的错误超过存储卡1的纠正能力,且判断为不能纠正的情况下(步骤S27中否),异常终止(步骤S30)。
另外,在纠错使能位为OFF(不能)的情况下(步骤S24中否),不进行纠错,而正常终止(S29)。
在正常终止(S29)的情况下,重复从闪存存储器7向缓存存储器6的块单位的读出,并将缓存存储器6上的数据通过主机接口2转发到主机50。在异常终止(S30)的情况下,将该内容通知给主机50,停止从异常发生后的闪存存储器7的数据读出。
以上所述,根据本实施方式,在步骤S24中,由于仅在纠错使能位为使能(ON)的情况下进行纠错处理,通过使纠错使能位不能,即使数据的读出时有超过纠正能力的错误,也可读出闪存存储器7内的所有数据来输出。
即,主机50从寄存器32中预先读出进行纠错处理的情况下的错误率,并根据其来决定纠错使能位的设定,从而在不需要进行存储卡1中的纠错功能的情况下,也可使该功能停止。例如,在主机50具有比存储卡1强的纠错功能,且希望高的数据可靠性的情况下,将纠错使能位设定为不能(OFF),通过使纠错功能停止,在数据写入时,在主机侧添加了强的纠错码的情况下,可进行数据的写入,另外,在数据读出时,可在主机侧进行纠错,由此,可以使数据读写时的错误率降低。
另外,本实施方式中,说明了在装载了非易失性存储器的存储卡中实施的情况,但是除此之外,对于例如电子设备内置的非易失性存储器也同样可实施,本发明的思想的使用当然不限于存储卡。
产业上的可用性本发明可以在可实施重试处理或纠错处理的存储器和对这种存储卡读写的数据处理装置中使用。尤其,本发明由于可在可进行重试处理或纠错处理的存储卡中,从主机侧根据需要,进行存储卡中的重试处理或纠错处理的动作/停止,所以对具有高的处理能力,不依赖于存储卡侧的能力的数据处理装置(主机)和与其相连的存储卡有用。
另外,本发明说明了特定的实施方式,但是对于本领域内普通技术人员来说,可以明白可进行其他的多个变形例、修改和其他使用。因此,本发明并不限于这里的特定的公开,仅通过附加的权利要求来限定。本申请与日本专利申请,特愿2004-026413号(2004年2月3日提出)相关,通过参考这些内容来在本文中引入。
权利要求
1.一种存储卡,从数据处理装置可进行数据的写入、读出,包括主机接口,其与所述数据处理装置之间进行命令和数据的发送接收;非易失性存储器,其存储所述数据;控制器,其控制所述存储卡的动作;及存储单元,其存储规定的管理信息,所述管理信息,包括在向非易失性存储器的写入动作时产生了错误之际用于指定是否执行重试功能的重试设定信息,所述控制器,在数据写入动作时,参考所述重试设定信息,在该重试设定信息表示重试功能停止的情况下,以在数据写入动作时的错误发生之际使重试功能不动作的方式控制写入动作,另外,在该重试设定信息表示重试功能动作的情况下,以在数据写入动作时的错误发生之际使重试功能动作的方式控制写入动作。
2.根据权利要求1所述的存储卡,其特征在于所述管理信息进一步包括所述存储卡固有的特性信息,所述控制器根据来自所述数据处理装置的请求将所述特性信息发送到所述数据处理装置。
3.根据权利要求2所述的存储卡,其特征在于所述特性信息包括所述存储卡中与数据写入所需的最大的需要时间有关的信息。
4.根据权利要求2所述的存储卡,其特征在于所述特性信息包括所述存储卡中与重试处理发生的频率有关的信息。
5.一种数据处理装置,对存储卡可进行读写,该存储卡可进行数据的读出、写入,且将在写入动作时产生了错误之际用于指定是否执行重试功能的重试设定信息和存储卡固有的特性信息作为管理信息进行存储,该数据处理装置包括卡接口器,与所述存储卡之间进行命令和数据的发送接收;及控制器,其控制所述数据处理装置的动作,所述控制器,在所述存储卡装载在所述数据处理装置时或在数据处理装置的电源接通时,从所述存储卡中读出所述特性信息,并根据该读出的特性信息,进行在存储卡中是否执行重试功能的判断,并按照该判断结果,将用于设定所述重试设定信息的命令经所述卡接口器发送到所述存储卡。
6.一种存储卡的控制方法,该存储卡可进行数据的读出、写入,且将在写入动作时产生了错误之际用于指定是否执行重试功能的重试设定信息作为管理信息进行存储,在数据写入动作时,参考所述重试设定信息,在所述重试设定信息表示重试功能停止的情况下,在数据写入动作时的错误发生之际使重试功能不动作,在所述重试设定信息表示重试功能动作的情况下,在数据写入动作时的错误发生之际使重试功能动作。
7.一种对存储卡的设定方法,该存储卡,可进行数据的读出、写入,且将在写入动作时产生了错误之际用于指定是否执行重试功能的重试设定信息和存储卡固有的特性信息作为管理信息进行存储,从所述存储卡中读出所述特性信息,根据该读出的特性信息,进行在存储卡中是否执行重试处理的判断,根据该判断结果,将用于设定所述重试设定信息的命令经所述卡接口器发送到所述存储卡。
全文摘要
存储卡(1)包括与数据处理装置(50)之间进行命令和数据的发送接收的主机接口(2)、存储数据的非易失性存储器(7)、控制存储卡的动作的控制器(3)和存储规定的管理信息的存储单元(32)。管理信息包括在向非易失性存储器的写入动作时产生了错误之际指定是否执行重试功能用的重试设定信息。控制器(3)在数据写入动作时,参考重试设定信息,在重试设定信息表示重试功能的停止的情况下,为了在数据写入动作时的错误发生时使重试功能不动作,或在重试设定信息表示重试功能的动作的情况下,为了在数据写入动作时的错误发生时使重试功能动作,而控制写入动作。
文档编号G06F12/16GK1914627SQ20058000395
公开日2007年2月14日 申请日期2005年2月2日 优先权日2004年2月3日
发明者笠原哲志, 泉智绍, 中西雅浩, 田村和明, 松野公则 申请人:松下电器产业株式会社