半导体存储装置、存储器控制器及存储器的监视方法与流程

文档序号:16047403发布日期:2018-11-24 10:59阅读:170来源:国知局

本发明涉及半导体存储装置、控制存储器的存储器控制器、及存储器的监视方法。

背景技术

近年来,为了保护机密数据,提出了对成为保护对象的信息数据进行加密并存放于盘的存储装置(例如,参照专利文献1)。

在这样的存储装置中,向盘存储对与该信息数据一起附加到该信息数据的错误检测用的crc(循环冗余码校验:cyclicredundancycheck)代码例如利用密钥来加密的加密数据。

因而,为了取得存放于该存储装置的信息数据,首先,从盘读出加密数据,并对读出的加密数据实施解除密码的解码处理,从而将信息数据及crc代码复原。再者,存储装置对这些信息数据及crc代码实施错误检测处理,在未检测到错误的情况下,将该信息数据作为读出数据并加以输出。

【现有技术文献】

【专利文献】

专利文献1:日本特开2008-52360号公报。



技术实现要素:

【发明要解决的课题】

不过,还考虑将如上述的加密的数据存储在例如nand型闪速存储器这样的非易失性半导体存储器而不是存储在盘的情况。

在nand型闪速存储器中,除了进行响应来自外部的读出存取的普通的数据读出之外,进行监视存储器的存储区域的恶化度的存储器监视。

在该存储器监视中,对于nand型闪速存储器的各块以页单位进行数据(例如作为错误检测用的编码包含crc代码)的读出。此时,存放的数据在如上述被加密的情况下,通过对该读出的加密数据进行解码而得到解除密码的读出数据。

而且,基于对该读出数据实施错误检测处理而得到的错误检测结果,求得存放有该读出数据的存储区域的恶化度。因而,若对非易失性半导体存储器进行加密数据的写入,则每次进行上述的存储器监视时,会实施解除密码的解码处理,因此出现导致电力消耗量及监视上花费的时间增大的问题。

因此,本发明目的在于提供能够减少存储器的监视上花费的时间及电力消耗量的半导体存储装置、存储器控制器及存储器的监视方法。

【用于解决课题的方案】

本发明所涉及的半导体存储装置,包括存储器和接受写入指令或读出指令并控制所述存储器的存储器控制器,所述存储器控制器具有:监视部,间断地执行对在从所述存储器读出的数据产生的错误的数量所对应的所述存储器的恶化度进行监视的监视处理;存储器存取部,在接收所述写入指令的情况下,向所述存储器写入对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码,在接收所述读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码;解码部,通过对从所述存储器读出的所述加密数据进行解码而得到解除密码的读出数据;以及错误检测部,通过对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者通过对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,所述监视部在执行所述监视处理时使所述解码部的动作停止,并且基于所述第2错误检测结果求得所述恶化度。

另外,本发明所涉及的存储器控制器,是响应写入指令或读出指令而控制存储器的存储器控制器,具有:监视部,间断地执行对在从所述存储器读出的数据产生的错误的数量所对应的所述存储器的恶化度进行监视的监视处理;存储器存取部,在接收所述写入指令的情况下,向所述存储器写入对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码,在接收所述读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码;解码部,通过对从所述存储器读出的所述加密数据进行解码而得到解除密码的读出数据;以及错误检测部,通过对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者通过对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,所述监视部在执行所述监视处理时使所述解码部的动作停止,并且基于所述第2错误检测结果求得所述恶化度。

另外,本发明所涉及的存储器的监视方法,间断地执行监视所述存储器的恶化度的监视处理,所述存储器的恶化度与从存放有对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码的存储器读出的数据上产生的错误的数量对应,在所述存储器的监视方法中,在接收读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码,通过对从所述存储器读出的所述加密数据实施解码处理而得到解除密码的读出数据,对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,在执行所述监视处理时使所述解码处理停止,并且基于所述第2错误检测结果求得所述恶化度。

【发明效果】

本发明在对信息数据进行加密并写入存储器时,与对该信息数据进行加密的加密数据一起,写入基于信息数据的错误检测用的第1编码、及基于加密数据的错误检测用的第2编码。另一方面,在接收读出指令的情况下、或执行监视存储器的恶化度的监视处理时,从存储器读出加密数据、第1及第2编码。

另外,通过对从存储器读出的加密数据实施解码处理而得到解除密码的读出数据。而且,对读出数据及从存储器读出的第1编码实施错误检测处理而得到第1错误检测结果,或者通过对从存储器读出的加密数据及第2编码实施错误检测处理而得到第2错误检测结果。此时,在执行监视存储器的恶化度的监视处理时,使上述的解码处理停止,并且基于第2错误检测结果求得存储器的恶化度。

因而,依据本发明,在进行存储器的监视处理时因解码处理而花费的电力消耗量实质上成为零,因此能够减少半导体存储装置的电力消耗量。进而,依据上述的监视处理,无需等待解码处理花费的时间,而能够对从存储器读出的加密数据及第2编码实施错误检测处理,因此能够缩短监视处理所花费的时间。

附图说明

【图1】是示出本发明所涉及的半导体存储装置100的结构的框图。

【图2】是表示向存储器单元阵列部10写入的数据的形态的图。

【图3】是表示错误检测处理的流程图。

【图4】是表示再读出处理的流程图。

具体实施方式

以下,一边参照附图,一边对本发明的实施例进行详细说明。

图1是示出本发明所涉及的半导体存储装置100的结构的框图。如图1所示,半导体存储装置100具有存储器单元阵列部10、存储器控制器20。

存储器单元阵列部10包含例如配置有nand型的多个存储器单元的存储器单元阵列;以及向该存储器单元阵列施加数据写入用或读出用的各种电压的驱动器。在该存储器单元阵列,通过多个存储器单元形成有成为存取的最小单位的页,通过多个页来形成块。

存储器控制器20包含接口部21、加密部22、奇偶算出部23、缓冲器24、解码部25、错误检测部26、存储器监视部27及存储器存取部28。

接口部21接受从主机装置(未图示)输送的各种指令(读出指令、写入指令等)、地址ad及信息数据dat。

接口部21例如在接受了促使数据的写入的写入指令、地址ad、及成为写入对象的信息数据dat的情况下,将该信息数据dat作为写入数据wrd向加密部22及奇偶算出部23供给。进而,接口部21向存储器存取部28供给促使对该地址ad写入写入数据wrdr的写入存取信号。

另外,接口部21在接收到促使数据的读出的读出指令及地址ad的情况下,向存储器存取部28供给促使读出存放在该地址ad的数据的读出存取信号。进而,接口部21响应该读出存取信号,将从存储器单元阵列部10读出、接着由解码部25解码的读出数据rd作为信息数据dat输出。但是,在该期间,从错误检测部26供给的错误检测结果信号pc表示有错误的情况下,接口部21不进行作为信息数据dat的读出数据rd的输出。

加密部22例如利用密钥生成对上述的写入数据wrd进行加密后的加密数据ed。加密部22将加密数据ed向奇偶算出部23及缓冲器24供给。

奇偶算出部23从上述的写入数据wrd算出作为错误检测用编码的奇偶位。奇偶算出部23将基于写入数据wrd算出的奇偶位,作为明文(plaintext)奇偶位p1向缓冲器24供给。进而,奇偶算出部23从对加密数据ed附加明文奇偶位p1的数据块算出作为错误检测用编码的奇偶位,并将算出的奇偶位作为密码奇偶位p2向缓冲器24供给。

缓冲器24取入上述的加密数据ed、明文奇偶位p1及密码奇偶位p2。而且,如图2所示,缓冲器24向存储器单元阵列部10供给具有对加密数据ed附加明文奇偶位p1及密码奇偶位p2的数据形态的数据。

另外,缓冲器24取入从存储器单元阵列部10读出的数据、即具有图2所示的形态的数据,并将它作为读出加密数据red向解码部25及错误检测部26供给。

解码部25对读出加密数据red所包含的加密数据ed实施解除密码的解码处理。解码部25将通过该解码处理而解除密码的数据作为读出数据rd向接口部21及错误检测部26供给。此外,在从存储器监视部27供给表示监视处理执行中的监视处理执行信号ex的情况下,解码部25停止本身的解码动作。

即,解码部25在监视处理的非执行中执行解码处理,但是在监视处理执行中停止该解码处理。

错误检测部26从读出加密数据red提取明文奇偶位p1及密码奇偶位p2。在监视处理执行信号ex表示监视处理的非执行中的情况下,错误检测部26对于读出数据rd实施如以下的奇偶检查(称为明文奇偶检查)。即,错误检测部26由读出数据rd算出奇偶位,并判定该算出的奇偶位的逻辑电平和明文奇偶位p1的逻辑电平是否一致。在此,在判定为两者一致的情况下,错误检测部26作为明文奇偶检查的结果得到表示无奇偶错误的检查结果。另外,在判定为两者不一致的情况下,错误检测部26作为明文奇偶检查的结果得到表示有奇偶错误的检查结果。

另一方面,在监视处理执行信号ex表示监视处理执行中的情况下,错误检测部26对于向读出加密数据red所包含的加密数据ed附加明文奇偶位p1的数据块,实施如以下的奇偶检查(称为密码奇偶检查)。即,错误检测部26由向加密数据ed附加明文奇偶位p1的数据块算出奇偶位,并判定该算出的奇偶位的逻辑电平与密码奇偶位p2的逻辑电平是否一致。在此,在判定为两者一致的情况下,错误检测部26作为密码奇偶检查的结果得到表示无奇偶错误的检查结果。另外,在判定为两者不一致的情况下,错误检测部26作为密码奇偶检查的结果得到表示有奇偶错误的检查结果。

错误检测部26在上述的明文奇偶检查的结果表示有奇偶错误的情况下生成表示有错误的错误检测结果信号pc,而在表示无奇偶错误的情况下生成表示无错误的错误检测结果信号pc。另外,错误检测部26在上述的密码奇偶检查的结果表示有奇偶错误的情况下生成表示有错误的错误检测结果信号pc,而在表示无奇偶错误的情况下生成表示无错误的错误检测结果信号pc。

即,错误检测部26生成基于明文奇偶检查的结果、或者密码奇偶检查的结果的错误检测结果信号pc,并将它向接口部21、存储器监视部27及存储器存取部28供给。

存储器监视部27在刚刚接通电源后、或者没有进行响应来自主机装置的存取(读出或写入)的读出处理及写入处理的期间,间断地执行监视存储器单元阵列部10的各块的恶化度的监视处理。进而,存储器监视部27向解码部25、错误检测部26及存储器存取部28供给表示本身是处于上述的监视处理执行中、或者是处于非执行中的监视处理执行信号ex。

即,存储器监视部27首先按每个存储器单元阵列部10的块,向存储器存取部28供给促使从该块所包含的各页读出数据的读出存取信号。由此,存储器存取部28从存储器单元阵列部10读出存放于该存储器单元阵列部10的数据、即具有图2所示的数据形态的数据。该读出的数据经由存储器控制器20的缓冲器24,作为读出加密数据red向错误检测部26供给。

此时,在监视处理执行信号ex表示监视处理执行中的情况下,错误检测部26对于向读出加密数据red所包含的加密数据ed附加密码奇偶位p2的编码块实施密码奇偶检查。而且,错误检测部26基于该密码奇偶检查的结果,生成表示有无错误的错误检测结果信号pc,并将它向存储器监视部27供给。存储器监视部27按每个块求出以该错误检测结果信号pc表示的有错误的总数。而且,作为该块的恶化度,存储器监视部27求出该按每个块求出的错误的总数。

在此,在判定恶化度大于既定阈值的情况下,存储器监视部27将符合的块设为今后不能使用,并对存储器单元阵列部10实施使存放于该块的数据写入到其他块的控制。另外,在判定恶化程度小于既定阈值的情况下,存储器监视部27促使存储器单元阵列部10执行将存放于符合的块的数据再写入到该块的、所谓的再现处理。

在从接口部21接收到写入存取信号(包括写入指令、地址)的情况下,存储器存取部28向存储器单元阵列部10供给通过该写入存取信号表示的地址ad及写入信号。由此,向存储器单元阵列部10写入对作为写入对象的信息数据dat进行加密的加密数据ed、基于信息数据dat的错误检测用的明文奇偶位p1、及基于加密数据ed的错误检测用的密码奇偶位p2。

另外,在从接口部21接收到读出存取信号(包括读出指令、地址)的情况下、或者从存储器监视部27接收到表示监视处理执行中的监视处理执行信号ex及读出存取信号的情况下,存储器存取部28向存储器单元阵列部10供给以该读出存取信号表示的地址及读出信号。由此,存储器单元阵列部10读出具有图2所示的数据形态的加密数据ed、明文奇偶位p1、及密码奇偶位p2。该读出的数据(ed、p1、p2)作为读出加密数据red向解码部25及错误检测部26供给。

在此,在响应来自主机装置的读出存取的读出处理的执行中,对错误检测部26供给表示监视处理的非执行中的监视处理执行信号ex。因而,错误检测部26执行上述的明文奇偶检查,并向存储器存取部28供给表示其结果的错误检测结果信号pc。此时,在接收到表示有错误的错误检测结果信号pc的情况下,存储器存取部28执行再读出处理(后述)。

以下,对于在来自存储器单元阵列部10的数据读出时,解码部25及错误检测部26中实施的错误检测处理进行说明。

图3是示出该错误检测处理的顺序的流程图。在图3中,解码部25及错误检测部26,首先基于监视处理执行信号ex判定是否为监视处理执行中(步骤s11)。

在步骤s11中判定为不是监视处理执行中的情况下,解码部25对于从存储器单元阵列部10读出的、具有图2所示的数据形态的读出加密数据red所包含的加密数据ed执行解除密码的解码(步骤s12)。通过步骤s12,解码部25将通过该解码而解除了密码的数据作为读出数据rd向错误检测部26供给。

接着,错误检测部26由该读出数据rd算出奇偶位,并判定该算出的奇偶位的逻辑电平和明文奇偶位p1的逻辑电平是否一致,从而执行得到表示是否有奇偶错误的奇偶检查结果的明文奇偶检查(步骤s13)。另一方面,在步骤s11中判定为处于监视处理执行中的情况下,解码部25停止本身的动作、即停止对于加密数据ed的解码处理(步骤s14)。

接着,错误检测部26由对读出加密数据red所包含的加密数据ed附加明文奇偶位p1的数据块算出奇偶位,并判定该算出的奇偶位的逻辑电平和密码奇偶位p2的逻辑电平是否一致。由此,错误检测部26执行得到表示是否有奇偶错误的奇偶检查结果的密码奇偶检查(步骤s15)。

而且,在执行该步骤s15或上述的步骤s13后,错误检测部26基于上述的明文奇偶检查的结果、或者密码奇偶检查的结果,生成表示有无错误的错误检测结果信号pc(步骤s16)。

这样,在存储器控制器20中,对存储器单元阵列部10写入向对信息数据进行加密的加密数据ed附加明文奇偶位p1、密码奇偶位p2的数据。此外,明文奇偶位p1作为错误检测用的第1编码,是基于加密前的明文状态的信息数据算出的奇偶位。另外,密码奇偶位p2作为错误检测用的第2编码,是基于加密数据ed算出的奇偶位。

在此,存储器控制器20对在数据读出时实施的奇偶检查的方法,根据该数据读出是否为伴随存储器的监视处理的读出处理来如以下切换。

即,在响应来自主机装置的读出指令进行数据的读出处理时、即在由存储器监视部27进行的监视处理为非执行中的情况下,存储器控制器20进行明文奇偶检查。即,存储器控制器20对于将加密数据ed解码后的读出数据rd,进行利用读出加密数据red所包含的明文奇偶位p1的奇偶检查(s13)。

另一方面,在监视处理为执行中的情况下、即伴随监视处理进行数据读出时,存储器控制器20进行密码奇偶检查。即,存储器控制器20对于向读出加密数据red所包含的加密数据ed附加明文奇偶位p1的数据块,利用密码奇偶位p2进行奇偶检查(s15)。

这样,在密码奇偶检查中不需要由解码部25进行的解码处理。因此,此时,存储器监视部27在本身的监视处理的执行期间停止解码部25的动作(s14),求出与基于密码奇偶检查的结果的错误的总数对应的存储器的恶化度。

因而,在存储器的监视处理时解码部25中的电力消耗量实质上会成为零,因此半导体存储装置100的电力消耗量会变小。进而,在上述的监视处理中无需等待解码处理结束,对于从存储器单元阵列部10读出的数据(ed、p1、p2)能够立即实施奇偶检查,因此能够缩短监视处理花费的时间。

可是,在上述实施例中,作为监视处理中的奇偶检查采用密码奇偶检查,但是在响应来自主机装置的读出存取实施再读出处理的情况下,也可以同样地进行密码奇偶检查。

此外,再读出处理是在监视处理的非执行时,对于响应来自主机装置的读出存取从存储器单元阵列部10被读出、且被解码的数据(rd、p1)的明文奇偶检查的结果表示有错误的情况下实施的处理。在再读出处理中,一边变更读出条件(例如读出电压的电压值)一边从同一地址反复读出数据,直至奇偶检查的结果成为表示无错误的状态为止、或者读出次数达到既定上限为止。

图4是表示存储器存取部28执行的再读出处理的流程的流程图。首先,存储器存取部28使解码部25的动作停止(步骤s21)。

接着,存储器存取部28变更存储器单元阵列部10中的当前时刻的读出条件,例如使读出用电压的电压值增加或下降既定值(步骤s22)。接着,存储器存取部28使存储器单元阵列部10实施从与被上述的读出存取指定的地址相同的地址读出数据的读出控制(步骤s23)。

接着,存储器存取部28使错误检测部26执行密码奇偶检查(步骤s24)。

接着,存储器存取部28判定从错误检测部26供给的错误检测结果信号pc是否表示有错误(步骤s25)。

在步骤s25中,当判定为错误检测结果信号pc表示有错误的情况下,存储器存取部28判定再读出的次数是否达到既定上限(步骤s26)。

在步骤s26中判定为再读出的次数未达到既定上限的情况下,存储器存取部28返回步骤s22的执行,再次执行前述的步骤s22~s25的动作。即,在变更读出条件(s22)之后,再次从同一地址读出数据(ed、p1、p2)(s23),对于被读出并向加密数据ed附加明文奇偶位p1的数据块,进行利用密码奇偶位p2的奇偶检查(密码奇偶检查)(s24)。

另一方面,在该步骤s26中判定为再读出的次数达到既定上限的情况下、或者在上述步骤s25中判定为错误检测结果信号pc未表示有错误的情况下,存储器存取部28使解码部25再开始进行解码动作(步骤s27)。

这样,在图4所示的再读出处理中,作为对从存储器单元阵列部10反复读出的数据实施的奇偶检查采用密码奇偶检查。因而,在再读出处理的执行期间会不需要由解码部25进行的解码动作,在图4所示的再读出处理中,在该再读出处理的执行中使解码部25的动作停止(s21、s27)。

由此,在再读出处理时由解码部25消耗的电力实质上为零,因此半导体存储装置100的电力消耗量会变小。进而,在图4所示的再读出处理中,无需等待解码部25的解码处理的结束,而能够对从存储器单元阵列部10读出的数据(ed、p2)立即实施奇偶检查,因此能够缩短再读出处理花费的时间。

此外,在上述实施例中的奇偶算出部23中,由对加密数据ed附加明文奇偶位p1的数据块算出密码奇偶位p2,但是,也可以将由加密数据ed直接算出的奇偶位作为密码奇偶位p2。此时,在密码奇偶检查中,错误检测部26从加密数据ed算出奇偶位,并判定该算出的奇偶位的逻辑电平和密码奇偶位p2的逻辑电平是否一致。

另外,在上述实施例中,作为对于从存储器单元阵列部10读出的数据的错误检测方式采用了奇偶检查,但是也可以采用其他错误检测方式、例如crc(cyclicredundancycheck)。或者,作为该错误检测方式也可以采用纠错编码。

例如,在作为错误检测方式采用crc的情况下,取代奇偶算出部23,而采用通过按照crc方式的既定生成多项式算出错误检测用的至少1位的编码的crc编码算出部。该crc编码算出部将基于写入数据wrd算出的编码作为图2所示的p1、将基于加密数据ed算出的编码作为p2而向缓冲器24供给。另外,此时,错误检测部26对于向解除密码的读出数据rd附加编码p1的位流、或向加密数据ed附加编码p2的位流,实施按照crc编码算出部中利用的生成多项式的运算。由此,错误检测部26得到表示有无错误位的错误检测结果信号pc。

总之,作为半导体存储装置100,接受写入指令或读出指令而控制存储器(10)的存储器控制器(20)只要包括以下的监视部、存储器存取部、解码部、及错误检测部即可。

监视部(27)间断地执行监视在从存储器(10)读出的数据产生的错误的数量所对应的存储器的恶化度的监视处理。存储器存取部(27)在接受写入指令的情况下,向存储器(10)写入对成为写入对象的信息数据(wrd)进行加密的加密数据(ed)、基于该信息数据的错误检测用的第1编码(p1)及基于加密数据的错误检测用的第2编码(p2)。另外,存储器存取部(27)在接收到读出指令的情况下或执行监视处理时,从存储器(10)读出加密数据(ed)、第1编码(p1)及第2编码(p2)。

解码部(25)通过对从存储器(10)读出的加密数据(ed)进行解码而得到解除密码的读出数据(rd)。

错误检测部(26)通过对读出数据(rd)及从存储器(10)读出的第1编码(p1)实施错误检测处理而得到第1错误检测结果。或者,错误检测部(26)通过对从存储器(10)读出的加密数据(ed)及第2编码(p2)实施错误检测处理而得到第2错误检测结果。在此,监视部(27)在执行监视处理时,使解码部(25)的动作停止并且基于上述的第2错误检测结果求出存储器(10)的恶化度。

标号说明

10存储器单元阵列部;20存储器控制器;22加密部;23奇偶算出部;25解码部;26错误检测部;27存储器监视部;100半导体存储装置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1