CN108877859A - 半导体存储装置、存储器控制器及存储器的监视方法 - Google Patents
半导体存储装置、存储器控制器及存储器的监视方法 Download PDFInfo
- Publication number
- CN108877859A CN108877859A CN201810456542.8A CN201810456542A CN108877859A CN 108877859 A CN108877859 A CN 108877859A CN 201810456542 A CN201810456542 A CN 201810456542A CN 108877859 A CN108877859 A CN 108877859A
- Authority
- CN
- China
- Prior art keywords
- memory
- error detection
- data
- coding
- encryption data
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 239000004065 semiconductor Substances 0.000 title claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 145
- 230000006866 deterioration Effects 0.000 claims abstract description 28
- 230000000694 effects Effects 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 description 11
- 230000001737 promoting effect Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 239000004020 conductor Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000002524 electron diffraction data Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Detection And Correction Of Errors (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
Abstract
本发明提供半导体存储装置、存储器控制器及存储器的监视方法。具有:监视部,间断地执行对存储器的恶化度进行监视的监视处理;存储器存取部,在接收写入指令的情况下向存储器写入加密数据、第1编码及第2编码,并在接收读出指令的情况下或执行监视处理时从存储器读出加密数据、第1编码及第2编码;解码部,对从存储器读出的加密数据进行解码而得到读出数据;以及错误检测部,对读出数据及从存储器读出的第1编码实施错误检测处理而得到第1错误检测结果、或者对从存储器读出的加密数据及第2编码实施错误检测处理而得到第2错误检测结果,监视部在执行监视处理时使解码部的动作停止,并且基于第2错误检测结果求得所述恶化度。
Description
技术领域
本发明涉及半导体存储装置、控制存储器的存储器控制器、及存储器的监视方法。
背景技术
近年来,为了保护机密数据,提出了对成为保护对象的信息数据进行加密并存放于盘的存储装置(例如,参照专利文献1)。
在这样的存储装置中,向盘存储对与该信息数据一起附加到该信息数据的错误检测用的CRC(循环冗余码校验:Cyclic Redundancy Check)代码例如利用密钥来加密的加密数据。
因而,为了取得存放于该存储装置的信息数据,首先,从盘读出加密数据,并对读出的加密数据实施解除密码的解码处理,从而将信息数据及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(Cyclic RedundancyCheck)。或者,作为该错误检测方式也可以采用纠错编码。
例如,在作为错误检测方式采用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 半导体存储装置。
Claims (11)
1.一种半导体存储装置,其特征在于:
包括存储器和接受写入指令或读出指令并控制所述存储器的存储器控制器,
所述存储器控制器具有:
监视部,间断地执行对在从所述存储器读出的数据产生的错误的数量所对应的所述存储器的恶化度进行监视的监视处理;
存储器存取部,在接收所述写入指令的情况下,向所述存储器写入对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码,并在接收所述读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码;
解码部,通过对从所述存储器读出的所述加密数据进行解码而得到解除密码的读出数据;以及
错误检测部,通过对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者通过对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,
所述监视部在执行所述监视处理时使所述解码部的动作停止,并且基于所述第2错误检测结果求得所述恶化度。
2.如权利要求1所述的半导体存储装置,其特征在于:
所述存储器存取部在所述监视处理的非执行时所述第1错误检测结果表示有错误的情况下,执行反复读出所述加密数据、所述第1编码及所述第2编码的再读出处理,直至达到所述第2错误检测结果表示无错误的状态为止,
所述解码部在所述再读出处理的执行中停止本身的解码动作。
3.如权利要求2所述的半导体存储装置,其特征在于:
包含接口部,所述接口部在所述第1错误检测结果表示无错误的情况下,向所述存储器控制器的外部输出所述读出数据。
4.如权利要求1~3的任一项所述的半导体存储装置,其特征在于:
所述第1编码为基于所述信息数据算出的奇偶位,所述第2编码为基于所述加密数据算出的奇偶位。
5.如权利要求1~4的任一项所述的半导体存储装置,其特征在于:
所述存储器存取部将基于对所述加密数据附加所述第1编码的数据块的错误检测用的编码作为所述第2编码,
所述错误检测部通过对所述数据块及所述第2编码实施错误检测处理而得到所述第2错误检测结果。
6.一种存储器控制器,响应写入指令或读出指令而控制存储器,其特征在于,具有:
监视部,间断地执行对在从所述存储器读出的数据产生的错误的数量所对应的所述存储器的恶化度进行监视的监视处理;
存储器存取部,在接收所述写入指令的情况下,向所述存储器写入对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码,并在接收所述读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码;
解码部,通过对从所述存储器读出的所述加密数据进行解码而得到解除密码的读出数据;以及
错误检测部,通过对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者通过对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,
所述监视部在执行所述监视处理时使所述解码部的动作停止,并且基于所述第2错误检测结果求得所述恶化度。
7.如权利要求6所述的存储器控制器,其特征在于:
所述存储器存取部在所述监视处理的非执行时所述第1错误检测结果表示有错误的情况下,执行反复读出所述加密数据、所述第1编码及所述第2编码的再读出处理,直至达到所述第2错误检测结果表示无错误的状态为止,
所述解码部在所述再读出处理的执行中停止本身的解码动作。
8.如权利要求7所述的存储器控制器,其特征在于:
包含接口部,所述接口部在所述第1错误检测结果表示无错误的情况下,向所述存储器控制器的外部输出所述读出数据。
9.如权利要求6~8的任一项所述的存储器控制器,其特征在于:
所述第1编码为基于所述信息数据算出的奇偶位,所述第2编码为基于所述加密数据算出的奇偶位。
10.如权利要求6~9的任一项所述的存储器控制器,其特征在于:
所述存储器存取部将基于对所述加密数据附加所述第1编码的数据块的错误检测用的编码作为所述第2编码,
所述错误检测部通过对所述数据块及所述第2编码实施错误检测处理而得到所述第2错误检测结果。
11.一种存储器的监视方法,间断地执行监视所述存储器的恶化度的监视处理,所述存储器的恶化度与从存放有对成为写入对象的信息数据进行加密的加密数据、基于所述信息数据的错误检测用的第1编码及基于所述加密数据的错误检测用的第2编码的存储器读出的数据上产生的错误的数量对应,所述存储器的监视方法的特征在于:
在接收读出指令的情况下或执行所述监视处理时,从所述存储器读出所述加密数据、所述第1编码及所述第2编码,
通过对从所述存储器读出的所述加密数据实施解码处理而得到解除密码的读出数据,
对所述读出数据及从所述存储器读出的所述第1编码实施错误检测处理而得到第1错误检测结果、或者对从所述存储器读出的所述加密数据及所述第2编码实施错误检测处理而得到第2错误检测结果,
在执行所述监视处理时使所述解码处理停止,并且基于所述第2错误检测结果求得所述恶化度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017096462A JP6941971B2 (ja) | 2017-05-15 | 2017-05-15 | 半導体記憶装置、メモリコントローラ及びメモリの監視方法 |
JP2017-096462 | 2017-05-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108877859A true CN108877859A (zh) | 2018-11-23 |
CN108877859B CN108877859B (zh) | 2024-01-19 |
Family
ID=64096813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810456542.8A Active CN108877859B (zh) | 2017-05-15 | 2018-05-14 | 半导体存储装置、存储器控制器及存储器的监视方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10698841B2 (zh) |
JP (1) | JP6941971B2 (zh) |
CN (1) | CN108877859B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7171286B2 (ja) * | 2018-07-20 | 2022-11-15 | ラピスセミコンダクタ株式会社 | 半導体メモリ装置 |
JP2022144469A (ja) * | 2021-03-19 | 2022-10-03 | キオクシア株式会社 | メモリシステム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080075279A1 (en) * | 2006-09-11 | 2008-03-27 | Samsung Electronics Co., Ltd. | Encryption processor of memory card and method for writing and reading data using the same |
CN101198937A (zh) * | 2005-06-17 | 2008-06-11 | 麦克罗维西恩公司 | 安全存储管理系统和方法 |
US20160062921A1 (en) * | 2014-09-01 | 2016-03-03 | Samsung Electronics Co., Ltd. | Application processor and data processing system including the same |
CN106158031A (zh) * | 2015-05-15 | 2016-11-23 | 拉碧斯半导体株式会社 | 半导体存储器以及数据写入方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4059472B2 (ja) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
JP4379031B2 (ja) * | 2003-07-17 | 2009-12-09 | 日本ビクター株式会社 | 情報伝送方式及びそれに用いる情報送信装置及び情報受信装置 |
KR100547828B1 (ko) * | 2003-12-18 | 2006-01-31 | 삼성전자주식회사 | 데이터를 안전하게 전송하기 위해 데이터의 오류를 보다정확하게 검출할 수 있는 기가비트 이더넷 기반의 수동광가입자망 및 그 방법 |
JP2006191311A (ja) * | 2005-01-05 | 2006-07-20 | Canon Inc | データ復号装置、データ復号方法及び通信システム |
JP2008052360A (ja) | 2006-08-22 | 2008-03-06 | Fujitsu Ltd | ストレージ装置およびライト実行プログラム |
JP5110956B2 (ja) * | 2007-05-10 | 2012-12-26 | 三菱電機株式会社 | 暗号化装置及び復号装置 |
JP5226126B2 (ja) * | 2009-03-31 | 2013-07-03 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの運用方法 |
US8839073B2 (en) * | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
JP5483378B1 (ja) * | 2012-11-01 | 2014-05-07 | 東芝情報システム株式会社 | フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラム |
US9330787B2 (en) * | 2013-03-18 | 2016-05-03 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US9417951B2 (en) * | 2013-12-20 | 2016-08-16 | Synopsys, Inc. | Method and apparatus for cipher fault detection |
WO2015116097A1 (en) * | 2014-01-30 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Joint encryption and error correction encoding |
US20160321194A1 (en) * | 2015-04-28 | 2016-11-03 | Kabushiki Kaisha Toshiba | Storage device, controller, and control method |
-
2017
- 2017-05-15 JP JP2017096462A patent/JP6941971B2/ja active Active
-
2018
- 2018-05-08 US US15/974,642 patent/US10698841B2/en active Active
- 2018-05-14 CN CN201810456542.8A patent/CN108877859B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198937A (zh) * | 2005-06-17 | 2008-06-11 | 麦克罗维西恩公司 | 安全存储管理系统和方法 |
US20080075279A1 (en) * | 2006-09-11 | 2008-03-27 | Samsung Electronics Co., Ltd. | Encryption processor of memory card and method for writing and reading data using the same |
US20160062921A1 (en) * | 2014-09-01 | 2016-03-03 | Samsung Electronics Co., Ltd. | Application processor and data processing system including the same |
CN106158031A (zh) * | 2015-05-15 | 2016-11-23 | 拉碧斯半导体株式会社 | 半导体存储器以及数据写入方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2018194948A (ja) | 2018-12-06 |
US20180329766A1 (en) | 2018-11-15 |
CN108877859B (zh) | 2024-01-19 |
US10698841B2 (en) | 2020-06-30 |
JP6941971B2 (ja) | 2021-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5658128B2 (ja) | Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム | |
CN101763903B (zh) | 快闪存储器控制器、其纠错码控制器及其方法和系统 | |
KR101618925B1 (ko) | 고착 고장을 갖는 메모리 셀에 비트를 저장하기 위한 기법 | |
US9513992B2 (en) | Method and apparatus to perform concurrent read and write memory operations | |
US8826099B2 (en) | Memory controller, semiconductor memory system, and memory control method | |
KR20180087256A (ko) | 예측성 메모리 유지보수 | |
JP2015018451A (ja) | メモリコントローラ、記憶装置およびメモリ制御方法 | |
JP2008165805A (ja) | フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム | |
US10114693B2 (en) | Memory systems and electronic systems performing an adaptive error correction operation with pre-checked error rate, and methods of operating the memory systems | |
KR20200089770A (ko) | 저장 기록 명령에 기록 스트림 속성 활용 | |
CN108877859A (zh) | 半导体存储装置、存储器控制器及存储器的监视方法 | |
US20160070506A1 (en) | Device and method for storing data in a plurality of multi-level cell memory chips | |
KR20170012006A (ko) | 메모리 컨트롤러와 이를 포함하는 메모리 시스템 | |
US9189327B2 (en) | Error-correcting code distribution for memory systems | |
KR102150922B1 (ko) | 플래시 메모리를 위한 코드 레이트 스위칭 메커니즘 | |
US10628076B1 (en) | Data erasure in memory sub-systems | |
US9286156B2 (en) | Data storage device and method for processing error correction code thereof | |
US10735030B2 (en) | Re-encoding data associated with failed memory devices | |
CN102171658B (zh) | 抑制比特错误校验码方案 | |
JP2010061705A (ja) | 記憶装置の制御方法および記憶装置 | |
US10838812B2 (en) | Storing parity data mid stripe | |
TWI541818B (zh) | 於記憶體陣列編碼資料之技術 | |
KR20150122493A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20210373787A1 (en) | Changing of memory components to be used for a stripe based on an endurance condition | |
US20240070014A1 (en) | Commands for testing error correction in a memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |