JP6941971B2 - 半導体記憶装置、メモリコントローラ及びメモリの監視方法 - Google Patents

半導体記憶装置、メモリコントローラ及びメモリの監視方法 Download PDF

Info

Publication number
JP6941971B2
JP6941971B2 JP2017096462A JP2017096462A JP6941971B2 JP 6941971 B2 JP6941971 B2 JP 6941971B2 JP 2017096462 A JP2017096462 A JP 2017096462A JP 2017096462 A JP2017096462 A JP 2017096462A JP 6941971 B2 JP6941971 B2 JP 6941971B2
Authority
JP
Japan
Prior art keywords
memory
error detection
data
code
read
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.)
Active
Application number
JP2017096462A
Other languages
English (en)
Other versions
JP2018194948A (ja
Inventor
裕二 永島
裕二 永島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2017096462A priority Critical patent/JP6941971B2/ja
Priority to US15/974,642 priority patent/US10698841B2/en
Priority to CN201810456542.8A priority patent/CN108877859B/zh
Publication of JP2018194948A publication Critical patent/JP2018194948A/ja
Application granted granted Critical
Publication of JP6941971B2 publication Critical patent/JP6941971B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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

Description

本発明は、 半導体記憶装置、メモリを制御するメモリコントローラ、及びメモリの監視方法に関する。
近年、機密データを保護する為に、保護対象となる情報データを暗号化してディスクに格納するストレージ装置が提案されている(例えば、特許文献1参照)。
かかるストレージ装置では、当該情報データと共にこの情報データに付加されている誤り検出用のCRC(Cyclic Redundancy Check)コードを、例えば暗号鍵を用いて暗号化した暗号データをディスクに記憶する。
よって、当該ストレージ装置に格納されている情報データを取得するには、先ず、ディスクから暗号データを読み出し、読み出した暗号データに対して暗号を解除する復号処理を施すことにより、情報データ及びCRCコードを復元する。そして、ストレージ装置は、これら情報データ及びCRCコードに対して誤り検出処理を施して、誤りが検出されなかった場合に、この情報データを読出データとして出力する。
特開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の符号に誤り検出処理を施すことができるので、監視処理に費やされる時間を短縮することが可能となる。
本発明に係る半導体記憶装置100の構成を示すブロック図である。 メモリセルアレイ部10に書き込まれるデータの形態を表す図である。 誤り検出処理を表すフローチャートである。 再読出処理を表すフローチャートである。
以下、本発明の実施例について、図面を参照しつつ詳細に説明する。
図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は、当該アドレスADへの書込データWRDの書き込みを促す書込アクセス信号をメモリアクセス部28に供給する。
また、インタフェース部21は、データの読み出しを促す読出指令及びアドレスADを受けた場合には、当該アドレスADに格納されているデータの読み出しを促す読出アクセス信号をメモリアクセス部28に供給する。更に、インタフェース部21は、当該読出アクセス信号に応じて、メモリセルアレイ部10から読み出され、引き続き復号部25にて復号された読出データRDを、情報データDATとして出力する。ただし、この間、誤り検出部26から供給された誤り検出結果信号PCが誤り有りを表す場合には、インタフェース部21は、情報データDATとしての読出データRDの出力を行わない。
暗号化部22は、上記した書込データWRDを例えば暗号鍵を用いて暗号化した暗号データEDを生成する。暗号化部22は、暗号データEDを、パリティ算出部23及びバッファ24に供給する。
パリティ算出部23は、上記した書込データWRDから誤り検出用符号としてのパリティビットを算出する。パリティ算出部23は、書込データWRDに基づいて算出したパリティビットを、平文パリティビットP1としてバッファ24に供給する。更に、パリティ算出部23は、暗号データEDに平文パリティビットP1を付加したデータブロックから誤り検出用符号としてのパリティビットを算出し、算出したパリティビットを暗号パリティビットP2としてバッファ24に供給する。
バッファ24は、上記した暗号データED、平文パリティビットP1及び暗号パリティビットP2を取り込む。そして、バッファ24は、図2に示すように、暗号データEDに、平文パリティビットP1及び暗号パリティビットP2を付加したデータ形態を有するデータをメモリセルアレイ部10に供給する。
また、バッファ24は、メモリセルアレイ部10から読み出されたデータ、つまり図2に示す形態を有するデータを取り込み、これを読出暗号データREDとして復号部25及び誤り検出部26に供給する。
復号部25は、読出暗号データREDに含まれる暗号データEDに暗号を解除する復号処理を施す。復号部25は、当該復号処理によって暗号解除されたデータを、読出データRDとしてインタフェース部21及び誤り検出部26に供給する。尚、復号部25は、メモリ監視部27から監視処理の実行中を表す監視処理実行信号EXが供給されている場合には、自身の復号動作を停止する。
すなわち、復号部25は、監視処理の非実行中は復号処理を実行するが、監視処理の実行中は当該復号処理を停止する。
誤り検出部26は、読出暗号データREDから平文パリティビットP1及び暗号パリティビットP2を抽出する。誤り検出部26は、監視処理実行信号EXが監視処理の非実行中を表す場合には、読出データRDに対して、以下のようなパリティ検査(平文パリティ検査と称する)を施す。すなわち、誤り検出部26は、読出データRDからパリティビットを算出し、この算出したパリティビットの論理レベルと平文パリティビットP1の論理レベルとが一致するか否かを判定する。ここで、両者が一致すると判定された場合には、誤り検出部26は、平文パリティ検査の結果として、パリティエラー無しを表す検査結果を得る。また、両者が一致していないと判定された場合には、誤り検出部26は、平文パリティ検査の結果としてパリティエラー有り表す検査結果を得る。
一方、監視処理実行信号EXが監視処理の実行中を表す場合には、誤り検出部26は、読出暗号データREDに含まれる暗号データEDに平文パリティビットP1を付加したデータブロックに対して、以下のようなパリティ検査(暗号パリティ検査と称する)を施す。すなわち、誤り検出部26は、暗号データEDに平文パリティビットP1を付加したデータブロックからパリティビットを算出し、この算出したパリティビットの論理レベルと暗号パリティビットP2の論理レベルとが一致するか否かを判定する。ここで、両者が一致すると判定された場合には、誤り検出部26は、暗号パリティ検査の結果として、パリティエラー無しを表す検査結果を得る。また、両者が一致していないと判定された場合には、誤り検出部26は、暗号パリティ検査の結果としてパリティエラー有り表す検査結果を得る。
誤り検出部26は、上記した平文パリティ検査の結果がパリティエラー有りを表す場合には誤り有り、パリティエラー無しを表す場合には誤り無しを表す誤り検出結果信号PCを生成する。また、誤り検出部26は、上記した暗号パリティ検査の結果がパリティエラー有りを表す場合には誤り有り、パリティエラー無しを表す場合には誤り無しを表す誤り検出結果信号PCを生成する。
すなわち、誤り検出部26は、平文パリティ検査の結果、或いは暗号パリティ検査の結果に基づく誤り検出結果信号PCを生成し、これをインタフェース部21、メモリ監視部27及びメモリアクセス部28に供給する。
メモリ監視部27は、電源投入直後、或いはホスト装置からのアクセス(読出又は書込)に応じた読出処理及び書込処理が行われていない期間中に、メモリセルアレイ部10の各ブロックの劣化度を監視する監視処理を断続的に実行する。更に、メモリ監視部27は、自身が上記した監視処理の実行中であるのか、或いは非実行中であるのかを表す監視処理実行信号EXを復号部25、誤り検出部26及びメモリアクセス部28に供給する。
すなわち、メモリ監視部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に促す。
メモリアクセス部28は、インタフェース部21から書込アクセス信号(書込指令、アドレスを含む)を受けた場合には、当該書込アクセス信号によって示されるアドレスAD及び書込信号をメモリセルアレイ部10に供給する。これにより、書込対象としての情報データDATを暗号化した暗号データED、情報データDATに基づく誤り検出用の平文パリティビットP1、及び暗号データEDに基づく誤り検出用の暗号パリティビットP2が、メモリセルアレイ部10に書き込まれる。
また、メモリアクセス部28は、インタフェース部21から読出アクセス信号(読出指令、アドレスを含む)を受けた場合、或いはメモリ監視部27から監視処理の実行中を表す監視処理実行信号EX及び読出アクセス信号を受けた場合には、当該読出アクセス信号にて示されるアドレス及び読出信号をメモリセルアレイ部10に供給する。これにより、メモリセルアレイ部10は、図2に示すデータ形態を有する暗号データED、平文パリティビットP1、及び暗号パリティビットP2を読み出す。この読み出されたデータ(ED、P1、P2)は読出暗号データREDとして復号部25及び誤り検出部26に供給される。
ここで、ホスト装置からの読出アクセスに応じた読出処理の実行中は、誤り検出部26には、監視処理の非実行中を表す監視処理実行信号EXが供給されている。よって、誤り検出部26は、上記した平文パリティ検査を実行し、その結果を表す誤り検出結果信号PCをメモリアクセス部28に供給する。この際、誤り有りを表す誤り検出結果信号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では、情報データを暗号化した暗号データEDに平文パリティビットP1、暗号パリティビットP2を付加したものをメモリセルアレイ部10に書き込む。尚、平文パリティビット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 Redundancy Check)を採用しても良い。或いは、当該誤り検出方式として誤り訂正符号を採用しても良い。
例えば、誤り検出方式として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)は、書込指令を受けた場合には、書込対象となる情報データ(WRD)を暗号化した暗号データ(ED)、この情報データに基づく誤り検出用の第1の符号(P1)、及び暗号データに基づく誤り検出用の第2の符号(P2)をメモリ(10)に書き込む。また、メモリアクセス部(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の誤り検出結果が誤り有りを表す場合には、前記第2の誤り検出結果が誤り無しを表す状態に到るまで繰り返し前記暗号データ、前記第1の符号及び前記第2の符号を読み出す再読出処理を実行し、
    前記復号部は、前記再読出処理の実行中は自身の復号動作を停止することを特徴とする請求項1に記載の半導体記憶装置。
  3. 前記第1の誤り検出結果が誤り無しを表す場合に、前記読出データを前記メモリコントローラの外部に出力するインタフェース部を含むことを特徴とする請求項2に記載の半導体記憶装置。
  4. 前記第1の符号は前記情報データに基づいて算出したパリティビットであり、前記第2の符号は前記暗号データに少なくとも基づいて算出したパリティビットであることを特徴とする請求項1〜3のいずれか1に記載の半導体記憶装置。
  5. 前記メモリアクセス部は、前記暗号データに前記第1の符号を付加したデータブロックに基づく誤り検出用の符号を前記第2の符号とし、
    前記誤り検出部は、前記データブロック及び前記第2の符号に誤り検出処理を施すことにより前記第2の誤り検出結果を得ることを特徴とする請求項1〜4のいずれか1に記載の半導体記憶装置。
  6. 書込指令又は読出指令に応じてメモリを制御するメモリコントローラであって、
    前記メモリから読み出されたデータに生じている誤りの数に対応した前記メモリの劣化度を監視する監視処理を断続的に実行する監視部と、
    前記書込指令を受けた場合には、書込対象となる情報データを暗号化した暗号データ、前記情報データに基づく誤り検出用の第1の符号、及び前記暗号データに少なくとも基づく誤り検出用の第2の符号を前記メモリに書き込み、前記読出指令を受けた場合又は前記監視処理の実行時には、前記メモリから前記暗号データ、前記第1の符号、及び前記第2の符号を読み出すメモリアクセス部と、
    前記メモリから読み出された前記暗号データを復号することにより暗号解除された読出データを得る復号部と、
    前記読出データ、及び前記メモリから読み出された前記第1の符号に誤り検出処理を施すことにより第1の誤り検出結果を得る、或いは前記メモリから読み出された前記暗号データ及び前記第2の符号に少なくとも基づく誤り検出処理を行うことにより第2の誤り検出結果を得る誤り検出部と、を有し、
    前記監視部は、前記監視処理の実行時に前記復号部の動作を停止させると共に、前記第2の誤り検出結果に基づき前記劣化度を求めることを特徴とするメモリコントローラ。
  7. 前記メモリアクセス部は、前記監視処理の非実行時において前記第1の誤り検出結果が誤り有りを表す場合には、前記第2の誤り検出結果が誤り無しを表す状態に到るまで繰り返し前記暗号データ、前記第1の符号及び前記第2の符号を読み出す再読出処理を実行し、
    前記復号部は、前記再読出処理の実行中は自身の復号動作を停止することを特徴とする請求項6に記載のメモリコントローラ。
  8. 前記第1の誤り検出結果が誤り無しを表す場合に、前記読出データを前記メモリコントローラの外部に出力するインタフェース部を含むことを特徴とする請求項7に記載のメモリコントローラ。
  9. 前記第1の符号は前記情報データに基づいて算出したパリティビットであり、前記第2の符号は前記暗号データに少なくとも基づいて算出したパリティビットであることを特徴とする請求項6〜8のいずれか1に記載のメモリコントローラ。
  10. 前記メモリアクセス部は、前記暗号データに前記第1の符号を付加したデータブロックに基づく誤り検出用の符号を前記第2の符号とし、
    前記誤り検出部は、前記データブロック及び前記第2の符号に誤り検出処理を施すことにより前記第2の誤り検出結果を得ることを特徴とする請求項6〜9のいずれか1に記載のメモリコントローラ。
  11. 書込対象となる情報データを暗号化した暗号データ、前記情報データに基づく誤り検出用の第1の符号、及び前記暗号データに少なくとも基づく誤り検出用の第2の符号が格納されているメモリから読み出されたデータに生じている誤りの数に対応した前記メモリの劣化度を監視する監視処理を断続的に実行するメモリの監視方法であって、
    読出指令を受けた場合に、
    記メモリから前記暗号データ、前記第1の符号、及び前記第2の符号を読み出し、
    前記メモリから読み出された前記暗号データに復号処理を施すことにより暗号解除された読出データを得て、
    記読出データ、及び前記メモリから読み出された前記第1の符号に誤り検出処理を施して第1の誤り検出結果を得る一方で、
    前記監視処理の実行時に、
    前記メモリから前記暗号データ、前記第1の符号、及び前記第2の符号を読み出し、
    前記復号処理を停止させ、
    記メモリから読み出された前記暗号データ及び前記第2の符号に少なくとも基づく誤り検出処理を行うことにより第2の誤り検出結果を得て、
    記第2の誤り検出結果に基づき前記劣化度を求めることを特徴とするメモリの監視方法。
JP2017096462A 2017-05-15 2017-05-15 半導体記憶装置、メモリコントローラ及びメモリの監視方法 Active JP6941971B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017096462A JP6941971B2 (ja) 2017-05-15 2017-05-15 半導体記憶装置、メモリコントローラ及びメモリの監視方法
US15/974,642 US10698841B2 (en) 2017-05-15 2018-05-08 Semiconductor storage device, memory controller, and method for monitoring memory
CN201810456542.8A CN108877859B (zh) 2017-05-15 2018-05-14 半导体存储装置、存储器控制器及存储器的监视方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017096462A JP6941971B2 (ja) 2017-05-15 2017-05-15 半導体記憶装置、メモリコントローラ及びメモリの監視方法

Publications (2)

Publication Number Publication Date
JP2018194948A JP2018194948A (ja) 2018-12-06
JP6941971B2 true JP6941971B2 (ja) 2021-09-29

Family

ID=64096813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017096462A Active JP6941971B2 (ja) 2017-05-15 2017-05-15 半導体記憶装置、メモリコントローラ及びメモリの監視方法

Country Status (3)

Country Link
US (1) US10698841B2 (ja)
JP (1) JP6941971B2 (ja)
CN (1) CN108877859B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7171286B2 (ja) * 2018-07-20 2022-11-15 ラピスセミコンダクタ株式会社 半導体メモリ装置
JP2022144469A (ja) * 2021-03-19 2022-10-03 キオクシア株式会社 メモリシステム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
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 データ復号装置、データ復号方法及び通信システム
US8516211B2 (en) * 2005-06-17 2013-08-20 Flexera Software Llc Secure storage management system and method
JP2008052360A (ja) 2006-08-22 2008-03-06 Fujitsu Ltd ストレージ装置およびライト実行プログラム
KR100836758B1 (ko) * 2006-09-11 2008-06-10 삼성전자주식회사 메모리 카드의 암호화 장치 및 그것에 따른 데이터 기입 및독출 방법
JP5110956B2 (ja) * 2007-05-10 2012-12-26 三菱電機株式会社 暗号化装置及び復号装置
WO2010113207A1 (en) * 2009-03-31 2010-10-07 Hitachi, Ltd. Storage system and method of operating the same
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
US10050645B2 (en) * 2014-01-30 2018-08-14 Hewlett Packard Enterprise Development Lp Joint encryption and error correction encoding
KR102208072B1 (ko) * 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US20160321194A1 (en) * 2015-04-28 2016-11-03 Kabushiki Kaisha Toshiba Storage device, controller, and control method
JP6411282B2 (ja) * 2015-05-15 2018-10-24 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ書込方法

Also Published As

Publication number Publication date
CN108877859A (zh) 2018-11-23
CN108877859B (zh) 2024-01-19
US10698841B2 (en) 2020-06-30
JP2018194948A (ja) 2018-12-06
US20180329766A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
KR102625637B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102065665B1 (ko) 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
US8996933B2 (en) Memory management method, controller, and storage system
JP5492679B2 (ja) 記憶装置およびメモリコントローラ
JP4762752B2 (ja) 半導体メモリ
JP2015018451A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
JP2011076706A (ja) 不安定メモリセル散布を検出するメモリ・システム及びその検出方法
US8331151B2 (en) Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block
US9804921B2 (en) Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
JP2009042911A (ja) メモリアクセスシステム
JP4775969B2 (ja) 不揮発性記憶装置
US20140245103A1 (en) Memory controller, storage device, and memory control method
KR20100000647A (ko) Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
JP6941971B2 (ja) 半導体記憶装置、メモリコントローラ及びメモリの監視方法
US20200218467A1 (en) Data erasure in memory sub-systems
CN107045484B (zh) 数据存储装置
US20100058145A1 (en) Storage device and method of controlling storage device
KR20160110774A (ko) 메모리 장치 및 이를 포함하는 시스템
US10735030B2 (en) Re-encoding data associated with failed memory devices
JP2008310896A (ja) 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
KR20080114208A (ko) 에러 정정 기능을 갖는 불휘발성 메모리 장치의 카피투프로그램방법
JP4742553B2 (ja) 記憶装置
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN110096909B (zh) 一种保证efuse秘钥稳定性的方法及其系统
JP2011018371A (ja) メモリ記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210907

R150 Certificate of patent or registration of utility model

Ref document number: 6941971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150