非易失性存储器系统 【技术领域】
本发明涉及一种用于提高非易失性存储器系统的可靠性的技术,尤其涉及一种有效地运用于通过采用非易失性半导体存储器构造的存储器系统中的数据保护的技术。
背景技术
作为个人计算机的外部存储介质,公知的有多功能外设等,例如,诸如CF(小型闪速)卡、智能介质、存储棒和多媒体卡等存储器系统。
在对这样一个存储器系统的读/写数据的过程中,在将数据存入存储卡时,即使在出现写错误的情况下,也不重写声音数据和视频数据。通过顺序地写入连续接收的数据,防止了数据的溢出。对于诸如FAT数据的数据,在出现写错误的情况下,检索出一个备用区域并重写数据(例如,参考日本专利申请No.2001-334243)。
在主机作出请求来从存储器系统读取/传送错误数据的情况下,如果存储器系统具有诸如ECC(纠错码)的校正功能并且错误数据是可校正的,则存储器系统校正该数据,将数据重写在存储器系统中,并将数据传送给主机。
在数据是不可校正的或者存储器系统具有诸如奇偶校验的错误检测功能的情况下,将错误通知给主机并完成该过程。
【发明内容】
然而,本发明人在这里发现,对存储器系统读/写数据的技术具有下面的问题。
例如,在诸如个人计算机的主机的数据读/写过程期间当一个外部电源电压由于某些原因变得不稳定时,存在出现错误读或写的可能性。
在这种情况下,数据读/写过程可以通过一个中断从主机向存储器系统的数据传送过程的复位过程来中断。然而,在复位过程完成之后,即使在电源电压不稳定时,主机也再次接受读/写过程。这引起一个问题,使得出现错误读/写。
在主机中出现异常操作地情况下,主机的异常状态不能被通知给存储器系统。这引起一个问题,使得错误数据通过一个重写错误数据的过程被存储到存储器系统中。
在存储器系统采用ECC等校正数据的情况下,用于数据校正的过程时间较长,主机的等待时间变长,使得实时性能可能变坏。
在传送声音数据或图象数据时,需要传送大量的数据。因此,即使在数据包括少量错误数据(例如,声音的中断和图象中的噪声)时也可能会要求不间断地连续地传送数据,而不是通知一个错误。
本发明的一个目的是提供一种存储器系统,其中,甚至在数据传送过程期间也可以在紧急停止请求的基础上可靠地保护数据,并且,实现了可靠性的极大提高。
本发明的另一个目的是提供一种存储器系统,能够根据数据来确定是否执行错误校正并有效地传送数据。
从说明书和附图的描述中,本发明的上述和其他目的和新颖特征将变得明显。
在说明书中公开的发明的代表性例子的概述将被简要描述如下。
(1)包括一个或更多半导体存储器和一个信息处理器的非易失性存储器系统,其中,在从外部接收到一个紧急停止信号时,信息处理器停止正在执行的操作,并进入一个对于来自外部的过程请求不给出响应的无响应状态。
说明书中的另一个发明的概述将被简要描述。
(2)包括一个或更多半导体存储器和一个信息处理器的非易失性存储器系统,其中,信息处理器具有一个传送模式存储单元,用于存储用于设置错误数据的传送模式的传送功能设置数据,信息处理器在读/写操作时在一个数据传送过程中参考(refer to)传送模式存储单元中的传送功能设置数据,及当传送功能设置数据的错误数据传送功能被设置为有效时,即使传送数据包括错误数据也执行一个传送过程。
【附图说明】
图1是依据本发明的第一实施例的数据存储器系统的方框图。
图2是在图1的数据存储器系统中的读数据的传送期间执行的紧急停止请求过程的流程图。
图3是在图1的数据存储器系统中的写数据的传送期间在发出紧急停止信号时执行的过程的流程图。
图4是在图1的数据存储器系统中的写数据的传送期间在发出紧急停止信号时执行的过程的流程图。
图5是提供给图1的数据存储器系统的电源电压的序列图。
图6是显示依据本发明的第一实施例的数据存储器系统中的复位信号的连接的一个例子的方框图。
图7是在图6的数据存储器系统中的复位信号和紧急停止信号的序列图。
图8是显示依据本发明的第一实施例的数据存储器系统中的复位信号的连接的另一个例子的方框图。
图9是显示采用图8的数据存储器系统的信号过程的示意图。
图10是显示依据本发明的另一个实施例的数据存储器系统的一个例子的方框图。
图11是由图10的数据存储器系统提供的电源电压的序列图。
图12是显示依据本发明的另一个实施例的数据存储器系统的另一个例子的方框图。
图13是显示图12的数据存储器系统的操作的一个例子的序列图。
图14是显示依据本发明的另一个实施例的数据存储器系统的一个例子的方框图。
图15是显示图14的数据存储器系统的操作的一个例子的序列图。
图16是显示依据本发明的另一个实施例的数据存储器系统的另一个例子的方框图。
图17是显示图16的数据存储器系统的操作的一个例子的序列图。
图18是显示依据本发明的另一个实施例的数据存储器系统的一个例子的方框图。
图19是显示由为图18的数据存储器系统提供的信息处理器存取的寄存器的一个例子的示意图。
图20是显示依据本发明的另一个实施例的数据存储器系统的另一个例子的方框图。
图21是显示由为图20的数据存储器系统提供的信息处理器存取的寄存器的一个例子的示意图。
图22是依据本发明的第二实施例的数据存储器系统的方框图。
图23是在图22的数据存储器系统中当错误数据传送功能被设置为有效时读数据的传送的流程图。
图24是在图22的数据存储器系统中当错误数据传送功能被设置为无效时读数据的传送的流程图。
图25是在图22的数据存储器系统中当传送校正数据的错误数据校正和传送功能被设置为有效时读数据的传送的流程图。
图26是当从为图22的数据存储器系统提供的控制器作出一个读和传送请求时执行的操作的流程图。
图27是显示当从图22的控制器作出一个读和传送请求时执行的操作的另一个例子的流程图。
图28是显示由依据本发明的第二实施例的数据存储器系统改变传送功能设置数据的一个例子的流程图。
图29是显示由依据本发明的第二实施例的数据存储器系统改变传送功能设置数据的另一个例子的流程图。
图30是显示当在为依据本发明的第二实施例的数据存储器系统提供的半导体存储器中设置传送功能设置数据时的数据结构的一个例子的示意图。
图31是显示当在为依据本发明的第二实施例的数据存储器系统提供的半导体存储器中设置传送功能设置数据时的数据结构的另一个例子的示意图。
图32是显示由依据本发明的第二实施例的数据存储器系统切换设置和传送功能的一个例子的流程图。
图33是依据本发明的第二实施例在半导体存储器中设置传送功能设置数据的数据存储器系统的方框图。
图34是由图33的数据存储器系统在写数据的传送时设置一个传送标志的过程的流程图。
图35是显示在图34中设置了传送模式之后的读/传送过程的流程图。
图36是依据本发明的另一个实施例的数据存储器系统的方框图。
【具体实施方式】
下面将参考附图详细描述本发明的实施例。
第一实施例
图1是依据本发明的第一实施例的数据存储系统的方框图。图2是在图1的数据存储器系统中的读数据的传送期间执行的紧急停止请求过程的流程图。图3是在图1的数据存储器系统中的写数据的传送期间在发出紧急停止信号时执行的过程的流程图。图4是在图1的数据存储器系统中的写数据的传送期间在发出紧急停止信号时执行的过程的流程图。图5是提供给图1的数据存储器系统的电源电压的序列图。图6是显示依据本发明的第一实施例的数据存储器系统中的复位信号的连接的一个例子的方框图。图7是在图6的数据存储器系统中的复位信号和紧急停止信号的序列图。图8是显示依据本发明的第一实施例的数据存储器系统中的复位信号的连接的另一个例子的方框图。图9是显示采用图8的数据存储器系统的信号过程的示意图。
在第一实施例中,数据存储器系统1例如是一个采用闪速存储器等构造的存储卡,被用作作为主机的信息处理器PC的外部存储介质。信息处理器PC是个人计算机、多功能外设等。
如图1所示,数据存储器系统(存储器系统)1由一个控制器(信息处理器)2和M条半导体存储器3构成。虽然采用了提供M条半导体存储器3的构造,但一个半导体存储器就足够了。
控制器2在操作程序的基础上读出存储在半导体存储器3中的程序、数据等,并执行一个预定过程或给出一个数据写指令。
半导体存储器3例如是诸如闪速存储器的非易失性半导体存储器。半导体存储器3不限于闪速存储器,而是可以是能够存储数据的存储器,例如SRAM(静态随机存取存储器)、DRAM(动态RAM)、MRAM(磁阻RAM)、EPROM(可擦除和可编程只读存储器)等。
在本发明的实施例中,控制器和存储器是彼此分离的。或者,可以使用通过将控制器、存储器和外设部分形成为一个部件而获得的嵌入式半导体。
控制器2和半导体存储器3通过半导体存储器总线MB彼此相连。控制器2由控制电路4、输入/输出电路5等构成。控制电路4控制输入/输出电路5,输入/输出电路5控制在半导体存储器3和信息处理器PC之间的数据传输。
进一步地,信息处理器PC和控制器2通过信息处理器总线PCB彼此相连。信息处理器总线PCB具有一个机械耦合装置,可以是电连接的触点类型的,或者是通过信息传输媒介、例如电波发送信息的非触点类型的。
一条信号线S与控制器2的控制电路4相连。信号线S也具有一个机械耦合装置,可以是电连接的触点类型的,或者是通过信息传输媒介、例如电波发送信息的非触点类型的。
通过信号线S,一个紧急停止信号从外部提供给控制电路4。当接收到紧急停止信号时,控制器2停止读/写操作中的数据传送过程。
下面将描述实施例中的数据存储器系统1的操作。
首先,将利用图2的流程图描述在数据存储器系统1中的读数据的传送期间请求紧急停止的过程。
当信息处理器PC向控制器2发送一个读取和传送数据0到N的请求时(步骤S101),控制器2向半导体存储器3发送读取和传送数据0到N(图1)的请求(步骤S102),并向信息处理器PC通知读数据的传送(步骤S103)。
通过通知读数据的传送,通过控制器2将半导体存储器3中的数据从数据0开始顺序地读取和传送到信息处理器PC(步骤S104)。
例如,在步骤S104的过程期间当完成了将直至数据K的数据传送到信息处理器PC之后通过信号线S接收到用于请求紧急停止的紧急停止信号时(步骤S105),控制电路4接收紧急停止信号,立即停止传送过程,并向信息处理器PC通知读数据传送的结束(步骤S106)。不管传送是正常还是异常结束,都通知读数据传送的结束。
即使在向信息处理器PC通知了读数据传送的结束之后再次从信息处理器PC发送一个用于传送读数据的请求(步骤S107),控制器2也不传送数据,而是向信息处理器PC通知读数据的不可传送状态(步骤S108)。
接着,下面利用图3的流程图描述在数据存储器系统1中的写数据的传送期间当发出紧急停止信号时执行的过程。
当信息处理器PC向控制器2发送一个用于传送写数据0到N的请求时(步骤S201),控制器2向半导体存储器3发送用于传送写数据0到N的请求(步骤S202),并向信息处理器PC通知写数据的传送(步骤S203)。
通过通知写数据的传送,将数据从信息处理器PC顺序地传送到半导体存储器3(步骤S204)。
例如,在步骤S204的过程期间当完成了直至数据K的写数据传送之后通过信号线S接收到用于请求紧急停止的紧急停止信号时(步骤S205),控制电路4接收紧急停止信号,立即停止传送过程,并向信息处理器PC通知写数据传送的结束(步骤S206)。不管传送是正常还是异常结束,都通知写数据的结束。
即使在向信息处理器PC通知了写数据传送的结束之后再次从信息处理器PC发送一个用于传送写数据0到N的请求(步骤S207),控制器2也不传送数据,而是向信息处理器PC通知写数据的不可传送状态(步骤S208)。
接着,下面利用图4的流程图描述在数据存储器系统1中的写数据的传送期间当发出紧急停止信号时执行的过程的另一个例子。
当信息处理器PC向控制器2发送一个用于传送写数据0到N的请求时(步骤S301),控制器2向半导体存储器3发送用于传送写数据0到N的请求(步骤S302),并向信息处理器PC通知写数据的传送(步骤S303)。
通过通知写数据的传送,将写数据从信息处理器PC顺序地传送到半导体存储器3(步骤S304)。
例如,在步骤S304的过程期间当通过信号线S输入用于在完成了直至数据K的写数据传送之后请求紧急停止的紧急停止信号时(步骤S305),控制电路4在接收到紧急停止信号后立即停止传送过程,并向信息处理器PC通知一个占线状态(步骤S306),以便不会从信息处理器PC发送下一个命令。
图4显示了在写数据传送时执行的过程。在读数据传送时,执行类似的过程。
图5是显示在由紧急停止信号作出紧急停止请求之后提供给数据存储器系统1的电源电压的序列的一个例子的示意图。
图5从上到下显示了紧急停止信号、外部电源电压VCC和输入到数据存储器系统1的控制状态的各个序列。
如果在数据存储器系统1处于空闲状态时从信息处理器PC发送一个数据传送请求,基于该请求,数据存储器系统1执行数据传送过程。当在数据传送过程期间输入一个活动状态(低电平)的紧急停止信号时,数据存储器系统1执行一个中断过程,并进入一个不接受任何过程的过程不可接受状态。
当数据存储器系统1的电源电压VCC被设置到低电平(电源电压VCC被设置到OFF状态)并且外部电源电压被再次设置到ON状态时,取消过程不可接受状态,从而执行复位数据存储器系统1的过程。
图6是显示在信息处理器PC向数据存储器系统1发送一个加电复位(power-on-reset)信号的情况下的连接的一个例子的方框图。
在这种情况下,将信息处理器PC输出的复位信号RS提供给数据存储器系统1。
图7是显示加电复位信号的操作与图6的数据存储器系统1中的紧急停止信号的操作之间的差别的序列图。
图7从上到下显示了紧急停止信号、外部电源电压VCC和输入到数据存储器系统1的控制状态的各个序列。
由紧急停止信号执行的过程与图5中的类似。在从信息处理器PC提供活动(低电平)的加电复位信号的情况下,数据存储器系统1执行复位过程,此后,进入一个空闲状态,再次开始接受数据传送过程等。
也就是说,数据存储器系统1在复位过程之后进入空闲状态,并接受信息处理器PC的数据传送过程。然而,在由紧急停止信号执行的紧急停止过程之后,数据存储器系统1不接受数据传送过程。
因此,在数据传送过程等期间在外部电源电压电平变得不稳定的情况下,通过由紧急停止信号执行紧急停止过程,可以保护数据存储器系统1中的数据。
如图8所示,输入到数据存储器系统1中的紧急停止信号可以从信息处理器PC输出。在这种情况下,从信息处理器PC输出的紧急停止信号通过信号线S1被提供给数据存储器系统1。
如上所述,例如如图9所示在信息处理器PC具有多个任务(任务A和B)时,从信息处理器PC输出紧急停止信号的构造是有效的。
如果在任务A占据数据存储器系统1时出现保护数据存储器系统1中的数据的必要性,任务B可以通过不同于信息处理器总线PCB的I/O(输入/输出)端口向数据存储器系统1输出紧急停止信号。
图10是显示数据存储器系统1a的另一个例子的方框图。
在这种情况下,数据存储器系统1a的构造是通过将电源稳压IC(电源电压单元)6和电压监视IC7和8添加到图1中的数据存储器系统1上而获得的。
电源稳压IC 6从自外部提供的外部电源电压VCC产生一个内部电源电压VDD,并将内部电源电压VDD通过内部电源线NS提供给控制器2、半导体存储器3和电压监视IC(第一电压监视单元)7中的每一个。
电压监视IC 7监视由电源稳压IC 6产生的内部电源电压VDD的电压电平,如果出现一个异常状态,向控制电路4输出加电复位信号。将外部电源电压VCC提供给电压监视IC(第二电压监视单元)8。在外部电源电压VCC出现异常状态的情况下,向控制电路4输出紧急停止信号。
下面利用图11的序列图描述数据存储器系统1a中的操作。
图11从上到下显示了外部电源电压VCC、内部电源电压VDD、从电压监视IC 7输出的加电复位信号、从电压监视IC 8输出的紧急停止信号和提供给数据存储器系统1a的控制状态的序列。
在附图中,外部电源电压VCC从正常电压电平(VCC电平)下降到GND(参考电位)电平,并再次恢复到VCC电平。
首先,在数据存储器系统1a的数据传送过程期间当外部电源电压VCC下降到一特定电压电平时,电压监视IC 8检测外部电源电压VCC的下降,并向控制电路4输出紧急停止信号。
在接收到紧急停止信号后,数据存储器系统1a执行一个中断过程,并进入一个不接受任何过程的过程不可接受状态。
此后,当外部电源电压VCC的电压电平下降时,内部电源电压VDD也下降。电压监视IC 7检测电压下降并向控制电路4输出加电复位信号。接着,外部电源电压VCC变成GND电平。
当外部电源电压VCC的电压电平再次提高时,相应地,内部电源电压VDD的电压电平也提高。当内部电源电压VDD变为一特定电压电平或更高时,电压监视IC 7复位加电复位信号(至高电平),执行复位数据存储器系统1a的过程。
在复位过程期间当外部电源电压VCC变为一特定电压电平或更高时,电压监视IC 8将紧急停止信号设置到非活动状态(高电平)。
在复位过程期间由于紧急停止信号被忽略,在电源打开之后当复位过程完成时,数据存储器系统1a进入一个空闲状态。
图12是显示与数据存储器系统1a类似的数据存储器系统1b的方框图,除了提供了一个大电容的电容器(供电单元)9来替代电源稳压IC6(图10)之外。
在这种情况下,电容器9连接在地和内部电源线NS之间。通过内部电源线NS,将内部电源电压VDD(等于外部电源电压VCC)提供给控制器2、半导体存储器3和电压监视IC 7。将外部电源电压VCC直接提供给电压监视IC 8,而不采用内部电源线NS。替代电容器9,可以将一个电池等连接到内部电源线NS。
图13是显示数据存储器系统1b中的操作的一个例子的序列图。
图13从上到下显示了外部电源电压VCC、通过内部电源线NS提供的内部电源电压VDD、从电压监视IC 7输出的加电复位信号、从电压监视IC 8输出的紧急停止信号和提供给数据存储器系统1b的控制状态的序列。
在数据存储器系统1b的数据传送过程期间当外部电源电压VCC下降到一特定电压电平时,电压监视IC 8向控制电路4输出紧急停止信号。在接收到紧急停止信号后,数据存储器系统1b执行一个中断过程,并进入过程不可接受状态。
由于电容器9连接到内部电源线NS,通过内部电源线NS提供的内部电源电压VDD比外部电源电压VCC下降得更慢。
电压监视IC 7检测内部电源电压VDD中的电压下降,并向控制电路4输出加电复位信号。当外部电源电压VCC从GND电平提高并且变为等于或高于一特定电压电平时,电压监视IC 8将紧急停止信号设置到非活动状态(高电平)。
此后,当内部电源电压VDD变为一特定电平或更高时,电压监视IC 7复位加电复位信号(至高电平),执行复位数据存储器系统1b的过程,数据存储器系统1b进入一个空闲状态。
图14是具有另一个构造的数据存储器系统1c的方框图。
数据存储器系统1c与数据存储器系统1b(图12)的不同之处在于新提供了一个用于输出紧急停止信号的电源切换IC(电源切换单元)10来替代电压监视IC 8。
电源切换IC 10监视外部电源电压VCC的电压电平。当电压电平变为等于或低于一特定电压电平时,电源切换IC通过内部电源线NS将内部电源电压VDD的供电源切换到电容器9,并向控制电路4输出紧急停止信号。同样,在这种情况下,电容器9不限于大容量的电容器,而是可以是电池等。
图15是显示数据存储器系统1c的操作的一个例子的序列图。
图15从上到下显示了外部电源电压VCC、通过内部电源线NS提供的内部电源电压VDD、从电压监视IC 7输出的加电复位信号、从电源切换IC 10输出的紧急停止信号和提供给数据存储器系统1c的控制状态的序列。
在数据存储器系统1c的数据传送过程期间当外部电源电压VCC下降时,电源切换IC 10将供电源从外部电源电压VCC切换到电容器9。因此,数据存储器系统1c可以减少外部电源电压VCC的影响。
电源切换IC 10向控制电路4输出紧急停止信号,电压监视IC 7向控制电路4输出加电复位信号。控制器2在接收到紧急停止信号后执行中断过程,并进入过程不可接受状态。
此后,当外部电源电压VCC的电压电平变为一特定电平或更高时,电源电压切换IC 10复位加电复位信号(至高电平),电压监视IC 7将紧急停止信号设置到非活动状态(高电平)。
如上所述,执行复位数据存储器系统1a的过程,并且数据存储器系统1c进入一个空闲状态。
图16是作为采用与紧急停止信号和外部复位信号相同的信号的情况的一个例子的数据存储器系统1d的方框图。
数据存储器系统1d的结构是通过向数据存储器系统1(图1)的结构添加一个AND(与)电路11而获得的。
紧急停止信号被输入到AND电路11的一个输入端,从信息处理器PC输出的外部复位信号被输入到另一个输入端。AND电路11的输出信号变成一个内部复位信号,并被连接以便提供给控制器2的控制电路4。
下面将参考图17的序列图描述数据存储器系统1d的操作。
图17从上到下显示了从信息处理器PC输出的外部复位信号、紧急停止信号、从AND电路11输出的外部复位信号和控制状态的序列。
当在数据存储器系统1d的数据传送过程期间输出外部复位信号(低电平)时,AND电路11的输出变成低电平。内部复位信号变为活动的,执行复位数据存储器系统1d的过程。
在复位过程之后,如果在数据传送过程期间再次输出紧急停止信号(低电平),AND电路11的输出变成低电平,使得内部复位信号变为活动的,执行复位数据存储器系统1d的过程。
如上所述,通过采用紧急停止信号也作为外部复位信号,用于向控制器2输入紧急停止信号的I/O管脚等变为不需要的。可以抑制成本并简化功能,从而可以有助于控制器2的设计。
图18是作为通过信息处理器总线PCB发送紧急停止请求的情况的一个例子的数据存储器系统1e的方框图。
在数据存储器系统1e中,控制器2带有紧急停止请求寄存器(寄存器)12。紧急停止请求寄存器12可以由信息处理器PC直接存取。因此,通过在紧急停止请求寄存器12中设置数据,可以作出紧急停止请求。图19是显示为控制器2提供的并且可以由信息处理器PC存取的寄存器的一个例子的示意图。
通过采用紧急停止请求寄存器12,在将数据存储器系统1e从过程不可接受状态复位到空闲状态时在不执行复位过程等的情况下,可以自由地复位数据存储器系统1e。
或者,如图20所示,在不向控制器2新提供紧急停止请求寄存器12的情况下,可以采用用于请求数据的读/写的过程请求寄存器(寄存器)12a的一部分来设置紧急停止请求。如图21所示,过程请求寄存器12a是可以由信息处理器PC存取的现有寄存器之一。
依据第一实施例,甚至在数据传送过程期间也可以防止错误数据的传送、对错误数据的数据重写等,从而可以提高数据存储器系统的可靠性。
在第一实施例中,已经描述了执行读/写数据传送过程的情况。在其他情况下、例如在作出对于不伴随数据传送的过程的请求、处于空闲状态、在复位过程期间以及在睡眠状态的情况下,可以接受紧急停止请求。
第二实施例
图22是依据本发明的第二实施例的数据存储器系统的方框图。图23是在图22的数据存储器系统中当错误数据传送功能被设置为有效时读数据的传送的流程图。图24是在图22的数据存储器系统中当错误数据传送功能被设置为无效时读数据的传送的流程图。图25是在图22的数据存储器系统中当传送校正数据的错误数据校正和传送功能被设置为有效时读数据的传送的流程图。图26是当从为图22的数据存储器系统提供的控制器作出一个读和传送请求时执行的操作的流程图。图27是显示当从图22的控制器作出一个读和传送请求时执行的操作的另一个例子的流程图。图28是显示由依据本发明的第二实施例的数据存储器系统改变传送功能设置数据的一个例子的流程图。图29是显示由依据本发明的第二实施例的数据存储器系统改变传送功能设置数据的另一个例子的流程图。图30是显示当在为依据本发明的第二实施例的数据存储器系统提供的半导体存储器中设置传送功能设置数据时的数据结构的一个例子的示意图。图31是显示当在为依据本发明的第二实施例的数据存储器系统提供的半导体存储器中设置传送功能设置数据时的数据结构的另一个例子的示意图。图32是显示由依据本发明的第二实施例的数据存储器系统切换设置和传送功能的一个例子的流程图。图33是依据本发明的第二实施例在半导体存储器中设置传送功能设置数据的数据存储器系统的方框图。图34是由图33的数据存储器系统在写数据的传送时设置一个传送标志的过程的流程图。图35是显示在图34中设置了传送模式之后的读/传送过程的流程图。
在第二实施例中,数据存储器系统(存储器系统)13是通过采用例如闪速存储器构造的存储卡,被用作作为主机的信息处理器PC的外部存储介质。信息处理器PC例如是个人计算机、多功能外设等。
如图22所示,数据存储器系统13由控制器(信息处理器)14和半导体存储器15构成。虽然这里使用了一个半导体存储器15,也可以提供多个半导体存储器。
控制器14在信息处理器PC的操作程序和指令的基础上读取存储在半导体存储器15中的程序、数据等,并执行一个预定过程、用于写数据的指令等等。
半导体存储器15例如是诸如闪速存储器的非易失性半导体存储器。以与第一实施例类似的方式,半导体存储器15并不限于闪速存储器,而是可以是能够存储数据的存储器,例如SRAM(静态随机存取存储器)、DRAM(动态RAM)、MRAM(磁阻RAM)、EPROM(可擦除和可编程只读存储器)等。
在本发明的实施例中,控制器和存储器是彼此分离的。或者,可以使用通过将控制器、存储器和外设部分形成为一个部件而获得的嵌入式半导体。
在半导体存储器15中,对应于地址(物理地址)0到n提供了数据存储区域和用于差错检测的数据区域。数据存储区域是存储用户数据(0)到(n)的区域。用于差错检测的数据区域是用于存储用户数据(0)到(n)中的ECC的区域。
控制器14和半导体存储器15通过半导体存储器总线MB1彼此相连。信息处理器PC和控制器14通过信息处理器总线PCB彼此相连。
信息处理器总线PCB具有一个机械耦合装置,可以是电连接的触点类型的,或者是通过信息传输媒介、例如电波发送信息的非触点类型的。
控制器14由控制电路16、输入/输出电路17、用于参考传送模式切换(传送模式存储单元)的存储器18以及错误数据检测和校正电路(错误数据检测和校正单元)19构成。
控制电路16控制输入/输出电路17、用于参考传送模式切换的存储器18以及错误数据检测和校正电路19。输入/输出电路17具有数据缓冲器17a,并控制数据至/从半导体存储器3和信息处理器PC的传送。
用于参考传送模式切换的存储器18存储用于设置是否要传送错误数据的传送功能设置数据。用于参考传送模式切换的存储器18可以是非易失性的或易失性的。存储器18可以是采用随机门构造的寄存器。
错误数据检测和校正电路19采用ECC等检测传送数据中的错误。不仅可以由ECC检测错误,还可以由一个简单的检测功能、例如CRC(循环冗余校验)或奇偶校验来检测错误。
下面将描述该实施例中的数据存储器系统14的操作。
下面参考图23的流程图描述在用于参考传送模式切换的存储器18中将错误数据传送功能设置为有效的状态下传送读数据的过程。这里假设存储在半导体存储器13中的地址k-1中的用户数据(k-1)是错误的。
首先,当信息处理器PC向控制器14发送一个读取用户数据(k-1)的请求时(步骤S401),控制器14向半导体存储器15发送读取地址k-1中的用户数据(k-1)的请求(步骤S402),并向信息处理器PC通知读数据的传送(步骤S403)。
通过通知读数据的传送,读出半导体存储器15中的用户数据(k-1),并通过控制器14传送到信息处理器PC(步骤S404)。在这种情况下,错误数据传送功能有效,使得包括错误数据的全部用户数据(k-1)被传送。
当用户数据(k-1)的传送被完成时,控制器14向信息处理器PC通知读数据的传送结束(步骤S405)。不管传送是正常还是异常结束的,都通知读数据的传送结束。
下面将参考图24的流程图描述当用于参考传送模式切换的存储器18将错误数据传送功能设置为无效时的读数据传送过程。这里还假设存储在半导体存储器13中的地址k-1中的用户数据(k-1)包括错误数据。
当信息处理器PC向控制器14发送一个读取和传送用户数据(k-1)的请求时(步骤S501),控制器14向半导体存储器15发送读取和传送地址k-1中的用户数据(k-1)的请求(步骤S502),然后,由控制器14读取半导体存储器15中的用户数据(k-1)(步骤S503)。通过错误数据检测和校正电路19,作出错误数据校验。
当错误数据检测和校正电路19检测到用户数据(k-1)中的错误数据时,控制器向信息处理器PC通知由错误引起的结束(步骤S504)。
下面将参考图25的流程图描述在用于参考传送模式切换的存储器18将用于校正错误数据并传送校正数据的错误数据传送功能设置为有效的状态下执行的读数据传送过程。这里还假设错误数据是包括在存储在半导体存储器13中的地址k-1中的用户数据(k-1)中的。
当信息处理器PC向控制器14发送一个读取用户数据(k-1)的请求时(步骤S601),控制器14请求半导体存储器15读取和传送地址k-1中的用户数据(k-1)(步骤S602).
然后,控制器14读取半导体存储器15中的用户数据(k-1)(步骤S603),并由错误数据检测和校正电路19检查用户数据(k-1)。
如果在用户数据(k-1)中检测到错误数据,错误数据检测和校正电路19校正该错误数据,请求传送写数据至半导体存储器15(步骤S604),并以校正的用户数据(k-1)重写数据(步骤S605)。
图25中的校正用户数据(k-1)被再次写入地址k-1。还可以在半导体存储器中提供一个备用区域以及另一个半导体存储器并替换用户数据(k-1)。
接着,控制器14向信息处理器PC通知读数据的传送(步骤S606),并传送校正的用户数据(k-1)(步骤S607)。
在完成用户数据(k-1)的传送之后,控制器14向信息处理器PC通知读数据的传送结束(步骤S608)。同样,在这种情况下,不管传送是正常还是异常结束的,都通知读数据的传送结束。
下面参考图26的流程图描述在作出读取和传送请求时的控制器14的操作。
首先,当从信息处理器PC发送一个读取和传送请求时,控制电路16参考用于参考传送模式切换的存储器18的传送功能设置数据,并确定是否传送甚至错误数据(步骤S701)。
在传送甚至错误数据的情况下,将从半导体存储器15读出的数据实际上传送给信息处理器PC(步骤S702)。
在不传送错误数据的情况下,将从半导体存储器15读出的数据传送给错误数据检测和校正电路19(步骤S703),并检查是否包括错误数据(步骤S704)。
在错误数据被检测到并且是可校正的情况下(步骤S705),错误数据检测和校正电路19校正该数据,并将校正的数据传送给信息处理器PC(步骤S707)。
如果错误数据不能被校正(步骤S705),将一个不可传送状态通知给信息处理器PC(步骤S706)。
在这种情况下,如果传送功能设置数据被设置到传送甚至错误数据的功能,则在不进行错误数据检查的情况下传送数据,从而可以实现高速传送过程。
下面参考图27的流程图描述在作出读取和传送请求时的控制器14的操作的另一个例子。
首先,当从信息处理器PC发送一个读取和传送请求时,从半导体存储器15读出数据,传送给错误数据检测和校正电路19(步骤S801),并检查是否包括错误数据(步骤S802)。
如果不包括错误数据,将读数据传送给信息处理器PC(步骤S803)。如果包括错误数据,当数据是可校正的时(步骤S804),错误数据检测和校正电路19校正该数据,并将校正的数据传送给信息处理器PC(步骤S805)。
当错误数据是不可校正的时(步骤S804),控制电路16参考用于参考传送模式切换的存储器18中的传送功能设置数据,并确定是否传送甚至错误数据(步骤S806)。
在即使数据包括错误数据时也传送数据的情况下,将从半导体存储器15读出的数据照原样传送给信息处理器PC(步骤S807)。在不传送错误数据的情况下,控制器14向信息处理器PC通知一个不可传送状态(步骤S808)。
在这种情况下,即使在传送功能设置数据被设置到传送甚至错误数据的功能时,错误数据的传送也被限制到数据是不可校正的情况,从而可以提高数据的可靠性。
下面将参考图28的流程图描述由信息处理器PC改变用于参考传送模式切换的存储器18的传送功能设置数据的情况。
下面将参考在数据传送的时候将传送非错误数据的设置改变到传送错误数据的设置的情况。
例如,当从信息处理器PC发送一个读取和传送用户数据(k-1)的请求时(步骤S901),控制器14请求半导体存储器15以读取和传送用户数据(k-1)(步骤S902)。
接着,读取半导体存储器15中的数据并传送给控制器14(步骤S903)。
由于传送的用户数据(k-1)包括错误数据,控制器14向信息处理器PC通知由错误引起的结束(步骤S904)。
当对由错误引起的结束的通知被传送时,信息处理器PC请求控制器14执行一个用于改变传送功能设置数据的模式切换过程(步骤S905)。控制器14接收模式切换过程请求,改变用于参考传送模式切换的存储器18中的传送功能设置数据,并向信息处理器PC通知传送功能设置数据的改变的结束(步骤S906)。
接着,信息处理器PC再次作出读取和传送用户数据(k-1)的请求(S907)。控制器14将读取和传送用户数据(k-1)的请求发送给半导体存储器15(步骤S908),并向信息处理器PC传送读数据传送的通知(步骤S909)。
通过控制器14将半导体存储器15中的数据读出并传送给信息处理器PC(步骤S910)。在完成所有读数据的传送之后,控制器14向信息处理器PC通知读数据的传送结束(步骤S911)。
传送功能设置数据不是必须在用于参考传送模式切换的存储器18中设置,而是例如可以在半导体存储器15中设置。
下面将参考图29的流程图描述在这种情况下由信息处理器PC进行的传送功能设置数据的改变。
当从信息处理器PC发出用于读取和传送用户数据(k-1)的请求时(步骤S1001),控制器14向半导体存储器15发出读取和传送用户数据(k-1)的请求(步骤S1002)。
此后,半导体存储器15中的数据被读取并传送到控制器14(步骤S1003)。因为所传送的用户数据(k-1)包括错误数据,控制器14通知信息处理器PC由于错误而引起的结束(步骤S1004)。
通过通知由于错误而引起的结束,信息处理器PC请求控制器14执行改变传送功能设置数据的模式切换过程(步骤S1005)。在接收到模式切换过程请求之后,控制器14改变半导体存储器15的传送功能设置数据(步骤S1006)并通知信息处理器PC传送功能设置数据中的改变完成(步骤S1007)。
信息处理器PC再次发送读取和传送用户数据(k-1)的请求(步骤S1008),控制器14把读取和传送用户数据(k-1)的请求发送到半导体存储器15(步骤S1009)并向信息处理器PC传送读数据的传送的通知(步骤S1010)。
通过控制器14,半导体存储器15中的数据被读取并传送到信息处理器PC(步骤S1011)。当完成所有读数据的传送时,控制器14通知信息处理器PC读数据的传送结束(步骤S1012)。
在实施例中,由于传送标志被存储在控制器中的原因,存储在半导体存储器中的重写标志没有在每一次读和传送操作中被检查。这样,可以在没有降低从信息处理器PC读取和传送操作的性能的情况下实现本发明。在打开电源后复位期间由信息处理器PC请求的复位过程期间由控制器来检查存储在半导体存储器中的重写标志。在从制造商发货时这个在半导体存储器中存储标志的方法可以容易地解决来自客户机的请求。与客户机兼容的信息处理器PC不必知晓模式的切换。
图30是显示在其中错误数据传送功能无效的传送功能设置数据被设置在半导体存储器15中的情况下的数据结构的示意图。图31是显示在其中错误数据传送功能有效的传送功能设置数据被设置在半导体存储器15中的情况下的数据结构的示意图。
如图30和31所示,对应于半导体存储器15中的地址“n”的数据存储区域用作用于设置传送功能设置数据的区域。当传送无效标志被设置在该区域时,使得错误数据传送功能无效。当设置了传送有效标志时,使得错误数据传送功能有效。
传送功能设置数据被设置在半导体存储器的至少一个中,并且可以用于本发明的整个存储器系统的功能设置。进一步地,传送功能设置数据可以被设置在每个半导体存储器中。通过在每个半导体存储器中设置该数据,例如,通过将要求相对高的数据可靠性的文件管理数据和要求相对高的数据传送速度的诸如图象和声音数据的数据存储到不同的半导体存储器中,可以实现具有高可用性的存储器系统。
图32是在读取和传送请求时通过改变命令代码来切换设置和传送功能的过程的流程图。
当信息处理器PC作出读取和传送(k-1)地址数据的请求同时通过采用命令代码来禁止错误数据时(步骤S1101),控制器14向半导体存储器15发送一个读取和传送用户数据(k-1)的请求(步骤S1102),并将从半导体存储器15读出的数据传送给控制器14(步骤S1103)。
由于传送的用户数据(k-1)包括错误数据,所以控制器14向信息处理器PC通知由错误引起的结束(步骤S1104)。
接着,在信息处理器PC发送读取和传送用户数据(k-1)的请求同时通过采用命令代码来允许错误数据时(步骤S1105),控制器14向半导体存储器15发送一个读取和传送用户数据(k-1)的请求(步骤S1106),并向信息处理器PC传送对读数据传送的通知(步骤S1107)。
此后,通过控制器14将半导体存储器15中的数据读出并传送给信息处理器PC(步骤S1108)。当完成所有读数据的传送时,控制器14通知信息处理器PC读数据传送的结束(步骤S1109)。
图33是显示其中传送功能设置数据可以被设置在每个用户数据(0)到(n-1)中的半导体存储器15的结构的一个例子的示意图。
在这种情况下,半导体存储器15不仅具有数据存储区域和用于数据检测的数据区域,还具有用于存储传送标志的区域,传送标志用于设置在即使用户数据是错误数据时是否传送用户数据。
通过在传送标志存储区域中设置错误数据不可传送标志或错误数据可传送标志,则用于参考传送模式切换的存储器可以是不必要的。由于可以向每个用户数据有选择地设置错误数据是可传送的还是不可传送的,因此可以提高数据存储的可靠性。
下面将参考图34的流程图描述在传送写数据时在半导体存储器15中设置传送标志的过程。这里假设用户数据(k-1)被设置到错误数据可传送状态,用户数据(k)被设置到错误数据不可传送状态。
信息处理器PC发送对传送用户写数据(k-1)的请求同时通过采用命令代码来禁止错误数据(步骤S1201),控制器14向半导体存储器15发送该传送用户写数据(k-1)的请求(步骤S1202),并通过控制器14将写数据传送给半导体存储器15(步骤S1203)。
控制器14在半导体存储器15中设置禁止错误数据传送的传送标志(步骤S1204),并将检测到的用户数据(k-1)存储到半导体存储器15中的用于错误检测的数据区域中(步骤S1205)。
接着,控制器14通知半导体存储器15写传送正常结束(步骤S1206),并通知信息处理器PC写传送结束(步骤S1207)。
在信息处理器PC作出传送用户写数据(k)的请求同时通过采用命令代码来允许错误数据时(步骤S1208),控制器14向半导体存储器15发送一个对传送用户写数据(k)的请求(步骤S1209),并通过控制器14向半导体存储器15传送写数据(步骤S1210)。
控制器14在半导体存储器15中设置错误数据可传送标志(步骤S1211),并将检测到的用户数据(k)存储到半导体存储器15中的用于错误检测的数据区域中(步骤S1212)。
接着,控制器14通知半导体存储器15写数据的传送正常结束(步骤S1213),并向信息处理器PC传送写数据传送结束的通知(步骤S1214)。
图35是显示在图34设置了传送模式之后的读取和传送过程的流程图。
当信息处理器PC作出读取和传送用户数据(k-1)的请求时(步骤S1301),控制器14向半导体存储器15发送对传送用户写数据(k-1)的请求(步骤S1302)。响应于该请求,将读数据传送给控制器14(步骤S1303)。
由于用户数据(k-1)包括错误数据,控制器14将错误结束通知传送给信息存储器PC(步骤S1304)。
当信息处理器PC再次发送读取和传送用户数据(k)的请求时(步骤S1305),控制器14向半导体存储器15发送读取和传送用户数据(k)的请求(步骤S1306),并向信息处理器PC发送读取和传送请求(步骤S1307)。
虽然用户数据k也包括错误数据,通过控制器14从半导体存储器15向信息处理器PC传送读数据(步骤S1308)。在传送了所有读数据之后,控制器14将读取和传送结束的通知传送给信息处理器PC(步骤S1309)。
在第二实施例中,甚至在包括错误数据时也可以不中断地传送用户数据,从而可以消除不需要的等待时间。
由于数据被不中断地传送,对于信息处理器PC则不需要大容量的缓冲器。这样,可以实现信息处理器PC成本的减小。
进一步地,在第二实施例中,已经描述了由信息处理器PC设置错误数据传送功能的情况。例如,如图36所示,可以从信息处理器PC之外的外部向控制器14中的控制电路16提供传送模式切换信号。
在第二实施例中,显然,错误不可校正状态并不限于实际上错误不能被校正的状态,而是包括错误在预定时间不能被校正的情况。
例如,通过提供其中可以设置错误校正时间的寄存器等并为每种数据设置错误校正时间,可以以正确的速度传送其传送时间比精确度更重要的数据和精确度更重要的数据。
在第二实施例中,在错误校正不可能的情况下,将从存储器阵列读出的数据不经过错误校正就提供给主机。在这种情况下,显然,例如所有数据“0”或所有数据“1”可以被提供给主机。
在说明书中公开的本发明的代表性例子所获得的效果将简要描述如下。
(1)即使在数据传送过程期间在主机、电源电压等中出现异常状态时,也可以由紧急停止请求过程防止错误数据传送、对错误数据的数据重写等,从而可以提高数据存储器系统的可靠性。
(2)由于包括错误数据的用户数据也可以不中断地传送,因此可以减少无用的等待时间,并进一步提高存储器系统的可靠性。
(3)进一步地,通过上面的效果(1)和(2),可以极大提高采用该存储器系统等构造的电子系统的性能和可靠性。